NFsec Logo

Pupilki vs bydło

03/04/2017 w Administracja Możliwość komentowania Pupilki vs bydło została wyłączona

P

upilki – na początku nadajesz im nazwę. Później na tych serwerach instalujesz serwisy. Jeśli któryś zostaje zepsuty lub pojedynczy komponent zawodzi musimy go naprawić. Wymienić dysk twardy, odbudować uszkodzony system pliku i tak długo kontynuować opiekę aż wróci do zdrowia. Później pozostaje standardowe dbanie o pupilka – aktualizacje i nakładanie poprawek. Niektóre aplikacje do dzisiaj potrzebują takich pupilków, ale wiele stworzonych w tej dekadzie już nie! Dzisiaj wszystko się zmieniło. Za pomocą RESTowego API możemy stworzyć infrastrukturę i zbudować ją od zera aż do pełnej gotowości w ciągu kilku minut.

Bydło – w dobie chmur obliczeniowych jesteśmy w stanie robić bardziej dynamiczne rzeczy. Możemy łatwo zbudować szablon maszyny wirtualnej (tzw. „golden image„) wraz z uruchomioną aplikacją (od podstaw lub za pomocą migawki) i użyć jej w autoskalowalnym środowisku. Przy użyciu takich narzędzi, jak Ansible, Puppet, Salt oraz Chef możemy zbudować wcześniej przetestowaną infrastrukturę i ją odpalić w dowolnym momencie. 100 serwerów uruchomionych jednym poleceniem. Zamiast nazw operuje się liczbami. Wszystkie te serwery są zasadniczo identyczne. Jeśli jeden umiera wystarczy parę wywołań API (lub nawet nie – jeśli używamy automatycznego skalowania) i następuje zastąpienie wadliwej sztuki. Jeśli krowa jest poważnie chora lub konająca – zabijasz ją i kupujesz kolejną.

Więcej informacji: Pets vs Cattle

W poszukiwaniu endpointów aplikacji mobilnej bez brudzenia rączek

02/04/2017 w Pen Test Możliwość komentowania W poszukiwaniu endpointów aplikacji mobilnej bez brudzenia rączek została wyłączona

P

ierwszym korkiem w każdej ocenie bezpieczeństwa aplikacji mobilnych w Androidzie jest posiadanie pliku .APK, który reprezentuje aktualną wersję aplikacji mobilnej. W większości przypadków to klient (firma, osoba prywatna) jest odpowiedzialna za dostarczenie nam tego pliku – szczególnie w sytuacji, gdy aktualna wersja aplikacji nie jest publicznie dostępna. Chyba, że chcemy lub zlecono nam ocenę czarnej skrzynki (ang. black box) to wówczas w naszym interesie jest pozyskanie takiego pliku. Poniżej znajduje się prosty przykład, jak z publicznie dostępnej aplikacji wyciągnąć developerskie i testowe adresy, które przez zaniedbanie mogły zostać pozostawione w kodzie takiej aplikacji.
[ czytaj całość… ]

Kilka słów o wdrożeniu SSL i TLS – cz.2

29/03/2017 w Bezpieczeństwo Możliwość komentowania Kilka słów o wdrożeniu SSL i TLS – cz.2 została wyłączona

W poprzedniej części poznaliśmy teoretyczne przesłanki, na które należy zwrócić uwagę podczas przygotowania się do wdrożenia mechanizmów szyfrowania SSL/TLS. W tej części postaramy się skupić na konfiguracji, która gwarantuje nam poprawne prezentowanie odwiedzającym naszą stronę stosowanych zabezpieczeń i szyfrów kryptograficznych.
[ czytaj całość… ]

Niektóre znaki zachęty mogą być podatne na wykonanie kodu

19/03/2017 w Bezpieczeństwo Możliwość komentowania Niektóre znaki zachęty mogą być podatne na wykonanie kodu została wyłączona

C

iekawe demo oraz słuszność swojego pomysłu przedstawił N.J. Hartwell. Pokazuje on, że niektóre znaki zachęty szczególnie te, którym dołożono wyświetlanie nazwy brancha git mogą być podatne na wykonanie dowolnego kodu. Można oszukać naszą, lokalną powłokę, aby wykonała polecenie lub skrypt, jeśli nazwiemy nasz branch na przykład tak: $(./skrypt.sh). Jak sprawdzić czy nasz prompt jest podatny? Wystarczy, że ściągniemy to repozytorium i wejdziemy do niego za pomocą polecenia cd. Jeśli prompt naszej powłoki niepoprawnie przeprowadzi interpretację zestawu znaków $(..) to wykona skrypt ./pw3n i wyświetli (na szczęście) tylko odpowiedni komunikat.

Linux – lokalna eskalacja uprawnień w n_hdlc

12/03/2017 w Bezpieczeństwo Możliwość komentowania Linux – lokalna eskalacja uprawnień w n_hdlc została wyłączona

W

