屡试不爽的HTTP隧道来啦!

0x01 HTTP隧道概念

HTTP隧道是一种利用HTTP或者是HTTPS把多种网络协议封装起来进行通信的技术,在HTTP协议上构建的一个隧道,将所有要传输的数据全部封装到HTTP协议里再进行传送,该技术适用于获取webshell的主机位于内网,并且该内网主机的icmp、dns、tcp和udp协议等都不能出网,唯一的数据通道是通过webshell搭建正向代理。

0x02工具介绍

1.reDuh

reDuh可以把内网服务器的端口通过http/https隧道转发到本机,形成一个连通回路。用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口。

下载地址:

常用命令:

用法:java reDuhClient [URL-to-reDuh] <proxy-user:proxy-pass>@<proxy-host:proxy-port>

e.g. (HTTP) : java reDuhClient http://www.compromised.com/reDuh.jsp

e.g. (HTTPS): java reDuhClient

e.g. (PROXY): java reDuhClientproxy-server:3128

2. Neo-reGeorg

Neo-reGeorg是常见的http正向隧道工具,也是将内网服务器的端口通过http/https隧道转发到本机,相对于reGeorg工具增加了很多新的特性,例如内容加密、避免被检测、请求头定制、响应码定制、支持py3等。

下载地址:

常用命令:

用法:python neoreg.py -k <you_password> -u <server_url>

e.g.(HTTP):python neoreg.py -k password -u http://xx/tunnel.php

e.g.(HTTPS)::python neoreg.py -k password -u

参数:  -h, --help 显示帮助消息  -u URI, --url URI 包含隧道脚本的url  -r URL, --redirect-url URL内网转发指定服务器(仅 jsp(x)) -t IP:PORT, --target IP:PORT 网络转发目标,设置此参数后,将启用端口转发  -k KEY, --key KEY 指定连接密钥  -l IP, --listen-on IP 默认监听地址(127.0.0.1)  -p PORT, --listen-port PORT 默认监听端口(1080)  -s, --skip 跳过可用性测试  -H LINE, --header LINE 将自定义标题行传递到服务器  -c LINE, --cookie LINE 自定义初始化的cookie  -x LINE, --proxy LINE proto://host[:port] 在给定端口上使用代理  --local-dns 使用本地解析DNS  --read-buff Bytes 本地读取缓冲区,每个日志发送的最大数据(默认值: 1024)  --read-interval MS 读取数据间隔(毫秒) (默认值: 300)  --write-interval MS 写入数据间隔(毫秒)(默认值:200)  --max-threads N N个代理最大线程(默认值:1000)  -v 显示详细信息 (使用-vv或者更多的v显示更详细的信息)

0x03工具演示

实验拓扑如下:

Kali(攻击机):192.168.1.189

Windows7(WEB服务器):192.168.1.106

                        10.10.44.10

Windows server 2008(内网服务器):10.10.44.12

一.reDuh工具演示

1.实验目的

利用reDuh搭建http隧道,利用WEB服务器(已被上传相应webshell)将内网服务器3389端口转发到Kali(攻击机)的12345端口,从而连接内网服务器的远程桌面。

2、实验步骤

1.执行下面命令连接上传到WEB服务器上的webshell,reDuhClient自动开启在本机1010端口。

2.重新打开一个命令行界面,使用nc命令连接本机1010端口,自动弹出reDuh命令行界面,输入以下命令创建隧道,将内网服务器3389端口映射到本机12345端口:

3.最后直接连接本地12345端口即可访问内网服务器3389端口。

二、Neo-reGerorg工具演示

1.实验目的

使用Neo-reGeorg搭建正向http隧道,WEB服务器将内网服务器3389端口转发到Kali(攻击机)的1080端口,从而实现内网服务器的远程桌面连接。

2.实验步骤

1.Kali(攻击机)执行如下命令生成需要上传到WEB服务器的webshell脚本,-k参数设置密码,此处设置为123,选择相应的脚本上传到WEB服务器即可。

2.Kali(攻击机)执行如下命令连接已经上传到WEB服务器上的webshell脚本,默认开启的监听端口为1080。

3.使用代理工具proxychains实现对内网服务器远程桌面访问,配置proxychains。

4.成功对内网服务器实现远程桌面连接。

0x04总结

本期分享到这里结束,能够熟悉http隧道技术以及熟练掌握相应工具的使用,会对实际的内网渗透有很大帮助。

参考链接:

1.https://blog.51cto.com/simeon/2112416

2.https://www.naraku.cn/posts/82.html

3.https://www.jianshu.com/p/baf750b09303

扫码关注我们更多精彩等待你发现