bandit(level 0-19)

bandit

字符作用

| 表示管道,上一条命令的输出,作为下一条命令参数,通常用来过滤/汇总数据。

&&表示前一条命令执行成功时,才执行后一条命令;反之,前面的命令执行失败,则&&后面的命令不会被执行。

&表示任务在后台执行,即使ssh窗口关闭,服务依然会在后台持续运行。

||表示上一条命令执行失败后,才执行下一条命令。一旦执行到一条成功的命令,后面用****||****连接的命令,就不会再被执行。

>把正常信息(剔除错误信息)重定向到另一个文件内

*2>* /dev/null意思就是把错误输出到“黑洞” ,不会显示在屏幕上。

Linux技巧(六):命令尾部&的作用 &&、|、||、;、()、&>、 2>&1 的用法和区别,很实用_linux &_血煞长虹的博客-CSDN博客

level 1

我用的windows,下载了mobaXterm用于进行ssh连接

是说level 1的密码呢在readme文件中,用到cat 找出来即可

image-20230513211057882

level 2

exit,然后r,重新建立连接,login as bandit1,密码是上级找到的

密码在虚线文件名中,这时候cat -就不管用了。指定文件完整路径即可。

image-20230513212947940

level 3

文件名有空格

使用引号括起来

image-20230513214101452

aBZ0W5EmUfAf7kHTQeOwd8bauFJ2lAiG

level 4

说是在inhere目录下的隐藏文件中

需要用到ls -a命令查看隐藏

image-20230513214557871

2EW7BBsr6aMMoJ2HjW067dm8EgX26xNe

level 5

在inhere目录下,只有一个唯一可读的文件

由于文件名都有规律,且有特殊符号,于是我用了 cat ./-file0{0,1,2…9}的方法,也就是在末尾3个之间,再cat ./-file07试试,有了

image-20230513221122380

image-20230513221420135

lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR

正解操作是:

file ./-file* 查看文件类型

cat ./-file07

level 6

密码存储文件在inhere目录下,且可读、1033bytes、不可执行

inhere目录下有将近20个目录,一个个来不太现实,用到du命令

du : 显示每个文件和目录的磁盘使用空间~~~文件的大小。

命令参数:

-a #显示目录中文件的大小 单位 KB 。

-b #显示目录中文件的大小,以字节byte为单位。

-c #显示目录中文件的大小,同时也显示总和;单位KB。

-k 、 -m #显示目录中文件的大小,-k 单位KB,-m 单位MB.

-s #仅显示目录的总值,单位KB。

-h #以K M G为单位显示,提高可读性~~~(最常用的一个~也可能只用这一个就满足需求了)
image-20230513223236240

image-20230513223206962

du -a -b

cat ./maybehere07/.file2

image-20230513223351281

P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU

level 7

被存在服务器的某处,由用户bandit7所有,bandit6组所有,33bytes

find基本用法:find [PATH] [option] [action]

-user name : 列出文件所有者为name的文件
-group name : 列出文件所属用户组为name的文件
-uid n : 列出文件所有者为用户ID为n的文件
-gid n : 列出文件所属用户组为用户组ID为n的文件

image-20230514112457648

可以使用 2>/dev/null 将错误信息重定向

find / -user bandit7 -group bandit6 -size 33c 2>/dev/null

image-20230514112752119

参考【bandit】WarGame之bandit通关日志 - 简书 (jianshu.com)

level 8

在data.txt文件中内容为millionth的那一行中

image-20230514114655477

TESKZC0XvTetK0S9xNwm25STk5iWrBvP

level 9

在data.txt中,仅出现一次的行文本中

sort与uniq命令

sort排序,

uniq是去掉相邻的重复行,-c统计次数,-u显示不重复的行

image-20230514115858357

-c找出现次数为1的即可

image-20230514115916436

参考:【bandit】WarGame之bandit通关日志 - 简书 (jianshu.com)

level 10

在data.txt文件中的少数几个人类可读的字符串中,前面有几个=符号

一般查看有乱码

image-20230514121138624

用strings data.txt

image-20230514121241304

level 11

data.txt文件中,但是包含base64编码

image-20230514121610805

level 12

