NFsec Logo

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.

Opóźnienia zapisu na dysku, a pamięć cache kontrolera i dysku

19/12/2017 w Administracja Możliwość komentowania Opóźnienia zapisu na dysku, a pamięć cache kontrolera i dysku została wyłączona

J

eśli planujemy użycie wbudowanego lub zewnętrznego kontrolera dysków warto upewnić się, że jest on wyposażony w pamięć podręczną. Ma to szczególne znaczenie w przypadku wykorzystania tradycyjnych dysków magnetycznych. Dlaczego? Ponieważ wykorzystując pamięć cache kontrolera, jak i dysków możemy znacznie przyśpieszyć opóźnienia operacji zapisu (obrazek #1 – włączenie pamięci cache). Na zaprezentowanym przykładzie włączono pamięć cache dla kontrolera Perc H730 mini za pomocą MegaCLI:

setarch x86_64 --uname-2.6 MegaCli64 -LDSetProp -EnDskCache -LAll -aAll;
setarch x86_64 --uname-2.6 MegaCli64 -LDSetProp -Cached -Immediate -Lall -aAll;
setarch x86_64 --uname-2.6 MegaCli64 -LDSetProp -WB -Immediate -Lall -aAll;
setarch x86_64 --uname-2.6 MegaCli64 -LDSetProp -ADRA -Immediate -Lall -aAll;

Jeśli nasze serwery stanowią klaster, który utrzymuje replikację danych pomiędzy różnymi węzłami – możemy także skonfigurować kontroler, aby podtrzymywał politykę wykorzystania pamięci cache nawet w przypadku utraty sprawności baterii BBU (ang. battery backup unit). Lepiej monitorować jej status i wymienić ją w dogodnym technicznie czasie niż niespodziewanie zaobserwować spadek wydajności jednego z serwerów.

Więcej informacji: Zarządzanie kontrolerem RAID firmy LSI poprzez MegaCli, Konserwacja battery backup unit (BBU/BBM) kontrolera RAID

Ukryty wymiar praw dostępu

24/08/2017 w Administracja, Bezpieczeństwo Możliwość komentowania Ukryty wymiar praw dostępu została wyłączona

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ść… ]