Cyberbezpieczeństwo
Złośliwa paczka w PyPI. Nietypowa infekcja malware
![Złośliwa paczka znaleziona w PyPI](https://cdn.defence24.pl/2024/05/13/800x450px/7wsz8qj5az4C6zPQT9hGLQEbTfoKLkddu48hpZnz.54h9.jpg)
Autor. Pete Linforth, Pixabay.com
Złośliwe oprogramowanie może być przypadkowo zainstalowane również przez programistów. Istnieje ryzyko, że będzie ukrywane w paczkach, które mają podobne nazwy do często pobieranego opgrogramowania.
10 maja wykryto złośliwe oprogramowanie w paczce requests-darwin-lite, która próbowała podszyć się pod request. Samo request zostało pobrane ponad 11 miliardów razy, zaś requests-darwin-lite – na szczęście tylko 417 razy do momentu usunięcia z PyPI. Co ciekawe, sam backdoor został ukryty w logo projektu, lecz mógł zadziałać jedynie na urządzeniu wskazanym w kodzie.
Czytaj też
Instalacja malware
Samo zainstalowanie złośliwej paczki nie było trudne. Wystarczyło użyć polecenia „pip install requests-darwin-lite” zamiast „pip install requests”.
Użycie takiego polecenia powodowało pobranie paczki, która udawała tzw. forka – czyli repozytorium oparte (prawie) w całości na innym oprogramowaniu. Świadczy o tym przede wszystkim nazwa paczki, która poza nazwą prawidłowej - składa się z dopisku „darwin-lite”.
Po wykonaniu program sprawdzał UUID urządzenia. Co najdziwniejsze w całej paczce, oprogramowanie może się wykonać tylko na konkretnej maszynie – oznacza to, że atak był nakierowany na konkretny sprzęt lub paczka służyła jedynie testom. Nie można tego ustalić.
![Fragment kodu](https://cdn.defence24.pl/2024/05/13/580xpx/fgypjUoKunMeXM0fgqTh4z2p4E8d6mRyeulwXoa1.f2yw.png, https://cdn.defence24.pl/2024/05/13/1920xpx/fgypjUoKunMeXM0fgqTh4z2p4E8d6mRyeulwXoa1.ojwl.png 2x)
Autor. https://blog.phylum.io/malicious-go-binary-delivered-via-steganography-in-pypi/
Jeżeli UUID było poprawne, dalszym krokiem programu było pobranie danych z pliku requests-sidebar-large.png.
![Logo Requests](https://cdn.defence24.pl/2024/05/13/580xpx/W19hlrO5pNRpSYKERXdNJeugXFiMmbXxMjA5K15z.nmy5.png, https://cdn.defence24.pl/2024/05/13/1920xpx/W19hlrO5pNRpSYKERXdNJeugXFiMmbXxMjA5K15z.xlln.png 2x)
Autor. https://blog.phylum.io/malicious-go-binary-delivered-via-steganography-in-pypi/
Oryginalne logo waży 300KB, a plik przetwarzany przez program waży 17MB. Została w nim zastosowana steganografia, czyli w tym przypadku ukrywanie danych w obrazku.
Analiza na VirusTotal pokazuje, że w obrazie ukryty był Silver, czyli otwartoźródłowe oprogramowanie służące do łączenia się z serwerami C2 (ang. Command and Control).
![Analiza malware](https://cdn.defence24.pl/2024/05/13/580xpx/v22vuvFMOT7vGNotK516rlH9YvQzIytUUGbMSQ5l.ql3k.png, https://cdn.defence24.pl/2024/05/13/1920xpx/v22vuvFMOT7vGNotK516rlH9YvQzIytUUGbMSQ5l.5zba.png 2x)
Autor. https://www.virustotal.com/gui/file/89fb2149bdf1482463377c055eb946dd357f2d90b3e425ebb3ab78c4774f7b00
Czytaj też
Nie pierwszy taki przypadek
Niestety takie ataki nie są niczym nowym. Kacper Szurek na swoim blogu omawiał przykłady paczek, które mogły próbować podszyć się pod inne oprogramowanie.
Przykładowo – uruchomienie paczki requesys, requesrs lub requesr skutkowało zaszyfrowaniem plików na dysku, a klucz deszyfrujący dostępny był na Discordzie.
![Klucze deszyfrujące na Discordzie](https://cdn.defence24.pl/2024/05/13/580xpx/CQMFKNjr5PJIGqgNBjVd529Fr1AXv8V1Q36SqVxy.8ao8.png, https://cdn.defence24.pl/2024/05/13/1920xpx/CQMFKNjr5PJIGqgNBjVd529Fr1AXv8V1Q36SqVxy.816a.png 2x)
Autor. https://blog.sonatype.com/ransomware-in-a-pypi-sonatype-spots-requests-typosquat
Czytaj też
Rekomendacje
Przy instalacji paczek należy zwrócić szczególną uwagę na to, czy faktycznie instalujemy pożądaną paczkę. Literówka może nas słono kosztować, ponieważ cyberprzestępcy stale pracują nad technikami ukrywania złośliwego oprogramowania.
W przypadku paczki z PyPI warto sprawdzić liczbę pobrań przed zainstalowaniem jej. Można to zrobić np. na PyPI Stats.
Serwis CyberDefence24.pl otrzymał tytuł #DigitalEUAmbassador (Ambasadora polityki cyfrowej UE). Jeśli są sprawy, które Was nurtują; pytania, na które nie znacie odpowiedzi; tematy, o których trzeba napisać – zapraszamy do kontaktu. Piszcie do nas na: [email protected].