bandit writeup

介绍

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 中执行命令
精妙的想法

后记

这一个系列做完之后该做什么?

  1. 基础命令了解了,很方便很快捷
  2. 要深入了解常见命令的用法,必须反复练习,经常用GUI(比如我)的同时,也要多用 terminal,让 cd/ls 的频率减小
  3. 记录总结,反复练习
  4. 该下一系列了