2023第二届陇剑杯网络安全大赛 预选赛Writeup |
您所在的位置:网站首页 › 铸剑原题 › 2023第二届陇剑杯网络安全大赛 预选赛Writeup |
题目附件 链接:https://pan.baidu.com/s/1J20VusdMjit4coWAi5lnnQ 提取码:6emq 文章目录 HWhard_web_1hard_web_2hard_web_3 SSsevrer save_1sevrer save_2sevrer save_3sevrer save_4sevrer save_5sevrer save_6sevrer save_7sevrer save_8 WSWireshark1_1Wireshark1_2Wireshark1_3Wireshark1_4 IRIncidentResponse_1IncidentResponse_2IncidentResponse_3IncidentResponse_4IncidentResponse_5IncidentResponse_6IncidentResponse_7 SSWSmallSword_1SmallSword_2SmallSword_3 EWez_web_1ez_web_2ez_web_3 BFbaby_forensics_1baby_forensics_2baby_forensics_3 TPtcpdump_1tcpdump_2tcpdump_3tcpdump_4tcpdump_5 HDhacked_1hacked_2hacked_3hacked_4 HW hard_web_1这题其实可以参考这篇文章:从一道题分析Nmap SYN/半连接/半开放扫描流量 TCP扫描确认端口开放的标志就是返回SYN+ACK的包,所以只需要过滤SYN、ACK状态都为1的包即可 tcp.flags.syn==1 and tcp.flags.ack==1答案 80,888,8888 hard_web_2过滤http发现这里有个shell.jsp 右键追踪HTTP流,可以看到shell.jsp的内容,哥斯拉AES加密的shell PS:选择HTTP流是因为经过gzip解码的,如果是追踪TCP流还需要解码gzip 那么经过shell.jsp的流量就是AES加密过的,密钥已知:748007e861908c03 选择原始数据,以0d0a0d0a为请求体/响应体和请求头/响应头的界限 然后直接丢 CyberChef 梭哈
能解密流量了,就慢慢看过找flag即可,读取flag在tcp.stream eq 20053
cmd5撞一下即可得知是(不过这条收费):14mk3y PS C:\Users\Administrator> php -r "var_dump(md5('14mk3y'));" Command line code:1: string(32) "748007e861908c03ba0830d5c47fd282" SS sevrer save_1过滤http,前面都是爆破的干扰流量,直接看到后面 从这个/helloworld/greeting开始追踪TCP流,直接搜索引擎检索Payload关键字即可锁定CVE编号 继续追踪TCP流,在tcp.stream eq 106,即可发现反弹shell的IP和端口 /home/guests/下发现一个main文件,是ELF可执行文件 生成的用户名和密码,直接查看/etc/passwd以及/etc/shadow
新创建的用户名和密码:ll:123456 sevrer save_5/home/guests/.log.txt中有一个外网IP:172.105.202.239 从main文件的修改时间来看,以及.idea中两个看着很像挖矿程序的修改时间完全相同来猜测,lolMiner、mine_doge.sh是病毒运行后释放的文件
打开mine_doge.sh 很明显,矿池地址:doge.millpools.cc:5567 sevrer save_8钱包地址:DOGE:DRXz1q6ys8Ao2KnPbtb7jQhPjDSqtwmNN9 WS Wireshark1_1就两个IP,很明显被TELNET登陆的IP是:192.168.246.28 直接追踪TCP流即可发现口令为:youcannevergetthis
VMware打开irTest.ova,中间有一些报错,问题不大,继续即可。查看一下root用户最新更新过的记录文件: .bash_history、.viminfo .bash_history看了有一些修改操作,但是看了看这些文件内容貌似也没发现挖矿痕迹 .viminfo发现了大量修改redis相关配置
查看redis.conf,这里YOUR_WALLET_ADDRESS就很可疑了 URL地址一查
直接查看jar包运行启动后的日志文件nohup.log Shiro反序列化 echo -n 'shirodeserialization'|md5sum|cut -d '' -f1 3ee726cb32f87a15d22fe55fa04c4dcd IncidentResponse_4
也可以查看Nginx中的访问日志,tail /var/log/nginx/access.log 就是最后访问时带的 UserAgent authorized_keys不为空,推测攻击者开启了root的SSH私钥登录 /lib/systemd/system/redis.service这个配置很可疑,一直在重启redis,也是在不断维持植入的矿机程序 直接过滤:tcp contains "$_POST" 过滤http,从最后往前看,因为前面大多是扫描流量,没啥关键的。蚁剑的base64传输,直接解码一条一条看即可 在tcp.stream eq 142发现写入的内容
tcp.stream eq 130有一个exe,很大 选择为原始数据全部复制出来,去掉第一行的HTTP请求包的内容,另存为hexdata.txt
将HTTP响应包的头以及多余数据去掉,保存
查看文件头,是一个PNG图片,修改后缀为.PNG,打开后CRC校验报错,推测修改了图片高度 修改高度即可 一开始以为是这个d00r.php,试了发现不对 然后在检索d00r.php时发现了一个名为ViewMore.php的文件 右键追踪TCP流发现是ViewMore.php写入的d00r.php 所以答案为:ViewMore.php ez_web_2追踪TCP流发现执行了ifconfig,响应内容格式是Gzip,问题不大 对当前流选择右键,追踪HTTP就可以看到明文了
这里写入了一个k3y_file 是一个压缩包,直接转化 from base64 import * base64_data = 'UEsDBBQAAQAAANgDvlTRoSUSMAAAACQAAAAHAAAAa2V5LnR4dGYJZVtgRzdJtOnW1ycl/O/AJ0rmzwNXxqbCRUq2LQid0gO2yXaPBcc9baLIAwnQ71BLAQI/ABQAAQAAANgDvlTRoSUSMAAAACQAAAAHACQAAAAAAAAAIAAAAAAAAABrZXkudHh0CgAgAAAAAAABABgAOg7Zcnlz2AE6DtlyeXPYAfldXhh5c9gBUEsFBgAAAAABAAEAWQAAAFUAAAAAAA==' with open('k3y_file.zip', 'wb') as f: f.write(b64decode(base64_data))有密码,往回找找线索,还是这个流,找到疑似密码:7e03864b0db7e6f9 解压得到答案:7d9ddff2-2d67-4eba-9e48-b91c26c42337 BF baby_forensics_1
给了两个文件,一个磁盘镜像,另一个猜测是内存镜像,DiskGenius打开.vmdk 发现是BitLocker加密的磁盘,但是给了内存镜像,直接尝试EFDD提取恢复密钥,先使用ArsenalImageMounter将BitLocker加密磁盘挂载起来 然后EFDD操作如下:
成功获取恢复密钥 560604-255013-655633-128854-663223-316063-484946-476498输入恢复密钥 打开得到key.txt 最扯的来了,虽然知道后觉得确实有点像rot47,但是还是觉得很脑洞。。。。 或者R-studio直接梭哈
直接将calc.exe的内存映射导出来 然后将2844.dmp修改后缀为GIMP可加载的.data格式,使用GIMP打开,然后就是不断地调整位移、宽度。先不断调整位移使之有图像的阴影等,然后宽度适当即可,如下: 或者使用这是 Volatility 3 工具的插件命令windows,用于执行与 Windows 相关的分析。通过运行此命令,您将获取有关内存转储中运行的 Windows 进程、模块、文件和注册表等信息 然后在其中寻找calc.exe和PID,找到这个Windows Handler的句柄名 pslist之前一眼便签,肯定有东西,参考我之前的文章:西湖论剑2021中国杭州网络安全技能大赛部分Writeup 直接寻找.snt结尾的文件,导出 替换便签原来的存储位置,然后打开便签,得到密文 密钥找了好久,用R-Studio翻,最后在C:/Users/admin/Music下找到个i4ak3y PS:R-Studio是个神器,好好利用 直接尝试AES解密 当爆破登录失败返回如下: 当请求正确,返回如下: 根据返回特征,直接尝试检索:tcp contains "{\"errCode\":200}"
直接过滤关键字:tcp contains "jdbc" and tcp contains "username" and tcp contains "password" 直接检索jdbc的payload:tcp contains "jdbc:" EXP应该是这个:custom.dtd.xml CVE编号直接将利用的包名和关键字贴上搜索引擎找就行 过滤http,从后往前追踪TCP流即可发现 登录有AES加密,密钥、iv都已知 接下来只需要找登录成功的用户名和密码 直接AES解密
有SECRET_KEY,直接解密JWT即可,找到执行命令的包 请求包: PS D:\Tools\Web\CTF\flask-session-cookie-manager> python .\flask_session_cookie_manager3.py decode -s "ssti_flask_hsfvaldb" -c ".eJwdx1EKwyAMANCrDEGiPz1Ar1KGZBi7gBpplH2Idy_d-3vTDKWrYiGzm2k5vZRUWeo2WsRObkLKeMKeuekoB4RwZvlg1hDg_S917lSeOhAFf0CTRvXp7ytYGPx2EUbnl7drWqqRk11m3cGmKw0.YpIQcw.J5vs8t8bAr0xDIxF6EqUAH2kkLE" {'username': "{%if session.update({'flag':lipsum['__globals__']['__getitem__']('os')['popen']('whoami').read()})%}{%endif%}"}返回包: PS D:\Tools\Web\CTF\flask-session-cookie-manager> python .\flask_session_cookie_manager3.py decode -s "ssti_flask_hsfvaldb" -c ".eJwdylsKAyEMQNGtFEGiUGYBs5VpkRQz04AvjNIPce-t_TyXO9QZ8FK7quQfSd1VF6oJI_3S0HzehEQ4p60Xj43MgPXDHrhIjwc4d4X8wiDOwfNPatwoLhrIAvaAkgulxc87Y2SwWyX0xk6r59CUPJ96qvkFHeUvmg.YpIQkg.65xf8l2g9fXAImkfyihId46KkY4" {'flag': 'red\n', 'username': "{%if session.update({'flag':lipsum['__globals__']['__getitem__']('os')['popen']('whoami').read()})%}{%endif%}"}答案:red hacked_4答案:Index |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |