BIS Projekt 2 - Network Hacking
Obsah
Zmapování serverů
Online stroje:
192.168.122.31
192.168.122.73
192.168.122.228
Scan portu:
Nmap scan report for BISptest2 (192.168.122.31)
Host is up (0.0045s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp open ssh
23/tcp open telnet
513/tcp open login
514/tcp open shell
8009/tcp open ajp13
8080/tcp open http-proxy
Nmap scan report for BISptest3 (192.168.122.73)
Host is up (0.0023s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
Nmap scan report for BISptest (192.168.122.228)
Host is up (0.0025s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
443/tcp open https
3306/tcp open mysql
Jednotlivá tajemství
A
Zkusím ssh na BISptest a vidím, že se mám přihlásit jako ironman. Zkouším běžná hesla, funguje password. Pak už stačí jen mc a vidím soubor secret.txt
B
Vidím otevřený FTP port, připojím se telnetem a vidím verzi, na Google najdu exploit který říká že stačí aby součástí loginu bylo :), použiji login test:) a heslo test:), stvoří se mi otevřený port, na který se připojím telnetem a mám heslo.
C
Na stroji BISptest běží MySQL, podle obsahu apache vidím, že se tam nachází i PHPMyAdmin, mc a prolezu adresářovou strukturu, v config.inc.php od phpmyadmina vidím jaký je uživatel a heslo, pak už stačí jen zjistit co tam je za databáze a select na secret.
D
Na serveru BISptest2 běží Tomcat, na webovém rozhraní se zkusím přihlásit do manageru, uživatel a heslo je tomcat/tomcat. Podívám se na aktivní aplikace a vidím, že již tam je aplikace cmd, která mi umožní zadávat příkazy do shellu. Projdu adresářovou strukturu /home/tomcat a cat /home/tomcat/secret/secret.txt
E
Když zkouším pustit nmap na veškeré porty, tak na serveru BISptest2 vidím otevřený port 4444, zkusím se na něj připojit telnetem a mám secret.
F
Na serveru BISptest3 běží webové stránky. Po nahlédnutí do robots.txt vidím skrytý odkaz na /admin_login.php, když na něj přejdu, získám secret.
G
Na výše uvedené stránce použiji SQL injection x' or 'x'='x jak pro jméno tak heslo a tím se přihlásím bez hesla. Poté pomocí série SQL injection union select 1, 2, 3, 4, 5, (dotaz) – - zjistím strukturu databáze (pomocí dotazů do INFORMATION_SCHEMA) až vidím, že tabulka users má sloupec secret, z něj si nechám vypsat hodnotu tajemství.
H
Chvíli si hraju s vyhledávacím formulářem a vidím, že jeho hodnota se vypisuje do odkazu. Můžu tedy tomuto linku přidat onclick event pomocí JavaScriptu, například " onClick="javascript:alert('text');" Po kliknutí se mi zobrazí secret.