夺旗赛(CTF)的问题

夺旗赛

  • 夺旗赛(Capture the Flag,CTF)
    • 计算机安全和黑客领域的比赛
    • 分析一个二进制,找到隐藏在其中的旗帜(通常是一个十六进制串)
  • 开始分析二进制
    • 判断文件类型(file命令)
    • 读取文本文件头部(head命令)
    • 解码文件(base64命令)
    • 解压文件(tar命令)
$ file payload
payload: ASCII text

$ head payload
H4sIAK...

$ base64 -d payload > decoded_payload
$ file decoded_payload
decoded_payload: gzip compressed data, last modifed: ...

$ file -z decoded_payload
decoded_payload: POSIX tar archive (GNU) (gzip compressed data, last modifed: ...)

$ tar xvzf decoded_payload
ctf
67b8601

$ file ctf
ctf: ELF 64-bit LSB executable, x86-64, ...

$ file 67b8601
67b8601: PC bitmap, Windows 3.x format, ...

识别伪装的文件

  • ctf是一个ELF文件,67b8601是一个伪装的BMP图像文件
    • 查看ELF文件的动态链接库(ldd命令)
    • 查看二进制(xxd命令)
    • 读入、写出二进制(dd命令)
    • 解析ELF文件(readelf命令)