NFsec Logo

Podpisywanie plików za pomocą kluczy SSH

09/05/2023 w Administracja, Bezpieczeństwo Możliwość komentowania Podpisywanie plików za pomocą kluczy SSH została wyłączona

O

podpisywaniu commitów przez SSH już wiemy. Ale czy wiesz, że możesz użyć polecenia ssh-keygen do podpisywania i weryfikowania podpisów na dowolnych danych, takich jak pliki w wypuszczane wersje oprogramowania? Funkcja ta została dodana wraz w wersją OpenSSH 8.0, dlatego jeśli używasz Debian Bullseye / Ubuntu 20.04 lub nowsze – masz już zainstalowaną wystarczająco nową wersję SSH, aby korzystać z tej funkcjonalności. W dodatku jeśli korzystasz z serwisu GitHub lub jakiejkolwiek innej usługi, która używa kluczy SSH do uwierzytelniania to pewnie masz już klucz SSH, którego można użyć do generowania podpisów (jeśli nie to zajmiemy się tym później). Dystrybucja kluczy SSH jest łatwa, ponieważ publiczne klucze SSH to krótkimi jednowierszowymi ciągami, które łatwo skopiować. W dodatku możemy użyć wspomnianego serwisu GitHub jako dystrybutora kluczy – możesz pobrać klucze publiczne SSH dla dowolnego użytkownika odwiedzając adres URL w postaci: https://github.com/$nazwa_użytkownika.keys np. NFsec.
[ czytaj całość… ]

Living Off The Land Drivers

08/04/2023 w Bezpieczeństwo Możliwość komentowania Living Off The Land Drivers została wyłączona

L

OLD to kolejny projekt kierowany przez społeczność, który zapewnia wyselekcjonowaną listę wszystkich sterowników Windows, które mogą zostać wykorzystane przez atakujących do obejścia systemów bezpieczeństwa i uruchomienia złośliwego oprogramowania. Projekt został zainspirowany pracą Michaela Haaga (Atomics on Friday), który zauważył potrzebę śledzenia złośliwych sterowników, których aktorzy używają w celu uniknięcia wykrycia i ma na celu pomoc specjalistom ds. bezpieczeństwa bycie na bieżąco w rozpoznawaniu potencjalnych zagrożeń. Podobnie jak inne tego rodzaju projekty jest on typu open source, który z zadowoleniem przyjmuje wkład społeczności zajmującej się bezpieczeństwem. Dzieląc się wiedzą i doświadczeniem, możemy pomagać sobie nawzajem w uzyskiwaniu aktualnych informacji i lepszej ochronie przed pojawiającymi się zagrożeniami. Niezależnie od tego, czy jesteś badaczem bezpieczeństwa, osobą reagującą na incydenty czy administratorem systemu autorzy mają nadzieję, że LOLD będzie cennym źródeł informacji w walce z cyberatakami. Dla przypomnienia: inne tego typu projekty to: GTFOBins, LOLBas, LOTS, Filesec, MalAPI.

Więcej informacji: LOLDrivers

Reguła dla 90% przypadków malware w systemie Linux

05/04/2023 w Bezpieczeństwo Możliwość komentowania Reguła dla 90% przypadków malware w systemie Linux została wyłączona

Przeglądając na bieżąco raporty odnośnie szkodliwego oprogramowania przeznaczonego dla systemów Linux – można dojść do wniosku, że wszystkie warianty można połączyć poprzez wykrywanie poleceń curl lub wget ściągających ładunek z publicznego adresu IP:

=~ (curl|wget).*(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)
   (\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}(:[0-9]+)?\/.+.*

W celu wykluczenia fałszywych alarmów (szczególnie w centrach danych) można połączyć to z regułą, która wykluczy komunikację w ramach lokalnych sieci:

!=~ (curl|wget).*((127(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})|
    (10(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})|
    (192\.168(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){2})|
    (172\.(?:1[6-9]|2\d|3[0-1])(?:\.(25[0-5]|2[0-4][0-9]|
    [01]?[0-9][0-9]?)){2}|169\.254\.169\.254|0\.0\.0\.0))(:[0-9]+)?\/.+.*

