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ść… ]

Wykrywanie i zmiana nagłówka HTTP User-Agent dla APT

26/03/2024 w Pen Test Możliwość komentowania Wykrywanie i zmiana nagłówka HTTP User-Agent dla APT została wyłączona

O

d strony inżynierii detekcji warto wykrywać różnego rodzaju dziwne nagłówki aplikacji klienckich (ang. User-Agent) w sieci firmowej np. te należące do Kali lub Raspbian. Z kolei od strony ofensywnej czasami może być konieczna zmiana wartości User-Agent, gdy nie chcemy ujawniać, że używamy konkretnej wersji menadżera pakietów APT (ang. Advanced Packaging Tool) np. gdy wykonujemy pentesty w otoczeniu systemów Windows. Domyślnie system Ubuntu używa tej aplikacji klienckiej przy korzystaniu z polecenia apt:

GET /ubuntu/dists/jammy-security/InRelease HTTP/1.1
Host: pl.archive.ubuntu.com
Cache-Control: max-age=0
Accept: text/*
Range: bytes=24857081-
If-Range: Mon, 25 Mar 2024 21:47:13 GMT
User-Agent: Debian APT-HTTP/1.3 (2.4.11) non-interactive

W celu zmiany tej wartości możemy dodać następujący wpis do pliku /etc/apt/apt.conf.d/77user-agent:

Acquire
{
  http::User-Agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36
                    (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36";
};
Acquire::http::User-Agent-Non-Interactive "false";

Pierwszy wpis zmienia wartość Debian APT-HTTP/1.3 (2.4.11) drugi usuwa sufix: non-interactive:

GET /ubuntu/dists/jammy-security/InRelease HTTP/1.1
Host: pl.archive.ubuntu.com
Cache-Control: max-age=0
Accept: text/*
Range: bytes=110351-
If-Range: Tue, 26 Mar 2024 16:42:16 GMT
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36

Wartość na którą ustawimy User-Agent powinna odzwierciedlać aktualne wersje przeglądarek – nie ustawiajmy zbyt starych wersji lub platformy (np. mobilnej), która w danej sieci nie będzie miała żadnego sensu. Możemy skorzystać z odpowiedniej strony, aby zapoznać się z bieżącym przykładem swojej przeglądarki. W tak przygotowanym systemie powinniśmy również wyłączyć aktualizowanie pakietów (ręczne i automatyczne), ponieważ monitoring ruchu sieciowego może z łatwością wyłapać trafienia do adresów kali.org oraz raspbian.org.

Więcej informacji: List of User Agents strings, Changing apt’s User-Agent string, Configuration file for APT

Snap command-not-found i złośliwe pakiety

17/02/2024 w Bezpieczeństwo Możliwość komentowania Snap command-not-found i złośliwe pakiety została wyłączona

B

adacze ds. cyberbezpieczeństwa z firmy Aqua Nautilus zajmującej się bezpieczeństwem rozwiązań chmurowych odkryli słaby punkt wykorzystywania dwóch różnych menadżerów pakietów w dystrybucji Ubuntu. Pakiet command-not-found może zostać użyty do przekazania użytkownikowi systemu informacji, które doprowadzą do rekomendacji zainstalowania złośliwego pakietu. Jak możemy przeczytać w raporcie występuje problem bezpieczeństwa wynikający z interakcji pomiędzy pakietem command-not-found (nie znaleziono polecenia) systemu Ubuntu, a repozytorium pakietów snap.

Wspomniany pakiet dostarcza sugestie dotyczące instalacji pakietów, gdy użytkownicy próbują wykonać dane polecenie w powłoce bash lub zsh, które aktualnie nie jest dostępne w systemie. Problemem jest fakt, że zawiera on rekomendacje zarówno dla pakietów apt, jak i snap. Na przykład, jeśli użytkownik spróbuje uruchomić przestarzałe polecenie: ifconfig, ale nie będzie ono obecne w systemie to zostanie uruchomiona funkcja command_not_found_handle, która zasugeruje instalację pakietu net-tools. Narzędzie korzysta z lokalnej bazy danych znajdującej się w /var/lib/command-not-found/commands.db w celu łączenia poleceń z odpowiadającymi im pakietami apt. Baza ta jest aktualizowana tylko wtedy, gdy aktualizowany jest sam pakiet command-not-found. Natomiast w przypadku pakietów snap opiera się to na poleceniu: snap advise-snap, które odwołuje się do własnej, regularnie aktualizowanej bazy pochodzącej ze sklepu snap. Problem w tym, że wiele nazw pakietów jeśli chodzi o snap nie zostało jeszcze zarezerwowanych / użytych przez tych samych opiekunów pakietów, co w przypadku apt. Dlatego osoba atakująca może przejąć popularną nazwę pakietu apt w snap i stworzyć fikcyjny pakiet wykonujący złośliwy kod na systemie ofiary.

Za przykład został podany pakiet apt: jupyter-notebook, gdzie opiekunowie nie zarezerwowali odpowiedniej nazwy w snap. To przeoczenie pozostawiło atakującemu okazję do przejęcia nazwy i rozprowadzenia złośliwego pakietu o tej samej nazwie. Wydając polecenie o tej samej nazwie możemy zaobserwować, jak pakiet command-not-found sugeruje najpierw pakiet snap, nawet przez oryginalnym pakietem apt. Takie zachowanie może potencjalnie wprowadzić użytkowników w błąd i narazić na atak podobny do tego, jaki znamy z zamieszania w zależnościach pakietów:

agresor@darkstar:~$ jupyter-notebook
Command 'jupyter-notebook' not found, but can be installed with:
sudo snap install jupyter-notebook # version 6.4.9-1ubuntu0.1, or
sudo apt  install jupyter-notebook # version 6.4.8-1ubuntu0.1
See 'snap info jupyter-notebook' for additional versions.

Co więcej, badacze odkryli, że aż 26% powiązanych z pakietami APT (ang. Advanced Package Tool) może być narażonych na podszywanie się pod taką samą nazwę. Dochodzą do tego również ataki typu typosquatting, podczas których atakujący może rejestrować pakiety z błędami typograficznymi (np. ifconfigg / idconfig / ifxonfig zamiast ifconfig). Problemem do zaadresowania jest używanie podwójnego standardu instalacji pakietów w systemie, który ma niespójne bazy oraz sama weryfikacja pakietów dodawanych do sklepu snap, ponieważ atakujący są w stanie naśladować tysiące poleceń z powszechnie używanych pakietów. Luka ta może narazić nie tylko użytkowników Linuksa Ubuntu na zakłócenie łańcucha dostaw pakietów, ale również systemy Windows, które używają WSL.

Więcej informacji: Fake Crypto Apps in Snap, Canonical finds hidden crypto-miners in the Linux Snap app store

Zamieszanie w zależnościach pakietów

11/02/2021 w Ataki Internetowe Możliwość komentowania Zamieszanie w zależnościach pakietów została wyłączona

Z

amieszanie w zależnościach pakietów (ang. dependency confusion) jest nowatorką metodą ataku na łańcuch dostaw (ang. supply chain attack). Atak na łańcuch dostaw (zwany także atakiem od trzeciej strony) ma miejsce, gdy ktoś infiltruje Twój system za pośrednictwem zewnętrznego partnera lub dostawcy, który ma dostęp do Twoich systemów i danych. Na przykład Twoja firma korzysta z jego oprogramowania lub usług, które dają mu dostęp do Twojej sieci. Gdy dochodzi do przełamania zabezpieczeń u partnera – atakujący jest w stanie rozprzestrzenić wektor ataku na wszystkich klientów danej firmy. Znaczenie tego ataku dla typowego przedsiębiorstwa w ciągu ostatnich kilku lat znacznie się zmieniło, ponieważ coraz więcej dostawców i usługodawców się integruje i dotyka wzajemnie wrażliwych danych. Ryzyko związane z łańcuchem dostaw nigdy nie było wyższe ze względu na nowe rodzaje ataków, co pokazuje zamieszanie w zależnościach pakietów. Rosnąca świadomość społeczna na temat zagrożeń powoli spycha napastników na nowy kierunek masowego rażenia. Dobrym przykładem jest niedawny atak SolarWinds.
[ czytaj całość… ]

Pokaż wszystkie pakiety zainstalowane ręcznie w systemie

14/01/2021 w CmdLineFu 1 komentarz.

while read x; do echo -e "$x\n`aptitude why $x`" | grep 'Manually installed' -B1 |\
grep -v '^Manually installed\|^--'; done <<< $(apt-mark showmanual)

Lista wrażliwych pakietów dla Arch Linux

29/09/2016 w Administracja, Bezpieczeństwo Możliwość komentowania Lista wrażliwych pakietów dla Arch Linux została wyłączona

J

ak wiemy zdezaktualizowane i podatne pakiety zdarzają się dość często w życiu cyklu oprogramowania. W dystrybucji Arch aktualizacje pojawiają się na bieżąco, ponieważ wykorzystywane są najnowsze wersje pakietów oprogramowania z kanału upstream. Gdy pojawia się aktualizacja, to nie potrwa to długo, że staje się ona dostępna i może być zainstalowana za pomocą menedżera pakietów packman. Jednym z problemów było brak możliwości szybkiego sprawdzenia, czy w naszym systemie znajdują się jakieś wrażliwe pakiety. Dopóki nie pojawiło się narzędzie arch-audit, które korzysta z danych udostępnionych przez zespół Arch CVE Monitoring Team i w prosty sposób potrafi przedstawić listę niebezpiecznych paczek wraz z numerami CVE.

Więcej informacji: arch-audit

Audyt pakietów Linuksa za pomocą bazy Vulners

28/08/2016 w Bezpieczeństwo Możliwość komentowania Audyt pakietów Linuksa za pomocą bazy Vulners została wyłączona

S

erwis zajmujący się między innymi gromadzeniem informacji o podatnościach pakietów czołowych dystrybucji Linuksa (Debian, Ubuntu, Oracle Linux, Fedora, CentOS, RedHat) udostępnił możliwość darmowego sprawdzania, czy w naszym systemie nie są obecne wersje oprogramowania, które zawiera błędy bezpieczeństwa. Autorzy serwisu napisali już Proof Of Concept agenta w języku Python. Istnieje też ręczna możliwość sprawdzenia pakietów poprzez formularz na stronie.

darkstar@darkstar:~$ git clone https://github.com/videns/vulners-scanner
Cloning into 'vulners-scanner'...
remote: Counting objects: 49, done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 49 (delta 9), reused 0 (delta 0), pack-reused 30
Unpacking objects: 100% (49/49), done.
Checking connectivity... done.
darkstar@darkstar:~$ cd vulners-scanner/
darkstar@darkstar:~/vulners-scanner$ python3 linuxScanner.py

             _
__   ___   _| |_ __   ___ _ __ ___
\ \ / / | | | | '_ \ / _ \ '__/ __|
 \ V /| |_| | | | | |  __/ |  \__ \
  \_/  \__,_|_|_| |_|\___|_|  |___/

==========================================
Host info - Host machine
OS Name - ubuntu, OS Version - 16.04
Total found packages: 448
No vulnerabilities found

Więcej informacji: Linux Vulnerability Audit in Vulners

Zawartość płyt CD dystrybucji Slackware

18/10/2008 w Administracja Możliwość komentowania Zawartość płyt CD dystrybucji Slackware została wyłączona

O

programowanie w dystrybucji Slackware jest podzielone na kilka kategorii. Dzięki temu podziałowi jesteśmy w stanie ściągnąć tylko te płyty CD z obrazami ISO, które zawierają interesujące nas pakiety, oraz które pragniemy uwzględnić podczas instalacji systemu. Istnieje oczywiście możliwość ściągnięcia pojedynczej płyty DVD, zawierającej wszystkie wymienione poniżej sekcje instalacyjne:
[ czytaj całość… ]