通知:SQL Extractorapp取证修复软件10.96试用版发布,支持预览,支持修复优发加密app,电话:18651607829

中国下载协会 下载与存储安全研发中心 [ 咨询免费 检测免费 ] 24小时电话: 13813824669 技术部:025-83608636(白天)  RAID专家:13813824669

站内搜索

联系我们

  • 1136878877
  • 025-83608636
  • 18651607829
当前位置:首页 > 网页版新闻 > 司法鉴定 司法鉴定

(干货 笔者不喜欢花里胡哨)

 

前言D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

网络攻击内存化和网络犯罪隐遁化,使部分关键数字官网只存在于物理内存或暂存于页面交换文件中,这使得传统的基于文件系统的app机取证不能有效应对.内存取证作为传统文件系统取证的重要补充,是app机取证科学的重要组成部分,通过全面获取内存数据、详尽分析内存数据,并在此基础上提取与网络攻击或网络犯罪相关的数字官网,近年来,内存取证已赢得安全社区的持续关注,获得了长足的发展与广泛应用,在网络应急响应和网络犯罪调查中发挥着不可替代的作用.首先回顾了内存取证研究的起源和发展演化过程;其次介绍了app系统内存管理关键机制;然后探讨了内存取证的数据获取和分析方法,归纳总结目前内存取证研究的最新技术;最后讨论了内存取证存在的问题、发展趋势和进一步的研究方向.​                                                                  ——《内存取证研究与进展[J].软件学报,2015, 26(5): 1151-1172》D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

  1. 流程
    1. 镜像内存数据,保存至文件
      1. Windows推荐:Dumpit(这个是真的快,高效率)
      2. Linux推荐:linpmem_2.0.1(Github里google的rekall工具)
    2. 分析镜像文件
      1. 网络连接状态
        1. 分析本地开放的端口
        2. 分析远程连接端口
      2. 用户登录情况
        1. 获取系统当前用户列表
        2. 读取用户的Hash值
      3. 当前系统进程
        1. 分析第三方进程(不知名程序、非系统程序,占高内存、高CPU的程序)
        2. 通过网络状态,分析pid的程序
        3. 恶意代码分析(兄弟们这个就难倒我了,相关只是抛砖引玉)
      4. 当前注册表状态
  2. 取证与分析工具(下载链接在文章结尾)
    1. 取证工具:
      1. Windows推荐:Dumpit
      2. Linux推荐:lime
      3. Mac推荐:osxpmem_2.0.1
    2. 分析工具:
      1. volatility(力鼎这个软件,开源牛逼)
      2. redline(商业,笔者穷啊)
  3. 养兵千日用兵一时(教科书流程)
    1. 制作内存镜像
      1. Windows
        1. 环境win7,直接双击运行,或者cmd里也一样。(注意:管理员权限)【环境样本已经打包,有彩蛋】

程序效率很高(笔者测试是10秒以内),文件大小是与内存一比一D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

  • win10 (因为虚拟机还有两个2G的内存),计时:2分18秒左右,共18GB。这个写的速度也看娱乐和cpu的

Linux的镜像文件还是比较小的D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

无法用于Volatilty分析,linpmem生成的文件是无法用于Volatility分析。因为穷笔测试Centos时候发现很多问题。网上都是给出Ubuntu的demo比较多,大家可以试试,D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

  • 穷笔在这亲测Lime工具非常Nice(内存镜像生成工具)。
    1. 环境:
      1. 系统:CentOS release 6.5 (Final) | 内核:Linux 2.6.32-431.el6.x86_64
        1. 【警告:这里有个严重错误认知提示下,当前系统虽然是6.5,但是在因为Centos6.5已经停止维护了,所以当centos通过yum安装包的时候自动会升级到6.10,也就是实战环节的环境。同理此时我们安装的内核包是内核升级包,而不是对应的lib依赖包。那如何安装6.5的依赖包呢?利用CD光驱。去下载centos6.5的镜像,然后挂载。通过本地CD里的源安装包即可】
        2. CentOS-6.5-x86_64-bin-DVD1.iso
        3. CentOS-6.5-x86_64-bin-DVD2.iso
      2. 实际系统:CentOS release 6.10 (Final) | 内核:Linux 2.6.32-754.28.1.el6.x86_64
    2. 需要依赖安装:

