Проблемът с конфиденциалността на данните в 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