2016 第五届山东省网络安全竞赛 WriteUp
赛事组织架构
指导单位:中国信息安全认证中心
主办单位:共青团山东省委、山东省互联网信息办公室、山东省经济和信息化委员会、山东省教育厅、山东省通信管理局、山东省学生联合会
承办单位:山东信息协会、山东科技大学、中国信息安全认证中心山东分中心、浪潮集团有限公司
共有来自山东省内 44 所高校的 130 余名大学生和 170 余名网络安全技术爱好者参加了决赛
详细获奖名单
团体奖 (一等奖):山东科技大学(获得团体奖共 3 项:一等奖、二等奖、三等奖各 1 项)
团体奖 (二等奖):中国海洋大学
团体奖 (三等奖):山东科技大学泰安校区、山东理工大学(网络爱好者协会团队)、山东师范大学、齐鲁师范学院、聊城大学
个人奖 (高校组一等奖):申一鸣(中国海洋大学,总成绩第一名)
个人奖 (爱好组一等奖):王鹏
个人奖 (高校组二等奖):山东科技大学 3 人
个人奖 (高校组三等奖):山东科技大学 4 人;李耀磊(齐鲁师范学院);卜祥杰(山东科技大学泰安校区);王健(山东理工大学)
个人奖 (爱好组二等奖):山东科技大学 1 人
个人奖 (爱好组三等奖):山东科技大学 6 人;王玉琪(山东科技大学泰安校区)
Misc
word 文件本质(Word 隐写)

Word 文件本质是一个压缩包

直接解压缩拿到 flag

相机制造商(图片文本隐写)

vim 打开即可看到图片

好孩子看不见(关键字搜索)

搜索大法拿到 flag

蛛丝马迹(签到)

每个文件翻一翻,在 .me.swp 里找到 flag
1 | Flag-1s4g76jk89f |
暴力破解(ZIP 爆破 + Word 隐写)
爆破出密码是 563412,使用的是 ZipCracker 工具

解压 Word 文档,在 document.xml 中找到 flag
1 | Flag{oRuesP57WAaGhBJk} |

数据包分析一(HTTP 协议)

过滤 HTTP,找到可疑请求

1 | FLAG-GehFMsqCeNvof5szVpB2Dmjx |
图片修复(文件头篡改)

修复文件头

再打开拿到 flag

Forensics
磁盘恢复(ext2 文件恢复)
非预期解法如下
1 | strings -a 86b265d37d1fc10b721a2accae04a60d | grep -i FLAG |
预期解法如下
使用 Sleuth Kit 工具中 fsstat 命令对文件解析
1 | FILE SYSTEM INFORMATION # 文件系统信息部分 |
接下来我们查找被删除的文件
1 | fls.exe -f ext2 -r -d 86b265d37d1fc10b721a2accae04a60d |
$OrphanFiles 是 Sleuth Kit 构造出来的虚拟目录,表示这些 inode 已经没有正常目录项引用了,但 inode 和数据块还残留在文件系统中

目录里还能看到 secret.txt 这个删除文件名痕迹,但它的 inode 号已经不可用,TSK 显示成 0
1 | r/- * 0: secret.txt |
转换方向去恢复虚拟目录拿到 flag

1 | FLAG-ggmgk05096 |
文件恢复(ext3 文件恢复)

用 Sleuth Kit 识别文件类型
1 | FILE SYSTEM INFORMATION |
使用 fls 查看递归查看被删除的文件

Flag.txt 对应的 inode 为 16,还没有被删除
但是使用 icat 查看缺为空

文件名还在目录项残留里,但 inode 数据块信息已经丢失
因此要换思路,去未分配空间里搜残留数据
blkls 可以提取文件系统中未分配的数据块,也就是删除文件可能残留的位置

打开文件搜索关键字拿到 flag

Crypto
回转十三位(ROT13 + Base64)

先 ROT13 再 Base64
1 | import codecs |
滴答滴答(摩斯密码)

一眼摩斯密码,flag 是 flag{ALPHALAB}

栅栏解救(栅栏密码)

枚举一下就行

Reverse
CrackMe1(签到)
IDA 打开就是