yum install -y kernel kernel-headers kernel-devel kernel-firmware && yum updateD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

  • 解压Lime的源码包,进入src目录。练习创建demo.ko,lime-2.6.32-754.28.1.el6.x86_64.ko,利用ko文件dump内存to文件
[root@localhost src]# make
make -C /lib/modules/2.6.32-754.28.1.el6.x86_64/build M="/root/src" modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-754.28.1.el6.x86_64'
CC [M] /root/src/tcp.o
/bin/sh: perl: command not found
make[2]: *** [/root/src/tcp.o] Error 127
make[1]: *** [_module_/root/src] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.32-754.28.1.el6.x86_64'
make: *** [default] Error 2
# ls
deflate.c hash.c main.c Makefile.sample tcp.o
disk.c lime.h Makefile tcp.c
# yum install perl -y
………………(省略)
Complete!
# make
make -C /lib/modules/2.6.32-754.28.1.el6.x86_64/build M="/root/src" modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-754.28.1.el6.x86_64'
CC [M] /root/src/tcp.o
CC [M] /root/src/disk.o
CC [M] /root/src/main.o
CC [M] /root/src/hash.o
CC [M] /root/src/deflate.o
LD [M] /root/src/lime.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/src/lime.mod.o
LD [M] /root/src/lime.ko.unsigned
NO SIGN [M] /root/src/lime.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-754.28.1.el6.x86_64'
strip --strip-unneeded lime.ko
mv lime.ko lime-2.6.32-754.28.1.el6.x86_64.ko
# ls
deflate.c hash.o lime.mod.o Makefile.sample
deflate.o lime-2.6.32-754.28.1.el6.x86_64.ko lime.o modules.order
disk.c lime.h main.c Module.symvers
disk.o lime.ko.unsigned main.o tcp.c
hash.c lime.mod.c Makefile tcp.o
# insmod lime-2.6.32-754.28.1.el6.x86_64.ko "path=/centos65x64.mem format=lime"
(此处省略10分钟左右,因为虚拟机的内存是2G,这跟你的娱乐和内存条性能有关)

# du -hl /centos65x64.mem 2.0G /centos65x64.memD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

  • profile文件生成:
    1. 环境
      1. 系统:CentOS release 6.10 (Final) | 内核:Linux 2.6.32-754.28.1.el6.x86_64
    2. 通过volatility源码tools代码,编译profile的模块,最后成功生成“module.dwarf”文件【提示:make命令报错,可能是dwarfdump文件不存在。参考文章结尾,笔者花了七天搞清所有依赖关系,有问题请联系笔者给你建议,少走弯路,水太深。】

[root@localhost ~]# tar xf volatility-2.6.1.tar.gzD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

# cd volatility-2.6.1D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

# cd tools/linux/D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

# ls kcore Makefile Makefile.enterprise module.cD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

# make
make -C //lib/modules/2.6.32-754.28.1.el6.x86_64/build CONFIG_DEBUG_INFO=y M="/root/volatility-2.6.1/tools/linux" modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-754.28.1.el6.x86_64'
CC [M] /root/volatility-2.6.1/tools/linux/module.o
/root/volatility-2.6.1/tools/linux/module.c:193:1: warning: "RADIX_TREE_MAX_TAGS" redefined
In file included from include/linux/fs.h:421,
from /root/volatility-2.6.1/tools/linux/module.c:10:
include/linux/radix-tree.h:62:1: warning: this is the location of the previous definition
/bin/sh: perl: command not found
make[2]: *** [/root/volatility-2.6.1/tools/linux/module.o] Error 127
make[1]: *** [_module_/root/volatility-2.6.1/tools/linux] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.32-754.28.1.el6.x86_64'
make: *** [dwarf] Error 2

# yum install perl -yD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

(此处省略) Complete!D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

# ls kcore Makefile Makefile.enterprise module.c module.oD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