data.txt文件中,但是rot13加密

tr命令:对输入字符进行替换、压缩和删除

将所有的字符向后移动13位,但要保持大写和小写

image-20230514122106548

参考:[使用ROT13加密解密_tr解rot13_apersonlikep的博客-CSDN博客](https://blog.csdn.net/apersonlikep/article/details/89332063?ops_request_misc=%7B%22request%5Fid%22%3A%22168403789316800182732613%22%2C%22scm%22%3A%2220140713.130102334..%22%7D&request_id=168403789316800182732613&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-89332063-null-null.142^v87^control_2,239^v2^insert_chatgpt&utm_term=linux rot13&spm=1018.2226.3001.4187)

level 13

是data.txt文件,但是反复压缩,十六进制转储。

image-20230514122659959

xxd命令:转二级制、十六进制

mv命令:重命名

gzip/bzip2 -d/tar -xvf命令:解压缩

先转二级制

image-20230514123813942

image-20230514123825354

重命名gz、解压

image-20230514123946806

重命名bz2、解压

image-20230514124152671

重命名gz、解压

image-20230514124254797

重命名tar、解压

image-20230514124423926

image-20230514124556058

重命名bz2,解压

image-20230514124733776

重命名tar、解压

image-20230514124850246

重命名gz、解压

image-20230514124956549

ssh、telnet、nc、openssl、nmap工具篇

level 14

在**/etc/bandit_pass/bandit14**中,且只能由bandit14用户读取。且提供了一个私有SSH密钥。

image-20230514130400052

报错了,看不懂,但是看到绿字说22端口登录是不支持的,于是换个端口。

加了个-p 2220,虽然也报错,但还是提示连到了

image-20230514132248403

查看即可

image-20230514132359501

fGrHPx402xGC7U7rXKDaxiWFTOiF0ENq

level 15

连接到本机,且端口为30000提交密码

telnet ip地址 端口

image-20230514133034901

jN2kgmIXJ6fShzhT2avhotn4Zcka6tnt

level 16

在localhost,端口为30001处提交上关密码,且有ssl加密

openssl:多用途、跨平台密码工具

image-20230514133923601

image-20230514133934323

JQttfApK4SeyHwDlI9SXGR50qclOAil1

level 17

目的是获取证书,将上一级的密码发送至端口范围为31000到32000的localhost上。1.找出有哪些端口是服务器监听着的;2.找出哪些是使用SSL的;3.只有一个服务器是会给你下一级证书的,其它的只会重复你发给它的。

知识点:端口扫描

nmap localhost -p310000-320000

image-20230515113201632

openssl s_client -connect localhost:port对上述端口依次尝试,并提交密码

image-20230515114635689

port为31790时

image-20230515114912840

可以知道,又是私钥登陆,与ssh -i有关

存放该私钥。

image-20230515120130800

image-20230515120139520

ssh -i /tmp/my111/key bandit17@localhost -p2220

image-20230515120357068

要设定权限,700,即只有拥有者可以读写。

chmod 700 /tmp/my111/key

image-20230515120619059

成功登入。

level 17->18

在主目录有两文件passwords.old and passwords.new.

下一级的密码在 passwords.new里,并且这个old和new只有一行改动了的。

​ 注意:当登入bandit18时看到”Byebye!”,这和bandit19有关。

diff命令,比较文件不同。

  • “|”表示前后2个文件内容有不同

  • “<”表示后面文件比前面文件少了1行内容

  • “>”表示后面文件比前面文件多了1行内容

    image-20230515130247402

hga5tuuCLF6fFzUpnagiMN8ssu9LFrdg

exit ->r

登入bandit18,输入密码出现:image-20230515130727349

level 18->19

下一级密码在主目录的readme中,但是嘞,有人修改了.bashrc,使得在使用SSH登录时注销。

考察点:ssh登陆后可以跟命令执行

所以在bandit17时采用远程登录。

ssh bandit18@localhost -p2220

image-20230515133004926

上图中,rm和chmod也是不允许的操作,查找其他博主的wp,在后面加了“cat readme”但没效果

止步于此,没权限,不搞了。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2023-2025 是羽泪云诶
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信