
Dzisiaj w pół dnia zrobiłem wszystkie 7 Leveli w Leviathan na:
https://OverTheWire.org/wagrames/leviathan
Niedługo dobije do 50% na https://www.wechall.net/
Poniżej moje notatki z działań na każdym kolejnym Levelu:
Username: leviathan0
Password: leviathan0
--------------------------------------------------------------------------------
ssh -p 2223 leviathan0@leviathan.labs.overthewire.org
--------------------------------------------------------------------------------
leviathan0
cat .backup/bookmarks.html | grep leviathan
<DT><A HREF="http://leviathan.labs.overthewire.org/passwordus.html
| This will be fixed later, the password for leviathan1 is **********" ADD_DATE="1155384634" LAST_CHARSET="ISO-8859-1" ID="rdf:#$2wIU71">
password to leviathan1</A>
--------------------------------------------------------------------------------
leviathan1
vim ./check
password: ***
cat /etc/leviathan_pass/leviathan2
--------------------------------------------------------------------------------
leviathan2
ltrace ./printfile /etc/leviathan_pass/leviathan3
- powinien mi pokazać że używa funkcji access() i system()
mkdir /tmp/pZ-kod
cd /tmp/pZ-kod
touch "plik tekstowy"
ln -s /etc/leviathan_pass/leviathan3 plik
touch tekstowy
/home/leviathan2/printfile "plik tekstowy"
--------------------------------------------------------------------------------
leviathan3
Wykonuje:
ltrace ./level3
i po podaniu zmyślonego hasła zobaczę zwykłe porównanie do prawidłowego hasła:
strcmp("test\n", "**********\n")
Wpisuje hasło: **********
W shellu:
cat /etc/leviathan_pass/leviathan4
--------------------------------------------------------------------------------
leviathan4
ltrace .trash/bin
podpowiada mi:
fopen("/etc/leviathan_pass/leviathan5", "r") = nil
a ./bin wyświetla:
01000010 01110101 01100010 00111001 01100111 01011010 00110011 01000010 01000111 01010101 00001010
konweruję to z binary na string
wechall
result: SUCCESS You gained 0.57% (144 points) on OverTheWire.org.
--------------------------------------------------------------------------------
leviathan5
po: ltrace ./leviathan5
widzę:
fopen("/tmp/file.log", "r")
Robię;
ln -s /etc/leviathan_pass/leviathan6 /tmp/file.log
./leviathan5
--------------------------------------------------------------------------------
leviathan6
Klasyczny brute-force:
Mechanizm rozwijania nawiasów (brace expansion) automatycznie zadba o zera wiodące.
for i in {0000..9999}; do ./leviathan6 $i; done
cat /etc/leviathan_pass/leviathan7
--------------------------------------------------------------------------------
leviathan7
cat CONGRATULATIONS
ll /etc/leviathan_pass/
drwxr-xr-x 2 root root 4096 Sep 26 21:56 ./
drwxr-xr-x 128 root root 12288 Sep 27 06:54 ../
-r-------- 1 leviathan0 leviathan0 11 Sep 26 21:56 leviathan0
-r-------- 1 leviathan1 leviathan1 11 Sep 26 21:56 leviathan1
-r-------- 1 leviathan2 leviathan2 11 Sep 26 21:56 leviathan2
-r-------- 1 leviathan3 leviathan3 11 Sep 26 21:56 leviathan3
-r-------- 1 leviathan4 leviathan4 11 Sep 26 21:56 leviathan4
-r-------- 1 leviathan5 leviathan5 11 Sep 26 21:56 leviathan5
-r-------- 1 leviathan6 leviathan6 11 Sep 26 21:56 leviathan6
-r-------- 1 leviathan7 leviathan7 11 Sep 26 21:56 leviathan7