HackTheBox-Linux-Brainfuck

news/2025/3/30 22:12:26/文章来源:https://www.cnblogs.com/wybsignal/p/18796225

brainfuck

一、攻击流程:

使用nmap进行探测开放端口和服务。

sudo nmap --min-rate=1000 -sT -sC -sV [target]

通过上图可以看出,有22端口的ssh服务、25端口的ftp端口、,然后我们将爆出的域名放入host文件中。不过要注意,首先host文件在linux和windows中都是实时生效的,所以host文件中修改不需要重启。然后hosts文件中IP和域名间距就用空格表示就好了,如果用其他的可能会存在无法识别的情况,所以就用空格就好了。

我们配置好hosts文件后,访问https://brainfuck.htb/,我们会发现这是wordpress的站点,所以接下来我们启用wpscan来进行辅助渗透。

然后我们利用wpscan开始wordpress的信息收集尝试

wpscan --url https://brainfuck.htb –enumerate u,p --disable-tls-checks

扫描完后我们可以看见,红框处的插件版本是过低了的,可以尝试去攻击一下,搜集一下漏洞尝试攻击。

利用searchsploit进行插件漏洞搜集,指令如下。

searchsploit wp-support-plus-responsive-ticket-system 7.1.3

修改action中的地址,然后将value修改后,点击即可进入后台。

我们在进入了wordpress后台之后,我们找到设置中的“easy wp smtp”我们就可以看见SMTP配置的服务和密码,这里我们利用F12,修改密码属性,改为text即可显示SMTP密码。

利用以下指令用nc来监听pop3。

nc -nC [target] 110
user [username] --输入用户
pass [password] --输入密码
list --列表
retr [number]   --输入用户名和密码之后给的数字,几就是看几的信息

我们用之前得出的用户名和密码进行登录https://sup3rs3cr3t.brainfuck.htb/,就可以进入这个站点。

然后我们将能够相似格式的信息放在一起,可以去尝试利用python破解。

利用下面这段代码就可以进行破解,得出密文,然后我们去重然后就可以得到可以组成的单词”fuck“"my""brain"。

enc="Pieagnm - Jkoijeg nbw zwx mle grwsnn"
pt="Orestis - Hacking for fun and profit"
assert len(enc)==len(pt)
list(zip(enc,pt))
[ord(e)-ord(p) for e,p in zip(enc, pt)]
[(ord(e)-ord(p))%26 for e,p in zip(enc, pt)]
[(ord(e)-ord(p))%26 + ord('a') for e,p in zip(enc, pt)]
[chr((ord(e)-ord(p))%26 + ord('a')) for e,p in zip(enc, pt)]

然后我们将其摆列组合可以得到,解密密钥”fuckmybrain“,接下来我们就可以成功解密了,然后我就可以得到下列地址。

接着,我们进行curl我们得到的网址,就可以得到登录密钥。

curl [url] -k

我们本来想尝试利用这个id_rsa文件直接进行登录的,但是貌似被解密过

ssh2john 是一个工具,它是 John the Ripper(一个流行的密码破解工具)的一部分。这个命令将 SSH 私钥文件 id_rsa 转换为 John the Ripper 能够处理的哈希格式,并将结果输出到 id_rsa_hash 文件中。换句话说,这个工具将 SSH 私钥文件转化为一种可以被 John the Ripper 破解的格式。

john 是 John the Ripper 的命令,用于实际执行密码破解操作。这个命令将使用名为 rockyou.txt 的密码字典文件(通常包含常见密码的列表)来尝试破解 id_rsa_hash 文件中的哈希,寻找正确的密码。rockyou.txt 是一个非常常见的密码字典文件,通常用于密码破解测试,因为它包含了大量常见的密码。

ssh2john id_rsa > id_rsa_hash
john id_rsa -w=/usr/share/wordlists/rockyou.txt

这里我们找到了密码之后,我们备份一个无加密的id_rsa文件。

openssl rsa -in [加密文件] -out [保存文件]

接下来,我们将无加密的ssh密钥进行登录,然后就直接可以利用下列命令进行登录。

sudo ssh -i [无加密文件] orestis@[target]

我们浏览文件,可以看见debug.txt文件是一个串码,output是一个加密后的密码。

同时,可以看见encrypt.sage,是一个加密脚本,仔细分析我们可以知道这是一个RSA的加密方式

找来RSA解密文件,接下来我们顺序填入,进行解密。

def egcd(a, b):x,y, u,v = 0,1, 1,0while a != 0:q, r = b//a, b%am, n = x-u*q, y-v*qb,a, x,y, u,v = a,r, u,v, m,ngcd = breturn gcd, x, ydef main():p = 7493025776465062819629921475535241674460826792785520881387158343265274170009282504884941039852933109163193651830303308312565580445669284847225535166520307q = 7020854527787566735458858381555452648322845008266612906844847937070333480373963284146649074252278753696897245898433245929775591091774274652021374143174079e = 30802007917952508422792869021689193927485016332713622527025219105154254472344627284947779726280995431947454292782426313255523137610532323813714483639434257536830062768286377920010841850346837238015571464755074669373110411870331706974573498912126641409821855678581804467608824177508976254759319210955977053997ct = 44641914821074071930297814589851746700593470770417111804648920018396305246956127337150936081144106405284134845851392541080862652386840869768622438038690803472550278042463029816028777378141217023336710545449512973950591755053735796799773369044083673911035030605581144977552865771395578778515514288930832915182# compute nn = p * q# Compute phi(n)phi = (p - 1) * (q - 1)# Compute modular inverse of egcd, a, b = egcd(e, phi)d = aprint( "n:  " + str(d) );# Decrypt ciphertextpt = pow(ct, d, n)print( "pt: " + str(pt) )if __name__ == "__main__":main()