# make
make -C //lib/modules/2.6.32-754.28.1.el6.x86_64/build CONFIG_DEBUG_INFO=y M="/root/volatility-2.6.1/tools/linux" modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-754.28.1.el6.x86_64'
CC [M] /root/volatility-2.6.1/tools/linux/module.o
/root/volatility-2.6.1/tools/linux/module.c:193:1: warning: "RADIX_TREE_MAX_TAGS" redefined
In file included from include/linux/fs.h:421,
from /root/volatility-2.6.1/tools/linux/module.c:10:
include/linux/radix-tree.h:62:1: warning: this is the location of the previous definition
Building modules, stage 2.
MODPOST 1 modules
CC /root/volatility-2.6.1/tools/linux/module.mod.o
LD [M] /root/volatility-2.6.1/tools/linux/module.ko.unsigned
NO SIGN [M] /root/volatility-2.6.1/tools/linux/module.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-754.28.1.el6.x86_64'
dwarfdump -di module.ko > module.dwarf
make -C //lib/modules/2.6.32-754.28.1.el6.x86_64/build M="/root/volatility-2.6.1/tools/linux" clean
make[1]: Entering directory `/usr/src/kernels/2.6.32-754.28.1.el6.x86_64'
CLEAN /root/volatility-2.6.1/tools/linux/.tmp_versions
CLEAN /root/volatility-2.6.1/tools/linux/Module.symvers /root/volatility-2.6.1/tools/linux/modules.order
make[1]: Leaving directory `/usr/src/kernels/2.6.32-754.28.1.el6.x86_64'

# ls kcore Makefile Makefile.enterprise module.c module.dwarfD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

  • 利用module.dwarf制作profile文件
    1. 注意与解释
      1. module.dwarf 文件:这个文件是根据内核文件生存的,所以内核不一样生成的文件也是不同的。
      2. /boot/System.map-$(uname -r):System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。
        1. System.map文件的作用https://www.cnblogs.com/linhaostudy/p/10327574.html
        2. 系统调用劫持之(通过/boot/System.map目录获取sys_call_table系统调用表):https://blog.csdn.net/qq_41453285/article/details/103050710
    2. 命令: zip $(lsb_release -i -s)_$(uname -r)_profile.zip ./volatility/tools/linux/module.dwarf /boot/System.map-$(uname -r)

[root@localhost ~]# zip Centos65x64_$(uname -r)_profile.zip module.dwarf /boot/System.map-$(uname -r) adding: module.dwarf (deflated 90%) adding: boot/System.map-2.6.32-754.28.1.el6.x86_64 (deflated 79%)D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

# ls _2.6.32-754.28.1.el6.x86_64_profile.zip anaconda-ks.cfg Centos65x64_2.6.32-754.28.1.el6.x86_64_profile.zip dirty.c dwarfdump install.log install.log.syslog lime-2.6.32-754.28.1.el6.x86_64.ko module.dwarfD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

  • 实战利用已经编译文件,直接取证,不对系统进行任何安装文件
    1. 已经编译文件列表
      1. dump内存to镜像文件相关
        1. lime-2.6.32-754.28.1.el6.x86_64.ko
      2. profile文件制作相关
        1. module.dwarf
    2. 测试
      1. 利用demo“lime-2.6.32-754.28.1.el6.x86_64.ko”,免编译直接dump内存to文件。
  • 利用demo“module.dwarf”,生成profile文件
    1. copy system.map文件

[root@localhost ~]# cd /tmp/D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

# lsD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

# cp /boot/System.map-$(uname -r) .D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

# ls System.map-2.6.32-754.28.1.el6.x86_64D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

  • 通过自己电脑直接生成
kali@kali:~/Desktop$ mkdir profile
kali@kali:~/Desktop$ cd profile/
kali@kali:~/Desktop/profile$ ls
module.dwarf System.map-2.6.32-754.28.1.el6.x86_64
kali@kali:~/Desktop/profile$ zip centos_65_x64_profile.zip module.dwarf System.map-2.6.32-754.28.1.el6.x86_64
adding: module.dwarf (deflated 90%)
adding: System.map-2.6.32-754.28.1.el6.x86_64 (deflated 79%)
kali@kali:~/Desktop/profile$ ls
centos_65_x64_profile.zip module.dwarf System.map-2.6.32-754.28.1.el6.x86_64
kali@kali:~/Desktop/profile$
  • 所以说高端黑客都是本地模拟一遍,而不是在服官网上瞎折腾。。。(干货!淦)
  • Mac应该是与Linux的方法一致的,考虑到内核版本问题,我这里建议用“Lime+Vol的Tools生成profile”方法
  • Volatility分析
    1. 环境
      1. 工具vol(工具包里有)任何平台都是可以运行的
      2. 内存镜像文件
      3. profile文件(创建一个文件夹,我这里取名叫linux,将profile文件放入其中)
      4. 当前系统环境是Windows
    2. 加载插件文件夹Linux,测试是否成功加载profile文件
