NFsec Logo

sysdiagnose plus

27/09/2021 w Bezpieczeństwo, Debug Możliwość komentowania sysdiagnose plus została wyłączona

S

ysdiagnose to narzędzie, które znajduje się na większości urządzeń z systemem macOS i iOS. Służy ono do zbierania informacji diagnostycznych dotyczących całego systemu. Obecna wersja – 3.0 zbiera duże ilości danych z szerokiej gamy lokalizacji w systemie. Mogą one być przydatne w informatyce śledczej komputera prowadzonej na żywo. W przypadku poszukiwań złośliwego oprogramowania przechwycone dane mogą pomóc w zidentyfikowaniu zainfekowanego pliku binarnego; mechanizmu persystencji (gdy złośliwe oprogramowanie uzyska dostęp do systemu, często chce zostać tam przez długi czas opracowując metody pozwalające na jego powrót po restarcie systemu; jeśli mechanizm persystencji jest wystarczająco unikalny, może nawet służyć jako świetny sposób na określenie cechy charakterystycznej danego złośliwego oprogramowania) lub połączeń do C2 (serwery Command and Control – nazywane również C&C odnoszą się do sposobu, w jaki atakujący komunikują się i sprawują kontrolę nad zainfekowanym systemem; po zainfekowaniu systemu większość złośliwego oprogramowania komunikuje się z serwerem kontrolowanym przez atakującego, aby przyjmować polecenia, pobierać dodatkowe komponenty lub wykradać informacje).
[ czytaj całość… ]

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

Ostrożnie z edycją skryptów bash

09/05/2020 w Hacks & Scripts Możliwość komentowania Ostrożnie z edycją skryptów bash została wyłączona

P

isząc i uruchamiając skrypty bash lepiej poczekać z ich edycją do czasu aż zakończą swoje działanie. Dlaczego? W naszym ulubionym edytorze stwórzmy prosty skrypt:

#!/bin/bash
sleep 30
#echo "All your base are belong to us!"
echo "Done!"

Jeśli uruchomimy go teraz w jednym oknie terminala to po 30 sekundach powinniśmy otrzymać tylko i wyłącznie komunikat o treści: Done!. Dobrze, a teraz po uruchomieniu go w pierwszym oknie terminala – z poziomu innego okna edytujmy jego zawartość, gdy ten jeszcze nie przekroczył czasu 30 sekund i usuńmy zero (0) z trzydziestki zostawiając samą trójkę (3), czyli finalnie nasz skrypt powinien mieć postać:
[ czytaj całość… ]

Szybsze skanowanie nmap za pomocą parallel

08/03/2020 w Hacks & Scripts Możliwość komentowania Szybsze skanowanie nmap za pomocą parallel została wyłączona

Z

ałóżmy, że posiadamy wiele projektów u publicznego dostawcy chmury obliczeniowej. Jeśli pracują na nich różni użytkownicy może dojść do sytuacji, w której zostanie otwartych zbyt wiele portów do danej usługi. Aby posiadać kontrolę nad tym, co nowego pojawia się w projektach można m.in. systematycznie skanować ich adresy IP. Jednak, aby cały proces nie trwał za długo nawet dla dużej ilości projektów można go zrównoleglić. Na pomoc przychodzi nam już znany parallel. Na początek musimy stworzyć listę projektów w formacie CSV:
[ czytaj całość… ]

Podstawy skryptów shell #5

13/07/2019 w Bezpieczeństwo Możliwość komentowania Podstawy skryptów shell #5 została wyłączona

W