执行脚本,然后将得到的pt进行解密,最后将这个pt进行ASCII解密。

最后进行ASCII解密,就可以得到最终的root的答案。

>>> pt = 24604052029401386049980296953784287079059245867880966944246662849341507003750
>>> f"{pt:x}"
>>> bytes.fromhex(f"{pt:x}").decode()

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

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

相关文章

技术篇!Air8201如何使用LuatOS进行电源管理功能~

本文将从系统架构、API接口、实战配置三个维度,解析如何利用LuatOS实现Air8201的智能电源管理,从而延长设备寿命并降低能耗成本。 一、电源管理介绍 电源管理是电子设备中非常重要的一部分,尤其是在移动设备和嵌入式系统中。它直接关系到设备的能效、续航时间和整体性能。以…

一篇搞定!如何使用Luatools工具烧录一个具体的项目到Air780EPM核心板中

在物联网(IoT)项目开发中,将编译好的固件程序成功烧录至目标硬件是决定项目成败的关键环节。本篇文章重点介绍如何使用Luatools工具烧录一个具体的项目到Air780EPM开发板中。 一、准备好项目文件 在烧录项目文件到Air780EPM开发板之前,你需要准备好以下几种项目文件: 1. 内…

快速上手!Air780EPM:LuatOS物联网开发入门指南~

在物联网开发领域,选择合适的硬件平台与操作系统是项目成功的关键。本文将带领你从零开始,通过详细的步骤与示例代码,掌握Air780EPM与LuatOS的入门开发流程,并深入探讨其核心功能与扩展潜力。 一、必须先要告诉你的一些废话 这里,先要告诉你一些前提条件,虽然听着像是废话…

Qwen2.5-Omni技术报告

摘要 在本报告中,我们介绍了Qwen2.5-Omni,这是一种端到端的多模态模型,旨在感知包括文本、图像、音频和视频在内的多种模态,并同时以流式方式生成文本和自然语音响应。为了实现多模态信息输入的流式处理,音频和视觉编码器采用了分块处理方法。该策略有效地分离了对多模态数…

若依(ruoyi)前后端分离项目集成积木报表

若依(ruoyi)前后端分离项目集成积木报表 致敬: 1:致敬若依开源项目(本文使用的是前后端分离版本)若依官网:https://www.ruoyi.vip/2:致敬积木开源项目积木报表官网:https://www.jimureport.com/3:致敬CSDN大神的文章(我是根据他的原文一步步配置的,如有版权问题,可随…

k8s部署HA高可用集群

1.初始化系统 2.内存升级 3.安装k8s组件 4.编译kubeadm,修改永久证书授权 5.将kubeadm拷贝到两台master上,然后/usr/bin/kubeadm备份,将新编译的kubeadm 6.部署keepalived 7.初始化k8s 【master1】 7.1 编写kubeadm-config.yaml cat kubeadm-config.yaml apiVersion: kubead…

engine2x_低代码系统快速配置表格的xx列固定并且不随着x轴的滚动而滚动

代码:var is_long_width = false;//定义标识//数据列表的回调 function get_portal_data_list_done_back() {if (is_long_width === true) {find_element_by_class("table-set").css("position", "sticky").css("right", 0).css(&quo…

上下界网络流

上下界网络流 上下界流就是在普通的网络中加了下界。却还是要对于非源汇点,满足入流=出流,于是可能存在不合法的情况。 基础款 无源汇可行流 就是:对于每个点,入流 = 出流对于每条边,流量 $\in $ 合法区间我们先满足其下界,但这样可能出现入流 \(\ne\) 出流的情况,于是在…

NPIO-导出数据到xls中设置时间格式的值可筛选

//定义时间格式: var xSSFCellStyle1 = workbook.CreateCellStyle();var format = workbook.CreateDataFormat();xSSFCellStyle1.DataFormat = format.GetFormat("yyyy-MM-dd HH:mm:ss"); // 循环中 判断是否是时间类型 yes if (val.is_datetime()){ dataRow.Cre…

虚幻5入门,MashRunner项目1

继续之前油管上Cobra Code的The Ultimate Unreal Engine 2D Game Development Course课程的学习,这是第二个项目MashRunner 一.创建项目 启动虚幻引擎,创建一个空白项目,命名为MashRunner。之后打开VS,在MashRunner.Build.cs中添加一下插件包 using UnrealBuildTool;public…

C# 通过EtherCAT 控制伺服电机(无需板卡或PLC)

前言 无需使用板卡或PLC 用C#配合普通电脑 直接控制伺服电机 环境:vs2022 .Net9 WinPcap_4_1_3.exe Win11 一、引用库二、控制伺服 1.添加EtherCAT主站及从站 EtherCATMaster _etherCATMaster; EtherCATSlave_CiA402 _axis; private void Form1_Load(object sender, EventArgs …

【入门】Python类方法有几种?常用的有哪种?怎么用呢?

实例方法 (Instance Method) 最常用,必须通过类的实例调用,第一个参数是 self(指向实例本身)。 class MyClass:def instance_method(self, arg1, arg2):print(f"实例方法被调用,self={self}, args={arg1}, {arg2}")# 使用 obj = MyClass() obj.instance_method(…