Windows:
B:\Security\取证\volatility>volatility_2.6_win64_standalone.exe --plugins=linux --info|findstr Linux
Volatility Foundation Volatility Framework 2.6
Linux_2_6_32-754_28_1_el6_x86_64_profilex64 - A Profile for Linux _2.6.32-754.28.1.el6.x86_64_profile x64 #有着一条说明成功加载
LinuxAMD64PagedMemory - Linux-specific AMD 64-bit address space.
linux_aslr_shift - Automatically detect the Linux ASLR shift
linux_banner - Prints the Linux banner information
linux_yarascan - A shell in the Linux memory image
Linux:
# chmod +x volatility_2.6_lin64_standalone
# ls /root/linux/
_2.6.32-754.28.1.el6.x86_64_profile.zip Makefile module.c
kcore Makefile.enterprise module.dwarf 
# ./volatility_2.6_lin64_standalone --plugins=/root/linux/ --info |grep Linux
Volatility Foundation Volatility Framework 2.6
Linux_2_6_32-754_28_1_el6_x86_64_profilex64 - A Profile for Linux _2.6.32-754.28.1.el6.x86_64_profile x64 #有着一条说明成功加载
LinuxAMD64PagedMemory - Linux-specific AMD 64-bit address space.
linux_aslr_shift - Automatically detect the Linux ASLR shift
linux_banner - Prints the Linux banner information
linux_yarascan - A shell in the Linux memory image
  • 加载取证文件(内存镜像文件),读取镜像当前的进程情况。