tej części zajmiemy się ścieżkami, do których odwołują się nasze skrypty. Na przykładzie z aktualnie używanego systemu operacyjnego Ubuntu w wersji 18.04.X LTS przeanalizujemy proste błędy, które mogą doprowadzić do innych problemów z działaniem oraz bezpieczeństwem. Pierwszym błędem jest zapisywanie różnych danych do tymczasowych katalogów pod przewidywalnymi nazwami plików. Musimy mieć świadomość, że do tymczasowych katalogów mają dostęp wszyscy użytkownicy systemu – dlatego działanie w ich obrębie musi być bardzo przemyślane w stosunku do danych, jakie chcemy w nich umieszczać (możemy porównać to do tłumu, który patrzy na wszystko, co robimy). Nawet, jeśli chodzi o proste mechanizmy sprawdzające, czy inny proces skrypty już nie jest uruchomiony.
[ czytaj całość… ]

Podstawy skryptów shell #4

30/08/2017 w Bezpieczeństwo Możliwość komentowania Podstawy skryptów shell #4 została wyłączona

W

kolejnej części naszej serii [ 1 ] [ 2 ] [ 3 ] zajmiemy się atakami związanymi z uwierzytelnianiem. Zaczniemy od tezy, że nie należy polegać na skryptach, aby ustalać, czy użytkownik ma lub nie ma uprawnień do danej czynności. Jest to możliwe, jednak istnieją dobre i złe strony takiego rozwiązania. Za przykład posłuży nam skrypt:

#!/bin/bash

if [ $UID = 0 -a $USER = "root" ] ; then
    echo "Jesteś administratorem zapraszam do domu."
    echo $HOME
fi

Kod ten zawiera trzy błędy bezpieczeństwa i wszystkie są spowodowane używaniem zmiennych. Mimo, że bash chroni przed modyfikacją zmienną $UID to już $USER jest niezabezpieczona. No i kto powiedział, że inne powłoki chronią zmienną $UID?

root@darkstar:/home/agresor# ./test.sh
Jesteś administratorem zapraszam do domu.
/root
root@darkstar:~#

Skrypt działa poprawnie dla konta administratora. Przeprowadźmy teraz atak za pomocą zwykłego użytkownika:

agresor@darkstar:~$ ./test.sh
agresor@darkstar:~$ # Niestety nic z tego, ale...
agresor@darkstar:~$ tcsh
darkstar:~> setenv UID 0
darkstar:~> setenv USER root
darkstar:~> setenv HOME /tmp
darkstar:/home/agresor> /bin/bash test.sh
Jesteś administratorem zapraszam do domu.
/tmp

Jeśli ewentualnie chcemy pozyskać informacje o użytkowniku powinniśmy wykorzystać polecenie id:

# Prawdziwy UID
USRUID="$(/usr/bin/id -u -r)"
# Efektywny UID
USEUID="$(/usr/bin/id -u)"
# Nazwa użytkownika
USNUID="$(/usr/bin/id -u -n)"

Na szczęście powyższy skrypt operował tylko wyświetlaniem komunikatów za pomocą echo. W połączeniu z innym możliwym atakiem (wstrzykiwania) można te błędy wykorzystać w bardziej zły sposób.

Więcej informacji: TCSH / CSH Shell Set PATH Variable, Shell Script Security

Ukrywanie szkodliwego kodu w skryptach bash

09/01/2017 w Ataki Internetowe, Bezpieczeństwo Możliwość komentowania Ukrywanie szkodliwego kodu w skryptach bash została wyłączona

Przez przypadek trafiłem na wpis na wykopie. Idąc tym tropem dotarłem do źródła, w którym możemy znaleźć prosty przepis na stworzenie szkodliwego skryptu w powłoce bash, który z pozoru będzie wyglądał normalnie:

$ printf '#!/bin/bash\necho szkodliwy kod!\nexit\n\033[2Aecho cos tam! ...\n' > backdoor.sh
$ chmod +x backdoor.sh
$ cat backdoor.sh
#!/bin/bash
echo cos tam! cos tam!
$ ./backdoor.sh
szkodliwy kod!

