
Kioptrix Level 1.3(#4)

Kioptrix Level 1.3(#4)
渗透思路
信息搜集
- IP为
192.168.89.141
- nmap扫描端口以及端口服务
1 | Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-04 22:04 EST |
开放了ssh、http、samba
- 开放了80,那就先dirsearch扫扫看:
dirsearch --url http://192.168.89.141
,同时浏览器访问http://192.168.89.141

- 看到了smb服务且80端口需要用户信息,那么就用enum4linux扫扫
enum4linux的介绍:【网安神器篇】——enum4linux枚举工具-CSDN博客
比较全的扫描方法:enum4linux -a -o <ip>
,这里主要看他的用户信息:enum4linux -U 192.168.89.141
(主要是因为http里面涉及到用户登录)
能看到一些用户信息,主要有loneferret、john、robert、root、nobody
- 80端口是个登录界面,先试试能不能简单sql注入,随便在Username里输入
admin
,在Password里输入'or'1'='1'
,发现还真能注入:laughing:
- 回显了一个User信息,但估计这个admin用户不在members里面,简单探索到这里,看看dirsearch什么结果
- dirsearch其实也没什么特别的,/checklogin就是一个页面没什么信息,/database.sql是个sql文件,但是我们能在里面看到有一个
john
在members表里面密码是1234
- 但是拿这个密码登录失败了,看来是修改过,无所谓,我会注入,输入上面一样的注入密码
'or'1'='1
,轻松登录,拿到了john的真实密码MyNameIsJohn
- 同样的方式,看看能不能拿到root、nobody、loneferret、robert的密码,最后只拿到了robert的密码
ADGAdsafdfwt4gadfga==
- ssh 连接用户,但是发现两个用户都在受限的shell里面(以john为例),根据提示
Type '?' or 'help' to get the list of allowed commands
,输入一个?
发现能执行的命令很有限:cd clear echo exit help ll lpath ls
信息搜集总结
- 发现了登录界面的sql注入,通过简单注入,拿到了john和robert两个用户的密码
- 利用拿到的密码,通过ssh,远程登录了主机,但在受限的shell环境里,==下一步需要绕过限制,如果只是普通用户权限,还需要考虑提权==
漏洞利用
echo绕过受限的shell
- 这种受限的shell称为lshell(limited shell),执行的命令优有限,但是lshell关于
echo
存在一个漏洞,我们可以通过echo os.system("/bin/bash")
,绕过限制。
lshell绕过限制:Lshell - 醛 (aldeid.com)
文章中还提到了通过vim命令绕过的方法
- 输入命令,成功绕过,可以执行很多命令,但我们还是普通用户权限
查看网站源代码
- 回到80端口的思路,看看网站源码,试试看login的校验,于是查看
checklogin.php
,发现了mysql用户root,没有密码,好家伙😄
权限提升
MySQLUDF提权
- 先用root登录mysql:
mysql -u root
,发现mysql的版本是5.0.51a
==接下来的思路就是看看能不能利用mysql提权==
如果是 MySQL >= 5.1 的版本,必须把 UDF 的动态链接库文件放置于 MySQL 安装目录下的 lib\plugin 文件夹下文件夹下才能创建自定义函数。由于MySQL这里正好<5.1,我们可以直接尝试UDF提权
MySQL 漏洞利用与提权 | 国光 (sqlsec.com)
Mysql提权-基于Mysql的UDF提权(Linux系统) - 码小农的幸福生活 - 博客园 (cnblogs.com)
- 在mysql数据库下输入命令
create function sys_eval returns string soname 'lib_mysqludf_sys.so';
,sys_eval可以执行系统命令并在屏幕上显示,select * from mysql.func
查看是否创建成功
成功创建
- 利用sys_eval实现系统命令,我们直接来修改root密码,
select sys_eval("sudo passwd root")
,然后直接设置root的新密码,再登录,成功拿到root
后来发现sys_exec也可以执行系统命令,但是他无法打印在屏幕上,也无法交互,所以可以用来修改一些权限,比如chmod u+x /bin/bash
或者用usermod修改用户所在的组,提权
学习总结与参考链接
- enum4linux的使用场景
enum4linux的介绍:【网安神器篇】——enum4linux枚举工具-CSDN博客
涉及到80端口,可以先扫起来,然后去搜集信息,拿到shell之后,要先查看源代码,看看有没有漏掉的信息
受限shell绕过方法:echo
lshell绕过限制:Lshell - 醛 (aldeid.com)
- mysql中的udf提权,mysql还有很多种提权方式有待学习
- 参考walkthrough
- Title: Kioptrix Level 1.3(#4)
- Author: MADISUN
- Created at : 2024-03-05 10:57:49
- Updated at : 2024-03-09 20:07:17
- Link: https://redefine.ohevan.com/2024/03/05/Kioptrix-Level-1-3/
- License: This work is licensed under CC BY-NC-SA 4.0.