Проблемата с конфиденциалността на данните в Active Directory

Проблемата с конфиденциалността на данните в Active Directory

Занимавах се с тестове за проникване с използването на PowerView и го използвах за извличане на информация за потребителите от Active Directory (наричано по-нататък – AD). По това време акцентът ми беше върху събирането на информация за членството в групи за сигурност, а след това използвах тази информация, за да се придвижвам в мрежата. Във всеки случай, AD съдържа конфиденциални данни за служителите, които наистина не трябва да бъдат достъпни за всички в организацията. Всъщност в файловите системи на Windows съществува еквивалентен проблем «Everyone», който може да бъде използван както от вътрешни, така и от външни злонамерени лица.

Но преди да разгледаме проблемите с конфиденциалността и начините за тяхното решаване, нека погледнем данните, съхранявани в AD.

Active Directory е корпоративният Facebook

Но в този случай вече сте се сприятелили с всички! Може би не знаете за любимите филми, книги и ресторанти на колегите си, но AD съдържа чувствителни контактни
данни и други полета, които могат да бъдат използвани от хакери и дори от инсайдери без особени технически умения.

Системните администратори, разбира се, са запознати с екрана по-долу. Това е интерфейсът Active Directory Users and Computers (ADUC), където те настройват и редактират информация за потребителите и назначават потребителите в съответните групи.

Проблемата с конфиденциалността на данните в Active Directory

AD съдържа полета с името на служителя, адрес и телефонен номер, следователно прилича на телефонен справочник. Но там има много повече! На други табове също има имейл адрес и уеб адрес, непосредствен ръководител и бележки.

Всички в организацията ли трябва да виждат тази информация, особено в епохата на OSINT, когато всяка нова подробност прави търсенето на допълнителна информация още по-лесно?

Разбира се, не! Проблемът се задълбочава, когато данните на висшето ръководство на компанията са достъпни за всички служители.

PowerView за всички

Тук влиза в игра PowerView. Той предоставя много удобен интерфейс PowerShell за лежащите в основата (и объркващи) функции Win32, които се обръщат към AD. С две думи:
това прави получаването на полета от AD толкова просто, колкото да въведеш много кратък командлет.

Нека да вземем пример за събиране на информация за служителката Cruella Deville, която е един от ръководителите на компанията. За целта ще използваме командлета PowerView get-NetUser:

Проблемата с конфиденциалността на данните в Active Directory

Инсталирането на PowerView не е сериозен проблем – уверете се сами на страницата github. И което е по-важно, не ви трябват повишени привилегии, за да изпълнявате много от командите на PowerView, като get-NetUser. Така мотивиран, но не особено технически подготвен служител може да започне да изследва AD без особени усилия.

От горния екранен снимка е видно, че инсайдерът бързо може да научи много ново за Cruella. Забелязахте ли, че в полето „info“ се разкрива информация за личните навици и паролата на потребителя?

Това не е теоретична вероятност. От разговорите с други пентестери научих, че те сканират AD за търсене на пароли в незашифрован вид, и често тези опити, за съжаление, са успешни. Те знаят, че компаниите небрежно се отнасят към информацията в AD и обикновено не знаят за следващата тема – разрешенията в AD.

В Active Directory има свои ACL

Интерфейсът AD Users and Computers позволява задаване на разрешения за обекти в AD. В AD съществуват ACL и администраторите могат да разрешават или забраняват достъп чрез тях. Трябва да кликнете на „Advanced“ в менюто ADUC View, а след като отворите потребителя, ще видите раздела „Security“, в който задавате ACL.

В моя сценарий с Cruella не исках всички проверени потребители (Authenticated Users) да могат да виждат личната й информация, затова им забраних достъпа до четене:

Проблемата с конфиденциалността на данните в Active Directory

И сега обикновеният потребител ще види това, ако опита Get-NetUser в PowerView:

Проблемата с конфиденциалността на данните в Active Directory

Успях да скрия потенциално полезна информация от чужди очи. За да запазя достъпа до нея за съответните потребители, създадох друга ACL, за да разреша на членовете на VIP групата (Cruella и другите й висши колеги) достъп до тези конфиденциални данни. С други думи, реализирах разрешенията на AD на база ролевия модел, което направи чувствителната информация недостъпна за повечето служители, включително инсайдерите.

Въпреки това можете да направите членството в групата невидимо за потребителите, като зададете съответно ACL за обекта на групата в AD. Това ще помогне от гледна точка на конфиденциалност и сигурност.

В своята серии епични пентестове показах как може да се премества в системата, изучавайки членството в групи с помощта на PowerViews Get-NetGroupMember. В моя сценарий ограничавах достъпа до члена на конкретна група. Виждате резултата от изпълнението на командата преди и след промените:

Проблемата с конфиденциалността на данните в Active Directory

Успях да скрия членството на Cruella и Monty Burns в групата VIP, което затрудни на хакерите и инсайдерите разузнаването на инфраструктурата.

Тази публикация беше предназначена да ви мотивира да разгледате по-внимателно полетата
AD и свързаните с тях разрешения. AD е отличен ресурс, но помислете как бихте
искали да споделяте конфиденциална информация и лични данни, особено,
когато става въпрос за висшето ръководство на вашата организация.  

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster