NFsec Logo

Utrzymanie stałego dostępu poprzez menedżery pakietów Linuksa

13/04/2021 w Bezpieczeństwo, Pen Test Możliwość komentowania Utrzymanie stałego dostępu poprzez menedżery pakietów Linuksa została wyłączona

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

Hartowanie dystrybucji Debian oraz RedHat

07/04/2021 w Bezpieczeństwo Możliwość komentowania Hartowanie dystrybucji Debian oraz RedHat została wyłączona

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.

Logujemy logowania i nie tylko cz.III – sshrc

05/04/2021 w Bezpieczeństwo Możliwość komentowania Logujemy logowania i nie tylko cz.III – sshrc została wyłączona

J

eśli w katalogu domowym użytkownika istnieje plik ~/.ssh/rcsh(1) uruchomi go po przeczytaniu plików środowiskowych, ale przed uruchomieniem powłoki lub polecenia użytkownika (nawet jeśli wyłączymy alokację TTY). Plik ten nie może generować żadnych danych na standardowy strumień wyjścia (stdout); zamiast tego należy użyć standardowego strumienia błędów (stderr). Przykład:
[ czytaj całość… ]

Do kogo należy prywatny klucz SSH?

26/03/2021 w Hacks & Scripts Możliwość komentowania Do kogo należy prywatny klucz SSH? została wyłączona

Znalazłeś w repozytorium X prywatny klucz SSH i chciałbyś się dowiedzieć do kogo należy? Nic prostszego:

ssh -i znajda.key git@github.com
Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
PTY allocation request failed on channel 0
Hi nfsec! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

Działa również z gitlab.com, bitbucket.org i zapewne innymi.

Więcej informacji: GNU/JUSTIN

Badanie szkodliwych procesów za pomocą deskryptorów plików

22/03/2021 w Bezpieczeństwo Możliwość komentowania Badanie szkodliwych procesów za pomocą deskryptorów plików została wyłączona

O

d samego początku Uniksa (na którym oparty jest Linux) wszystko jest plikiem. Możemy spierać się o szczegóły, ale w większości przypadków jest to prawda. W dodatku w systemach Unix i pokrewnych systemach operacyjnych istnieje taki obiekt, jak deskryptor pliku (ang. file descriptorFD, rzadziej fildes), który jest abstrakcyjnym wskaźnikiem / uchwytem (ang. handle) używanym do uzyskiwania dostępu do pliku lub innego zasobu wejścia / wyjścia, takiego jak potok (ang. pipe) lub gniazdo sieciowe (ang. network socket). Deskryptory plików stanowią część interfejsu programowania aplikacji POSIX – są nieujemną liczbą całkowitą, zwykle reprezentowaną w języku programowania C jako typ int (ang. integer) (wartości ujemne są zarezerwowane, aby wskazać „brak wartości” lub stan błędu).
[ czytaj całość… ]

Podsumowanie ucieczek z sudo: GTFOBins (skaner)

14/03/2021 w Bezpieczeństwo Możliwość komentowania Podsumowanie ucieczek z sudo: GTFOBins (skaner) została wyłączona

Jest to ostatni wpis odnośnie ucieczek (1, 2, 3, 4) z sudo. Aktywnie utrzymywana, wyselekcjonowanych plików binarnych oraz skryptów Linuksa, których można użyć do ominięcia lokalnych ograniczeń bezpieczeństwa w źle skonfigurowanych systemach jest zawarta w projekcie GTFOBins (alternatywa dla systemu Windows to LOLBAS). Projekt gromadzi wykorzystanie zaimplementowanych funkcjonalności *niksowych plików binarnych, które mogą być wykorzystane do wyłamywania się z ograniczeń powłok, poleceń sudo, eskalacji uprawnień, czytania zastrzeżonych plików, czy uruchamiania powłok zwrotnych. Należy mieć na uwadze, że nie jest to lista eksploitów, a programy wymienione w GTFOBins same w sobie nie są podatne na ataki. Raczej projekt ten jest kompendium wiedzy o tym, jak wykorzystać je jeśli, któreś z nich uruchamiane jest z prawami administratora lub w ograniczonych środowiskach / powłokach.
[ czytaj całość… ]

Lepszy reverse shell z rlwrap i nie tylko

10/03/2021 w Administracja Możliwość komentowania Lepszy reverse shell z rlwrap i nie tylko została wyłączona

