groupMeeting
总结
winIPT
获取16进制数据包,fastcode
解析成对应PT包。
mode.tsx
mode.exec lma=1 cs.d=0
fup 3: 776f6009
tsc 17652298932079
tma ctc=57622 fc=102
mtc 35
tip 3: 776f1742
tip 1: 776f1936
tnt8 NNN
tip.pgd 0: 0
mtc 36
mtc 37
mtc 38
mtc 39
mtc 40
tip.pge 1: 1cbc
tip 1: 199a
tnt8 NN
mode.exec lma=0 cs.d=1
...
- 结合IDA
Windows IntelPT
目标
追踪记录用户态下,shamoon执行的控制流信息。
驱动加载后,使用winIPT追踪。
WinIPT
libipt
这是该库的Win32 API版本,它允许访问IPT驱动程序/服务IOCTL,它使用Windows公开的新工具启用每个内核和每个进程的跟踪。 该库使用Win32语义和符号,其功能是重新实现在Dbghelp.dll
,Dbgcore.dll
,TTDRecordCPU.dll
,Faultrep.dll
和Ntdll.dll
中找到的一些函数。libiptnt
这是与上面相同的库的本机NT API版本,它仅使用Ntdll.dll函数,使其适用于Native/non-Win32
应用程序。 该库使用NT样式的语义和通知,其功能几乎与上面列出的库公开的功能相同。ipttool
充当上面引用的libipt静态库的示例,并提供了一个简单的CLI实用程序,用于启动,停止和查询给定进程的跟踪。 它目前不支持内核跟踪,也不进行解码 - 请使用Intel PT库。
ipttool --start pid size flags
ipttool --trace pid output.flie
PsList
pslist -d -e notepad -nobanner
-d
显示线程;-e
准确匹配进程名;-nobanner
从请求中删除标题页面(即PsList版本信息)。
fastcode
解析成
tsc ...
tma ctc=62315 fc=80
mtc ...
mtc ...