NFsec Logo

Ataki na systemy statystyczne za pomocą HTTP Referer Spoofing

02/08/2020 w Ataki Internetowe Możliwość komentowania Ataki na systemy statystyczne za pomocą HTTP Referer Spoofing została wyłączona

Pierwszy raz z opisem ataku HTTP Referer Spoofing spotkałem się w 2008 roku na łamach magazynu Linux+. Paweł Szcześniak opisał, jak za pomocą tej metody możemy wstrzykiwać odnośniki do agresywnej strony w innych systemach statystycznych w celu zwiększenia pozycji SEO – z oryginałem publikacji, który został udostępniony za darmo przez wydawcę możemy zapoznać się tutaj. Rozważmy teraz, jakie inne konsekwencje może nam przynieść taki atak – oraz czy istnieje możliwość jego dostosowania do dzisiejszych systemów statystycznych.
[ czytaj całość… ]

1001 Pen Test oraz Bug Bounty Tips & Tricks #5 – favicon.ico

14/07/2020 w Pen Test Możliwość komentowania 1001 Pen Test oraz Bug Bounty Tips & Tricks #5 – favicon.ico została wyłączona

Ooprócz zewnętrznych serwisów, wpisów DNS, certyfikatów dla domen – istnieje jeszcze jeden zasób identyfikujący wspólne cechy: domen (firm) i webaplikacji – jest to ulubiona ikonka (ang. favicon.ico). Bardzo dużo firm posiada unikalne loga, które są pomniejszane do ikonek i wyświetlane przy pasku adresu / zakładkach przeglądarki. Zazwyczaj możemy znaleźć je pod adresem: http://domena/favicon.ico chyba, że odpowiednimi tagami HTML wskażemy przeglądarce inną lokalizację. Bardzo wiele z tych ikonek jest unikalnych dla wybranych domen (firm) oraz webaplikacji. Dzięki tej zależności możemy przeszukiwać internet w celu namierzania różnych zasobów powiązanych z daną ikonką.
[ czytaj całość… ]

Obsługa DoH w Mikrotik

02/07/2020 w Techblog Możliwość komentowania Obsługa DoH w Mikrotik została wyłączona

W wersji RouterOS 6.47 zostało dodane wsparcie DNS over HTTPS (RFC8484), czyli wykonywanie zapytań DNS przez protokół HTTPS. Jeśli używamy wybranego modelu w naszej sieci domowej (przykład był testowany na RB951Ui-2HnD) warto rozważyć podniesienie RouterBOARD do wydania wypuszczonego 2 czerwca 2020 r. Pierwszym krokiem jest ściągnięcie i import bazy urzędów (CA):

/tool fetch url=https://curl.haxx.se/ca/cacert.pem
/certificate import file-name=cacert.pem passphrase=""

Następnie dodajemy statyczne wpisy DNS, które umożliwią komunikację z serwerem DoH:

/ip dns static add name="cloudflare-dns.com" type=A address="104.16.248.249"
/ip dns static add name="cloudflare-dns.com" type=A address="104.16.249.249"

Czyścimy aktualnie używane serwery DNS:

/ip dns set servers=""

Ustawiamy serwer DoH:

/ip dns set use-doh-server="https://cloudflare-dns.com/dns-query"
/ip dns set verify-doh-cert=yes

Czyścimy dotychczasową pamięć cache:

/ip dns cache flush

Teraz możemy wejść na stronę: 1.1.1.1/help i sprawdzić, czy komunikat Using DNS over HTTPS (DoH) posiada wartość Yes. Analogicznie możemy ustawić inne serwery DoH np. https://dns.google/dns-query, https://dns.quad9.net/dns-query, https://mozilla.cloudflare-dns.com/dns-query.

esDNSGrep – szybkie wyszukiwanie dużych zestawów danych DNS

30/06/2020 w Pen Test Możliwość komentowania esDNSGrep – szybkie wyszukiwanie dużych zestawów danych DNS została wyłączona

Zestaw danych projektu Sonar Rapid7 to niesamowite zasoby wiedzy. Są w nich zawarte wyniki skanowania internetu w skompresowanej i łatwej do pobrania formie. W tym wpisie skupimy się na dwóch rodzajach danych: Reverse DNS (RDNS) (czyli rekordy PTR) oraz Forward DNS (FDNS) (czyli rekordy: ANY, A, AAAA, TXT, MX oraz CNAME). Niestety praca z surowymi zestawami danych może być nieco wolniejsza, ponieważ pakiety rekordów RDNS oraz FDNS zawierają kilkanaście GB skompresowanego tekstu. Przeszukiwanie takich dużych plików może zajmować kilkanaście lub więcej minut dla pojedynczych kwerend. Możemy przyśpieszyć taką operację poprzez wykorzystanie wyszukiwania binarnego na odpowiednio posortowanych danych – lub wykorzystać do tego rodzaju operacji systemy wręcz stworzone do przechowywania i przeszukiwania tego rodzaju rekordów.
[ czytaj całość… ]