r

lWrap jest opakowaniem biblioteki readline umożliwiającym edycję danych wejściowych z klawiatury dla dowolnego polecenia; zapewnia również mechanizm historii, który jest bardzo przydatny do poprawiania lub ponownego wykorzystywania poleceń. Program ten można wykorzystać wszędzie tam, gdzie interfejs wiersza poleceń danego narzędzia nie umożliwia takich czynności. W dodatku, jeśli posiadamy wolne połączenia z daną siecią, gdzie każde naciśnięcie klawisza jest przesyłane jedno po drugim w zauważalnej pauzie, a każda literówka staje się o wiele bardziej frustrująca i czasochłonna dla nas – rlwrap również sprawdza się w tej sytuacji, ponieważ buforuje wszystkie pojedyncze naciśnięcia klawiszy do momentu naciśnięcia klawisza [Enter], a następnie przesyła jednocześnie całą wprowadzoną linię tekstu. To znacznie ułatwia pisanie z dużą prędkością i poprawianie literówek.
[ czytaj całość… ]

macOS – Apple Unified Log

05/03/2021 w Techblog Możliwość komentowania macOS – Apple Unified Log została wyłączona

F

irma Apple ogłosiła wprowadzenie formatu AUL (ang. Apple Unified Log) na swojej konferencji dla developerów w 2016 roku – WWDC. Przed AUL system macOS opierał się na tradycyjnych formatach rejestrowania systemu Unix, takich jak syslog lub własnym – Apple System Log (ASL). Jednak Apple doszło do wniosku, że potrzebuje jednego, znormalizowanego formatu rejestrowania na platformach macOS, iOS, tvOS i watchOS. Zmiana została wprowadzona od wersji macOS 10.12 Sierra. Format cały czas poddawany jest ewolucji np. liczba zdefiniowanych logowanych pól od czasu wydania Sierry do Cataliny (10.15) wzrosła z 16 do 27. W formacie AUL firma Apple poprawiła kompresję logowanych danych, przechodząc do formatu binarnego, co pozwala na zmaksymalizowanie gromadzenia dużej ilości informacji przy jednoczesnym zminimalizowaniu efektu obserwatora.
[ czytaj całość… ]

Prawie niewidzialne SSH

25/02/2021 w Hacks & Scripts Możliwość komentowania Prawie niewidzialne SSH została wyłączona

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -T agresor@192.168.1.1 \
"bash -i"

Jeśli w ten sposób połączymy się z wybranym serwerem przez SSH, to nasz użytkownik nie zostanie dodany do pliku /var/log/utmp i nie pojawi się w poleceniu who (zalogowanych użytkowników). Pominie również takie pliki, jak .profile oraz .bash_profile, a po stronie klienta nie zarejestruje nazwy hosta zapisując go do pliku ~/.ssh/known_hosts:

agresor@darkstar:~$ w
w
 22:44:35 up 11 min,  1 user,  load average: 0.05, 0.03, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                22:37    5:15   0.04s  0.03s -bash
agresor@darkstar:~$ who
who
root    tty1         2021-02-25 22:37

Prawie niewidzialne SSH, ponieważ połączenie sieciowe nadal widnieje w systemie:

agresor@darkstar:~$ ss -t
ss -t
State   Recv-Q   Send-Q     Local Address:Port     Peer Address:Port   Process
ESTAB   0        0           192.168.56.2:ssh      192.168.56.1:49998

Więcej informacji: man ssh

Wykrywanie szkodliwego oprogramowania stworzonego przez memfd_create()

20/02/2021 w Bezpieczeństwo Możliwość komentowania Wykrywanie szkodliwego oprogramowania stworzonego przez memfd_create() została wyłączona

Z

memfd_create() spotkaliśmy się przy okazji omawiania obchodzenia flagi montowania noexec. Nie jest to jedyny przypadek, gdzie pomysł bezplikowej metody jest stosowany. Złośliwe oprogramowanie również stosuje bezplikową technikę do wstrzykiwania się w ramach działającego systemu Linux, aby nie pozostawić żadnych śladów na dysku. Przypomnijmy szybko, co robi wywołanie memfd_create(): pozwala na utworzenie pliku, który rezyduje w części pamięci RAM. Strona manualna opisuje to jako:
[ czytaj całość… ]