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 ...