帕鲁杯 2025 - 应急响应

畸形的爱

解压密码

1
Parloo&zgsfsys&onefox&solar**juyt

palucup2025IR-1

主机名操作系统登录服务登录
WebServerroot/roothttps://192.168.20.102:9443/
admin/VF6NXMs7
SQL 服务器sql/sql
Windows7 PC 1administrator/wmx666
Windows10 PC2administrator/zjl@123

1. 提交攻击者使用的攻击 ip 地址 1

在 webserver 查看 nginx 日志

1
cat /var/log/nginx/access.log.1 | grep 'GET'

palucup2025IR-2

1
palu{192.168.31.240}

2. 提交攻击者使用的攻击 ip 地址 2

在 PC2 的回收站发现简历.zip,压缩包里面有一个简历.exe

放到安恒云沙箱检测

palucup2025IR-3

1
palu{192.168.31.11}

3. 提交攻击者暴力破解开始时间

查看 docker 启动的服务

1
2
3
4
5
root@ubuntu:/home/webserver# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6801404902b1 phpmyadmin/phpmyadmin:latest "/docker-entrypoint.…" 3 weeks ago Exited (255) 6 days ago 0.0.0.0:8080->80/tcp phpmyadmin
ec87eb8a81c7 webdata "docker-php-entrypoi…" 3 weeks ago Exited (255) 6 days ago 9000/tcp, 192.168.87.101:8061->80/tcp WebData
192686b818fc serjs/go-socks5-proxy "/socks5" 3 weeks ago Exited (255) 6 days ago 0.0.0.0:1081->1080/tcp socks5-open

查看 phpmyadmin 的日志

1
docker logs 6801404902b1

palucup2025IR-4

发现大量访问记录

1
palu{2025:03:05:58}

4. 提交攻击者留下的 flag1

查看 PC2 的任务计划程序

1
taskschd.msc

palucup2025IR-5

palucup2025IR-6

1
palu{pc3_zgsfqwerlkssaw}

5. 提交攻击者留下的 flag2

在 PC2 的 C 盘下搜索字符串

1
findstr /s /i "palu{" *.* 2>nul

palucup2025IR-7

发现 flag 在 a.bat 里

1
palu{nizhidaowoyouduoainima}

6. 提交攻击者留下的 flag3

在 webserver 的 /var/www/html/index.php 中发现数据库密码 TOOR@123

palucup2025IR-8

在 mysql 登录

1
2
3
4
5
6
7
8
9
10
sql@ubuntu:~$ mysql -u root -p
Enter password: TOOR@123

mysql> show databases;

mysql> use ecommerce_order_system

mysql> show tables;

mysql> select * from orders;

palucup2025IR-9

分别拿到下面几条 order_content

1
2
3
4
5
6
7
W3siaXRlbV9pZCI6MSwiaXRlbV9uYW1lIjoi5bCP5pe25aSN5Y2wIiwicXVhbnRpdHkiOjIsInByaWNlIjoxOTkuOTl9LHsiaXRlbV9pZCI6MywiaXRlbV9uYW1lIjoi6Iux5Zu95aSN5Y2wIiwicXVhbnRpdHkiOjEsInByaWNlIjo1OS45OX1d

W3siaXRlbV9pZCI6NSwiaXRlbV9uYW1lIjoi5Y+R5bGV5aSN5Y2wIiwicXVhbnRpdHkiOjEsInByaWNlIjoyOTkuOTl9XQ==

W3siaXRlbV9pZCI6MiwiaXRlbV9uYW1lIjoi5aSN5Y2w5Y+R6YCB5omr5o+P5pel5pyfIiwicXVhbnRpdHkiOjMsInByaWNlIjoxMjkuOTl9LHsiaXRlbV9pZCI6NCwiaXRlbV9uYW1lIjoi5aSN5Y2w5Y+R6YCB6Z2e5Y6CIiwicXVhbnRpdHkiOjEsInByaWNlIjo4OS45OX

W3siaXRlbV9pZCI6MSwiaXRlbV9uYW1lIjoiZmxhZzNwYWx1e3NxbGFhYmJjY3Nid2luZG93c30iLCJxdWFudGl0eSI6MiwicHJpY2UiOjE5OS45OX0seyJpdGVtX2lkIjozLCJpdGVtX25hbWUiOiLoi7Hlm73lpI3ljbAiLCJxdWFudGl0eSI6MSwicHJpY2UiOjU5Ljk5fV

palucup2025IR-10

flag 在最后一条里

1
palu{sqlaabbccsbwindows}

7. 提交钓鱼文件的哈希 32 位大写

第 2 题的检测结果里面有:安恒云沙箱

1
palu{2977CDAB8F3EE5EFDDAE61AD9F6CF203}

8. 提交攻击者留下的 webshell-1 密码

从第 1 题可以知道两个 webshell 分别是 shell.phpa.php,分别搜索后查看

1
2
3
4
5
find / -name "shell.php"
cat /var/lib/docker/overlay2/4bc4b1046f364a2489bc8a2636f6be58ae1620139c2198b10610563e4860313f/diff/var/www/html/uploads/shell.php

find / -name "a.php"
cat /var/www/html/a.php

palucup2025IR-11

1
palu{hack}

9. 提交攻击者开放端口

webserver 下的 /var/lib/docker/overlay2/4bc4b1046f364a2489bc8a2636f6be58ae1620139c2198b10610563e4860313f/diff/var/www/html/clean.sh 找到端口 1133

webserver 下的 /tmp/r.sh 找到端口 1144

PC2 下的简历.exe 请求的端口 8084

1
palu{1133,1144,8084}

10. 提交攻击者留下的 webshell 密码 2

同第 8 题

1
palu{00232}

11. 提交攻击者留下的隐藏账户的密码

palucup2025IR-12

1
palu{wmx_love}

12.[溯源] 攻击者的邮箱

逆向病毒简历.exe 找到用户名 n0k4u

palucup2025IR-13

搜索发现仓库 n0k4u/whatthis: 这是嘛呀?

然后先找到了第 13 题的 QQ 号 Add files via upload · n0k4u/whatthis@9fde50f

palucup2025IR-14

这条 commit 的链接后面加.patch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
From 9fde50f0bc13cc2bf916ecc95ca912bc7f0cd114 Mon Sep 17 00:00:00 2001
From: n0k4u <n0k4u@outlook.com>
Date: Thu, 1 May 2025 18:30:24 +0800
Subject: [PATCH] Add files via upload

---
"\346\210\221\347\232\204\346\227\245\350\256\260.txt" | 7 +++++++
1 file changed, 7 insertions(+)
create mode 100644 "\346\210\221\347\232\204\346\227\245\350\256\260.txt"

diff --git "a/\346\210\221\347\232\204\346\227\245\350\256\260.txt" "b/\346\210\221\347\232\204\346\227\245\350\256\260.txt"
new file mode 100644
index 0000000..8cd105e
--- /dev/null
+++ "b/\346\210\221\347\232\204\346\227\245\350\256\260.txt"
@@ -0,0 +1,7 @@
+日记:
+2025年5月1日,我想和王美欣宝贝51出去玩,但是他说他要加班。。。。。
+51还要加班?我要入侵他们公司服务器看看真假。。。。
+
+好吧,你果然没有加班,你永远也别想抛开我,永远,我说的是永远!!!!
+
+密语:3834239649
\ No newline at end of file
1
palu{n0k4u@outlook.com}

13. 提交溯源后得到的 flag

从第 12 题得到 QQ 号 3834239649

搜索添加好友

palucup2025IR-15

1
palu{loveyouibiejv}

应急响应主线

解压密码

1
Skills@@@Skills@@@Skills

palucup2025IR-16

主机名IP 地址操作系统登录服务登录
JumpServer192.168.20.100ubuntu/ubuntuhttp://192.168.20.100/
admin/Skills@2020
sshServer192.168.20.108ubuntu/Skills@sshserver
Server01192.168.20.103ubuntu/Skills@serverhttp://192.168.20.103:16303/9bbe149955
c394c5de46/e36c392092
http://192.168.20.102:3000/
admin@qq.com/ 未知
Mysql192.168.20.101ubuntu/Skills@mysqlhttp://192.168.20.101:20221/4a883f0c56
64a44f8137/f8941f8eb7
root/mysql_QPiS8y
Waf192.168.20.102ubuntu/Skills@wafhttps://192.168.20.102:9443/
admin/VF6NXMs7
palu01192.168.20.200Parloo/Skills@01
palu02192.168.20.201Parloo/Skills@02
palu03192.168.20.202Parloo/Skills@03此靶机为 "近源" 对应靶机

solar_Linux 后门排查

