NFsec Logo

Czysta funkcja bash do pobierania i uruchamiania ładunków

28/11/2023 w Pen Test Możliwość komentowania Czysta funkcja bash do pobierania i uruchamiania ładunków została wyłączona

C

zy do pobrania pliku z internetu za pomocą protokołu http jest potrzebne inne narzędzie (np. curl) niż powłoka bash? Czy możemy napisać taką funkcję, która przyjmie adres nie związany z typowym ciągiem URL, aby nie budzić różnych systemów? Spróbujmy odpowiedzieć na te pytania. Zacznijmy od przekazania argumentu, który określi z jakiego adresu plik ma być pobrany. Naszym ciągiem tekstowym będzie: “stardust.nfsec.pl+80+payload.sh“, czyli separatorem zmiennych będzie znak “+”. W powłoce bash istnieje specjalna zmienna o nazwie Internal Field Separator (IFS), za pomocą której możemy zdefiniować separator dla polecenia read. Polecenie to może przypisać kilka zmiennych na raz, jeśli przekażemy mu dane wejściowe za pomocą metody Here Strings (podobnej do Here Documents). Czyli nasza pierwsza linia będzie miała postać:
[ czytaj całość… ]

KASAN – odkrywa nową podatność w jądrze od 2.6 do 4.20

20/02/2019 w Bezpieczeństwo Możliwość komentowania KASAN – odkrywa nową podatność w jądrze od 2.6 do 4.20 została wyłączona

K

ASAN (The Kernel Address Sanitizer) – wykrywający błędy pamięci dynamicznej w kodzie jądra Linuksa właśnie odkrył nową lukę typu: use-after-free (użycia po zwolnieniu pamięci), która pojawiła się od wczesnych wersji jądra Linux 2.6. KASAN (wraz z innymi środkami do sanityzacji) okazał się dość cenny w wykrywaniu różnych błędów w programowaniu zanim zostaną wykorzystane w rzeczywistym świecie. Tym razem padło na odkrycie: CVE-2019-8912. W kodzie podsystemu sieciowego sockfs wykrył podatność use-after-free, która może doprowadzić do wykonania dowolnego kodu (ang. arbitrary code execution). Problem został zgłoszony w zeszłym tygodniu przez inżyniera Huawei i wkrótce po tym został naprawiony. Wydanie jądra Linuksa w wersji 4.20.11 nie wydaje się jeszcze posiadać tej poprawki, ale wkrótce powinna pojawić się w różnych stabilnych / długoterminowych gałęziach.
[ czytaj całość… ]

Błędy w weryfikatorze BPF pozwalają na wykonanie dowolnego kodu w jądrze

22/12/2017 w Bezpieczeństwo Możliwość komentowania Błędy w weryfikatorze BPF pozwalają na wykonanie dowolnego kodu w jądrze została wyłączona

J

ądro Linuksa zbudowane ze wsparciem wywołania systemowego bpf(2) (CONFIG_BPF_SYSCALL) podatne jest na uzyskanie dostępu do odczytu i zapisu przestrzeni adresowej jądra. Do błędu może dojść, gdy użytkownik systemu uruchomi szkodliwy program BPF powodujący błędy obliczeń w module weryfikatora (funkcja check_alu_op) Berkeley Packet Filter. Tym samym nieuprawniony użytkownik może wykorzystać tę lukę do eskalacji swoich uprawnień w systemie. Podatne są wersje jądra od 4.9 do 4.14.8. Ograniczenie luki jest możliwe poprzez ustawienie opcji w sysctl:

echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled

lub

sysctl -w kernel.unprivileged_bpf_disabled=1
echo kernel.unprivileged_bpf_disabled=1 | \
tee /etc/sysctl.d/90-CVE-2017-16995-CVE-2017-16996.conf

Spowoduje ona zablokowanie dostępu do wywołania bpf() dla nieuprawnionych użytkowników (ponowne jej wyłączenie wymagać będzie restartu systemu).

Więcej informacji: Unprivileged bpf(), Debian, RedHat/CentOS, Ubuntu

SMBLoris

04/08/2017 w Bezpieczeństwo Możliwość komentowania SMBLoris została wyłączona

Podczas studiowania eksploita EternalBlue badacze Sean Dillon oraz Jenna Magius w czerwcu 2017 r. odkryli 20’sto letnią lukę w protokole SMB (ang. Server Message Block), która umożliwia przeprowadzenie ataku odmowy usługi (DoS) poprzez wyczerpanie zasobów pamięci wybranego komputera. Podatne są wszystkie wersje protokołu SMB (1,2 i 3) oraz systemy Windows 10 aż do wersji 2000 (patrząc wstecz od najnowszej wersji).
[ czytaj całość… ]

Kernel Address Space Layout Randomization

18/07/2017 w Bezpieczeństwo Możliwość komentowania Kernel Address Space Layout Randomization została wyłączona

J

ak zostało to wspomniane we wcześniejszym wpisie – w wersji Linuksa v3.14 został wprowadzony mechanizm Kernel Address Space Layout Randomization. Wiele dystrybucji od jakiegoś czasu i tak zdecydowało o włączeniu KASLR dlatego od wersji v4.12 jądra Ingo Molnar podjął decyzję o jego aktywacji w standardowej konfiguracji. Oznacza to, że kod jądra będzie losowo umieszczany w pamięci RAM przy każdym starcie systemu:

# 1'wsze uruchomienie
root@darkstar:~# cat /proc/kallsyms | grep ' commit_creds\| prepare_kernel'
ffffffff8109eb60 T commit_creds
ffffffff8109ee40 T prepare_kernel_cred
# 2'gie uruchomienie
root@darkstar:~# cat /proc/kallsyms | grep ' commit_creds\| prepare_kernel'
ffffffffaa0a3bd0 T commit_creds
ffffffffaa0a3fc0 T prepare_kernel_cred

Na temat efektywności tego rozwiązania wypowiedział się Brad Spengler z PaX Team. Warto również zapoznać się z prezentacją Black Hat – “Breaking Kernel Address Space Layout Randomization (KASLR) With Intel TSX”. Dlatego rozwiązanie to należy traktować jako jedną z wielu warstw do ochrony systemu.

Więcej informacji: Kernel address space layout randomization

mimipenguin

03/04/2017 w Hacks & Scripts Możliwość komentowania mimipenguin została wyłączona

H

unter Gregal napisał proste narządzie do zrzucania haseł użytych w sesji logowania bieżącego użytkownika na stacji roboczej Linuksa. Skrypt był wzorowany na podstawie popularnego narzędzia dla systemu Windows o nazwie mimikatz. Wykorzystuje on zapisane czystym tekstem dane uwierzytelniające, które są zrzucane razem z pamięcią procesu. Plik z zawartością pamięci jest później przeszukiwany pod kątem linii, które mają wysokie prawdopodobieństwo przechowywania haseł.

Więcej informacji: mimipenguin

Odczytywanie stanu pamięci w systemie

21/07/2016 w Administracja 1 komentarz.

W

większości przypadków systemy Linuksowe dobrze radzą sobie z obsługą pamięci. Istnieje zawsze ryzyko, że niektóre programy wymkną się spod kontroli i przydzielą sobie więcej pamięci niż jest normalnie możliwe i wejdą w strefę pliku wymiany. W takich sytuacjach można zaobserwować znaczne spowolnienie systemu (chyba, że używamy dysków SSD dla swap), a sprawdzenie dostępnej pamięci będzie prawdopodobnie pierwszą rzeczą jakiej należy się przyjrzeć.
[ czytaj całość… ]