Wyciąganie adresów URL z plików JavaScript

26/06/2020 w CmdLineFu Możliwość komentowania Wyciąganie adresów URL z plików JavaScript została wyłączona

for i in `curl -s https://adres.pl | grep -Eo \
"(http|https)://[a-zA-Z0-9./?=_-]*\.js"`;
do curl -s $i &> /dev/stdout | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*"*; done

Obchodzenie wymogu logowania serwisu instagram.com

21/06/2020 w Techblog Możliwość komentowania Obchodzenie wymogu logowania serwisu instagram.com została wyłączona

S

erwis instagram jakiś czas temu wprowadził wymóg logowania po przeglądnięciu kilku zdjęć. Znajomy poprosił mnie o zbadanie, czy istnieją istnieją alternatywne metody, aby ominąć tą restrykcję. Najszybszym i najprostszym sposobem jest wykorzystanie serwisu ImgInn, który wykorzystuje API serwisu instagram. Wystarczy adres w postaci: https://instagram/mike.wazowski zamienić na: https://imginn.com/mike.wazowski, co daje nam pełen dostęp do obrazów z danego profilu z możliwością ich ściągnięcia. Serwis ten umożliwia również usuwanie danych wybranych kont – dlatego jeśli nie możemy wykonać podglądu z tej pozycji pozostaje nam dodanie własnego filtru do dodatku uBlock Origin:

instagram.com##._Yhr4.RnEpo
instagram.com##body:style(overflow:visible !important;)

lub ręcznie za pomocą “Narzędzi programistycznych” (F12 w przeglądarce) zmieniamy kod HTML z:

<body class style="overflow: hidden;">

na:

<body class style="overflow: visible;">

oraz wyszukujemy element HTML div z frazą "_Yhr4" w nazwie klasy i go cały usuwamy. Od tej chwili możemy swobodnie przewijać stronę, ale niestety nie możemy powiększać obrazów poprzez klikanie na nie. Dla rozwiązania tego problemu użyjemy stałego skrótu URL. Wystarczy skopiować adres dowolnego obrazka np.:

https://www.instagram.com/p/wWwNfseCwPl/

i dodać do niego frazę: /media/?size=l, czyli:

https://www.instagram.com/p/wWwNfseCwPl/media/?size=l

Więcej informacji: Wątek na Twitterze

Odzyskiwanie skasowanej binarki z aktywnego procesu szkodliwego oprogramowania

17/06/2020 w Bezpieczeństwo Możliwość komentowania Odzyskiwanie skasowanej binarki z aktywnego procesu szkodliwego oprogramowania została wyłączona

S

zkodliwe oprogramowanie na systemach Linux bardzo często usuwa swoje pliki binarne po uruchomieniu. Ma to na celu oszukanie skanerów oraz systemów kontroli integralności, które bazują na analizie plików. Dla przykładu takiego zachowania posłużymy się kopią polecenia sleep:

cd /tmp
cp /bin/sleep x
./x 3600 &
rm x

Możemy teraz sprawdzić, czy rzeczywiście plik już nie istnieje:

root@darkstar:~# ls -al /tmp/x
ls: cannot access /tmp/x: No such file or directory

Spójrzmy teraz na listę procesów:

root      1437  0.0  0.0   6176   780 pts/1    S    21:11   0:00 ./x 3600

Idąc tropem PID możemy sprawdzić informacje w /proc

root@darkstar:/tmp# ls -al /proc/1437/exe
lrwxrwxrwx 1 root root 0 Jun 17 21:15 /proc/1437/exe -> '/tmp/x (deleted)'

System pokazuje nam skasowany obiekt w podanej ścieżce, ale system plików Linuksa tak naprawdę nie usunie tego pliku, dopóki uruchomiony proces ma go w stanie otwartym. Plik tam jest, ale po prostu nie jest nam pokazywany. Link symboliczny /proc/1437/exe z łatwością jest nam w stanie dostarczyć plik binarny, który uruchomił dany proces. Po prostu możemy go skopiować w dowolne miejsce, aby poddać go dalszej analizie:

root@darkstar:/tmp# cp /proc/1437/exe /tmp/y
root@darkstar:/tmp# sha1sum /tmp/y
bebcce23072c4d831ce8e2822a0858d6aa813067  /tmp/y
root@darkstar:/tmp# sha1sum /bin/sleep
bebcce23072c4d831ce8e2822a0858d6aa813067  /bin/sleep

Więcej informacji: How To Recover A Deleted Binary From Active Linux Malware

Złudne bezpieczeństwo na systemie stacjonarnym

15/06/2020 w Bezpieczeństwo Możliwość komentowania Złudne bezpieczeństwo na systemie stacjonarnym została wyłączona

C