Jak to działa? Istnieją specjalne sekwencje znaków, które interpretuje terminal nie wyświetlając ich, ale podejmując daną akcję. Dlaczego takie polecenia, jak: cat, head, tail, more i inne zostają oszukane? Ponieważ sekwencja \033[XA powoduje przesunięcie kursora do góry o X linii nadpisując to, co jest w tej X linii. Przez, co użytkownik widzi zupełnie inny kod niż w rzeczywistości zostanie wykonany. W połączeniu z innymi atakami mogą stanowić kompletny wektor na oszukanie użytkownika sytemu z rodziny *nix.

Więcej informacji: JournalCTL Terminal Escape Injection && Log Injection, Terminal Emulator Security Issues

Wszystko, co chciałbyś wiedzieć o użytkowniku Twittera, ale boisz się zapytać

11/09/2016 w Pen Test Możliwość komentowania Wszystko, co chciałbyś wiedzieć o użytkowniku Twittera, ale boisz się zapytać została wyłączona

T

infoleak jest prostym skryptem napisanym w języku Python, który pozwala na uzyskanie takich informacji o użytkowniku Twittera, jak:

  • podstawowe informacje: nazwę, zdjęcie, lokacje, śledzących itp.,
  • urządzenia oraz systemy operacyjne,
  • aplikacje oraz używane inne media społecznościowe,
  • odwiedzane miejsca oraz dane geolokalizacyjne,
  • analizę hashtagów, wspomnień i wiele innych…

Oczywiście informacje te uzależnione są od ustawień konta, jakie wybrał dany użytkownik Twitter’a. Przejdźmy do procesu instalacji i przykładowego użycia skryptu.
[ czytaj całość… ]

DNS – raport miliona zapytań

12/03/2016 w Bezpieczeństwo 2 komentarze.

P

o napisaniu podstaw bezpieczeństwa DNS zastanawiałem się, jaka jest skala problemu źle skonfigurowanych serwerów, które pozwalają na ściągnięcie całej strefy lub wykonywanie zapytań dowolnemu klientowi. Duch patryjotyzmu namawiał mnie na sprawdzenie TLD .pl, zarządzaną przez NASK. Niestety, jak zawsze polski dwór zakończył nadzieję na czwartej wymianie zdania. Dialog wyglądał tak:

– Czy istnieje możliwość otrzymania od Państwa listy wszystkich dotychczas zarejestrowanych domen .pl?
– NASK nie udostępnia tego typu informacji.
– A orientują się Państwo do jakiego organu można zwrócić się w tej sprawie?
– Te dane posiada tylko NASK.

Nie chciało mi się już próbować, czy aby jednak istnieje taka możliwość poprzez CZDS. Rozważałem już przerzucić się na zagraniczne banany, ale z pomocą przyszedł portal, który stanowi swoiste źródło wiedzy o ruchu w Internecie. Okazuje się, że Alexa bez żadnych zbędnych formalności udostępnia milion najczęściej odwiedzanych stron. To stanowi już jakąś próbkę, którą można poddać testom.
[ czytaj całość… ]

Piszemy skrypty, a raczej scenariusze

02/01/2016 w Administracja Możliwość komentowania Piszemy skrypty, a raczej scenariusze została wyłączona

J

eśli chcemy nagrać interaktywny „film” z sesji, jaką odbyliśmy na naszej konsoli możemy posłużyć się prostym narzędziem script. W celu rozpoczęcia nagrywania wystarczy uruchomić polecenie:

script --timing=sesja1.tim sesja1.log

Odpali to nową powłokę bash i zacznie nagrywać wszystkie nasze polecenia dopóki jej nie opuścimy. Po zakończeniu nagrania możemy je odtworzyć korzystając z polecenia:

scriptreplay sesja1.tim sesja1.log

Istnieje możliwość przyśpieszenia lub zwolnienia szybkości odtwarzania za pomocą dodatkowego parametru. Ctrl+S wstrzymuje odtwarzania, a Ctrl+Q wznawia.

Więcej informacji: Strony manualne dla script(1) oraz scriptreplay(1)