官网
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:~$
提示我们这是一个可执行文件
这里我们还需要了解一个命令ltrace
,ltrace
的功能是能够跟踪进程的库函数调用(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