
Zajmowałem się testowaniem penetracyjnym przy użyciu i używałem go do pozyskiwania informacji o użytkownikach z Active Directory (zwanej dalej AD). W tym czasie koncentrowałem się na gromadzeniu informacji o członkostwie w grupach zabezpieczeń, a następnie wykorzystałem te dane do poruszania się po sieci. W każdym razie AD zawiera poufne dane o pracownikach, z których niektóre rzeczywiście nie powinny być dostępne dla wszystkich w organizacji. W rzeczywistości w systemach plików Windows istnieje ekwiwalentna , która również może być wykorzystywana przez wewnętrznych i zewnętrznych przestępców.
Ale zanim omówimy problemy z poufnością i sposoby ich rozwiązania, przyjrzyjmy się danym przechowywanym w AD.
Active Directory to korporacyjny Facebook
Ale w tym przypadku już zaprzyjaźniłeś się ze wszystkimi! Może nie wiesz o ulubionych filmach, książkach i restauracjach swoich kolegów, ale AD zawiera wrażliwe dane kontaktowe
i inne pola, które mogą być wykorzystywane przez hakerów, a nawet osoby wewnętrzne bez specjalnych umiejętności technicznych.
Administratorzy systemów z pewnością znają zrzut ekranu poniżej. To interfejs Active Directory Users and Computers (ADUC), w którym ustalają i edytują informacje o użytkownikach oraz przypisują użytkowników do odpowiednich grup.

AD zawiera pola z imieniem i nazwiskiem pracownika, adresem oraz numerem telefonu, dlatego przypomina książkę telefoniczną. Ale to nie wszystko! Na innych zakładkach znajdują się również adres e-mail i adres strony internetowej, bezpośredni przełożony oraz uwagi.
Czy wszyscy w organizacji powinni widzieć te informacje, szczególnie w epoce , kiedy każdy nowy szczegół ułatwia poszukiwanie dodatkowych informacji?
Oczywiście, że nie! Problem się zaostrza, gdy dane wyższego kierownictwa firmy są dostępne dla wszystkich pracowników.
PowerView dla wszystkich
Tutaj do gry wchodzi PowerView. Oferuje bardzo wygodny interfejs PowerShell dla (i zawiłych) funkcji Win32, które odnoszą się do AD. Krótko mówiąc:
sprawia, że pozyskiwanie pól z AD jest tak proste, jak wpisanie bardzo krótkiego polecenia.
We will take the example of gathering information about the employee Cruella Deville, who is one of the executives of the company. For this, we will use the PowerView cmdlet get-NetUser:

Installing PowerView is not a serious issue – see for yourself on the page . More importantly, you do not need elevated privileges to execute many PowerView commands, such as get-NetUser. Thus, a motivated but not very technically savvy employee can begin probing in AD with little effort.
From the screenshot above, it can be seen that an insider can quickly learn a lot of new information about Cruella. Did you also notice that the 'info' field reveals details about personal habits and the user's password?
This is not a theoretical possibility. From I learned that they scan AD for passwords in unencrypted form, and unfortunately, these attempts are often successful. They know that companies are careless with information in AD and generally are unaware of the next topic – permissions in AD.
Active Directory has its own ACLs
The AD Users and Computers interface allows you to set permissions for AD objects. There are ACLs in AD, and administrators can grant or deny access through them. You need to click 'Advanced' in the ADUC View menu, and then when you open a user, you will see the 'Security' tab where you set the ACL.
In my scenario with Cruella, I did not want all authenticated users to see her personal information, so I denied them read access:

Now a regular user will see this if they try Get-NetUser in PowerView:

I was able to hide sensitive information from prying eyes. To maintain access for relevant users, I created another ACL to allow members of the VIP group (Cruella and her other high-ranking colleagues) to access this confidential data. In other words, I implemented AD permissions based on a role model, making sensitive data inaccessible to most employees, including insiders.
However, you can make group membership invisible to users by appropriately setting the ACL for the group object in AD. This will help in terms of privacy and security.
In my Pokazałem, jak można poruszać się po systemie, badając członkostwo w grupach za pomocą PowerViews Get-NetGroupMember. W moim scenariuszu ograniczyłem dostęp do członkostwa w konkretnej grupie do odczytu. Widzisz wynik polecenia przed i po zmianach:

Udało mi się ukryć członkostwo Cruelli i Montiego Burnsa w grupie VIP, co utrudniło hakerom i informatorom rozpoznawanie infrastruktury.
Ten post miał na celu zmotywowanie cię do dokładniejszego zapoznania się z polami
AD i związanymi z nimi uprawnieniami. AD to doskonałe źródło, ale pomyśl, jak chciałbyś
dzielić się poufnymi informacjami i danymi osobowymi, szczególnie
gdy mowa o pierwszych osobach w twojej organizacji.
Źródło: habr.com
