Linux学习之bandit靶场通关
靶场地址:https://overthewire.org/wargames/bandit/
Level 0
解题:使用ssh工具连接 bandit.labs.overthewire.org 的 2220端口,用户名密码都是bandit0
Level 0 → Level 1
解题:
Level 1 → Level 2
解题:
Level 2 → Level 3
解题:
文件名存在空格,不能直接cat + 文件名,需要在文件名加个双引号
Level 3 → Level 4
解题:需要进入子目录打开文件
Level 4 → Level 5
解题:使用fie命令查看文件类型,确认07是ASCII编码文档
Level 5 → Level 6
解题:使用find命令进行查找
-size [+-]size[cwbkMG]
:按文件大小查找,支持使用+
或-
表示大于或小于指定大小,单位可以是c
(字节)、w
(字数)、b
(块数)、k
(KB)、M
(MB)或G
(GB)
Level 6 → Level 7
解题:利用线索进行find查找
Level 7 → Level 8
解题:data文件里存在大量内容,根据线索进行条目筛选
Level 8 → Level 9
解题:使用sort 文件名 |uniq -u进行筛选排序,-u表示去重
Level 9 → Level 10
解题:cat显示乱码,尝试使用strings命令读取文件
Level 10 → Level 11
解题:题目提示密码经过base64加密了,需要进行解密
一种方法是使用在线解密工具
或者使用linux的base64解密
Level 11 → Level 12
解题:看翻译是旋转了13个位置?理解成右移试试,这样a就变成n,以此类推
Level 12 → Level 13
解题:
cat查看文件,发现是16进制hex的文件,尝试转成2进制
使用xxd命令转成2进制
cat打开还是乱码,尝试使用string、file等命令,最终file命令测试成功,得到提示需要转成gz压缩包解压
解压后读取发现需要再转成bz压缩包再解压
。。。。。。
经过重重解压,最终得到密码(不得不吐槽,这关有点粪,流程太长了)
Level 13 → Level 14
解题:
使用密钥进行登录访问到bandit14
Level 14 → Level 15
解题:
Level 15 → Level 16
解题:
Level 16 → Level 17
解题:
使用netstat搜索31000-32000间端口,有31518,31790在监听状态
使用opssl进行连接测试,31790返回RSA私钥数据
保存麻烦一点,需要创建个目录,把私钥写入进文件
最后使用ssh访问bandi17
提示bad permissions,网上查一下可能是权限给太大了,chmod改成600再试试
成功访问
Level 17 → Level 18
解题:
看题目意思是两个文件有一行不同,需要进行比较
尝试登录bandi18,一直提示失败,奇怪了。。。
Level 18 → Level 19
看到这题才知道为什么一直登录不成功,bashrc修改了登录后会被退出,已提示密码在readme,登录时顺便cat一下
Level 19 → Level 20
解题:
使用bandit20的权限文件去执行查20的密码
Level 20 → Level 21
解题:
检查端口启用状态
使用nc工具将密码发送到一个未启用的端口
创建新窗口使用主目录的程序去访问创建的端口
Level 21 → Level 22
解题:
Level 22 → Level 23
解题:
获得提示信息
按提示将bandit23放入到user后面,得到$target名称
Level 23 → Level 24
解题:
查看任务提示
思路,通过脚本放到foo目录下去读取密码,将密码写入文件保存到其它目录下
Level 24 → Level 25
解题:按提示是编写暴力破解的脚本,去发起连接获取密码
测试时发现直接从1000-10000容易任务卡死,加入sleep,每次执行1000次后停止2秒
-------------------------------------------------------------------------------------------------------------
后续更新中