Приветствую, товарищи!
В первой части разберем базовые моменты при решение задач Active Directory:
- Разведка
- Основные службы
- Утилиты
- Подключение
Active Directory Domain Services (
AD DS), предоставляет методы хранения данных каталога.
Например,
AD DS хранит сведения об учетных записях пользователей, таких как имена, пароли, номера телефонов и т. д., а также позволяет другим авторизованным пользователям получить доступ к этой информации.
Каждый объект уникально идентифицируется своим именем и атрибутами.
Чаще всего используется в корпоративных сетях с большим количеством пользователей и устройств.
Active Directory (
AD) использует структурированное хранилище данных в качестве основы для логической иерархической организации сведений в каталоге.
AD также включает:
- Схему, которая определяет классы объектов и атрибутов, содержащихся в каталоге, ограничения экземпляров этих объектов, а также формат их имен.
- Глобальный каталог (GC/ГК) - это контроллер домена (DC/КД), который хранит копии всех объектов леса.
- Реплицирование, распределяет данные каталога по сети. Все КДучаствуют в реплицирование и содержат полную копию всех сведений о каталоге для своего домена. Любые изменения данных каталога реплицируются в домене на все КД.
Для того чтобы компьютер функционировал в домене, его туда необходимо присоединить (доступно в редакциях Pro и Enterprise/Corporate)
Проверить можно используя данный PowerShell(
PS) скрипт:
C-подобный:
Код:
$ComputerSystem
=
Get
-
CimInstance
-
Class Win32_ComputerSystem
;
$ComputerName
=
$ComputerSystem
.
DNSHostName
if
(
$ComputerName
-
eq $
null
)
{
$ComputerName
=
$ComputerSystem
.
Name
}
$fqdn
=
(
[
System
.
Net
.
Dns
]
:
:
GetHostByName
(
$ComputerName
)
)
.
HostName
$ComputerSystem
|
Microsoft
.
PowerShell
.
Utility\Select
-
Object `
@
{
Name
=
"ComputerName"
;
Expression
=
{
$ComputerName
}
}
,
@
{
Name
=
"Domain"
;
Expression
=
{
if
(
$_
.
PartOfDomain
)
{
$_
.
Domain
}
else
{
$
null
}
}
}
,
@
{
Name
=
"DomainJoined"
;
Expression
=
{
$_
.
PartOfDomain
}
}
,
@
{
Name
=
"FullComputerName"
;
Expression
=
{
$fqdn
}
}
,
@
{
Name
=
"Workgroup"
;
Expression
=
{
if
(
$_
.
PartOfDomain
)
{
$
null
}
else
{
$_
.
Workgroup
}
}
}
Или так:
Для администрирования
ADиспользуются различные стандартные оснастки:
Для автоматизации задач используется PowerShell
С основами разобрались, но с чего же начинать пентест AD тасков ?
Конечно же с разведки -
Код:
sudo nmap -vv -sV -O 192.168.1.34
Если при сканировании видим такое количество портов, не сомневайтесь, перед вами
AD.
Интересные порты:
- 445- SMB(самба, Service Message Block)
- 3389- RDP(Remote Desktop Protocol)
- 5985/5986 - WinRM(Windows Remote Managment)
- 80/443 - Web server, как правило IIS
Для более детального сканирования есть различные инструменты.
Популярный - enum4linux, я предпочитаю enum4linux-ng
Код:
enum4linux-ng 192.168.1.34
Попробуем анонимное подключение (как гость) к SMB -
Код:
smbclient -U '' -L \\\\192.168.2.4
Сетевые ресурсы со знаком $ в конце - админские, сейчас к ним не подключиться
NETLOGON- хранятся сценарии (скрипты) входа пользователей
SYSVOL -хранятся различные доменные настройки, например файлы групповых политик (GPO)
GPO- дает возможность администраторам централизованно управлять пользователями и компьютерами в
AD
Видим сетевой ресурс
Docs, пробуем подключиться -
Код:
smbclient -U '' \\\\192.168.2.4\\Docs
Успех, , основные команды :
- helpдля справки
- dir(список файлов и директорий)
- get(скачать файл)
- put(положить файл если есть права на запись)
Если получили реквизиты учетной записи (
УЗ) с правами
Remote WinRM, можем подключаться используя утилиту - evil-winrm
Код:
evil-winrm -i 192.168.2.4 -u user-p 'password'
Если УЗ есть права
Remote Desktop Users, подключаемся используя rdesktop, xfreerdpили стандартный RDPклиент
Windows
Код:
rdesktop -d античат .cdb -u user -p password 192.168.2.2
Практиковаться в решении задач по Active Directory
Данная статья вводная, в следующих частях будут рассмотрены основные техники и методы проникновения
За сием прощаюсь, до новых встреч!