B:\Security\取证\volatility>volatility_2.6_win64_standalone.exe --plugins=linux -f centos65x64.mem --profile=Linux_2_6_32-754_28_1_el6_x86_64_profilex64 linux_psaux
Volatility Foundation Volatility Framework 2.6
Pid Uid Gid Arguments
1 0 0 /sbin/init
2 0 0 [kthreadd]
3 0 0 [migration/0]
4 0 0 [ksoftirqd/0]
5 0 0 [stopper/0]
6 0 0 [watchdog/0]
7 0 0 [migration/1]
8 0 0 [stopper/1]
9 0 0 [ksoftirqd/1]
10 0 0 [watchdog/1]
11 0 0 [events/0]
12 0 0 [events/1]
13 0 0 [events/0]
14 0 0 [events/1]
15 0 0 [events_long/0]
16 0 0 [events_long/1]
17 0 0 [events_power_ef]
18 0 0 [events_power_ef]
19 0 0 [cgroup]
20 0 0 [khelper]
21 0 0 [netns]
22 0 0 [async/mgr]
23 0 0 [pm]
24 0 0 [sync_supers]
25 0 0 [bdi-default]
26 0 0 [kintegrityd/0]
27 0 0 [kintegrityd/1]
28 0 0 [kblockd/0]
29 0 0 [kblockd/1]
30 0 0 [kacpid]
31 0 0 [kacpi_notify]
32 0 0 [kacpi_hotplug]
33 0 0 [ata_aux]
34 0 0 [ata_sff/0]
35 0 0 [ata_sff/1]
36 0 0 [ksuspend_usbd]
37 0 0 [khubd]
38 0 0 [kseriod]
39 0 0 [md/0]
40 0 0 [md/1]
41 0 0 [md_misc/0]
42 0 0 [md_misc/1]
43 0 0 [linkwatch]
46 0 0 [khungtaskd]
47 0 0 [lru-add-drain/0]
48 0 0 [lru-add-drain/1]
49 0 0 [kswapd0]
50 0 0 [ksmd]
51 0 0 [khugepaged]
52 0 0 [aio/0]
53 0 0 [aio/1]
54 0 0 [crypto/0]
55 0 0 [crypto/1]
62 0 0 [kthrotld/0]
63 0 0 [kthrotld/1]
64 0 0 [pciehpd]
66 0 0 [kpsmoused]
67 0 0 [usbhid_resumer]
68 0 0 [deferwq]
100 0 0 [kdmremove]
101 0 0 [kstriped]
131 0 0 [ttm_swap]
214 0 0 [scsi_eh_0]
215 0 0 [scsi_eh_1]
284 0 0 [mpt_poll_0]
285 0 0 [mpt/0]
297 0 0 [scsi_eh_2]
343 0 0 [kdmflush]
345 0 0 [kdmflush]
363 0 0 [jbd2/dm-0-8]
364 0 0 [ext4-dio-unwrit]
450 0 0 /sbin/udevd -d
579 0 0 [vmmemctl]
753 0 0 [jbd2/sda1-8]
754 0 0 [ext4-dio-unwrit]
789 0 0 [kauditd]
913 0 0 [flush-253:0]
1032 0 0 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid eth0
1094 0 0 auditd
1116 0 0 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
1168 0 0 /usr/sbin/sshd
1247 0 0 /usr/libexec/postfix/master
1253 89 89 pickup -l -t fifo -u
1254 89 89 qmgr -l -t fifo -u
1261 0 0 crond
1274 0 0 login -- root
1276 0 0 /sbin/mingetty /dev/tty2
1278 0 0 /sbin/mingetty /dev/tty3
1280 0 0 /sbin/mingetty /dev/tty4
1284 0 0 /sbin/udevd -d
1285 0 0 /sbin/udevd -d
1286 0 0 /sbin/mingetty /dev/tty5
1288 0 0 /sbin/mingetty /dev/tty6
1292 0 0 -bash
1306 0 0 sshd: root@pts/0,p
1310 0 0 -bash
1857 0 0 insmod lime-2.6.32-754.28.1.el6.x86_64.ko path=/centos65x64.mem format=lime
1858 0 0 -bash
  • 到这里取证已经完成。后续的分析工作,可参考相关Vol的参数。
  • 穷笔文笔略低,大佬勿喷。因为参考了很多相关内存取证,大多数是教你如何分析Windows或者取证Windows。linux的少之又少。所以穷笔写了该文章,希望能帮助到相关朋友。

【0x01】文章中的工具下载链接:https://pan.baidu.com/s/16hIlWLbcUViVGObsfxTC-Q 提取码:5c2dD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

【0x02】RedLine 软件相关文章:https://www.freebuf.com/articles/system/129463.htmlD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

【0x03】Lime:https://github.com/504ensicsLabs/LiMED8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

【0x04】Volatility :https://github.com/volatilityfoundation/volatility/D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

【0x05】dwarfdump文件:笔者已经通过源文件编译成二进制文件,在【0x01】百度云链接里打包.D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

dwarfdump源代码文件下载地址:https://www.prevanders.net/libdwarf-20140413.tar.gz【友情提示需要gc-c++依赖,Centos参考:yum -y install gcc+ gcc-c++】D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606


版权申明:本文为原创文章,转载需要说明输出。D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606
作者:AlphaBugD8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606
时间:2020年4月18日 20:28:56 北京时间D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606
文章链接: https://www.0xc2.cn/?p=222D8D南京下载-网页版科技: 娱乐/手机/SSD下载专家. 025-83608636 18913825606

上一篇:teamviwer日志分析
下一篇:《声像资料司法鉴定执业分类规定》的通知司规[2020]5号
Copyright(C)2014 南京网页版科技有限公司 kswlx.com 备案号:苏ICP备09074223号苏公网安备:32010202010982号
地址:江苏省南京市玄武区珠江路435号华海大厦6楼601室(同庆楼右侧上电梯) 技术部:025-83608636(8:30-18:30)
下载:025-86883952 产品销售:13813824669 联系人:徐佳伟
|微博|论坛|
乐虎国际官方网APP澳门伟德电子乐虎国际88.vip