介绍
overthewire 是一个 wargame 网站。
其中 Bandit 是最简单的系列,主要是考察一些基本的 Linux 命令行操作。
目前共26关,月初的时候做了一周,还有最后两关没做出来。
不久前看到 Nikkko 在 wooyun 上发了攻略,现在把最后几个搞定,把思路和知识点记录一下,以供参考。
详解
游戏规则:每一关都有一个 login name, IP address(domin), password
前两个已知,通过 ssh 登录到某一关卡,根据信息找到下一关的 password 即可。
每一关的详解记录,参见 Github 笔记
下面给出各关卡的知识点
知识点
Level 0 → Level 1
ssh 登录,查看 readme,得到 password
Level 1 → Level 2
cat 对于文件名中含特殊符号的使用
Level 2 → Level 3
同上
Level 3 → Level 4
查看目录中的隐藏文件
Level 4 → Level 5
cat 查看多个文件,也可以一个一个文件找
Level 5 → Level 6
find 或 du 的使用,du更适合找已知大小的文件
Level 6 → Level 7
find 的一些参数的使用
Level 7 → Level 8
grep
Level 8 → Level 9
sort and uniq
Level 9 → Level 10
strings or grep
Level 10 → Level 11
base64
Level 11 → Level 12
tr 命令实现 rot13 加密
Level 12 → Level 13
不断判断,解压的过程
Level 13 → Level 14
使用密钥文件的 ssh 登录
Level 14 → Level 15
nc
Level 15 → Level 16
openssl
Level 16 → Level 17
nmap 端口扫描,然后用 openssl 尝试,得到 sshkey
Level 17 → Level 18
diff
Level 18 → Level 19
ssh 连接并执行命令
或者 scp 拷贝出文件
Level 19 → Level 20
考察 setuid 权限知识
Level 20 → Level 21
nc 基于IP和端口的数据传输
Level 21 → Level 22
计划任务 cron
Level 22 → Level 23
解读脚本
Level 23 → Level 24
解读脚本,自己在相应目录下写一个可被执行的脚本
Level 24 → Level 25
写脚本爆破
Level 25 → Level 26
从 more 中启动 vi, 再从 vi 中执行命令
精妙的想法
后记
这一个系列做完之后该做什么?
- 基础命令了解了,很方便很快捷
- 要深入了解常见命令的用法,必须反复练习,经常用GUI(比如我)的同时,也要多用 terminal,让 cd/ls 的频率减小
- 记录总结,反复练习
- 该下一系列了