跳板机疑似被遗留后门,请排查
1、找到可疑进程完整路径
2、找到被横向的服务器 IP
3、连接被横向服务器
flag 格式为 flag {base64 {完整路径}| 服务器 IP | 服务器中 flag 文本}
root:Solar@2025_05_palu!

查看当前建立的网络连接

1
sudo ss -antup

palucup2025IR-17

得到 pid 是 11,被横向的服务器 IP 是 49.232.112.164

查找 pid 是 11 的进程

1
ps aux | grep 11

palucup2025IR-18

得到可疑进程完整路径是 /usr/lib/systemd/systemd-login

1
ssh 49.232.112.164

palucup2025IR-19

ssh 连接得到 flag 文件内容为 ZX0001S

1
flag{L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLWxvZ2lu|49.232.112.164|ZX0001S}

1. 提交堡垒机中留下的 flag

标签列表

palucup2025IR-20

1
palu{2025_qiandao_flag}

2. 提交 WAF 中隐藏的 flag

身份验证 -> 配置

palucup2025IR-21

1
palu{2025_waf}

3. 提交 Mysql 中留下的 flag

从说明手册拿到 MySQL 的登录信息 root/mysql_QPiS8y,然后用 Navicat 连

palucup2025IR-22

1
palu{Mysql_@2025}

4. 提交攻击者的攻击 IP

palucup2025IR-23

1
palu{192.168.20.107}

5. 提交攻攻击者最早攻击时间

第 4 题的图里有

1
palu{2025-05-05-00:04:40}

6. 提交 web 服务泄露的关键文件名

在防护应用下四个服务的应用路由里找

palucup2025IR-24

1
palu{key.txt}

7. 提交泄露的邮箱地址

访问第 7 题找到的关键文件 http://192.168.20.102/bak/key.txt

palucup2025IR-25

1
palu{parloo@parloo.com}

8. 提交立足点服务器 ip 地址

第 4 题图里的日志

1
palu{192.168.20.108}

9. 提交攻击者使用的提权的用户和密码

1
cat /etc/shadow

查找 sshserver 下的用户

palucup2025IR-26

1
parloo:$y$j9T$bLw/vAsrL.71gbi6NQPhI/$lpN9vHI0MYs/YL19ERrpaRpdrC37f5ya520xeG9BGiC:20212:0:99999:7:::

parloo:$y$j9T$bLw/vAsrL.71gbi6NQPhI/$lpN9vHI0MYs/YL19ERrpaRpdrC37f5ya520xeG9BGiC 保存到 hash.txt 用 john 爆破

1
john --format=crypt hash.txt

palucup2025IR-27

1
palu{parloo/parloo}

10. 提交攻击者留下的的文件内容作为 flag 提交

1
find / -iname "flag" 2>/dev/null

palucup2025IR-28

/home/parloo 找到 parloo_flag01

1
cat /home/parloo/parloo_flag01
1
palu{hi_2025_parloo_is_hack}

11. 提交权限维持方法服务的名称

1
systemctl list-units --type=service --state=running

先查看正在运行的服务

palucup2025IR-29

其中的 rootset-test.service 十分可疑

1
systemctl cat rootset-test.service

查看它的配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=rootset-test
ConditionFileIsExecutable=/usr/bin/b4b40c44ws

