赞
踩
项目地址:https://www.vulnhub.com/entry/fristileaks-13,133/
提示:
(1)靶机网络连接方式使用NAT模式
(2)该靶机做了地址绑定,因此需要设置固定物理地址才能获取IP地址;物理地址为:08:00:27:A5:A6:76
命令如下:
kali@kali:~/Desktop$ sudo nmap -nvv -sSCV -Pn 192.168.1.6
进入http服务后并未发现可利用信息,查看网页源码,发现一段注释内容,大致意思为需4小时后拿下主机最高权限获得flag
因为在http初始页面未获取到信息,因此对它进行枚举
命令如下:
kali@kali:~/Desktop$ gobuster dir -w /home/kali/Desktop/zd/dir.txt -u http://192.168.1.6 -x zip,php,txt,asp
进入到images网页目录下,发现两张图片,依次查看图片后似乎获得一些提示
(this is not the url you were looking),说的是这不是我们寻找的url,反过来讲就是我们需要寻找一个正确的url
(keep calm and drink fristi),翻译后是什么保持冷静,喝冰爽,没错,我懵了。经过一天时间的揣摩,意识到我需要找的url肯定就在这两张图片提示的信息中。第一张可以排除,因为第一张已经提示我们需要寻找一个url,那就看第二张,前面一个短语提示的是我们需要冷静,那就用第二个短语拼接url,经过几次拼接,终于找到了一个系统管理后台登陆页面。。。
在这里使用了万能密码进行爆破也未成功,使用sqlmap进行探测,也未发现注入点。查看网页源码信息后,得到一些提示,图一是todo留个eezeepz的一段话(我们需要清理这些以备生产。为了使测试更容易,我在这里留下了一些垃圾),因此可以看出eezeepz是一个系统管理员。继续往下看,发现一段base64加密密码(图二)
图一:
图二:
在对加密内容进行解密过程中,提示解密内容为png格式的文件,因此需要把解密内容写入到png文件中。查看png文件后,上面出现一段字母,应该是密码(keKkeKKeKKeKkEkkEk)
结合前面前端源码下的留言,看出eezeepz是该系统管理人员,可以把它猜测为账号;确实可以登陆进去
账号:eezeepz
密码:keKkeKKeKKeKkEkkEk
进入系统后台后,发现存在文件上传功能,因此试着上传大马,上传失败提示只支持png、jpg、gif格式的文件,更改大马文件后缀名后终于上传成功(上传的文件名为1.php.png)
上传大马后,因为不知道路径,无法触发大马。因此需要再次对web服务进行枚举,收集枚举信息后,确认大马在/fristi/uploads/路径下
3.1 查看获取的shell后,发现为普通用户,因此需要提权。先进入到home目录下查看用户文件夹,发现只有eezeepz用户文件夹可以进入,进去发现notes.txt文件,查看内容后发现是Jerry留下的一段话,大致意思就是只允许当前用户访问/usr/bin/目录下的系统二进制文件,bin目录管理了一些系统常用命令,如果想访问/home/admin目录下的内容需要将bin目录下的二进制文件添加权限后引入到/home/admin文件中,并将此操作写入到/tmp目录下的runthis文件中
命令如下:
sh-4.1$ echo '/usr/bin/../../bin/chmod -R 777 /home/admin' > /tmp/runthis
3.2 进入到admin文件下,发现了两个txt文件,查看内容后发现是两组密码,同时还发现了一个加密脚本(cryptpass.py),应该是加密这两组密码使用的,查看内容后发现该脚本使用的加密机制是base64,可以按原来加密脚本思路,调换脚本中的参数位置,做解密使用==
加密脚本:
#Enhanced with thanks to Dinesh Singh Sikawar @LinkedIn
import base64,codecs,sys
def encodeString(str):
base64string= base64.b64encode(str)
return codecs.encode(base64string[::-1], 'rot13')
cryptoResult=encodeString(sys.argv[1])
print cryptoResult
解密脚本:
import base64,codecs,sys
def decryptString(str):
rot13str = codecs.decode(str[::-1], 'rot13')
return base64.b64decode(rot13str)
print decryptString(sys.argv[1])
3.3 密码解密:
mVGZ3O3omkJLmy2pcuTq:thisisalsopw123
=RFn0AKnlMHMPIzpyuTI0ITG:LetThereBeFristi!
3.4 把这两组解密的后的密码当作其他用户密码进行测试,发现第一个密码为admin用户的密码,第二个密码为fristigod用户密码
注:切换用户前提示需要获取用户的交互式shell( python -c 'import pty;pty.spawn("/bin/bash")')
3.5 执行history查看历史命令,发现一个doCom二进制文件具有root执行权
3.6 利用该文件权限直接切换到root用户下
3.7 成功获取root用户的flag
(1)端口扫描后发现http服务
(2)对http服务进行枚举
(3)枚举后发现images目录下有两张图片,第一张图片提示需要寻找一个url,第二张图片提示寻找的url中包含的关键字
(4)查看寻找到的url的源码信息,发现了用户名以及一段使用base64加密的密码
(5)登陆系统管理后台,发现存在文件上传功能
(6)上传大马后,使用nc进行反弹shell监听,获取到apache用户shell
(7)在该用户文件夹下发现txt文件。根据txt文件提示进入到admin文件夹下,获取到了admin用户和fristigod用户密码。在fristigod用户下使用history查看历史命令,发现doCom文件具有root执行权,因此利用doCom文件权限成功进入到root用户下,并且拿下flag
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。