当前位置: 首页 > news >正文

Polar MISC (中)

加点什么2.0

foremost提取后出来一个没有后缀的文件,是ELF

在一个函数FLAG发现疑似flag内容:372658619JI0707I8G64HF2400F96991

IDA分析原函数:

for ( i = 0; ciphertext[i]; ++i ){if ( ciphertext[i] <= 64 || ciphertext[i] > 90 ){if ( ciphertext[i] <= 96 || ciphertext[i] > 122 )plaintext[i] = ciphertext[i];elseplaintext[i] = ((ciphertext[i] - 97 - K) % 26 + 26) % 26 + 97;}else{plaintext[i] = ((ciphertext[i] - 65 - K) % 26 + 26) % 26 + 65;}std::operator<<<std::char_traits<char>>(&std::cout, (unsigned int)plaintext[i]);}

模仿这个写个解密的python即可

plain=''
K=4
cipher='372658619JI0707I8G64HF2400F96991'
for i in cipher:if ord(i)<=64 or ord(i)>90:if ord(i)<=96 or ord(i)>122:plain+=ielse:plain=chr(((ord(i) - 97 - K) % 26 + 26) % 26 + 97)else:plain+=chr(((ord(i) - 65 - K) % 26 + 26) % 26 + 65)
print(plain.lower())

爱人的眼睛是第八大洋

参考了PolarD&N misc部分爱人的眼睛是第八大洋题解_ctf爱人的眼睛是第八大洋-CSDN博客

和官方题解

先填充一下颜色看菲菲公主

我们打开这个题目的图,这是一个幻影坦克图,我们在菲菲公主的眼中能若隐若现看出来ggbond,用oursecret工具解密

然后是零宽。这里太坑了,出来的base64不能继续解密!直接套上flag

文物追回

图片隐藏有压缩包,现在怀疑wav有信息

wav不是摩斯电码,那就是无线电。用RX SSTV提取

先配置好环境:RX-SSTV与MMsstv配置-CSDN博客

转码出一张图片

这个估计就是密码

it'stooexpensive

然后将他的软件拖进雷电模拟器。点击图片--》揭示图片价格即可

flag:5ba2c63a15dcfecb5297f4688bfc6516

旧事

首先deepsound提取出一个压缩包,里面是一个exe程序

里面的txt是一大段的base64,转为文件看看在线Base64转文件、文件转Base64工具 - BTool 在线工具软件,为开发者提供方便。

是一个具有密码的压缩包

这个应该就是密码

看官网WP说是AES,但是我没看到密钥在哪里,所以直接爆破

爆破出密码:zaijian

然后我们解压

还是隐藏有压缩包,解密,程序拖入IDA分析,在flag函数下看到其实是一个特别简单的加密,写出解密脚本即可】

a='ci^dxfilsbrfk^klqebotloiaz'
b=''
for i in a:b+=chr(ord(i)+3)
print(b)

KFC Crazy Thursday(暂时没有解决)

一眼取证题目,新学到这个工具恢复密钥

里面有一个kgb。kgb就是个压缩包。

kgb这个软件支持KGB、KGE两个格式。这个是KGe,改成KGE,发现需要密码,还得打开内存取证

后面需要从里面提取一张图片,我的坏了,提取不出来

那个图片就是解压密码,然后是foremost分离,LSB隐写。

有待复现

为什么关机又关机

BAT改为TXT,文字下面是零宽隐写AES。

这道题有点坑啊,必须在这个网站解码

文字隐藏加密/解密 - 蜻蜓在线工具

然后得到压缩包密码

同时参考了2025polarctf夏季赛misc复盘全解 - n1tro - 博客园

千万不要直接运行这个Sbexe,否则又要关机

pyc文件提取,这个不会的可以看我以前的逆向博客

里面只是一个关机代码,啥也没有

看属性,有对不起已关机,没想到这个就是压缩包的解压密码。

然后进去用steghide解,密码是女王的威力...有点脑洞了

look_me

参考了官方WP,打开文档提示有宏,wps打开发现说不适用WPS,那我们用自带的打开

右键文件,属性,点击解除绑定,就可以在office启用宏

点击视图->宏,点击宏管理器发现模块1

我们点击创建宏,进去的界面找到了以下代码:
 

Sub ModifyMysteriousFileOnDesktop()On Error GoTo ErrorHandlerDim fs As Object, ws As ObjectDim desktopPath As StringDim targetFilePath As StringDim newFileName As StringDim fileStream As ObjectDim fileData() As ByteDim hexValues As VariantDim i As IntegerDim fileSize As Long' 创建必要对象Set fs = CreateObject("Scripting.FileSystemObject")Set ws = CreateObject("WScript.Shell")' 获取桌面路径desktopPath = ws.SpecialFolders("Desktop")targetFilePath = fs.BuildPath(desktopPath, "神秘的文件最神秘")' 检查文件是否存在If Not fs.FileExists(targetFilePath) ThenMsgBox "你找谁?"Exit SubEnd If' 获取文件大小fileSize = fs.GetFile(targetFilePath).SizeIf fileSize < 16 ThenMsgBox "什么事儿等会儿说,这地方太小了,下不了脚", vbExclamationExit SubEnd If' 设置要写入的16进制值 (504B030414000808)hexValues = Array(&H50, &H4B, &H3, &H4, &H14, &H0, &H8, &H8)' 以二进制模式读取文件Set fileStream = CreateObject("ADODB.Stream")fileStream.Type = 1 ' 二进制模式fileStream.OpenfileStream.LoadFromFile targetFilePathfileData = fileStream.ReadfileStream.CloseFor i = 0 To 7fileData(i) = hexValues(i)Next inewFileName = fs.BuildPath(desktopPath, "look_me.jar")If fs.FileExists(newFileName) Thenfs.DeleteFile newFileName, TrueEnd IffileStream.OpenfileStream.Write fileDatafileStream.SaveToFile newFileName, 2MsgBox "是的,现在神秘的我,神秘的出现在了你的桌子上", vbInformation, "变身成功"Exit SubErrorHandler:MsgBox "发生错误:" & vbCrLf & _"错误号: " & Err.Number & vbCrLf & _"错误描述: " & Err.Description & vbCrLf & _"请确保文件未被占用且有足够权限", vbCritical, "运行时错误"
End Sub

大概意思是将一串十六进制读取到文件之中,那应该就是题目附件,我们修改16进制,得到一个压缩包

看起来是一个Java程序,后缀改为jar,进去让输入账号密码,我们用jadx分析main.class无果,而后分析login开头的class

上图是我截取的关键代码,第一个md5可以直接查询到,第二个是输入一个密码,就会往bytes数组添加一个1或者0,最终的字符串需要满足md5值,只能写爆破脚本了。这里丢给豆包写了,关键函数就是product。我自己懒得写了。

import hashlib
from itertools import product
import stringdef brute_force_prefix(target_str, target_hash, max_len=5, charset=None):"""在目标字符串前添加前缀进行爆破,匹配目标MD5哈希:param target_str: 基础字符串(如 'es_it's_password'):param target_hash: 目标MD5哈希值(需替换为实际值):param max_len: 前缀最大长度(建议从1开始测试,过大会很慢):param charset: 前缀字符集(默认包含数字、大小写字母、常见符号):return: 匹配的完整字符串(前缀+目标字符串)"""# 枚举前缀长度(从1到max_len,0表示无前缀)for prefix_len in range(0, max_len + 1):print(f"正在测试前缀长度: {prefix_len}(共 {len(charset) **prefix_len} 种组合)")# 生成该长度下所有可能的前缀组合for prefix_tuple in product(charset, repeat=prefix_len):prefix = ''.join(prefix_tuple)# 拼接前缀和目标字符串full_str = f"{prefix}{target_str}"# 计算MD5哈希md5_hash = hashlib.md5(full_str.encode('utf-8')).hexdigest()# 匹配目标哈希if md5_hash == target_hash:print(f"\n✅ 找到匹配!完整字符串: {full_str}")print(f"MD5哈希: {md5_hash}")return full_strprint("\n❌ 未找到匹配的组合")return Noneif __name__ == "__main__":# 目标基础字符串base_str = "es_it's_password"# 目标MD5哈希(请替换为你要匹配的实际哈希值)target_md5 = "7a4de030c6b8511f03233f36b4efd7af"  # 例如:"d41d8cd98f00b204e9800998ecf8427e"# 执行爆破(前缀最大长度建议先从3开始测试,再逐步增大)brute_force_prefix(target_str=base_str,target_hash=target_md5,max_len=3,  # 可根据实际情况调整(长度越大,耗时指数级增加)# 可选:限制字符集(如只保留数字和小写字母)charset=string.digits + string.ascii_lowercase)

