SANS Holiday Hack Challenge 2020:解题记录
主要目标
目标1:解密圣诞老人礼物清单
通过逆向图像扭曲效果,裁剪并反向扭曲图像后,识别出Josh想要的礼物是proxmark。
答案:proxmark
目标2:调查S3存储桶
使用bucket_finder工具扫描S3存储桶,发现wrapper3000桶并下载其内容。内容经过多层编码(base64、zip、xz、xxd等),最终解码得到答案。
答案:North Pole: The Frostiest Place on Earth
目标3:POS密码恢复
分析Electron应用安装包,提取app.asar文件并解压,在main.js中找到硬编码的密码。
答案:santapass
目标4:操作Santavator
通过收集物品连接电路,激活三色插座以访问各楼层,但Santa办公室需指纹传感器绕过(见目标10)。
目标5:破解HID锁
使用proxmark设备克隆RFID卡(FC:113, CN:6023),模拟该卡信号以开门。
目标6:Splunk挑战
通过Splunk日志分析回答多个问题,涉及MITRE ATT&CK技术、注册表查询、时间戳等,最终使用RC4解密密文(密钥"Stay Frosty")。
答案:The Lollipop Guild
目标7:解决雪橇CAN总线问题
过滤恶意CAN消息(ID 19B值0000000F2057和ID 080负值),确保雪橇功能正常。
目标8:修复标签生成器
利用LFI漏洞读取应用源码,发现zip处理中的命令注入漏洞,通过恶意文件名执行代码泄露环境变量。
答案:JackFrostWasHere
目标9:ARP欺骗攻击
编写Scapy脚本进行ARP欺骗和DNS投毒,部署恶意Debian包获取反向shell,提取会议记录。
答案:Tanta Kringle
目标10:绕过指纹传感器
通过浏览器控制台修改全局tokens数组,添加"besanta"以绕过电梯指纹检查。
目标11:区块链调查
部分1:预测Nonce
使用Mersenne Twister预测器基于历史nonce预测未来值。
答案:0x57066318f32f729d
部分2:分析篡改块
利用Unicoll方法修改块内容(符号位和PDF引用)而不改变MD5,恢复原始块后计算SHA256。
答案:fff054f33c2134e0230efb29dad515064ac97aa8c68d33c58c01213a0d408afb
终端挑战
- 终端1:通过Bash子shell执行命令。
- 终端2:重新附加到tmux会话。
- 终端3:基础Unix命令实践(ls, cat, grep, chmod等)。
- 终端4:编写JavaScript控制Elf角色。
- 终端5:模拟调制解调器拨号音。
- 终端6:利用Redis未授权访问写入Webshell。
- 终端7A:字符串提取二进制中的密码。
- 终端7B:配置字段重用解密密码。
- 终端7C:构建查找表解密密码。
- 终端8:预测随机数赢得游戏。
- 终端9:正则表达式过滤数据。
- 终端10:分析CAN日志找出异常时间戳。
- 终端11:Scapy包操作教程。
结论
SANS Holiday Hack Challenge 2020覆盖了广泛的安全技术,从基础到高级,为学习提供了极佳实践。推荐所有安全爱好者参与未来的挑战。