Więcej informacji: How Malicious Actors Abuse Native Linux Tools in Attacks, Log4j Attack Payloads In The Wild, Triaging a Malicious Docker Container, Attackers exploit CVE-2021-26084 for XMRig crypto mining on affected Confluence servers, Technical Advisory: Zero-day critical vulnerability in Log4j2 exploited in the wild, DreamBus Botnet – Technical Analysis, Threat Alert: Kinsing Malware Attacks Targeting Container Environments

OTX – Open Threat Exchange

03/04/2023 w Bezpieczeństwo Możliwość komentowania OTX – Open Threat Exchange została wyłączona

D

zielenie się zagrożeniami w branży bezpieczeństwa pozostaje głównie doraźną pracą, wypełnioną martwymi punktami, pułapkami i frustracją. W idealnym świecie prywatne firmy i agencje rządowe gromadzą i udostępniają odpowiednie, aktualne i dokładne informacje o nowych lub trwających cyberatakach tak szybko, jak to możliwe. Pozwala to innym konsumentom tych informacji uniknąć poważnych naruszeń (lub zminimalizować szkody spowodowane atakiem), a dostawcy usług, których infrastruktura (np. domeny, serwery) została wykorzystana do przeprowadzania ataków na bieżąco blokuje i usuwa wrogich klientów. Niestety nie zawsze tak jest, szczególnie jeśli chodzi o unieszkodliwianie wrogich obiektów. Niemniej istnieje OTXOpen Threat Exchange zapewniając otwarty dostęp do globalnej społeczności badaczy cyberzagrożeń i specjalistów ds. bezpieczeństwa z różnych firm.
[ czytaj całość… ]

Za mały ekran dla systemd – CVE-2023-26604

21/03/2023 w Bezpieczeństwo Możliwość komentowania Za mały ekran dla systemd – CVE-2023-26604 została wyłączona

C

iekawa podatność pojawiła się w systemd, która bazuje na jednej z ucieczek z programu sudo. Otóż wersje systemd w wersji sprzed 247 umożliwiają eskalację uprawnień poprzez ominięcie ograniczeń uprawnień nakładanych przez konfigurację (/etc/sudoers) programu sudo dla danego użytkownika. Na przykład systemd w podatnych wersjach nie ustawia wartości “1” dla zmiennej LESSSECURE, dlatego program less biorący udział w tym łańcuchu zdarzeń jest w stanie uruchomić inny program (np. powłokę shell) z uprawnieniami administratora systemu. Wystarczy zmusić terminal do przekazania danych wyjściowych polecenia systemctl do programu less, co możemy bardzo prosto osiągnąć poprzez zmniejszenie okna samego terminala.
[ czytaj całość… ]

Działanie fs.protected

20/03/2023 w Bezpieczeństwo Możliwość komentowania Działanie fs.protected została wyłączona

P

ocząwszy od wersji 4.19 jądra systemu Linux możliwe jest uniemożliwienie otwierania FIFO lub zwykłych plików niebędących własnością użytkownika w globalnie zapisywalnych katalogach z ustawionym sticky bit (np. /tmp). Ochronę tę można stosować osobno dla FIFO, zwykłych plików, symlinków / hardlinków poprzez odpowiednie ustawienia z poziomu sysctl. Ustawienia te oparte są na łatce HARDEN_FIFO, która znajdowała się w projekcie Openwall Solar Designera, a ich celem jest utrudnienie ataków polegających na spoofingu danych. Poniżej znajduje się krótka lista starych luk, którym można było zapobiec dzięki tej funkcji (niektóre z nich pozwalają nawet na eskalację uprawnień):
[ czytaj całość… ]

Gasimy clamd jako zwykły użytkownik

22/02/2023 w Bezpieczeństwo Możliwość komentowania Gasimy clamd jako zwykły użytkownik została wyłączona

C

