wargames-Leviathan

官网

https://overthewire.org/wargames/leviathan/

0-6

0

ssh leviathan0@leviathan.labs.overthewire.org -p 2223

登陆密码:

leviathan0
ls
ls -a
cat .backup/bookmarks.html |grep password

进去后使用ls查看命令发现没有东西,那么可能有.开头的隐藏文件,使用ls -a进行查看(tab键自动补齐.backup文件夹下面的文件):

由此知道下关密码为:rioGegei8m

1

ssh leviathan1@leviathan.labs.overthewire.org -p 2223
rioGegei8m
ltrace ./check
123
./check
sex
cat /etc/leviathan_pass/leviathan2

有一个check文件,可以使用file命令查看一下:

leviathan1@leviathan:~$ ls
check
leviathan1@leviathan:~$ file check
check: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=c735f6f3a3a94adcad8407cc0fda40496fd765dd, not stripped
leviathan1@leviathan:~$ 

提示我们这是一个可执行文件
这里我们还需要了解一个命令ltraceltrace的功能是能够跟踪进程的库函数调用(ltrace详解: https://www.cnblogs.com/machangwei-8/p/10388938.html ):
ltrace ./check提示输入密码,随便输入一个错误的,可以看到使用了strcmp()函数,对用户输入的密码进行与sex进行对比,那么密码就是sex
我们直接运行./check再输入密码sex
再执行cat /etc/leviathan_pass/leviathan2

获得下关密码:

ougahZi8Ta

2

ssh leviathan2@leviathan.labs.overthewire.org -p 2223
ougahZi8Ta
ls
./printfile
ltrace ./printfile
ltrace ./printfile 1.txt
./printfile 1.txt
mkdir /tmp/sillage
cd /tmp/sillage
echo 'hello' >1.txt
ltrace ~/printfile 1.txt
ln -s /etc/leviathan_pass/leviathan3 a
touch b\ a
~/printfile b\ a

ln -s 源文件 目标文件  //linux的软链接,相当于windows快捷方式

通过ltrace命令发现,printfile后面要跟一个文件(直接运行printfile也会提示我们),./printfile会通过调用access()检查文件是否存在,确认存在之后再打印出文件内容。
于是思路还是为我们需要的文件创建软链接,再打印该软链接获得密码
直接利用printfile打印/etc/leviathan_pass/leviathan3的软链接会提示You cant have that file...

创建一个文件名包含\+空格的文件,并且在其前面(或后面)的字符串为/etc/leviathan_pass/leviathan3的链接文件的文件名,这样就可以绕过限制。通过读取这个特殊文件从而读取/etc/leviathan_pass/leviathan3的链接文件,也许你还不太明白,但看了下面两张截图你就懂了:

linux会将x\ xx.fileSuffix(fileSuffix为文件后缀,也可以没有)的文件识别为两个文件,一个是x,一个是xx,这里我们可以顺便验证一下:

下关密码:

Ahdiemoo1j

3

ssh leviathan3@leviathan.labs.overthewire.org -p 2223
Ahdiemoo1j
ls
ltrace ./level3
111
./level3
snlprintf
id
cat /etc/leviathan_pass/leviathan4

//id  命令用于显示用户的ID,以及所属群组的ID

下关密码:

vuH0coox6m

4

ssh leviathan4@leviathan.labs.overthewire.org -p 2223
vuH0coox6m
ls
ls -a
cd .trash
./bin
二进制转ascii

二进制转ascii: https://www.binaryhexconverter.com/binary-to-ascii-text-converter
下关密码:

Tith4cokei

5

ssh leviathan5@leviathan.labs.overthewire.org -p 2223
Tith4cokei
ls
./leviathan5
echo 'hello'>/tmp/file.log
./leviathan5
ln -s /etc/leviathan_pass/leviathan6  /tmp/file.log
./leviathan5

leviathan5会读取/tmp/file.log的文件内容,那么思路为将file.log作为我们所需文件的软链接,从而获取下关密码

下关密码:

UgaoFee4li

6

ssh leviathan6@leviathan.labs.overthewire.org -p 2223
UgaoFee4li
ltrace ./leviathan6
for i in {0000..9999};do ./leviathan6 $i;done
id
cat /etc/leviathan_pass/leviathan7

使用ltrace跟踪时,提示我们4 digit code,是一个四位数的数
那么可以使用暴力破解的方式,输入for i in {0000..9999};do ./leviathan6 $i;done进行爆破

下关密码:

ahy7MaeBo9

文章部分内容参考:
https://www.jianshu.com/p/d722e4d5525f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
https://blog.csdn.net/caiqiiqi/article/details/55347041

posted @ 2021-06-08 09:33  nihinumbra  阅读(215)  评论(0编辑  收藏  举报