zasami użytkownicy systemów stacjonarnych wychodzą z błędnego założenia, że jeśli dla kluczowych plików (typu: .bashrc, .bash_profile, .profile) w swoim katalogu domowym zmienią właściciela na administratora (root) – będzie to znaczne utrudnienie dla atakującego, aby zmusić użytkownika do uruchomienia szkodliwego skryptu lub pliku, a tym samym osiągnąć eskalację uprawnień na systemie. Nic bardziej mylnego. Należy pamiętać, że jeśli nasz użytkownik posiada prawa zapisu do katalogu, w którym znajdują się pliki nie z jego prawami to nadal może je usunąć:

agresor@darkstar:~$ ls -la
total 36
drwxr-xr-x 5 agresor agresor 4096 Jun 14 21:09 .
drwxr-xr-x 3 root    root    4096 Dec  1  2019 ..
-rw------- 1 agresor agresor 2214 Jun 14 20:59 .bash_history
-rw-r--r-- 1 root    root     220 Apr  4  2018 .bash_logout
-rw-r--r-- 1 root    root    3771 Apr  4  2018 .bashrc
drwx------ 2 agresor agresor 4096 Dec  1  2019 .cache
drwx------ 3 agresor agresor 4096 Dec  1  2019 .gnupg
drwxrwxr-x 3 agresor agresor 4096 Dec  6  2019 .local
-rw-r--r-- 1 agresor agresor  807 Apr  4  2018 .profile
-rw-r--r-- 1 agresor agresor    0 Dec  1  2019 .sudo_as_admin_successful
agresor@darkstar:~$ chmod 777 .bashrc
chmod: changing permissions of '.bashrc': Operation not permitted
agresor@darkstar:~$ echo "# Malware code" >> .bashrc
-bash: .bashrc: Permission denied
agresor@darkstar:~$ cat .bashrc > /tmp/foo && rm -f .bashrc && cat /tmp/foo > .bashrc
agresor@darkstar:~$ echo "# Malware code" >> .bashrc
agresor@darkstar:~$ tail -1 .bashrc
# Malware code

Dlatego jeśli dojdzie do sytuacji, w której dana aplikacja pozwoli na wykonanie polecenia na systemie – ochrona plików poprzez zmianę ich właściciela będzie nieskuteczna – ze względu na możliwość ich usunięcia i odtworzenia pierwotnego właścicielstwa. W celu umożliwienia takiego “zabezpieczenia” należy zmienić właściciela katalogu $HOME na konto administratora oraz nadanie bezpiecznego atrybutu tekstu (ang. save-text attribute / sticky bit) na ten katalog – ale taki ruch może mieć jeszcze gorsze konsekwencje niż pozostawienie standardowych uprawnień. Bardziej rozsądnym rozwiązaniem, które nie bazuje na prawach dostępu – jest nałożenie (chattr +i .bashrc) atrybutu niezmienności (ang. immutable) na w/w pliki z poziomu administratora.

Wykrywanie pozorowania procesów jądra za pomocą linii poleceń

06/06/2020 w Bezpieczeństwo Możliwość komentowania Wykrywanie pozorowania procesów jądra za pomocą linii poleceń została wyłączona

W

nawiązaniu do “Ściągawki z informatyki śledczej w wykrywaniu włamań za pomocą linii poleceń Linuksa” dzisiaj zajmiemy się maskowaniem procesów, które czasem jest wykorzystywane przez złośliwe oprogramowanie. Z pomocą ponownie przyjdzie nam magia linii poleceń Linuksa, która umożliwi nam zdemaskowanie prawdziwego intruza w systemie. Na początku odpowiedzmy sobie na pytanie: czym jest maskarada procesów jądra Linux? Otóż w systemie Linux jądro posiada wiele własnych wątków utworzonych w celu ułatwienia wykonywania zadań systemowych. Wątki te mogą służyć do planowania obsługi zadań (ang. scheduling), operacji I/O na urządzeniach blokowych, wykonać transakcje księgowania dla systemów plików, okresowej synchronizacji zmodyfikowanych stron pamięci itd.
[ czytaj całość… ]

TicketTrick w praktyce, czyli przejmowanie Slack zespołu Chromium

24/05/2020 w Bezpieczeństwo Możliwość komentowania TicketTrick w praktyce, czyli przejmowanie Slack zespołu Chromium została wyłączona

J

ak możemy sobie przypomnieć atak typu TicketTrick II polega na wykorzystaniu źle skonfigurowanych grup Google. W celu praktycznego przykładu posłużę się jednym ze zgłoszeń, które powędrowało do zespołu Chromium. Żadne wielkie tajemnice nie zostały poznane, ani żadne wielkie restrykcje nie zostały złamane ponieważ:

To join Chromium’s Slack, the organization or person needs to be listed in Chromium’s AUTHOR file. If you have ever contributed a change or belong to one of the active contributor organizations you will be there. Anyone with a @chromium.org address can join directly. Others will have to follow an invite link that you get by mailing a request to chromium-slack-invites (at) chromium.org.

[ czytaj całość… ]