NFsec Logo

Znajdowanie złośliwych pakietów PyPI

11/12/2024 w Bezpieczeństwo Możliwość komentowania Znajdowanie złośliwych pakietów PyPI została wyłączona

P

rzez ostatni rok branża odnotowała wzrost ataków wymierzonych w łańcuch dostaw oprogramowania (ang. supply chain threats). Złośliwa modyfikacja w tym ataku obejmuje narzędzia, kod i infrastrukturę potrzebną do wdrożenia aplikacji (często z wykorzystaniem komponentów open source lub zewnętrznych dostawców). Jednym z powszechnych sposobów przeprowadzania tych ataków przez cyberprzestępców jest kompromitacja lub przesyłanie złośliwych zależności do repozytoriów pakietów języka Python – Python Package Index (PyPI). W ramach PyPI, które jest szanowanym oraz akceptowanym repozytorium i hostuje oszałamiającą liczbę pakietów języka Python, wyłoniła się niepokojąca rzeczywistość. Niezrównana popularność repozytorium nieumyślnie przyciągnęła uwagę nieuczciwych podmiotów, które żarliwie starają się wykorzystać jego ogromną bazę użytkowników, potajemnie rozpowszechniając złośliwe pakiety.
[ czytaj całość… ]

Zawieszone rekordy DNS

20/10/2024 w Bezpieczeństwo Możliwość komentowania Zawieszone rekordy DNS została wyłączona

W

celu zrozumienia jak powstają zawieszone rekordy DNS (ang. dangling DNS records) należy posiadać podstawową widzę na temat działania usługi DNS, która tłumaczy przyjazne dla użytkowników nazwy domen, takie jak nfsec.pl (łatwe do zapamiętania i rozpoznania) na numeryczne adresy IP. Adresy IP dla każdej domeny są przechowywane na autorytatywnych serwerach DNS, które można porównać do książek telefonicznych w internecie. Po wpisaniu adresu strony internetowej w przeglądarce, przeglądarka na początku łączy się z rekurencyjnym serwerem DNS i zadaje pytanie: “Jaki jest adres IP nfsec.pl?”. Rekursywny serwer DNS wysyła zapytanie do serwera autorytatywnego w celu uzyskania odpowiedzi (oczywiście to trochę bardziej skomplikowane).
[ czytaj całość… ]

SOConda – ekstrakcja załącznika z pliku .eml

22/03/2024 w Hacks & Scripts Możliwość komentowania SOConda – ekstrakcja załącznika z pliku .eml została wyłączona

Jak wyodrębnić załącznik z przesłanego pliku .eml do analizy?

agresor@soconda:~$ python3 -m venv emls
(emls) agresor@soconda:~$ source emls/bin/activate
(emls) agresor@soconda:~$ pip install eml-extractor
Collecting eml-extractor
  Using cached eml_extractor-0.1.1-py3-none-any.whl.metadata (3.3 kB)
Using cached eml_extractor-0.1.1-py3-none-any.whl (4.7 kB)
Installing collected packages: eml-extractor
Successfully installed eml-extractor-0.1.1

(emls) agresor@soconda:~$ du -k analyze_me.eml
25684	analyze_me.eml

(emls) agresor@soconda:~$ eml-extractor -f analyze_me.eml
PROCESSING FILE "analyze_me.eml"
>> Attachment found: malware_sample.zip
>> Saving attachment to "/home/agresor/Analyze Me/malware_sample.zip"
Done.

(emls) agresor@soconda:~$ du -k Analyze\ Me/malware_sample.zip
18668   Analyze\ Me/malware_sample.zip

Więcej informacji: EML Extractor

Magika: identyfikacja plików za pomocą głębokiego uczenia

22/02/2024 w Bezpieczeństwo Możliwość komentowania Magika: identyfikacja plików za pomocą głębokiego uczenia została wyłączona

O

d początków informatyki dokładne wykrywanie typów plików miało kluczowe znaczenie przy określaniu sposobu przetwarzania plików. System Linux wyposażony jest w bibliotekę libmagic i narzędzie file, które od ponad 50 lat stanowią de facto standard identyfikacji typów plików. W dzisiejszych czasach przeglądarki internetowe, edytory kodu i niezliczone inne oprogramowanie opiera się na wykrywaniu typu plików w celu podjęcia decyzji o poprawnym przetworzeniu i wyświetleniu zawartości plików. Na przykład nowoczesne edytory kodu wykorzystują wykrywanie typu plików, aby wybrać schemat kolorowania składni, który ma zostać użyty, gdy programista zacznie pisać kod w danym języku.
[ czytaj całość… ]

Tworzymy bezplikowy proces za pomocą języka python

06/09/2023 w Pen Test Możliwość komentowania Tworzymy bezplikowy proces za pomocą języka python została wyłączona

F

ileless ELF exec – fee – to proste narzędzie, które umożliwia załadowanie bezpośrednio do pamięci (poprzez deskryptor pliku pamięci – memfd) wcześniej zakodowany i skompresowany plik binarny. Dlaczego zadawać sobie trud, aby uruchamiać pliki w ten sposób ? Ponieważ ataki bezplikowe (ang. fileless) są bardziej wymijające dla detekcji niż ataki, które polegają na upuszczaniu ładunku (ang. payload) na dysk. W celu skuteczniejszego wykrywania tego typu szkodliwego oprogramowania na systemie musi znajdować się ochrona, która wykorzystuje technikę analizy opartą na zachowaniu w czasie wykonywania plików i monitorowania pamięci. Fakt, że po wykryciu ładunek “żyje” w pamięci może także komplikować proces informatyki śledczej (szczególnie dla efemerycznych maszyn w chmurze), ponieważ musi on zostać zrzucony z pamięci.
[ czytaj całość… ]