下一步看官网WP

其实这一步找密码官方做法不是这样子。我们右键docm属性,看到这一串

解压这个docm,提取出里面的gif,用工具查看帧间隔,替换就是摩斯密码

出来的摩斯密码可解开软件的登录密码,(这里怀疑是md5碰撞)登陆密码根据刚才加密逻辑对应了一个二进制串,我们拼接后就是我的脚本爆破出的内容。

随后,我们解压jar文件,提取出里面的媒体资源。用deepsound提取wav内隐藏文件,oursecret‘提取mp4隐藏文件,foremost提取png隐藏文件。他们是一个压缩包分成了三部分,用010组合到一起即可。解压密码就是我刚才爆破出的内容

with open('part1','r+b') as p1, open('part2','r+b') as p2, open('part3','r+b') as p3,open("result.zip",'wb') as result:a=p1.read()b=p2.read()c=p3.read()result.write(a+b+c)

这里太坑了,foremost提取的不对,因为后面还有个损坏的504B干扰咱们。必须手工筛选。

无限解

压缩包打开后下方备注有一串0x6E 0x69 0x78 0x75 0x79 0x61 0x6F 0x6E 0x61 0x6F 0x7A 0x69。翻译出来是你需要脑子,这不是嘲讽我吗

http://www.dtcms.com/a/600637.html

相关文章:

  • 《理解数据在内存中的存储 --- 解密数据在计算机底层的存储秘密》
  • 兰州网站建设公网站可以换虚拟主机吗
  • 营销型网站建设评价深圳福田住房和建设局网站官网
  • 遍历访问阿里云节点下的所有文件信息并写入excel文件
  • 平台消息推送(go)
  • uniapp集成爱山东获取用户信息
  • Python编程实战 - Python实用工具与库 - 操作Excel:openpyxl / pandas
  • 开展我国电子网站建设wordpress表白
  • Java 在 Excel 中添加或删除批注:Spire.XLS for Java 实践指南
  • uniapp 使用unocss的问题
  • [Linux——Lesson23.线程概念与控制:线程基础]
  • 四大主流浏览器Chrome、Edge、Safari、Firefox内核检测免费工具评测
  • 弱网通话没保障?多网聚合,逐包调度,新技术扫除网络痛点
  • 网站制作公司的网站贵阳网站改版
  • 电脑硬件价格呈现持续上涨趋势及软件优化的必要性
  • Spring集成kafka的最佳方式
  • 设计网站怎么做网业是什么行业
  • RK3588应用分享之国产化系统-开源鸿蒙OpenHarmony
  • RabbitMQ-基础-总结
  • 学习react第二天
  • 【JVS更新日志】低代码、APS排产、物联网、企业计划11.12更新说明!
  • 前端注释规范:如何写“后人能看懂”的注释(附示例)
  • C语言编译器下载地址 | 如何选择适合自己的C语言编译器
  • HarmonyOS之深入解析如何实现语音朗读能力
  • 台州企业网站的建设做网站能挣多少钱
  • 网站开发内容包括哪些wordpress 统计代码
  • 【昇腾CANN工程实践】BERT情感分析API性能优化实录:从CPU到NPU的15倍加速
  • 【Linux基础开发工具 (二)】详解Linux文本编辑器:Vim从入门到精通——完整教程与实战指南(上)
  • 使用 BR 备份 TiDB 到阿里云 OSS 存储
  • 机器学习项目——基于集成学习提升树情绪分类(代码/论文)