[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/bin/b4b40c44ws
Restart=always
RestartSec=120
EnvironmentFile=-/etc/sysconfig/rootset-test

[Install]
WantedBy=multi-user.target

/usr/bin/b4b40c44ws 非常可疑,文件名看起来像是随机生成的,很可能是恶意程序。

Restart=always 无论服务退出的原因是什么,都会自动重启,可能是攻击者用来维持后门的。

基本可以确定 rootset-test 就是用于维持权限的了,但是把这个提交了发现不对。

注意到有一个名字很像的 rootset.service,查看它的配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=rootset
ConditionFileIsExecutable=/usr/bin/b4b40c44ws

[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/bin/b4b40c44ws
Restart=always
RestartSec=120
EnvironmentFile=-/etc/sysconfig/rootset

[Install]
WantedBy=multi-user.target

rootset-test 的几乎一模一样,提交上去这回正确了。

1
palu{rootset}

12. 提交攻击者攻击恶意服务器连接地址作为 flag 提交

palucup2025IR-30

b4b40c44ws 提取出来丢奇安信情报沙箱分析

palucup2025IR-31

1
palu{47.101.213.153}

13. 找到系统中被劫持的程序程序名作为 flag 提交

palucup2025IR-32

按时间排序,发现 id 近期被修改过

提取出来丢到奇安信情报沙箱发现也是恶意程序

1
palu{id}

14. 找到系统中存在信息泄露的服务运行端口作为 flag 提交

palucup2025IR-33

1
palu{8081}

15. 提交 Parloo 公司项目经理的身份证号作为 flag 提交

上题找到的 http://192.168.20.103:8081/

palucup2025IR-34

1
palu{310105198512123456}

16. 提交存在危险功能的操作系统路径作为 flag 提交

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/ # cat /etc/passwd
root:x:0:0:root:/root:/bin/sh
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/mail:/sbin/nologin
news:x:9:13:news:/usr/lib/news:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucppublic:/sbin/nologin
cron:x:16:16:cron:/var/spool/cron:/sbin/nologin
ftp:x:21:21::/var/lib/ftp:/sbin/nologin
sshd:x:22:22:sshd:/dev/null:/sbin/nologin
games:x:35:35:games:/usr/games:/sbin/nologin
ntp:x:123:123:NTP:/var/empty:/sbin/nologin
guest:x:405:100:guest:/dev/null:/sbin/nologin
nobody:x:65534:65534:nobody:/:/sbin/nologin
catchlog:x:100:101:catchlog:/:/sbin/nologin
git:x:1000:1000::/data/git:/bin/bash

直接修改会由于是 root 用户而修改失败,因此使用别的用户进行操作

1
2
3
/ # su git
224d7f8df25c:/$ gitea admin user change-password --username admin --password 12345678
admin's password has been successfully updated!

接下来就可以用 admin/12345678 登录 gitea 了

parloo-code/main.go 位于 main - parloo-code - Gitea: Git with a cup of tea 找到后门入口

palucup2025IR-35

1
palu{/admin/parloo}

17. 提交近源机器中恶意程序的 MD5 作为 flag 进行提交

palucup2025IR-36

检测结果:奇安信情报沙箱

1
palu{0f80a82621b8c4c3303d198d13776b34}

18. 提交攻击者留下的恶意账户名称 md5 后作为 flag 进行提交

palucup2025IR-37

1
palu{d78b6f30225cdc811adfe8d4e7c9fd34}

19. 提交内部群中留下的 flag 并提交

看聊天记录

palucup2025IR-38

1
palu{nbq_nbq_parloo}

20. 请提交攻击者使用维护页面获取到的敏感内容作为 flag 进行提交

进入维护页面 http://192.168.20.102:8081/admin/parloo

palucup2025IR-39

在面板直接搜 command.log 就行

palucup2025IR-40

1
palu{Server_Parloo_2025}

21. 提交获取敏感内容 IP 的第一次执行命令时间作为 flag 进行提交

从上一题就知道攻击者的 IP 是 192.168.20.1

palucup2025IR-41

搜索这个 IP 然后从上往下一条条看

1
palu{2025-05-04:15:30:38}

22. 提交攻击者使用的恶意 ip 和端口 flag 格式为

palucup2025IR-42

1
palu{10.12.12.13:9999}

23. 提交重要数据的明文内容作为 flag 提交

在 PC3 桌面找到重要的数据.txt,密文如下:

1
c3a1c3c13e326020c3919093e1260525045e

encode/encode.py 位于 main - encode - Gitea: Git with a cup of tea 找到加密代码

palucup2025IR-43

1
2
3
4
5
6
7
8
9
10
11
12
def custom_encrypt(text, key):
encrypted = []
key_bytes = [ord(c) for c in key]

for i, char in enumerate(text):
shifted = ord(char) + (i % 5 + 1)

xor_key = key_bytes[i % len(key_bytes)]
xored = shifted ^ xor_key
substituted = ((xored & 0x0F) << 4) | ((xored & 0xF0) >> 4)
encrypted.append(f"{substituted:02x}")
return "".join(encrypted)

写个脚本爆破一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import string
from itertools import product
from multiprocessing import Pool, cpu_count

def nibble_swap(val):
return ((val & 0x0F) << 4) | ((val & 0xF0) >> 4)

def custom_decrypt(ciphertext_hex, key_string):
key_bytes = [ord(c) for c in key_string]
len_key = len(key_bytes)

if len_key == 0:
return None

hex_pairs = [ciphertext_hex[j:j+2] for j in range(0, len(ciphertext_hex), 2)]
decrypted_plaintext_chars = []

for i, enc_byte_hex in enumerate(hex_pairs):
try:
substituted = int(enc_byte_hex, 16)
except ValueError:
return None

xored = nibble_swap(substituted)
xor_key_val = key_bytes[i % len_key]
shifted = xored ^ xor_key_val

shift_amount = (i % 5 + 1)
ord_char = shifted - shift_amount

if not (0 <= ord_char <= 0x10FFFF):
return None
try:
char_val = chr(ord_char)
except ValueError:
return None
decrypted_plaintext_chars.append(char_val)

return "".join(decrypted_plaintext_chars)

def is_all_printable(text):
if text is None:
return False
for char_code in text:
if not char_code.isprintable():
return False
return True

def worker_task(args):
prefix, suffix_length, key_charset, ciphertext, known_suffix = args
results = []
for suffix in product(key_charset, repeat=suffix_length):
key_candidate = prefix + ''.join(suffix)
plaintext = custom_decrypt(ciphertext, key_candidate)
if plaintext and is_all_printable(plaintext) and plaintext.endswith('}'):
results.append(f"{key_candidate}:{plaintext}")
return results

def solve_with_multiprocessing(prefix, max_len, key_charset, ciphertext):
for suffix_len in range(0, max_len - len(prefix) + 1):
print(f"Trying keys with length {len(prefix) + suffix_len}...")
pool_size = cpu_count()
chunksize = 1000
total_keys = len(key_charset) ** suffix_len
print(f"Total combinations: {total_keys}")

args_list = [(prefix, suffix_len, key_charset, ciphertext, '')] * pool_size

with Pool(pool_size) as pool:
results = pool.map(worker_task, [(prefix, suffix_len, key_charset, ciphertext, '') for _ in range(pool_size)])
for result_group in results:
for res in result_group:
print(res)

ciphertext = "c3a1c3c13e326020c3919093e1260525045e"
# 根据palu{可以解出密钥的前半段是MySec,进一步猜测是MySecret开头然后再进行爆破
known_key_prefix = "MySecret"
key_charset = string.ascii_letters + string.digits
MAX_KEY_LENGTH = 16

if __name__ == '__main__':
print("Starting multi-process decryption brute-force...")
solve_with_multiprocessing(known_key_prefix, MAX_KEY_LENGTH, key_charset, ciphertext)

密钥太长了爆破不现实。根据 palu{解出密钥的前半段是 MySec,可以进一步猜到密钥以 MySecret 开头,然后再以 MySecret 开头进行爆破

palucup2025IR-44

爆出来一堆 palu{Pas***rd-000} 格式的符合条件的结果,不难猜到明文是 palu{Password-000}

palu{Password-000} 推出来的密钥是 MySecretKey

1
palu{Password-000}

24. 提交恶意维权软件的名称作为 flag 进行提交

palucup2025IR-45

启动项里的未知程序

经过奇安信情报沙箱检测发现是恶意程序

1
palu{svhost}

25. 提交恶意程序的外联地址

palucup2025IR-46

一眼 Python 打包的,解包后在线分析

palucup2025IR-47

1
palu{88.173.90.103}

26. 提交攻击者使用的恶意 dnslog 域名作为 flag 进行提交

同第 20 题在面板直接搜 command.log

palucup2025IR-48

1
palu{np85qqde.requestrepo.com}

27. 提交寻找反序列化漏洞的端口作为 flag 进行提交

雷池 WAF 个人版

palucup2025IR-49

各试一遍就知道了

1
palu{9999}

28. 提交 web 服务泄露的密钥作为 flag 进行提交

palucup2025IR-50

http://192.168.20.102:9999/actuator/heapdump

发现存在 heapdump 泄露,用 whwlsfb/JDumpSpider 分析

palucup2025IR-51

1
palu{QZYysgMYhG6/CzIJlVpR2g==}

29. 提交攻击者开始攻击的时间作为 flag 进行提交

访问日志的第一条

palucup2025IR-52

1
palu{2025/05/13:16:45:19}

30. 提交攻击者在 server 中留下的账户密码作为 flag 进行提交

1
cat /etc/shadow

把密码信息提取出来

1
parloohack:$y$j9T$RlIs4rqy6D2PI46ntcuwZ0$WFD6WgX3XC4zp/5Y.Jq9yLcfhHK5Rdg6IeDq2Rrl791:20221:0:99999:7:::

hashcat 还不支持 yescrypt,用 john 爆破,把上面的哈希保存到 hash.txt 后运行 john hash.txt --wordlist=./wordlists/rockyou.txt --format=crypt

1
2
3
4
5
6
7
8
9
10
Using default input encoding: UTF-8
Loaded 1 password hash (crypt, generic crypt(3) [?/64])
Cost 1 (algorithm [1:descrypt 2:md5crypt 3:sunmd5 4:bcrypt 5:sha256crypt 6:sha512crypt]) is 0 for all loaded hashes
Cost 2 (algorithm specific iterations) is 1 for all loaded hashes
Will run 16 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
123456 (parloohack)
1g 0:00:00:01 DONE (2025-05-28 19:58) 0.8525g/s 81.84p/s 81.84c/s 81.77C/s 123456..yellow
Use the "--show" option to display all of the cracked passwords reliably
Session completed
1
palu{parloohack/123456}

31. 提交攻击者维权方法的名称作为 flag 进行提交

查看 server 的所有服务单元

1
systemctl list-units --type=service --all

palucup2025IR-53

1
palu{parloohack_script.service}

32. 提交攻击者留下的木马 md5 后作为 flag 进行提交

palucup2025IR-54

1
palu{4123940b3911556d4bf79196cc008bf4}

33. 提交攻击者留下的溯源信息作为 flag 进行提交

PC2 的谷歌浏览器里面查看密码

palucup2025IR-55

1
palu{X5E1yklz1oAdyHBZ}

34. 提交攻击者的 githubID 作为 flag 进行提交

上一题的用户名是 QQ 号,查看他的 QQ 空间

palucup2025IR-56

1
palu{ParlooSEc}

35. 提交攻击者在 github 下留下的的内容作为 flag 进行提交

ParlooSEc/fffflllgggg: fffflllgggg

1
palu{s5o3WkX33hptyJjk}

36. 提交恶意用户的数量作为 flag 进行提交

PC1

palucup2025IR-57

parloo01 开始的,所以是 99 个

1
palu{99}

37. 提交恶意用户的默认密码作为 flag 进行提交

不知道为啥用 mimikatz 提取失败了,所以这里用 R-Studio 把它们提出来分析

C:\Windows\System32\config 提取出 SAMSYSTEM

1
lsadump::sam /sam:sam /system:system

palucup2025IR-58

全都是 32ed87bdb5fdc5e9cba88547376818d4

palucup2025IR-59

1
palu{123456}

38. 提交业务数据中攻击者留下的信息作为 flag 进行提交

gitea 的数据库

palucup2025IR-60

1
palu{crP1ZIVfqrkfdhGy}

39. 提交私人 git 仓库中留下的内容作为 flag 进行提交

palucup2025IR-61

base64 解码

1
palu{FO65SruuTukdpBS5}

40. 提交存在在 mysql 服务器中的恶意程序的 MD5 作为 flag 进行提交

palucup2025IR-62

1
more .bash_history

查看执行过的命令

发现攻击者计算过 ~ 下的.a 的 md5 值,并将其复制到 /home/ubuntu 后将 /home/ubuntu/.a 删除

palucup2025IR-63

1
palu{ba7c9fc1ff58b48d0df5c88d2fcc5cd1}

41. 提交恶意程序中模拟 c2 通信的函数名称作为 flag 进行提交

提出来逆向分析

palucup2025IR-64

1
palu{simulate_network_communication}

42. 提交恶意程序创建隐藏文件的名称作为 flag 提交

palucup2025IR-65

1
palu{.malware_log.txt}

43. 提交恶意程序中模拟权限提升的函数作为 flag 进行提交

palucup2025IR-66

1
palu{simulate_privilege_escalation}

44. 提交被钓鱼上线的用户名作为 flag 进行提交

palucup2025IR-67

1
palu{Parloo-子怡}

45. 提交恶意程序的所在路径作为 flag 进行提交

上一题的图有

1
palu{C:\Users\Public\Nwt\cache\recv\Parloo-沉沉}

46. 分析恶意程序的反连地址作为 flag 进行提交

奇安信情报沙箱

palucup2025IR-68

1
palu{47.101.213.153}

47. 提交恶意 c2 的服务器登录的账号密码作为 flag 进行提交

PC2 的谷歌浏览器里面查看密码

palucup2025IR-69

1
palu{admin/admin@qwer}