winPEAS難読化 - yokohama/oreshic-record GitHub Wiki
日付: 2025-03-23
Windows DefenderにブロックされるWinPEASを、難読化によって実行可能にする。
- OS: Windows 11 + WSL2 (Kali Linux)
- 対象: WinPEAS PowerShell版
curl -sL "https://raw.githubusercontent.com/peass-ng/PEASS-ng/master/winPEAS/winPEASps1/winPEAS.ps1" -o winPEAS_original.ps1基本的な文字列置換:
cat winPEAS_original.ps1 | \
sed 's/winPEAS/SysCheck/gi' | \
sed 's/PEASS-ng/SysUtil/gi' | \
sed 's/PEASS/SysUtil/gi' | \
sed 's/Privilege Escalation/System Analysis/gi' | \
sed 's/privilege escalation/system analysis/gi' | \
sed 's/hacktricks/docs-internal/gi' | \
sed 's/exploit/check/gi' | \
sed 's/penetration testing/system audit/gi' | \
sed 's/RandolphConley/Internal/gi' \
> SysCheck.ps1結果: まだDefenderにブロックされた
追加の文字列置換とコメント削除:
cat SysCheck.ps1 | \
sed 's/Get-Privilege/Get-SysInfo/gi' | \
sed 's/vulnerable/checkable/gi' | \
sed 's/credentials/configs/gi' | \
sed 's/password/passdata/gi' | \
sed 's/Password/Passdata/gi' | \
sed 's/TOKEN/TDATA/gi' | \
sed 's/sensitive/important/gi' | \
sed 's/Sensitive/Important/gi' | \
sed 's/malware/software/gi' | \
sed 's/Malware/Software/gi' | \
sed '/^[[:space:]]*#[^>]/d' \
> SysCheck_v2.ps1結果: Defenderを回避して実行成功
| 元の文字列 | 置換後 |
|---|---|
| winPEAS | SysCheck |
| PEASS-ng | SysUtil |
| PEASS | SysUtil |
| Privilege Escalation | System Analysis |
| hacktricks | docs-internal |
| exploit | check |
| penetration testing | system audit |
| vulnerable | checkable |
| credentials | configs |
| password/Password | passdata/Passdata |
| TOKEN | TDATA |
| sensitive/Sensitive | important/Important |
| malware/Malware | software/Software |
# WSL Kaliから実行
powershell.exe -ExecutionPolicy Bypass -File "$(wslpath -w $(pwd)/SysCheck_v2.ps1)"
# 出力をファイルに保存
powershell.exe -ExecutionPolicy Bypass -File "$(wslpath -w $(pwd)/SysCheck_v2.ps1)" > output.txt 2>&1-
winPEAS_original.ps1- オリジナル(検出される) -
SysCheck.ps1- 第1段階難読化(まだ検出される) -
SysCheck_v2.ps1- 第2段階難読化(実行成功)
- .exe版は.NETのリビルドが必要で手間がかかる
- PowerShell版はテキストベースで難読化が容易
- AVシグネチャは定期的に更新されるため、将来的に再検出される可能性あり
win,peas,難読化,defender,回避