parę tygodni po ukazaniu się błędu w protokole DCCP – Andrey Konovalov ponownie odkrywa możliwość eskalacji uprawnień i lokalne uzyskanie praw administratora w sterowniku drivers/tty/n_hdlc.c. Sterownik zapewniający wsparcie dla HDLC występuje jako moduł jądra w wielu dystrybucjach, które mają w konfiguracji ustawioną opcję CONFIG_N_HDLC=m. Standardowo błąd jest obecny w systemie Linux od 2009 roku i również został znaleziony przy pomocy syzkallera. Łatanie systemu jest szybkie i proste, jak w przypadku podatności DCCP – poniżej dla rodziny RedHat:

echo "install n_hdlc /bin/true" >> /etc/modprobe.d/disable-n_hdlc.conf

Więcej informacji: Linux kernel: CVE-2017-2636: local privilege escalation flaw in n_hdlc

Rutowanie skrzynki z pluginem W3 Total Cache i Nginx

11/03/2017 w Bezpieczeństwo Możliwość komentowania Rutowanie skrzynki z pluginem W3 Total Cache i Nginx została wyłączona

à

propos różnych poradników. Kilka poradników na temat integracji popularnego pluginu W3TC do tworzenia warstwy cache dla WordPress radzą, aby w konfiguracji serwera nginx umieszczać następujące wpisy:

location / {  
    include /var/www/wordpress/nginx.conf;
}

[ czytaj całość… ]

#Kochanki.Adminów – where there’s a shell, there’s a way

10/03/2017 w Ataki Internetowe, Bezpieczeństwo Możliwość komentowania #Kochanki.Adminów – where there’s a shell, there’s a way została wyłączona

I

nternet przyzwyczaja nas do wielu nowych rzeczy. To, co jest w nim opublikowane przyjmujemy czasem za pewnik, a porady za sprawdzone i uzasadnione. Niestety nie zawsze tak jest. Jeśli spojrzymy na niektóre, zalecane metody instalacji lub konfiguracji oprogramowania to aż trudno uwierzyć, że nikt nie pomyślał na ile różnych sposobów można je wykorzystać. Sprawdźmy dokąd może zaprowadzić nas na przykład polecenie:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

[ czytaj całość… ]

Ustawienie zmiennej środowiskowej TZ oszczędza tysiące wywołań systemowych

26/02/2017 w Administracja, Debug Możliwość komentowania Ustawienie zmiennej środowiskowej TZ oszczędza tysiące wywołań systemowych została wyłączona

A

by zaoszczędzić dodatkowych wywołań systemowych na serwerze przez chodzący proces – wystarczy ustawić zmienną środowiskową TZ na wartość: :/etc/localtime. Spowoduje to, że glibc nie będzie wykonywać zbędnych, dodatkowych wywołań systemowych. Szczególnie sprawdza się to w systemach, w których ustawienie strefy czasowej nie jest cyklicznie przestawiane – lub istnieje możliwość restartu danego procesu, kiedy to występuje (w większości przypadków taka zmiana występuje tylko raz – zazwyczaj w polskich realiach jest to przestawienie z UTC na CET).
[ czytaj całość… ]

DCCP – lokalna eskalacja uprawnień w jądrze Linuksa

25/02/2017 w Bezpieczeństwo Możliwość komentowania DCCP – lokalna eskalacja uprawnień w jądrze Linuksa została wyłączona

N

owa podatność została odnaleziona przez badacza bezpieczeństwa. Andrey Konovalov odkrył za pomocą (do tego stworzonego) fuzzera spod stajni Google błąd w protokole DCCP – The Datagram Congestion Control Protocol. Luka ta podobnie, jak DirtyCow istnieje w jądrze już ponad 11 lat i dotyka wszystkie kluczowe dystrybucje systemu Linux: Debian, Ubuntu, OpenSUSE oraz RedHat. Luka typu use-after-free została rozpoznana w implementacji zwalniania przez DCCP zasobów SKB (buffor gniazda) dla pakietu typu DCCP_PKT_REQUEST kiedy opcja IPV6_RECVPKTINFO jest ustawiona na gnieździe. Lokalny użytkownik jest w stanie wykorzystać ten błąd do modyfikacji pamięci jądra i w ten sposób podniesienia swoich uprawnień w systemie. Warto wspomnieć, że dwa miesiące temu została ujawniona podobna luka w pakiecie AF. Osoby, które nie chcą aktualizować swoich systemów do nowszych wersji np. z powodu obawy o stabilność – powinny zadbać o odpowiednie wpisy blokujące ładowanie wspomnianego modułu.

Więcej informacji: Security expert discovered a new 11-year old privilege escalation vulnerability, tracked as CVE-2017-6074, in the Linux kernel

Używanie dockera by przejąć hosta serwera – eskalacja uprawnień?

18/02/2017 w Bezpieczeństwo Możliwość komentowania Używanie dockera by przejąć hosta serwera – eskalacja uprawnień? została wyłączona

M

ój administrator idzie z duchem po(d)stępu i podzielił nasz wielki serwer na mniejsze byśmy mogli robić te…, jak one mają… – mikroserwisy. Jako najprostszy i najszybszy sposób dla systemu Ubuntu 16.04 LTS wybrał szybującą w rozwoju technologię, czyli Dockera. Po szybkiej i sprawnej instalacji najnowszej wersji 1.13.1 mój zwykły użytkownik (darkstar) uzyskał możliwość posługiwania się tą technologią poprzez dopisanie go do grupy docker:
[ czytaj całość… ]