Evilbox打靶记录
靶场环境
局域网网段:192.168.19.0/24
攻击机 kali:192.168.19.130/24
目标机 Evilbox:192.168.47.132/24
打靶目标
拿下目标机器的root权限
信息收集
首先用nmap扫描出目标机器的ip

然后探测这个目标机开放了什么服务

开放了80端口和22端口,那么先从web服务入手。
游览器访问就是一个apache的默认页面,啥东西都没有,那么只能扫扫目录了,用dirb扫一下

扫出来的东西挺少的,简单的信息收集完成
web渗透
访问robots.txt也没什么信息,
爆破子目录
那么只能把目标放在secret目录下,该目录下可能会存在php文件,还是爆破
dirb http://192.168.19.132/secret -X .php

果然有东西,有个php文件,
爆破参数值
游览器访问是空白,这种情况下可能性太多,介于是靶场,会有接收输入的参数,那么接下来就用burp爆破参数名和输入,用burp自带的字典就可以

第一个参数选择服务端便变量名的字典

第二个参数就选择模糊-简单

那么开始爆破,果然爆破出了参数值

参数值为command,并且该php文件存在文件包含漏洞。
利用文件包含读取敏感文件
存在文件包含漏洞,第一步尝试可不可以命令执行
data://text/plain,<?php phpinfo()?> |
但是没有效果,可能 allow_url_include 的这些配置没有开,但是可以用 php://filter 文件读取
php://filter/convert.base64-encode/resource=evil.php |
解码后发现该文件就是一个纯的文件包含

只能读文件了,读取/etc/passwd

发现除了root还有一个普通用户mowree,另外22端口开放,想着能不能远程登录ssh
用burp遍历用户目录下的敏感文件,利用quickhits.txt 这个字典,github上可以下载

读取到ssh的私钥,可以利用这个私钥来登录mowree用户拿到shell
登录ssh
把私钥下载下来,尝试远程登录

需要密码,
在生成 SSH 密钥对时,您可以选择为私钥添加一个密码,也称为密码短语(passphrase)。密码短语是一个用于保护私钥的字符串,当您使用私钥进行身份验证时,需要提供该密码短语以解锁私钥。这样可以增加私钥的安全性,即使私钥文件本身被盗或泄露,没有密码短语的话,私钥也无法使用。
只能尝试破解这个密码短语
利用 ssh2john 将ssh的私钥文件的格式转化成john工具处理的格式
ssh2john id_rsa>rsa |

然后用john爆破密码
john rsa /usr/share/wordlists/rockyou.txt |
rockyou.txt 是一个常用的密码字典文件路径,通常在许多 Linux 系统中用于密码破解和安全测试。这个文件包含了大量常见的密码、短语、词汇和字符组合,用于进行密码破解尝试和安全测试。

爆破出密码是unicorn,直接登录ssh

提权
现在还不是root用户,要找找可以提权的地方,没有找到可以利用的suid的命令
find / -writable 2>/dev/null | grep pass |
这个命令是用来查找与密码路径有关的具有可写权限的文件
还真找到了,/etc/passwd具有可写权限

那么直接修改root的密码就可以了,首先自己生成一个

然后将root的密码替换成我们的就可以了。

成功提权到root,vi编辑器真的把我恶心坏了。
重点应该就是考察敏感信息读取和利用。