Napisał: Patryk Krawaczyński
15/06/2020 w Bezpieczeństwo
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.
Napisał: Patryk Krawaczyński
10/04/2020 w Bezpieczeństwo
A
ppArmor to system obowiązkowej kontroli dostępu (ang. Mandatory Access Control – MAC), który jest rozszerzeniem jądra (ang. Linux Security Modules – LSM) w celu ograniczenia programów do określonego zestawu zasobów. Model bezpieczeństwa AppArmor polega na przywiązywaniu atrybutów kontroli dostępów z programami, a nie z użytkownikami. Ograniczenia są obsługiwane za pomocą profili ładowanych do jądra – najczęściej podczas rozruchu systemu. Profile posiadają zazwyczaj dwa tryby pracy: egzekwowania (ang. enforcement) oraz uskarżania (ang. complain). Profile załadowane w trybie egzekwowania zasad spowodują wymuszanie ograniczeń zdefiniowanych w profilu, a także zgłaszanie prób ich naruszenia za pomocą daemona syslog lub auditd. Profile w trybie składania skarg nie będą egzekwować zasad tylko raportować próby ich naruszenia. Istnieje jeszcze trzeci tryb – audytu (ang. audit), w którym logowane są wszystkie sukcesy i niepowodzenia stosowania zasad z profilu.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
24/08/2017 w Administracja, Bezpieczeństwo
P
otężny administrator systemu postanowił stworzyć bramę do ukrytego wymiaru. Dla niepoznaki zrobił to w katalogu domowym zwykłego użytkownika. By chronić portal przed różnymi daemonami rzucił na niego zaklęcie zdejmujące wszystkie prawa dostępu:
:~# bash -c "echo 'Niedostrzegalne barwy - czarne wodospady' > \
/home/agresor/ukryty_wymiar"
:~# chmod 0000 /home/agresor/ukryty_wymiar
Podczas powrotu do swojego katalogu ($HOME
) użytkownik zauważył dziwne wrota:
agresor@darkstar:~$ ls -lah ukryty_wymiar
---------- 1 root root 39 Aug 24 21:01 ukryty_wymiar
Dookoła nich krążyły już Kerberos, Sphinx oraz sam Dracula. Widząc to, w użytkowniku wezbrał niepohamowany gniew, który przekształcił w ukrytą moc zniszczenia. Użytkownik wiedział, że bez księgi sudo nie jest w stanie zniszczyć portalu potężnego administratora, ale postanowił chociaż spróbować:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
12/10/2016 w Bezpieczeństwo, Pen Test
P
o pierwsze ten artykuł nie ma nic wspólnego z współczesnymi technikami hackingu jak obejście ASLR, eksploracją ROP, zdalnym 0day lub łańcuchem 14 różnych błędów, aby złamać Chrome. Nic z tych rzeczy. Omówimy jednak jedną technikę hackingu starej szkoły Uniksa, która działa nawet w dzisiejszych czasach. Technikę, o której (ku mojemu zdziwieniu) wiele osób związanych z bezpieczeństwem nigdy nie słyszało. Prawdopodobnie dlatego, że nikt wcześniej tak naprawdę o niej nie mówił. Dlatego postanowiłem opisać ten temat bo jest on dla mnie osobiście całkiem zabawny, aby przekonać się, co można zrobić za pomocą prostych sztuczek zatrucia wildcardów w Uniksie. Więc w dalszej części możnemy spodziewać się zbioru schludnych hacków na ten temat. Jeśli zastanawiasz się, jak podstawowe narzędzia Uniksa, jak “tar” lub “chown” mogą doprowadzić do kompromitacji systemu – czytaj dalej.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
21/04/2012 w Administracja
J
ak w “szybki i brudny” sposób odczytać z powłoki bash prawa dostępu do kilku plików prezentując je w sposób dziesiętny? Możemy do tego wykorzystać polecenie: stat i jego parametr -c, który pozwala na sformatowanie informacji wyjściowych:
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
18/10/2010 w Hacks & Scripts
P
rzy bardzo rozbudowanym drzewie katalogów, do którego wgrywane są coraz to nowsze obiekty – mogą występować do nich różne prawa dostępu. Jeśli drzewo to jest na tyle rozbudowane, że zajmuje już kilkadziesiąt giga – utrzymanie porządku możliwe jest poprzez masową zmianę praw dostępu do plików i katalogów.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
26/09/2009 w Bezpieczeństwo
A
dministrator systemu dysponuje kontem o nazwie root, posiadającym wszelkie uprawnienia i możliwość kontroli plików, katalogów, kont użytkowników i sieci. Zarządza on kontami poszczególnych użytkowników, grupami roboczymi i systemem plików. Każde konto otrzymuje swoje uprawnienia – oddzielną nazwę, oddzielne hasło, oddzielnie definiowany dostęp do plików i usług.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
07/07/2009 w Bezpieczeństwo
W
systemie Slackware znajduje się pakiet slocate (Secure Locate – sekcja A/), który umożliwia wyszukiwanie dowolnej nazwy pliku w okresowo aktualizowanej bazie danych. W dodatku przed wyświetleniem wyników program sprawdza właściciela oraz dostęp do danego pliku, by użytkownicy nie mający do nich żadnych praw nie otrzymali informacji na temat ich lokalizacji.
[ czytaj całość… ]
Ostatni komentarz :