lamAV to silnik antywirusowy typu open source, który jest szeroko stosowany na serwerach pocztowych oraz różnych komercyjnych, “zamkniętych skrzynkach”. 15 lutego 2023 roku na blogu programu został opublikowany biuletyn bezpieczeństwa szczegółowo opisujący potencjalną lukę umożliwiającą zdalne wykonanie kodu w swoim parserze systemu plików HFS+ (głównym problemem jest brak sprawdzania rozmiaru podczas kopiowania bloków do bufora węzła). Luce tej nadano CVE: CVE-2023-20032. Co ciekawe podczas analizy poprawek tych luk Jared Stroud natknął się na otwarty pull request wskazujący, że nieuprzywilejowani użytkownicy mogą wyłączyć daemona clamav.
[ czytaj całość… ]

Dlaczego warto wykrywać tinyshell w swojej infrastrukturze

02/02/2023 w Bezpieczeństwo Możliwość komentowania Dlaczego warto wykrywać tinyshell w swojej infrastrukturze została wyłączona

1

7 listopada 2022 roku główny programista kryptowaluty Bitcoin – Luke Dashjr poinformował na swoim koncie Mastodon, że ktoś nieautoryzowany uzyskał dostęp do jego serwera Linux. Doprowadziło to do ukierunkowanego napadu na jego kryptowalutę, a także kradzież jego klucza PGP. Badacz bezpieczeństwa Taha Karim otrzymał od Luka kopię znalezionych na serwerze próbek publikując niedawno ich analizę. Początkowy wektor infekcji serwera nadal pozostaje niepotwierdzony, ponieważ padło parę podejrzeń w tym podłączenie szkodliwego nośnika bezpośrednio do serwera. W ramach ataku rzekomo skradziono 200 BTC o wartości na ten czas 3,6 miliona dolarów. Nie jest też jasne, w jaki sposób atakujący przeskoczyli z serwera na stację roboczą (lub odwrotnie).

Podczas przeprowadzonej analizy wyodrębniono dwa narzędzia: DARKSABER – nieco zmodyfikowany wariant TinyShell, który jest otwartym oprogramowaniem typu backdoor, zapewniając zdalne wykonanie powłoki, a także przesyłanie plików. Warto zauważyć, że backdoor ten jest trudny do zmodyfikowania lub przejęcia kontroli (w przypadku wykrycia) bez znajomości tajnego klucza, który jest używany do uwierzytelniania i szyfrowania komunikacji klient – serwer przy użyciu algorytmu szyfrowania AES-CBC-128 (odbywa się weryfikacja dla każdego wysłanego / odebranego pakietu). SHADOWSTRIKE – zwrotna powłoka TCP na platformę *nix napisana w języku Perl również oparta o otwarty i znany skrypt autorstwa pentestmonkeyperl-reverse-shell. Posiada on ciekawą opcję ustawiania nazwy procesu pod którą ukrywa się skrypt maskując sesję “mrocznego operatora”.

Ciekawy aspekt stanowi tutaj wykorzystanie właśnie TinyShell, ponieważ narzędzia oparte na tym rozwiązaniu były wykorzystywane przez wiele grup APT (ang. Advanced Persistent Threat) począwszy od takich jak APT31, PassCV, ChamelGang lub grupy UNC, jak UNC1945 lub UNC2891 oraz liczne ataki ukierunkowane od 2012 roku (nie tylko na platformy Linux).

Poniżej znajduje się przykładowa reguła YARA pozwalająca wykryć TinyShell w systemie Linux:

rule TinyShell
{
meta:
author = "Mandiant "
strings:
$sb1 = { C6 00 48 C6
         4? ?? 49 C6 
         4? ?? 49 C6 
         4? ?? 4C C6 
         4? ?? 53 C6 
         4? ?? 45 C6 
         4? ?? 54 C6 
         4? ?? 3D C6
         4? ?? 46 C6 
         4? ?? 00 }
$sb2 = { C6 00 54 C6 
         4? ?? 4D C6
         4? ?? 45 C6
         4? ?? 3D C6 
         4? ?? 52 }
$ss1 = "fork" ascii fullword wide
$ss2 = "socket" ascii fullword wide
$ss3 = "bind" ascii fullword wide
$ss4 = "listen" ascii fullword wide
$ss5 = "accept" ascii fullword wide
$ss6 = "alarm" ascii fullword wide
$ss7 = "shutdown" ascii fullword wide
$ss8 = "creat" ascii fullword wide
$ss9 = "write" ascii fullword wide
$ss10 = "open" ascii fullword wide
$ss11 = "read" ascii fullword wide
$ss12 = "execl" ascii fullword wide
$ss13 = "gethostbyname" ascii fullword wide
$ss14 = "connect" ascii fullword wide
condition:
uint32(0) == 0x464c457f and 1 of ($sb*) and 10 of ($ss*)
}

