FristiLeaks-1.3
FristiLeaks-1.3
目标: get UID 0 (root) and read the special flag file. Timeframe: should be doable in 4 hours. (该描述在首页源码中)
妙妙工具: python -c ‘import pty; pty.spawn(“/bin/bash”)’
¶环境配置
kali: 192.168.56.5
target: 192.168.56.14
注意需要配置MAC地址, 否则会出现靶机启动后不会显示ip地址, 应该会显现"你的网络配置有点问题"之类的; 下图是正确配置之后的截图:
¶信息收集
- 端口: 80
- 中间件: Apache httpd 2.2.15
- 目录: /robots.txt->/cola /sisi /beer, /cgi-bin, /images
- 系统: CentOS
什么也没有, 要么forbidden要么被告知错误
扒拉网站的字符串试试, 也没有
cewl http://192.168.56.14 -w pc.txt |
那就扒拉图片的字符, 试出来有一个/fristi/
, 是登录界面
源码中有一大串base64, 甚至还有注释:
这个base64解码后有png头, 试试base64在线转图片, 可以得到一大串字符: keKkeKKeKKeKkEkkEk
结合这是eezeepz留下来的, 账密即为eezeepz : keKkeKKeKKeKkEkkEk
¶getshell
登录看到一个文件上传, 上传目录为/uploads
, 而且是白名单, 仅能通过png, jpg, gif
但是Apache HTTPD有一个多后缀解析漏洞: 只要一个文件含有.php后缀的文件即将被识别成PHP文件, 没必要是最后一个后缀, 我们就赌管理员设置出现问题有这个漏洞
好, 连上了就继续吧
¶信息收集
- 权限: apache
- 内核: 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
- 环境: gcc, cc, python
- 用户: admin, eezeepz, fristigod, 没有打开22端口
- 服务: MySQL, 没找到密码
在/var/www
下有一个notes.txt, 提示我们eezeepz的/home
可能有东西, 来自jerry
然后/home/eezeepz
下找到另一个notes.txt, 翻译一下:
- 我们只能访问
/usr/bin/*
- 在
/tmp/runthis
中, 该脚本以admin身份定时执行任何命令
但是可以利用目录穿越, 将这个文件将admin不可访问的变为可以任意访问的
echo '/usr/bin/../../bin/chmod -R 777 /home/admin' > /tmp/runthis |
稍等便可以进入/home/admin
, 该目录下whoisyourgodnow.txt
和cryptedpass.txt
各有一段加密的字符串:
=RFn0AKnlMHMPIzpyuTI0ITG |
还找到一个加密脚本cryptpass.py
#Enhanced with thanks to Dinesh Singh Sikawar @LinkedIn |
编写解密脚本即可
import base64,codecs,sys |
解密如下:
python decrypt.py =RFn0AKnlMHMPIzpyuTI0ITG |
¶提权
尝试su切换用户, 得到fristigod : LetThereBeFristi!
利用sudo -l
, 发现该用户可以通过sudo控制/var/fristigod/.secret_admin_stuff/doCom
, 在历史命令(history
)中也是多次利用这个文件查看根目录下文件 XC899`459尘白89 , 可以利用该文件提权
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash |
¶附录
低版本linux内核可以直接用脏牛漏洞:
searchsploit 40839 |