【干货】Linux内存数据的获取与转存 直捣密码

知识源:Unit 2: Linux/Unix Acquisition 2.1 Linux/Unix Acquistion Memory Acquisition 中的实验demo部分  小白注意,这是网络安全RITx: CYBER502x 部分的内容。 19年1月初,该系列课程会推出501x,这是面向入门的基础性课程。 不要错误讲座的直观体验而阅读我的笔记。这是错误的学习行为,一切已原创为重点。

这里使用Linux Unix内存转储工具,称为Lime。

进入lime目录    这么做的目的是把捕获的内存数据放到这个目录中,有助于分门别类。

正是这个模块,插入到了可疑机器的内核里,才能够获取内存中所有的数据

插入内核的命令以及指定捕获到数据映像转储的路径  不要急着实验,内存大需要的时间长

内存数据转存好了以后,需要做一点清理已保证数据没有被修改。因为前面我们把lime模块插入到了内核。找到lime模块是否还在,删除它。刚从内存中取出来的数据,它肯定存在。这里已经清理过了,所以得到这个消息。

找到这个内存取证数据。它是一个没有数据结构的二进制文件。进程信息,密码信息就是用其他工具从这里获取到的。

现在实验一个非常简单的工具感受一下    它叫string

它输出一定长度的字符串,默认是大于4字节,因为这里的默认密码是比8字节要大,所以为了简洁,这里取巧把参数针对性的修改为8。 把这个命令与刚刚从内存中获取到的数据交换起来。8后面跟的是交互的文件名。 结果会出来一大堆大于8的字节信息,因为是实验感受一下密码在哪里,这里取巧。密码是法医学的英文forensics

实验结束。 有更多的工具能够从二进制文件中提取有意义的数据。以后遇到再演示。

原文地址:https://www.cnblogs.com/sec875/p/10066529.html

时间: 2024-10-03 20:41:38

【干货】Linux内存数据的获取与转存 直捣密码的相关文章

Linux shell MMPF0100 i2c 获取数据

#!/system/bin/busybox ash # # Linux shell MMPF0100 i2c 获取数据 # 说明: # 本文主要记录通过shell脚本来获取MMPF0100的数据,更多的是为了更为 # 方便的获取到数据,在进行一些调试的时候能够更有效. # # 2016-4-1 深圳 南山平山村 曾剑锋 # # 检查参数个数 if [ $# -lt 3 ]; then echo "USAGE:" echo " i2cData.sh <curPage>

linux内存管理

一.Linux 进程在内存中的数据结构 一个可执行程序在存储(没有调入内存)时分为代码段,数据段,未初始化数据段三部分:    1) 代码段:存放CPU执行的机器指令.通常代码区是共享的,即其它执行程序可调用它.假如机器中有数个进程运行相同的一个程序,那么它们就可以使用同一个代码段.     2) 数据段:存放已初始化的全局变量.静态变量(包括全局和局部的).常量.static全局变量和static函数只能在当前文件中被调用.     3) 未初始化数据区(uninitializeddata s

Linux内存管理 【转】

转自:http://blog.chinaunix.net/uid-25909619-id-4491368.html Linux内存管理 摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法.力求从外到内.水到渠成地引导网友分析Linux的内存管理与使用.在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理. 前言 内存管理一向是所有操作系统书

linux内存管理浅析

[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址.想一下,地址映射还是一件很恐怖的事情.当访问一个由虚拟地址表示的内存空间时,需要先经过若干次的内存访问,得到每一级页表中用于转换的页表项(页表是存放在内存里面的),才能完成映射.也就是说,要实现一次内存访问,实际上内存被访问了N+1次(N=页表级数),并且还需要做N次加法运算.所以,地址映射必须要有硬件支持,mmu(内存管理单元)就是这个硬件.并且需

启动期间的内存管理之初始化过程概述----Linux内存管理(九)

日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理 在内存管理的上下文中, 初始化(initialization)可以有多种含义. 在许多CPU上, 必须显式设置适用于Linux内核的内存模型. 例如在x86_32上需要切换到保护模式, 然后内核才能检测到可用内存和寄存器. 而我们今天要讲的boot阶段就是系统初始化阶段使用的内存分配器. 1 前景回顾 1.1

linux内存源码分析 - 内存压缩(同步关系)

本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 概述 最近在看内存回收,内存回收在进行同步的一些情况非常复杂,然后就想,不会内存压缩的页面迁移过程中的同步关系也那么复杂吧,带着好奇心就把页面迁移的源码都大致看了一遍,还好,不复杂,也容易理解,这里我们就说说在页面迁移过程中是如何进行同步的.不过首先可能没看过的朋友需要先看看linux内存源码分析 - 内存压缩(一),因为会涉及里面的一些知识. 其实一句话可以概括页面迁移时是如何进行同步的,就是:我要开始对这

20150222 IMX257 Linux内存空间内存分配

2015-02-22     李海沿 不知道为什么,最近做梦总是梦见以前的事,以前的场景,可能是28号回学校的缘故吧!好了,不扯废话了,前面我针对gpio按键这个实验学习了中断,信号量,定时器等内核实现,下面我们,使用以前的字符设备模板来写一个Linux内存空间内存分配的实验. 一.KMALLOC kmalloc 是一个功能强大且高速(除非被阻塞)的工具,所分配到的内存在物理内存中连续且保持原有的数据(不清零).原型: #include <linux/slab.h> void *kmalloc

Python学习第六天----Linux内存管理、进程管理、RPM包安装管理及源码安装软件

Linux内存管理.进程管理.RPM包安装管理及源码安装软件 一.交换分区     交换分区其实就相当于Windows系统下的虚拟内存的概念,当物理内存不够用的时候,由操作系统将硬盘的一块区域划分出来作为内存使用.具体使用方法如下:      [[email protected] ~]# fdisk -l 磁盘 /dev/sdb:16.1 GB, 16106127360 字节,31457280 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):5

Linux内存管理介绍

linux内存管理概述 内存管理的目标: 提供一种方法,在各种目的各个用户之间实现内存共享,应该实现以下两个功能: 1.最小化管理内存的时间,内存申请和释放响应时间短 2.最优化用于一般应用的可用内存,内存管理(算法)所占用的内存少,浪费的内存少(内存碎片少) 下图为内存分配器的关系: 1.kmalloc用于分配一块以字节数为单位的内存,所分配的内存物理地址是连续的 void *kmalloc(size_t size, gfp_t flags); size > SLUB_MAX_SIZE(2*P