Detekcja:

FILE: /root/tsh/tshd SCORE: 70 TYPE: ELF SIZE: 63720
FIRST_BYTES: 7f454c4602010100000000000000000003003e00 / 
MD5: 9cbfbbd7a5df3fb77d110062a905b90d
SHA1: f361a0398992624eb000ebabc09ca875ed57a269
SHA256: 1f889871263bd6cdad8f3d4d5fc58b4a32669b944d3ed0860730374bb87d730a 
CREATED: Thu Feb  2 19:33:12 2023 
MODIFIED: Thu Feb  2 19:33:12 2023 
ACCESSED: Thu Feb  2 20:02:28 2023
REASON_1: Yara Rule MATCH: TINYSHELL SUBSCORE: 70
DESCRIPTION: not set REF: - AUTHOR: Mandiant
MATCHES: 
Str1: c60048c6400549c6400149c640064cc6400253c6400745c6400354c640083dc6400446c6400900 
Str2: c60054c640034dc6400145c640043dc6400252 

Więcej informacji: Trellix Insights: UNC2891 performing unauthorized cash withdrawals

Ograniczanie logów pojawiających się na konsoli serwera

22/01/2023 w Administracja, Bezpieczeństwo Możliwość komentowania Ograniczanie logów pojawiających się na konsoli serwera została wyłączona

Wiadomości jądra Linux po starcie systemu powinny być dostępne tylko dla administratora. To samo tyczy się jego wskaźników. Analogicznie możemy postąpić z logami jądra, które są wyświetlane na konsoli podczas i po starcie serwera. Za ich wyświetlanie odpowiedzialna jest jedna z najbardziej znanych funkcji z interfejsu jądra Linuksa – printk(). Jest to standardowe narzędzie, które służy do wyświetlania wiadomości i zazwyczaj najbardziej podstawowy sposób na śledzenie i debugowanie kodu jądra. Jeśli jesteśmy zaznajomieni z printf(3) to można powiedzieć, że printk() jest na nim oparty, chociaż ma pewne funkcjonalne różnice: jego komunikaty mogą zostać określone za pomocą poziomu szczegółowości (na czym się skupimy tutaj) oraz ciąg formatu (ang. format string) – choć w dużej mierze zgodny z C99, nie podąża dokładnie za tą samą specyfikacją.
[ czytaj całość… ]

Obejście polecenia sudoedit w sudo <= 1.9.12p1 (CVE-2023-22809)

19/01/2023 w Bezpieczeństwo Możliwość komentowania Obejście polecenia sudoedit w sudo <= 1.9.12p1 (CVE-2023-22809) została wyłączona

M

atthieu Barjole oraz Victor Cutillas z Synacktiv zgłosili podatność w sudoedit (sudo -e), która pozwala złośliwemu użytkownikowi z uprawnieniami sudoedit na edycję dowolnych plików. Podatność dotyczy wersji sudo od 1.8.0 do 1.9.12p1 włącznie. Wersje sudo sprzed wydania 1.8.0 konstruują wektor argumentów w inny sposób i nie są dotknięte tym błędem. Przypomnijmy, że sudo (su “do”) to najpopularniejszy program w systemach Linux, który pozwala administratorowi systemu delegować uprawnienia wybranym użytkownikom (lub grupom użytkowników) dając im możliwość uruchamiania niektórych (lub wszystkich) poleceń jako administrator (root) lub inny użytkownik, zapewniając jednocześnie ścieżkę audytu poleceń i ich argumentów.
[ czytaj całość… ]