Wykrywanie ukrytych procesów za pomocą libprocesshider.so

21/08/2023 w Bezpieczeństwo Możliwość komentowania Wykrywanie ukrytych procesów za pomocą libprocesshider.so została wyłączona

W

artykule ukrywanie procesów za pomocą ld.so.preload poznaliśmy zasadę działania podstawowych narzędzi do zarządzania procesami w systemie Linux oraz w jaki sposób za pomocą biblioteki współdzielonej możemy je oszukać. W tej publikacji postaramy się napisać prosty skrypt w języku Python, który za pomocą enumeracji sprawdzi czego nam nie mówią oszukane narzędzia. Jego zasada działania jest bardzo prosta – jego zadaniem jest wejść do katalogu /proc i pobrać wszystkie katalogi, które mają format numeryczny ([0-9]) i dodać je do listy:

proc_path = '/proc'

def process_list_behind_the_fog():
    pid_list = []
    for pid_number in os.listdir(proc_path):
        if os.path.isdir(os.path.join(proc_path, pid_number)):
            if pid_number.isnumeric():
                pid_list.append(int(pid_number))
    return(pid_list)

[ czytaj całość… ]

Python – szybkie dopasowanie adresu IP do klasy CIDR

29/07/2022 w Hacks & Scripts Możliwość komentowania Python – szybkie dopasowanie adresu IP do klasy CIDR została wyłączona

python3 -m pip install cidr-trie
>>> from cidr_trie import PatriciaTrie

>>> ip_owner = PatriciaTrie()
>>> ip_owner.insert("10.0.0.0/8", "LAN-A")
>>> ip_owner.insert("172.16.0.0/12", "LAN-B")
>>> ip_owner.insert("192.168.0.0/16", "LAN-C")
>>> ip_owner.insert("192.168.1.0/24", "LAN-C-Office-Toronto")
>>> ip_owner.insert("104.16.0.0/12", "Internet-Cloudflare")
>>> ip_owner.insert("31.171.152.0/22", "Internet-HostileVPN")

>>> ip_owner.find_all("31.171.152.25")
[('31.171.152.0/22', 'Hostile VPN')]
>>> ip_owner.find_all("192.168.1.13")
[('192.168.0.0/16', 'LAN-C'), ('192.168.1.0/24', 'LAN-C-Office-Toronto')]
>>> ', '.join((v[1] for v in ip_owner.find_all("192.168.1.13")))
'LAN C, LAN-C-Office-Toronto'

Więcej informacji: Skompresowane drzewo trie, Store CIDR IP addresses (both v4 and v6) in a trie for easy lookup

O statycznej analizie plików Microsoft Office słów kilka albo i więcej cz. II

30/11/2021 w Bezpieczeństwo Możliwość komentowania O statycznej analizie plików Microsoft Office słów kilka albo i więcej cz. II została wyłączona

W

tej części będziemy kontynuować statyczną analizę przykładowego dokumentu, ale postaramy się zajrzeć trochę głębiej i znaleźć jakie akcje ma za zadanie przeprowadzić makro zawarte w dokumencie. Wspomożemy się tutaj świetnym zestawem narzędzi autorstwa Didiera Stevensa, tutaj warto, a nawet trzeba wspomnieć o narzędziach innego autora – Philippe Lagadeca, które znacząco ułatwiają analizę dokumentów MS Office. Obydwa zestawy narzędzi często nachodzą na siebie funkcjonalnością i często są używane wymiennie (często, aby zweryfikować rezultaty). Nie będę wchodził w szczegóły, kto jest autorem dokładnie, którego (to pozostawiam jako zadanie domowe dla Czytelnika). Dodatkowo zaznaczę, że nawet zaprezentowane narzędzia to tylko specyficzny wycinek (np. analiza obiektów OLE) wszystkich zasobów opublikowanych przez tych badaczy.
[ czytaj całość… ]

Argon2

01/09/2021 w Bezpieczeństwo Możliwość komentowania Argon2 została wyłączona

A

rgon2 jest algorytmem, który wygrał w 2015 roku Konkurs Haszowania Haseł (ang. Password Hashing Competition). Jest wskazywany jako następca bcrypt i scrypt oraz zalecany przez OWASP (ang. The Open Web Application Security Project) do zabezpieczania haseł. Zaletą tego algorytmu są jego różne warianty (aktualnie posiada on trzy: Argon2i, Argon2d i Argon2id), które zawierają mechanizmy utrudniające ataki typu brute force oraz side channel. Ma prostą konstrukcję mającą na celu uzyskanie najwyższego współczynnika wypełnienia pamięci i efektywnego wykorzystania wielu jednostek obliczeniowych.
[ czytaj całość… ]

Wsparcie dla wtyczek python w sudo 1.9

14/07/2021 w Bezpieczeństwo Możliwość komentowania Wsparcie dla wtyczek python w sudo 1.9 została wyłączona

W

szyscy znają sudo, prawda? Polecenie to pozwala administratorowi systemu nadać niektórym użytkownikom możliwość uruchamiania wybranych uprzywilejowanych poleceń, jednocześnie rejestrując ich argumenty i wykonanie. Program ten jest instalowany domyślnie prawie we wszystkich dystrybucjach systemu Linux i jest dostępny dla większości komercyjnych systemów Unix – umożliwiając precyzyjne dostosowywanie polityk dostępu. Mimo to nawet administratorzy systemów często wiedzą, że jest to “prefiks”, którego należy użyć przed uruchomieniem polecenia wymagającego uprawnień root nie zdając sobie sprawy z jego prawdziwych możliwości.
[ czytaj całość… ]