之前玩的卡关了,尝新于是开始玩了下这个0ver_the-wire这个网站的war-game,但是他貌似是不让写writeup的,但是又想记录下怕以后忘掉,就直译一下叫翻网线战争游戏好了。
bandit难度主要是linux一些常用命令的使用,大多是如何用合适的命令快速定位到符合要求的文件。
level 1-3
都是Linux最基础的命令,明文密码,找到位置直接cat查看即可。
level 4
提示密码在唯一可读文件中,因此可以用file命令查看文件类型:
level 5
提示密码所在文件要同时符合大小1033b和不可执行,可以用find命令搞定:
level 6
提示密码在服务器上某一个文件,满足大小33b和特定用户组,find命令+管道或者find直接搞定:
看了下level7开始可能会有比较tricky的或者会上三剑客命令之类的来解决,今天先到这了改天再玩。。
继续。
level 7
提示在millions关键字旁边,grep看一下直接搞定了:
level 8
提示在文本中只出现了一次,sort + uniq(如果改成特定次数的话可以用awk写脚本也可以uniq -c | grep x):
level 9
提示在可读string中,以多个‘=’开头:
level 10
base64加密,直接解密即可:
level 11
rot13加密,tr解密即可:
level 12
本关开始稍微有些难度了;
提示文件是被多次压缩的hexdump,先按提示在tmp目录下mkdir cp mv,省略图;
然后用file查看文件发现是ASCII text,很尴尬,打开一看是字面意义的hexdump格式。。
看到提示中有xxd命令,想到这个貌似可以把hexdump转二进制,于是:
再file,可以看到是gzip了:
解压之,当然得先改后缀为gz不然gzip不认:
再file,看到是bzip2:
继续解压之,再file,看到又是gzip…(省略图)
重复上面的步骤,终于变成tar了,这可真是老千层饼了。。
tar再解压,解压出了个data5.bin,再一看又是个tar。。。。
继续解压这个data5.bin, 又出来个data6.bin,file一看是bzip2:
继续重复上面步骤,出来了data8.bin,是gzip,再继续解压,这可终于是到头了:
(幸好cat一看这不是个hexdump,不然我要给作者寄刀片了)
level 13
提示让你直接ssh过去,照办搞定:
进去了顺便可以拿个密码,下次就不用从bandit13 ssh了,今天就先到这了,被千层饼玩坏了。。
继续。
level 14
提示向localhost 30000端口提交当前密码,telnet搞定;
level 15
提示ssl上传到30001端口,知识盲区了,先man openssl看一下大概怎么玩,然后面向搜索引擎找到解法:
level 16
提示同上,只不过是在31000-32000中某一端口,需要拿nmap先扫出来:
扫出来两个,试下open的那个,返回了一个rsa-key,这是让ssh进下一关了,参见level 13即可;
然后ssh遇到了问题,说文件权限too open:
权限改成400试试,搞定了!
level 17
提示密码是两个文件中有差异的那行,直接diff即可;
level 18
用17得到的密码登不进去,打开18一看提示说.bashrc被改了一登录就会被强制登出;
面向搜索引擎找找如何可以不执行bashrc登录,解决方案:
没有命令行提示符,但是根据提示密码就在readme里面,于是:
level 19
给了个可执行的二进制,让你用他来查看20的密码,看了下就是setuid越权执行:
level 20
提示要开一个新端口,用一个新的sh来连接(比较复杂);
先扫一下不可用端口:
用nc命令在30003开个监听:
新开一个shell,运行可执行文件,获取密码:
level 21
让在cron配置里看执行了什么,在/etc/cron.d/下找到bandit22相关:
看看这个脚本是在干什么,发现他定期把密码写到一个tmp下的文件里:
查看这个tmp文件获取密码即可;
level 22
同21,不同的是要执行一下脚本看下写到tmp的文件名:
上面执行的时候$myname是bandit22,要手动换成23看下:
level 23
同上,查看定期的脚本做了些什么:
就是定期执行/var/spool/bandit24下的脚本,执行完就删除;
那么我们写一个查看密码的看看能不能放到/var/spool/bandit24下:
level 24
提示用brute-force从1-10000里找到一个pin作为password的后缀,连接到30002端口来获取下一级的密码;
先连下30002端口看下:
爆破:
查看:
level 25
提示26不是用bash进去的,也就是他不会运行bashrc;
主目录下有sshkey,先ssh试一下,登录被切断了;
按照提示,查看/etc/passwd,找到bandit27运行的脚本:
more可以进vim,然后是可以输入命令的,可以把控制台拉的只有一行,让more停住:
敲v进vim,输命令:
然后就可以找到密码了;