从程序尸体发现黑客入侵痕迹

admin 2023年2月21日10:01:01从程序尸体发现黑客入侵痕迹已关闭评论25 views字数 1196阅读3分59秒阅读模式

使用windbgpowershelldump文件提取命令记录,用于恶意行为分析

译自:https://www.leeholmes.com/extracting-activity-history-from-powershell-process-dumps/

假设正在调查一个被黑客使用powershell入侵的系统,而这个系统的powershell的日志功能被停用了,而手上只有一个powershell进程的dump文件。该怎么办?

dump文件是取证黄金,而windbg的托管代码调试扩展(“SOS”--Strike之子)可以用来研究它。

在菜单选中打开dump文件,可以看到

图片

image

执行如下操作,加载SOS

.loadby sos clr
.symfix
.reload

使用!help命令可以看到 SOS CLR调试扩展所有特性,其中一个很有用的命令是!DumpHeap,用来枚举托管内容所有对象,并且可以根据类型过滤。

Powershell把命令历史记录在HistoryInfo对象,使用!DumpHeap –Type HistoryInfo看一下,如果有报错,重新操作一下。

图片

image

可以看到有6条HistoryInfo(黑客执行的命令),有7组HistoryInfo(内部数据)。堆是包含暂时在用的数据,所以不是所有都表示唯一的命令。

点击HistoryInfoMT列,可以知道对象的类型。然后再点击出来的地址,就可以看到HistoryInfo对象的内容。这些点击操作其实就是下图windbg下两条命令!DumpHeap /d -mt 00007ff8a140be70!DumpObj /d 0000024226256100

图片

image

有一个偏移量为8的字符串的名称叫_cmdline,使用!DumpObj /d 0000024226255a30看一下内容

图片

image

可以看到是执行whoami命令。

手工一个个地看HistoryInfo很费事,使用windbg的脚本语言来看。

.foreach (historyinfo { !dumpheap -type HistoryInfo -short }) { .echo ${historyinfo}; !DumpObj poi(${historyinfo}+8) }

!dumpheap的结果遍历,把每个内存地址分配给historyinfo变量,再打印这个变量内容,使用poi函数计算_cmdline的地址,然后使用!dumpobj_cmdline内容打印出来。

图片

image

可以看到,攻击者使用whoami获取管理域的用户密码,再使用powershell远程连接域控。

=========================================

文中和文末的小广广,渴望你手指的触碰!!!

请关注,转发,点“在看”,谢谢!!

如需要转载,请在公众号留言!!

暗号:0d159

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月21日10:01:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   从程序尸体发现黑客入侵痕迹https://cn-sec.com/archives/1562335.html