-
[填空题] 工地职员 A 计算机的修复密钥标识符是什么?(请以大写英文及阿拉伯数字输
入答案,不要输入”-“) (1 分)打开取证大师,找到 bitlocker 解密选项,对该分区解密的位置自动跳出恢复
密钥标记 -
[填空题] 工地职员 A 计算机的修复密钥解除锁定是什么?(请以数字输入答案,不要输
入”-“) (1 分)搜索 bitlocker,找到和密钥标识符一样的密钥快捷方式。跳转到该文件,并导出查看属性,但是并没有找到解密路径,怀疑密钥文件在别的镜像里,想到个人赛镜像的 bitlocker
密钥就是在 FTP 服务器中找到的。再次搜索 bitlocker,找到密钥文件。 -
[单选题] 工地职员 A 的计算机被什么程式加密? (1 分)
A. Ransomware
B. BitLocker
C. AxCrypt
D. PGP
E. FileVault 2前面问到了,B
-
[单选题] 工地职员 A 的孩子有可能正准备就读什么学校? (2 分)
A. 小学
B. 中学
C. 幼儿园
D. 大学看浏览器浏览记录发现搜索幼儿园的记录,应该就是在上幼儿园。
-
[多选题] 工地职员 A 并没有打开过哪一个档案? (2 分)
A. Staff3.xlsx
B. Staff4.xlsx
C. Staff1.xlsx
D. Staff2.xlsx
E. BTC address.bmp -
[填空题] 工地职员 A 的计算机被远程控制了多少分钟?(请以阿拉伯数字回答) (2 分)
算一下11min16s
-
[单选题] 工地职员 A 的计算机被加密后,被要求存入的虚疑货币是什么? (1 分)
A. 比特币现金
B. 比特币
C. 以太币
D. 泰达币 -
[填空题] 在工地职员 A 的计算机曾经打开过的 Excel 档案中,有多少人有可能在法律部
门工作?(请以阿拉伯数字回答) (1 分)在staff1.xlsx
-
[多选题] 工地职员 B 的计算机在什么日期和时间被黑客控制? (2 分)
A. 2021-10-19
B. 2021-09-16
C. 11:16:41 (UTC +8:00)
D. 05:55:50 (UTC +8:00)
E. 18:40:06 (UTC +8:00)看题,日期的话有两个,对比两个日期结果在windows历史活动日志里面最早是10-05,所以更大的可能是10-19,在10-19只有一个记录,是11:26,与11:16最接近,可能是有错吧。
-
[填空题] 工地职员 B 的计算机的MAC Address 是什么? (请以大写英文及数字输入答
案) (1 分) -
[填空题] 工地职员 B 的计算机用户 FaFa 的 Profile ID 是什么?(请以大写英文及数
字输入答案,不要输入”-“) (1 分)应该就是这个地方的SID
-
[填空题] 工地职员 B 的办公室计算机的 Windows CD Key 是什么?(请以大写英文
及数字输入答案,不要输入”-“) (1 分)方法二:计算机仿真进去后,使用 ProduKey 工具,对其进行自动化获取
-
[单选题] 检查过工地职员 B 的计算机登录档后(Window Registry),计算机感染了什
么恶意软件? (2 分)
A. Adware
B. Worms
C. Rootkits
D. 没有感染任何恶意软件仿真起来后,把杀毒软件装上,全盘扫一下,没有恶意软件。
-
[单选题] 工地职员 B 的计算机中被加密硬盘内的图片”_120778782_58759559.jpg”,
有可能是从下列哪个的途径载入计算机? (1 分)网上下载
-
[多选题] 工地职员 B 的计算机 中被加密硬盘内的图片中,人物中衣着有什么颜色?
(2 分)直接访问看看
-
[填空题] 工地职员 B 的计算机有多少个磁盘分区?(请以阿拉伯数字输入答案) (1 分)
-
[填空题] 工地职员 B 的计算机硬盘分割表是什么?(答案请以首字母大写作答) (2 分)
-
[填空题] 在 工地职员 B 的计算机 Event Log 中最后登入时 services.exe 的 Process
ID 是什么?(请以阿拉伯数字输入) (3 分)工地职工 B 最后登入时,查看这个时间点是 2021 年 10 月 19 日 11:26:07,找这
个时间点附近的日志。讲事件
使用取证大师搜索 services.exe 找到其日志,导出来分析一下,取证大师自动解析的我个
人觉得不是很好看。导出后发现在晚于这个时间点,也有登录日志,用日期来排序,找到
最后一个登录的日志。找到登录时间节点在 18:39:58 是最后一次登录,从日志分析出
services.exe 的 pid 号是 16 进制的 0x27c,用计算器转成 10 进制为 636。 -
[填空题] 甚么 IP 曾经上传档案到网页服务器? (请以阿拉伯数字回答,不用输入”.“) (2
分)不得不说,取证大师的优点就是比火眼在文件处理与磁盘分区上更清晰一点
-
[多选题] 承上题,以下哪试档案曾被上传到网页服务器? (3 分)
-
[单选题] 入侵者可能使用甚么漏洞进行入侵网页服务器? (1 分)
A. 文件上传漏洞
B. SQL 注入
C. 跨站脚本攻击
D. 格式化字符串弱点
送分题目,根据前两道题得出,是渗透知识常识题。 -
[多选题] 在网页服务器找到的所有文件档(doc 及 docx)中,有以下哪些文件制作人
(Author)? (2 分)
A. Kevin L. Brown
B. Peter R. Lee
C. Mary
D. May
E. Colin -
[多选题] 在网页服务器中,哪个是可疑档案?它如何取得计算机控制权? (3 分)
A. 可疑档案: b6778k-9.0.php
B. 可疑档案: b374k-2.5.php
C. 可疑档案: upload.php
D. 透过浏览器远程管理取得计算机控制权
E. 透过 PuTTY(远程登录工具) 取得计算机控制权B374k 是个很有名的大马,看看源代码也能看出来,大马是有 web 端的操作界面,搭一
下环境,看看大马界面,所以应该是透过浏览器远程管理取得计算机控制权。 -
[填空题] 在网页服务器中,运行可疑档案需要密码,其密码的哈希值(Hash Value)是
甚么? (请以英文全大写及阿拉伯数字回答) (3 分) -
[单选题] 在网页服务器中,可疑档案的译码函数是甚么? (2 分)
C. gzinflate(base64_decode($x))
-
[填空题] 解压后的脚本档的档案大小是多少? (请以字节及阿拉伯数字回答) (3 分)
-
[多选题] 解压后的脚本文件内有甚么功能? (3 分)
A. 编辑文件
B. 删除文件
C. 更改用户密码
D. 加密文件
E. 重新命名文件 -
[单选题] 解压后的脚本含有压缩功能,当中使用的解压方法是甚么? (2 分)
-
[多选题] 特普的电话中一张于 2021 年09 月 30 日 10:45:12 拍摄的相片包含以下哪些
字? (1 分)扫一下就有
-
[多选题] 特普的电话中的 whatsapp 账号 85268421495@s.whatsapp.net 中,有哪些其他人的 WhatsApp 用户数据记录? ) (2 分)
-
[单选题] 特普电话的热点分享密码是什么? (1 分)
-
[多选题] 特普于经纬度 22.278843, 114.165783,没有做什么? (2 分)
A. 拍影片
B. 拍照
C. 使用 google map
D. 在 Whatsapp 中分享实时位置
在这个位置,他只进行了拍照,所以选择 ACD。 -
[多选题] 特普于电话中安装了一个可疑软件(版本为 2020033001),跟据该可疑软件的
安装档,下列哪项描述正确? (2 分)A. 软件名称是安全防护
B. 软件名称是安心回家
C. 软件签名(signAlgorithm)以 SHA512withRSA 加密
D. 封包名称(packageName)是 org.chromium.webapk.a5b80edf82b436506_v2 -
[多选题] 特普于电话中安装了一个可疑软件(版本为 2020033001),跟据该可疑软件的
安装档,可疑软件中涉及以下安全许可? (2 分)A. android.permission.READ_SMS 读取短信内容
B. android.permission.SEND_SMS 发送短信
C. android.permission.READ_CONTACTS 读取联系人
D. android.permission.BLUETOOTH 使用蓝牙
E. android.permission.CLEAR_APP_CACHE 清除应用缓存 -
[填空题] 特普可能在电话中被可疑软件窃取了的验证码是什么? (请以英文全大写及阿
拉伯数字回答) (2 分)113476
-
[填空题] 特普的计算机可能中了病毒,病毒的加壳(Packing)方法是甚么? (请以英文全
大写作答) (2 分) -
[单选题] 特普的计算机可能中了病毒,病毒的编译工具是甚么? (2 分)
A. GCC
B. Borland
C. TCC
D. Microsoft Visual C/C++
同上题方法,用脱壳工具脱壳,使用 PEID 查到编译的工具是 D 选项 -
[填空题] 特普的计算机可能中了病毒,病毒的编译者使用可能使用的账户名称是甚么?
(请以英文全大写作答) (3 分)
GPGF
使用 ida pro 对已经脱壳的程序进行分析,找到病毒编译者使用的路径,找到他的账户名
称。 -
[单选题] 特普的计算机可能中了病毒,病毒的自我复制位置是甚么? (2 分)
A. C:\Temp\temp.txt
B. C:\Users\Desktop\malware.exe
C. C:\Users\public\malware.exe
D. C:\a.txt
使用火绒剑/Process Monitor 对其进行抓取。通过后面的字符串格式
%s%c%s%c%s%s%c%c%c%c%s%c%c
并配合前面的 push 堆栈
指令,可以得出完整的目标路径c:\\users\\public\\malware.exe
-
[单选题] 特普的计算机可能中了病毒,病毒的修改登录文件位置是甚么? (3 分)
A. HKLM\Software\Microsoft\Windows\CurrentVersion\Run
B. HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
C. HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
D.HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Backg
round
使用 ida pro 进行分析找到。 -
以下哪个不是病毒留下? (3 分)
A. HI
B. HELLO
C. HOW ARE YOU
D. GOODBYE使用 ida pro 进行逆向分析,只获得了 HELLO 的艺术文字图。
-
[单选题] 特普的计算机可能中了病毒,病毒扰乱文件目标文件名是甚么? (2 分)
A. C:\Users\Documents\target.txt
B. C:\Users\Desktop\target.txt
C. C:\c.txt
D. C:\temp.txt
使用逆向分析工具 ida pro 找到该文件。 -
[单选题] 特普的计算机可能中了病毒,病毒扰乱文件方法是甚么? (3 分)
A. + 3
B. XOR 5
C. + 4
D. – 4 -
[填空题] 特普的计算机中,哪一个是 FTK Imager.exe 的程式编号(PID)? (请阿拉伯数
字回答) (1 分) -
[多选题] 特普的计算机中,cmd.exe (PID: 4496) 它的执行日期及时间是? (1 分)
-
[填空题] 特普的计算机曾经以 FTP 对外.“)连接,连接的 IP 是? (请以阿拉伯数字回答,
不用输入".") (2 分)这道题出现在内存题目中,第一反应使用 netscan 命令,对其连接的网络信息进行扫描,
但是在这里无法找到确凿证据说明是 ftp 连接。前往计算机镜像进行查找。 -
[多选题] 特普的计算机中,以下哪一个指令于上述连接中有使用过? (3 分)
A. get
B. put
C. delete
D. bye
E. quit没有确凿证据,结合 ftp 命令猜测答案。
-
[多选题] 在 Linux 的"Volatility" 中,哪一个指令可以知道此程式支持哪一个 Windows
版本? (2 分)
A. vol.py --profile
B. vol.py --systeminfo
C. vol.py --info
D. vol.py --verinfo -
[填空题] 常威手机中的Telegram有可能是在2021 年9 月24日 12 时44分58秒 (UTC
+8) 首次下载的。(请以阿拉伯数字输入答案) (2 分) -
[填空题] 常威手机曾经连接的无人机名称是什么?(请以英文全大写及阿拉伯数字回答)
(1 分) -
[填空题] 常威手机中,档案“dji1633936161416.mp4”的解像度是 ____ (例
如是 1920 x 1280,请输入 19201280)。 (1 分)搜索该视频,很容易就找到了,但是 cellebrite 不太友好,居然没有视频分辨率,导出后
再查看详细信息,得到分辨率信息。 -
[填空题] 常威手机中,发现于网络上下载的软件“安心出行”安装档的哈希值(MD5)
是?(请以英文全大写及阿拉伯数字回答) (2 分)0c3e9233b78971709ccaabe7d9a917e4
-
[多选题] 常威手机中执行软件“安心出行”(版本 2.1.3)中涉及以下安全许可? (2 分)
A. android.permission.ACCESS_WIFI_STATE 获取 WiFi 状态
B. android.permission.BATTERY_STATS 电量统计
C. android.permission.VIBRATE 使用振动
D. android.permission.CONTROL_LOCATION_UPDATES 控制定位更新
E. android.permission.CAMERA 拍照权限 -
[多选题] 常威手机中软件“安心出行”(版本 2.1.3)的安装档(.apk)中,哪个不是它的签名
算法? (3 分)
A. MD5withRSA
B. SHA256withRSA
C. SHA256withDSA
D. MD5withDSA -
[多选题] 于常威的手机中执行软件“安心出行”(版本 1)可能会连接至哪一个网站? (2 分)
A. https://back-home-.pages.dev
B. org.chromium..a5b80edf82b436506
C. org.chromium..a5b80edf82b436506_v2
D. https://back-home-.pages.dev/manifest.json抓包和分析源代码。
-
[单选题] 在常威苹果手提计算机, 用户开机密码是什么 ?(提示:常威 USB 设备中可
能有相关数据) (3 分)
A. Csthegoa
B. Drawfgdf
C. Cokkfiddd
D. Appiswon根据提示,在常威的 USB 设备中查找。
使用取证大师,加载镜像后,使用格式化恢复, -
[填空题] 在常威 U 盘内有多少磁盘分隔区 ? (请以阿拉伯数字回答) (2 分)
4
-
[填空题] 在常威 U 盘内有多少份 excel 文件 ? (请以阿拉伯数字回答) (1 分)
-
[填空题] 在常威 U 盘内, 内含有多少个客户数据 ? (请以阿拉伯数字回答) (1 分)
-
[多选题] 以下哪个客户数据储存在常威 U 盘内 ? (3 分)
A. jmuat1@reference.com
B. cgeraudg@forbes.com
C. cwarmishamo@admin.ch
D. abddfdf@google.com
E. alex1234@apple.com在xlsx里面搜索就有。
-
[单选题] 常威MAC 计算机上一个系统版本是甚么及现正运行哪一个版本的系统? (3分)
-
[多选题] 常威MAC 计算机的系统事件纪录内哪个卷标(Flag)是关于储存档案于计算机?
(3 分)
A. Created
B. InodeMetaMod
C. FinderInfoChanged
D. IsDirectory
E. OwnerChangedMac 电脑的 OSX FSEvents flag 知识,理论题目,选择 ABCE
-
[多选题] 常威 MAC 计算机曾连接哪一个无线网络 SSID? (2 分)
A. wai wifi
B. wanchainew1
C. central2
D. Hongkong1 -
[单选题] 常威MAC 计算机的使用者甚么时候将”隔空投送”(airdrop)转换至任何人模式?
(2 分) -
[单选题] 常威 MAC 计算机的镜像档案内,总共有多少个系统默认的卷标? (1 分)
A. 4
B. 5
C. 6
D. 75个
-
[填空题] 常威 MAC 计算机的使用者上一次关闭浏览器时,正在浏览多少个网页? (请
以阿拉伯数字回答) (3 分)虽然24个url,但是实际上有重复的,筛选后只有10个
-
[多选题] 常威 MAC 计算机中以下哪个档案并不是 iPhone 所拍摄的图片? (2 分)
A. IMG_0002
B. IMG_0003
C. IMG_0004
D. IMG_0005
E. IMG_0006在 MAC 计算机上找到了 BCE 选项,导出,就能看到BCE都是iPhone12pro拍摄的
-
[多选题] 在常威的矿机没有进行哪种加密货币掘矿 ? (2 分)
A. Bitcoin(比特币)
B. Ethereum(以太坊)
C. RVN(渡鸦币)
D. Dodge(狗狗币)
E. ENJ(恩金币) -
[填空题] 在常威矿机有几张显示适配器进行掘矿 ? (请以阿拉伯数字回答) (1 分)
-
[单选题] 在常威矿机, hive OS 操作系统是什么版本 ? (1 分)
A. 5.4.0
B. 6.0.1
C. 7.0.2
D. 10.0.2
E. 15.1.2***** -
[多选题] 在常威矿机中, 哪个不是收取掘矿收益的加密货币钱包地址 ? (1 分)
-
[单选题] 在常威矿机中, 用于掘矿登入密码是什么 ? (2 分)
-
[填空题] 在常威矿机中,用于掘矿 Nvidia 显示适配器所使用的驱动程式使用什么版
本?(请以英文全大写及阿拉伯数字回答) (1 分) -
[多选题] 在常威矿机中, 用于掘矿显示适配器型号包括什么? (2 分)
-
[多选题] 在常威矿机, 哪一天没有进行掘矿? (2 分)
直接看日志
-
[填空题] 常威的无人机中的飞航纪录 __可见到于 2021 年10 月11 日1505
时的 GPS 地点。(请以英文全大写及阿拉伯数字回答) (1 分)FLY096.DAT
-
[单选题] 常威的无人机于 2021 年 10 月 11 日 15:07:51 时之间所在的地点是什么? (1
分) -
[填空题] 常威的无人机哪一个档案有最后降落时间的数据(请以英文全大写及阿拉伯
数字回答,不用输入".")? (1 分)FLY096DAT
在最下面
-
[多选题] 常威的手机中哪一个是由常威的无人机于 2021 年 10 月 11 日所拍摄的图像
文件? (2 分)A. Containers 货柜
B. Buildings 大厦
C. bicycle 单车
D. Mountain 山 -
[填空题] 常威的手机中显示常威的无人机DJI GO 4 的版本是 4.3.37?(请以阿拉伯数字
回答) (1 分) -
[多选题] 常威的手机中所安装的 DJI GO 4 软件中,以下哪个 database 没有显示临时
禁飞区? (2 分)
A. Filesflysafe_app.db
B. Special_warning.db
C. Flysafe_app_dynamic_areas.db
D. Flysafe_polygon_1860.db搜索找到数据库 Flysafe_app_dynamic_areas.db 显示了禁飞区,Special_warning.db 数据
库是空的。 -
[填空题] 常威的手机中在 Localappstate.db 可知道 DJI GO 4 的登入电子邮件(请以英
文全大写及阿拉伯数字回答) (1 分)正常存储这个信息应该在 app 的数据库里,从 APP 找到跳转的路径。
-
[填空题] 常威的手机中在 flysafe_app_dynamic_areas.db 包含了名为server_timestamp 的资料(请以英文全大写及阿拉伯数字回答) (1 分)
和 82 题相关联,见过这个数据库,查看这个数据库 -
[单选题] 常威利用Windows 计算机中的 VM Kali 进行攻击和收取受害人电话的数据,请找出常威的 VM 存放地址 (2 分)
-
[单选题] 常威在收集数据后储存数据于 Windows 计算机一个名为"text2.txt"的档案中,
随后他将档案移往"\home\kali\Desktop\project\"中, 下述哪个档案可以证明这一点?i)\root.bash_history ii) \home\kali.bash_history (3 分)
看 kali 系统里的数据,将 kali 的文件导出来,再当做计算机的检材做取证分析。
取证分析找到这两个文件,在\home\kali.bash_history 找到了 text2.txt 文件的痕迹但是
证明不了是从 windows 移动过去的,都没有相关证据。 -
[单选题] 常威 Windows 计算机中哪一个程式/档案有可能用作收取受害人电话上的数
据? (3 分)
A. \home\kali\Desktop\server_express_ok.js
B. \home\kali\Desktop\baddish\package.json
C. \home\kali\Desktop\baddish\server.js
D. \home\kali\Desktop\server.js -
[多选题] 常威 Windows 计算机中显示常威第一次偷取受害人电话数据有机会是在哪
一个日子及时间登入 Kali 系统? (2 分)
A. 2021-09-27
B. 2021-09-29
C. 2021-09-29
D. 11:42:47
E. 16:04:24
F. 16:30:04 -
[多选题] 常威Windows计算机中以下哪一个檔案的哈希值(MD5)能证明常威曾开启存
有客户数据的档案? (2 分) -
[单选题] 常威 Windows 计算机中,哪一个档案可以找到 USB 装置初次连接的时间?
(1 分)C:\Windows\INF\setupapi.dev.log
Windows 取证理论题了,也可以根据选项打开找到该文件进行验证。 -
[单选题] 常威 Windows 计算机接驳了一个 3D 打印机,以下哪一个哈希值是属于上
述打印机的驱动程式文件中的安装信息文件(INF 檔)? (提示:关键词包含 CH341) (3 分) -
[填空题] 续上题,上述安装信息文件的版本日期是什么? (请以阿拉伯数字,及以下格
式回答,例: 2019 年 3 月 4 日,请回答 20190304) (1 分) -
[多选题] 常威 Windows 计算机安装了一些与 3D 打印机有关的软件,有可能是以下哪
个? (1 分)
A. Ultimaker Cura
B. 3DPrinterOS
C. Simplify3D
D. Creality Slicer挨个找
-
[单选题] 续上题,哪一个档案记录了切片软件 Creality Slicer 曾经开启的 3d 立体模块
(.stl)纪录? (1 分)C:\Users\Chris Paul\AppData\Roaming\Creality Slicer\4.8\Creality Slicer.log
-
[多选题] 续上题,哪一个 3d 立体模块(.stl)曾用切片软件 Creality Slicer 开启? (2 分)
-
[填空题] 哪一个是Wai_Linux1.E01 鉴证映像中Linux LVM 磁盘分区的长度? (请以阿
拉伯数字回答) (1 分) -
[填空题] 常威 LINUX 计算机安装在逻辑卷管理(Logical Volume Manager)的磁盘分
区上, 哪一个是卷组(Volume group) 的通用唯一标识符(UUID)? (请以英文全大写及阿拉
伯数字回答,不用输入”-“) (1 分) -
[多选题] 续上题,哪一个是逻辑卷(Logical Volume )设定的名字? (2 分)
-
[单选题] 常威 LINUX 计算机曾试用挖矿程式"T-Rex",在相关脚本(script)中哪一个是
工人(worker)的名称? (1 分)rig0
-
[填空题] LINUX 系统中利用 fdisk 指令下,下列哪一个是 "exFAT"的磁盘分区类型编
号(Partition type id)? (请以英文全大写及阿拉伯数字回答) (1 分)7
这道题与本镜像无关,考的是 exfat 文件系统的 Partition type id,本镜像没有 exfat 分区,
考核这个理论知识点,答案是 7。 -
[单选题] 在 Linux 的环境下,以下哪一个指令用于激活扫描到的卷组(Volume group)
(1 分)
A. vgscan
B. vgchange
C. vgdisplay
D. vgactive
每个都用 --help 命令查一下,找到只有 vgchange 有这个功能 -
[单选题] 在 Linux 的环境下,下列哪一个指令可以删除内有档案的文件夹? (1 分
rm -rf
-
[填空题] 常威 LINUX 计算机逻辑滚动条 (Logical Volume) 路径“vg/home”使用了
甚么系统建立? (请以英文全大写回答) (2 分)lvdisplay
-
[填空题] 常威 LINUX 计算机逻辑滚动条 (Logical Volume) 路径 “vg/root” 的
Current LE 是什么? (请以阿拉伯数字回答) (1 分)lvdisplay
-
[填空题] 常威 LINUX 计算机扇区群组 (Volume group)的 Total PE 是甚么? (请以阿
拉伯数字回答) (1 分)vgdisplay
分类: Forensic
乌克兰网络攻击的新型破坏性恶意软件
翻译的国外文章:https://www.sentinelone.com/labs/hermetic-wiper-ukraine-under-attack/
执行摘要
- 2 月 23 日,威胁情报社区开始观察在乌克兰组织中传播的新的擦除恶意软件样本。
- 我们的分析表明,在删除卷影副本并在重新启动后操纵 MBR 之后,使用签名的驱动程序来部署擦除 Windows 设备的擦除器。
- 此博客包含名为 HermeticWiper 的擦除器的技术细节,并包含 IOC,以使组织能够免受这种攻击。
- 这个样本正被积极地用于对付乌克兰组织,随着更多信息的出现,这个博客将被更新。
- SentinelOne 客户可以免受这种威胁,无需采取任何行动。
背景
2 月 23 日,我们在赛门铁克和 ESET 研究部门的朋友在推特上发布了与乌克兰擦除器攻击相关的哈希值,其中包括在撰写本文时尚未公开的哈希值。
我们开始分析这种新的擦除器恶意软件,将其称为“HermeticWiper”,指的是用于签署样本的数字证书。该数字证书以公司名称“Hermetica Digital Ltd”颁发,有效期为 2021 年 4 月。目前,我们还没有看到任何使用此证书签名的合法文件。攻击者可能使用空壳公司或挪用已倒闭的公司来颁发此数字证书。
HermeticWiper 数字签名
这是分析第一个可用的 HermeticWiper 样本的早期工作。我们认识到乌克兰当地局势正在迅速发展,并希望我们能够为集体分析工作贡献自己的一小部分。
技术分析
乍一看,HermeticWiper 似乎是一个自定义编写的应用程序,标准功能很少。恶意软件样本大小为 114KB,其中大约 70% 由资源组成。开发人员正在使用经过验证的擦除恶意软件技术,滥用良性分区管理驱动程序,以执行其攻击中更具破坏性的组件。Lazarus Group ( Destover ) 和 APT33 ( Shamoon ) 都利用了 Eldos Rawdisk 的优势,以便在不调用 Windows API 的情况下获得对文件系统的直接用户态访问。HermeticWiper 通过滥用不同的驱动程序来使用类似的技术empntdrv.sys
。
包含 EaseUS Partition Manager 驱动程序的 HermeticWiper 资源
驱动程序的副本是 ms 压缩资源。恶意软件根据操作系统版本、位数和 SysWow64 重定向部署其中之一。
EaseUS驱动资源选择
当涉及到直接访问物理驱动器以及获取分区信息时,良性的 EaseUS 驱动程序被滥用来承担相当一部分繁重的工作。这增加了分析 HermeticWiper 的难度,因为许多功能被推迟到DeviceIoControl
使用特定 IOCTL 的调用。
MBR 和分区损坏
HermeticWiper 从 0 到 100 多次枚举一系列物理驱动器。对于每个物理驱动器,\\.\EPMNTDRV\
都会调用设备以获取设备编号。
然后,恶意软件专注于破坏前 512 个字节,即每个物理驱动器的主引导记录 (MBR)。虽然这应该足以让设备不再启动,但 HermeticWiper 继续枚举所有可能驱动器的分区。
然后他们区分 FAT 和 NTFS 分区。在 FAT 分区的情况下,恶意软件会调用相同的“bit fiddler”来破坏分区。对于 NTFS,HermeticWiper 在再次调用相同的位摆弄函数之前解析主文件表。
MFT 解析和位摆弄调用
为简洁起见,我们委婉地指代位摆弄功能。通过它,我们看到对 Windows API 的调用以获取加密上下文提供程序并生成随机字节。这很可能被用于内联加密实现和字节覆盖,但目前该机制并不完全清楚。
进一步的功能是指有趣的 MFT 字段 ( $bitmap
, $logfile
) 和NTFS 流( $DATA
, $I30
, $INDEX_ALLOCATION
)。该恶意软件还会枚举常用文件夹(“我的文档”、“桌面”、“AppData”),引用注册表(“ntuser”)和 Windows 事件日志("\\\\?\\C:\\Windows\\System32\\winevt\\Logs"
)。我们正在进行分析以确定如何使用此功能,但很明显,由于已经损坏了所有驱动器的 MBR 和分区,受害系统在执行时应该无法运行。
在此过程中,HermeticWiper 更普通的操作为我们提供了更多的 IOC 来监控。其中包括临时创建被滥用的驱动程序以及系统服务。它还修改了几个注册表键,包括将SYSTEM\CurrentControlSet\Control\CrashControl CrashDumpEnabled
键设置为 0 ,在被滥用的驱动程序开始执行之前有效地禁用故障转储。
通过注册表禁用 CrashDump
最后,恶意软件在启动系统关闭之前等待休眠线程,最终确定恶意软件的破坏性影响。
结论
经过一周的破坏和不断增加的 DDoS 攻击,通过擦除恶意软件进行的破坏操作的扩散是预期的和令人遗憾的升级。目前,我们对乌克兰的袭击以及随后蔓延到邻国和盟国的情况只有很小的了解。如果说这种困难的情况有一线希望的话,那就是威胁情报研究团队、独立研究人员和记者之间的开放合作,他们希望了解真相。我们感谢赛门铁克、ESET、Stairwell 和 RedCanary 等提供样本、时间和专业知识的研究人员。
从一道题目尝试进行打印机流量分析
打印机流量分析
奇怪的USB流量
数据包464,发现主机正在与某USB设备建立连接,数据包465可以确认刚才与主机建立连接的设备就是打印机
数据包476,传输了USB设备描述符,可以得出题目所指打印机为条码打印机,采用TSPL2语言
数据包674,发现发送了两个USB批量包,有纸张大小、方向信息
有一个包数据特别大,可以看到包底部有一堆BAR数据
搜一下可以发现是个标签打印机的数据,谷歌找一下相关信息
- 打印机系统设置相关指令:
SIZE DIRECTION REFERENCE OFFSET PEEL CUTTER PARTOCAL_CUTTER TEAR
- 标签打印相关指令:
BITMAP BAR PRINT
http://www.kroyeuropedownload.com/English_User_Manuals/TSPL_TSPL2_Programming_Jan_2017.pdf
搜索bar,可以发现相关指令
bar指令大概意思:
BAR 1 2 3 4
以左上角为原点,在坐标(1,2)的像素位置往右下方画上一个长3宽4的黑色像素块
编写脚本:
Image.new()模式“1”为二值图像,非黑即白。但是它每个像素用8个bit表示,0表示黑,255表示白
from PIL import Image
from pwn import *
img = Image.new('1',(700,700),color = 1)
pixels = img.load()
cmds = '''
348, 439, 2, 96
.......
'''
cmds = cmds.strip().split('\n')
for each in cmds:
params = each.split(', ')
x, y, width, height = map(int, params)
for w in range(width):
for h in range(height):
rw = w + x
rh = h + y
pixels[rw, rh] = 0
img.show()
数据中还有个 SET TEAR ON CLS BITMAP 138,75,26,48,1,
搜一下bitmap
26 * 48 = 1248, 因此应该有1248个两位的16进制数(8个bit)
所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省
这里的bitmap算法与网上的bitmap并不一样
bitmap(pixels, x, y, width, height, data)
定义一个函数:bitmap,把一张图片,从指定的位置(x,y)截取指定的宽高(width,height ),把所得图像的每个像素颜色转为int值,存入pixels,画出bitmap
from PIL import Image
from pwn import *
img = Image.new("1",(700,700))
pixels = img.load()
data1 = 'ffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffc3ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffe3fffe1ffffffffff807c03c603fc07c07e0007f7ff01f8067ff007ff803fc07c03fff1ff1f04f8ff1ff1fff1fff3ffcff1f27fc7f1ff3e1ff1ff9ffff1ff1fc1fcff8ff1fff1fff3ffefe3f87f8ff9feff8ff1ff9ffff8ff1fc3fc7fcff1fff1fff1ffefc7fc7f9ff8fdffc7f1ff9ffff8ff1fc7fe3fc7f1fff1fff1ffefcffe7f1ff8f9ffc3f1ff9ffffc7f1fc7fe3fe3f1fff1fff0ffef8ffe7f1ff0fbffe3f1ff9ffffc7f1fc7fe3fe3f1fff1fff0ffef8ffe7e1ff8f3ffe3f1ff9ffffe3f1fc7fe3ff1f1fff1fff47fef8ffe7e3ff9f7ffe1f1ff9ffffe3f1fc7ff3ff8e1fff1fff47fef9ffe7e3ffffffff1f1ff9fffff1f1fc7ff3ff8c1fff1fff63fef9ffe7f1ffffffff1f1ff9fffff1f1fc7ff3ffc11fff1fff63fef9ffe7f1ffffffff1f1ff9fffff1f1fc7fe3ffe31fff1fff71fef9ffe7f1ffffffff1f1ff9fffff8f1fc7fe3ffe71fff1fff71fef8ffe7f8ffffffff0f1ff9fffff8f1fc7fe3ffcf1fff1fff78fef8ffe7fcffffffff0f1ff9fffffc61fc7fe7ff9f1fff1fff78fef8ffc7fe3fffffff0f1ff9fffffc41fc7fc7ff3f1fff1fff7c7efcffc7ff83ffffff0f9ff1fffffe11fc3f8fff7f1fff1fff7c7efc7fa7ff87ffffff0f9fe9fffffe31fc1f1ffe7f1fff1fff7e3efe3e67fe3fffffff1f8f99ffffff31fc403fe01f1fff1fff7e3eff80e0fc7fffffff1fc039fffffe71fc79ffffff1fff1fff7f1efff3eff8ffffffff1ff0f9fffffef1fc7fffffff1fff1fff7f0efffffff8ffffffff1ffff9fffffcf1fc7fffffff1fff1fff7f8efffffff8fffffffe1ffff9fffff9f1fc7fffffff1fff1fff7f86fffffff8ff9f7ffe3ffff9fffffbf1fc7fffffff1fff1fff7fc6fffffff8ff0f3ffe3ffff9fffff7f1fc7fffffff1fff1fff7fc2fffffff8ff8fbffc7ffff9ffffe7f1fc7fffffff1fff1fff7fe2fffffff8ff8f9ffc7ffff9ffffcff1fc7fffffff1fff1fff7ff0fffffffcff9f9ff8fffff9ffff8ff1fc7fffffff1fff1fff7ff0fffffffc7f9f8ff1fffff9ffff0ff0fc3fffffff1fff0ffe7ff8fffffffe1e7f83e3fffff8fffc03c03c0fffffff03e000780ff83fffffff80fff80ffffff83ffffffffdffffffff3ffffffffffffffffffffffffffffffffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
data1 = bits(int(data1.strip(), 16))
def draw_bitmap(pixels, x, y, width, height, data):
width *= 8
for w in range(width):
for h in range(height):
rw = w + x
rh = h + y
pixels[rw, rh] = data1[w+h*width]
draw_bitmap(pixels,138,75,26,48,data1)
img.show()
最终脚本:
from PIL import Image
from pwn import *
img = Image.new('1',(700,700),color = 1)
pixels = img.load()
data1 = 'ffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffc3ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffe7ffe3fffe1ffffffffff807c03c603fc07c07e0007f7ff01f8067ff007ff803fc07c03fff1ff1f04f8ff1ff1fff1fff3ffcff1f27fc7f1ff3e1ff1ff9ffff1ff1fc1fcff8ff1fff1fff3ffefe3f87f8ff9feff8ff1ff9ffff8ff1fc3fc7fcff1fff1fff1ffefc7fc7f9ff8fdffc7f1ff9ffff8ff1fc7fe3fc7f1fff1fff1ffefcffe7f1ff8f9ffc3f1ff9ffffc7f1fc7fe3fe3f1fff1fff0ffef8ffe7f1ff0fbffe3f1ff9ffffc7f1fc7fe3fe3f1fff1fff0ffef8ffe7e1ff8f3ffe3f1ff9ffffe3f1fc7fe3ff1f1fff1fff47fef8ffe7e3ff9f7ffe1f1ff9ffffe3f1fc7ff3ff8e1fff1fff47fef9ffe7e3ffffffff1f1ff9fffff1f1fc7ff3ff8c1fff1fff63fef9ffe7f1ffffffff1f1ff9fffff1f1fc7ff3ffc11fff1fff63fef9ffe7f1ffffffff1f1ff9fffff1f1fc7fe3ffe31fff1fff71fef9ffe7f1ffffffff1f1ff9fffff8f1fc7fe3ffe71fff1fff71fef8ffe7f8ffffffff0f1ff9fffff8f1fc7fe3ffcf1fff1fff78fef8ffe7fcffffffff0f1ff9fffffc61fc7fe7ff9f1fff1fff78fef8ffc7fe3fffffff0f1ff9fffffc41fc7fc7ff3f1fff1fff7c7efcffc7ff83ffffff0f9ff1fffffe11fc3f8fff7f1fff1fff7c7efc7fa7ff87ffffff0f9fe9fffffe31fc1f1ffe7f1fff1fff7e3efe3e67fe3fffffff1f8f99ffffff31fc403fe01f1fff1fff7e3eff80e0fc7fffffff1fc039fffffe71fc79ffffff1fff1fff7f1efff3eff8ffffffff1ff0f9fffffef1fc7fffffff1fff1fff7f0efffffff8ffffffff1ffff9fffffcf1fc7fffffff1fff1fff7f8efffffff8fffffffe1ffff9fffff9f1fc7fffffff1fff1fff7f86fffffff8ff9f7ffe3ffff9fffffbf1fc7fffffff1fff1fff7fc6fffffff8ff0f3ffe3ffff9fffff7f1fc7fffffff1fff1fff7fc2fffffff8ff8fbffc7ffff9ffffe7f1fc7fffffff1fff1fff7fe2fffffff8ff8f9ffc7ffff9ffffcff1fc7fffffff1fff1fff7ff0fffffffcff9f9ff8fffff9ffff8ff1fc7fffffff1fff1fff7ff0fffffffc7f9f8ff1fffff9ffff0ff0fc3fffffff1fff0ffe7ff8fffffffe1e7f83e3fffff8fffc03c03c0fffffff03e000780ff83fffffff80fff80ffffff83ffffffffdffffffff3ffffffffffffffffffffffffffffffffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
data1 = bits(int(data1.strip(), 16))
data2 = 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffe38fffffffffffffffffffffffffffffffffffffffffffffffffffffffdff7ffffffffffffffffffffffffffffffffffffffffffffffffffffff9ff3ffffffffffffffffffffffffffffffffffffffffffffffffffffff9ff3fffffffffffff9ffefbffc7ffffffe1fff8fffffffc3ffffffffff9ff3ff8ffffffffff0ffefbff39ff007f9c7fe72ffffff3c3fc07fffff87e78463f803ff01f0ffe7bfefefff7ff3f3f9f8fffffeff3ffbffffffc01fa3f9ffbfffe7f9ffe71fcfe7ff7ff7f9f9fcfffffeffbffbfffffffc07e7f9ffbfffe7ffffc71f9ff3ff7feff9f3fcfffffeffbffbffffffffe7e7f8ffbfffe7ffffd75f9ff3ff7ffffcf3fcfffffe7ffffbffffffffe7e7f9ffbfffe7ffffd35f9ff3ff7ffffcf3fcfffffe3ffffbfffffff80fe7f9ffbfffe7ffffd2cf9ff3ff7ffffcf3fcffffff07fffbfffffff7cfe7f3ffbfffe7ffffb2cf9ff3ff7fe000f3fcffffffc1fffbffffffe7e7e7c7ffbfffe7ffffbacf9ff3ff7fe7fcf3fcfffffff87ffbffffffe7e7e03fffbfffe7ffffb9ef9ff3ff7fe7fcf3fcfffffffe7ffbffffffefe7e7ffffbfffe7ffffb9e79ff3ff7fe7f9f3fcfffffeff3ffbffffffefe7e7f9ffbfffe7ffff79e7cfe7ff7ff3f9f9f8fffffeff3ffbffffffe7e7f7f1ffbfffe7f1ff79e7efcfff7ff3f3f9f0fffffe7f7ffbffffff27eff3f3ffbfffe7f0fe38e3f39fff7ffce7fc04fffffe1cfff9ffffff019ff9e7ffbfffe7f1fffffffc7fff7fff1fffbcfffffee3fff87fffffbe7ffe1fffbffe00ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfffe7ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfffe7ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfffe7ffffffffffffff7ffffffffcffffffffffffffffffffffffffffbfe7e7ffffffffffffff7ffffffffcfffffffffff3ffffffffffffffffbfe7efffffffffffffff7ffffffffcfffffffffff1ffffffffffffffffbfe7cfffffffffffffff03fffffffc3ffffffffff1ffffffffffffffff81f03fffffffffffffff3ffffffffcfffffffffffbffffffffffffffff9ffffff'
data2 = bits(int(data2.strip(), 16))
cmds = '''
BAR 348, 439, 2, 96
BAR 292, 535, 56, 2
BAR 300, 495, 48, 2
BAR 260, 447, 2, 88
BAR 204, 447, 56, 2
BAR 176, 447, 2, 96
BAR 116, 455, 2, 82
BAR 120, 479, 56, 2
BAR 44, 535, 48, 2
BAR 92, 455, 2, 80
BAR 20, 455, 72, 2
BAR 21, 455, 2, 40
BAR 21, 495, 24, 2
BAR 45, 479, 2, 16
BAR 36, 479, 16, 2
BAR 284, 391, 40, 2
BAR 324, 343, 2, 48
BAR 324, 287, 2, 32
BAR 276, 287, 48, 2
BAR 52, 311, 48, 2
BAR 284, 239, 48, 2
BAR 308, 183, 2, 56
BAR 148, 239, 48, 2
BAR 196, 191, 2, 48
BAR 148, 191, 48, 2
BAR 68, 191, 48, 2
BAR 76, 151, 40, 2
BAR 76, 119, 2, 32
BAR 76, 55, 2, 32
BAR 76, 55, 48, 2
BAR 112, 535, 64, 2
BAR 320, 343, 16, 2
BAR 320, 319, 16, 2
BAR 336, 319, 2, 24
BAR 56, 120, 24, 2
BAR 56, 87, 24, 2
BAR 56, 88, 2, 32
BAR 224, 247, 32, 2
BAR 256, 215, 2, 32
BAR 224, 215, 32, 2
BAR 224, 184, 2, 32
BAR 224, 191, 32, 2
BAR 272, 311, 2, 56
BAR 216, 367, 56, 2
BAR 216, 319, 2, 48
BAR 240, 318, 2, 49
BAR 184, 351, 2, 16
BAR 168, 351, 16, 2
BAR 168, 311, 2, 40
BAR 152, 351, 16, 2
BAR 152, 351, 2, 16
'''
cmds = cmds.strip().split('\n')
def draw_bitmap(pixels, x, y, width, height, data):
width *= 8
for w in range(width):
for h in range(height):
rw = w + x
rh = h + y
pixels[rw, rh] = data1[w+h*width]
def draw_bar(pixels, x, y, width, height):
for w in range(width):
for h in range(height):
rw = w + x
rh = h + y
pixels[rw, rh] = 0
draw_bitmap(pixels,138,75,26,48,data1)
draw_bitmap(pixels,130,579,29,32,data2)
for each in cmds:
params = each.replace('BAR ','').split(', ')
x, y, width, height = map(int, params)
draw_bar(pixels, x, y, width, height)
img = img.transpose(Image.ROTATE_180)
img.show()
得到flag:flag{my_tsc_hc3pnikdk}
电子数据取证学习–Volatility
Volatility取证分析工具
关于工具
Kali安装
sudo apt-get install volatility
volatility -h
# 部分报错可能kali版本过低
常用模块
插件名称 | 功能 |
---|---|
amcache | 查看AmCache应用程序痕迹信息 |
apihooks | 检测内核及进程的内存空间中的API hook |
atoms | 列出会话及窗口站atom表 |
atomscan | Atom表的池扫描(Pool scanner) |
auditpol | 列出注册表HKLMSECURITYPolicyPolAdtEv的审计策略信息 |
bigpools | 使用BigPagePoolScanner转储大分页池(big page pools) |
bioskbd | 从实时模式内存中读取键盘缓冲数据(早期电脑可以读取出BIOS开机密码) |
cachedump | 获取内存中缓存的域帐号的密码哈希 |
callbacks | 打印全系统通知例程 |
clipboard | 提取Windows剪贴板中的内容 |
cmdline | 显示进程命令行参数 |
cmdscan | 提取执行的命令行历史记录(扫描_COMMAND_HISTORY信息) |
connections | 打印系统打开的网络连接(仅支持Windows XP 和2003) |
connscan | 打印TCP连接信息 |
consoles | 提取执行的命令行历史记录(扫描_CONSOLE_INFORMATION信息) |
crashinfo | 提取崩溃转储信息 |
deskscan | tagDESKTOP池扫描(Poolscaner) |
devicetree | 显示设备树信息 |
dlldump | 从进程地址空间转储动态链接库 |
dlllist | 打印每个进程加载的动态链接库列表 |
driverirp | IRP hook驱动检测 |
drivermodule | 关联驱动对象至内核模块 |
driverscan | 驱动对象池扫描 |
dumpcerts | 提取RAS私钥及SSL公钥 |
dumpfiles | 提取内存中映射或缓存的文件 |
dumpregistry | 转储内存中注册表信息至磁盘 |
editbox | 查看Edit编辑控件信息 (Listbox正在实验中) |
envars | 显示进程的环境变量 |
eventhooks | 打印Windows事件hook详细信息 |
evtlogs | 提取Windows事件日志(仅支持XP/2003) |
filescan | 提取文件对象(file objects)池信息 |
gahti | 转储用户句柄(handle)类型信息 |
gditimers | 打印已安装的GDI计时器(timers)及回调(callbacks) |
gdt | 显示全局描述符表(Global Deor Table) |
getservicesids | 获取注册表中的服务名称并返回SID信息 |
getsids | 打印每个进程的SID信息 |
handles | 打印每个进程打开的句柄的列表 |
hashdump | 转储内存中的Windows帐户密码哈希(LM/NTLM) |
hibinfo | 转储休眠文件信息 |
hivedump | 打印注册表配置单元信息 |
hivelist | 打印注册表配置单元列表 |
hivescan | 注册表配置单元池扫描 |
hpakextract | 从HPAK文件(Fast Dump格式)提取物理内存数据 |
hpakinfo | 查看HPAK文件属性及相关信息 |
idt | 显示中断描述符表(Interrupt Deor Table) |
iehistory | 重建IE缓存及访问历史记录 |
imagecopy | 将物理地址空间导出原生DD镜像文件 |
imageinfo | 查看/识别镜像信息 |
impscan | 扫描对导入函数的调用 |
joblinks | 打印进程任务链接信息 |
kdbgscan | 搜索和转储潜在KDBG值 |
kpcrscan | 搜索和转储潜在KPCR值 |
ldrmodules | 检测未链接的动态链接DLL |
lsadump | 从注册表中提取LSA密钥信息(已解密) |
machoinfo | 转储Mach-O 文件格式信息 |
malfind | 查找隐藏的和插入的代码 |
mbrparser | 扫描并解析潜在的主引导记录(MBR) |
memdump | 转储进程的可寻址内存 |
memmap | 打印内存映射 |
messagehooks | 桌面和窗口消息钩子的线程列表 |
mftparser | 扫描并解析潜在的MFT条目 |
moddump | 转储内核驱动程序到可执行文件的示例 |
modscan | 内核模块池扫描 |
modules | 打印加载模块的列表 |
multiscan | 批量扫描各种对象 |
mutantscan | 对互斥对象池扫描 |
notepad | 查看记事本当前显示的文本 |
objtypescan | 扫描窗口对象类型对象 |
patcher | 基于页面扫描的补丁程序内存 |
poolpeek | 可配置的池扫描器插件 |
printkey | 打印注册表项及其子项和值 |
privs | 显示进程权限 |
procdump | 进程转储到一个可执行文件示例 |
pslist | 按照EPROCESS列表打印所有正在运行的进程 |
psscan | 进程对象池扫描 |
pstree | 以树型方式打印进程列表 |
psxview | 查找带有隐藏进程的所有进程列表 |
qemuinfo | 转储Qemu 信息 |
raw2dmp | 将物理内存原生数据转换为windbg崩溃转储格式 |
screenshot | 基于GDI Windows的虚拟屏幕截图保存 |
servicediff | Windows服务列表(ala Plugx) |
sessions | _MM_SESSION_SPACE的详细信息列表(用户登录会话) |
shellbags | 打印Shellbags信息 |
shimcache | 解析应用程序兼容性Shim缓存注册表项 |
shutdowntime | 从内存中的注册表信息获取机器关机时间 |
sockets | 打印已打开套接字列表 |
sockscan | TCP套接字对象池扫描 |
ssdt | 显示SSDT条目 |
strings | 物理到虚拟地址的偏移匹配(需要一些时间,带详细信息) |
svcscan | Windows服务列表扫描 |
symlinkscan | 符号链接对象池扫描 |
thrdscan | 线程对象池扫描 |
threads | 调查_ETHREAD 和_KTHREADs |
timeliner | 创建内存中的各种痕迹信息的时间线 |
timers | 打印内核计时器及关联模块的DPC |
truecryptmaster | 恢复TrueCrypt 7.1a主密钥 |
truecryptpassphrase | 查找并提取TrueCrypt密码 |
truecryptsummary | TrueCrypt摘要信息 |
unloadedmodules | 打印卸载的模块信息列表 |
userassist | 打印注册表中UserAssist相关信息 |
userhandles | 转储用户句柄表 |
vaddump | 转储VAD数据为文件 |
vadinfo | 转储VAD信息 |
vadtree | 以树形方式显示VAD树信息 |
vadwalk | 显示遍历VAD树 |
vboxinfo | 转储Virtualbox信息(虚拟机) |
verinfo | 打印PE镜像中的版本信息 |
vmwareinfo | 转储VMware VMSS/VMSN 信息 |
volshell | 内存镜像中的shell |
windows | 打印桌面窗口(详细信息) |
wintree | Z顺序打印桌面窗口树 |
wndscan | 池扫描窗口站 |
yarascan | 以Yara签名扫描进程或内核内存 |
常用命令
功能 | 命令行及参数 |
---|---|
查看进程列表 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 pslist |
查看进程列表(树形) | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 pstree |
查看进程列表(psx视图) | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 psxview |
查看网络通讯连接 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 netscan |
查看加载的动态链接库 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 dlllist |
查看SSDT表 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 ssdt |
查看UserAssist痕迹 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 userassist |
查看ShimCache痕迹 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 shimcache |
查看ShellBags | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 shellbags |
查看服务列表 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 svcscan |
查看Windows帐户hash | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 hashdump |
查看最后关机时间 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 shutdowntime |
查看IE历史记录 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 iehistory |
提取注册表数据 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 dumpregistry |
解析MFT记录 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 mftparser |
导出MFT记录,恢复文件 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 mftparser –output-file=mftverbose.txt -D mftoutput |
获取TrueCrypt密钥信息 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 truecryptmaster |
获取TrueCrypt密码信息 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 truecryptpassphras |
参考文章
DumpIt.exe 进程(opens new window)
Volatility基本介绍(opens new window)