Уведомления
Очистить все

Аудит MSAD


Evilz
(@evilz)
New Member
Присоединился: 2 месяца назад
Сообщения: 3
Topic starter  

Коллеги, ползуюсь утилитой enum4linux, н понимаю как отличить работающих пользователей от заблокированных.

Подскажите как правильно интерпритировать?

 


Цитата
MiAl
 MiAl
(@mial)
Участник Admin
Присоединился: 3 года назад
Сообщения: 217
 

Приветствую!

enum4linux ( https://kali.tools/?p=5257 ) перечисляет информацию используя SMB, которая может работать без Active Directory. И в целом этот инструмент не полагается на возможности Active Directory. И ещё enum4linux не заточена на перечисление пользователей — это возможно только при некоторых условиях.

Если задача извлечь информацию из Active Directory, то обратите внимание на утилиту Spraykatz ( https://kali.tools/?p=6759 ). Она показывает всех пользователей. Для работы программы нужен пароль администратора.

 

Для более сложных действий, направленных на повышение привилегий, извлечение хешей для взлома паролей, генерации билетов и прочего, нужно использовать, например, mimikatz ( https://kali.tools/?p=5342 ). Эта очень мощная, актуальная, но при этом сложная и плохо документированная программа. Внизу карточки программы есть ссылки на несколько инструкций на русском.

P.S.

Про аудит безопасности Active Directory не так давно журнал Хакер выпустил цикл статей. Все они являются переводом этих материалов: https://syhack.wordpress.com/2019/10/01/active-directory-kill-chain-attack-101/ . На мой взгляд, то, что выпустил журнал Хакер, это неудачный материал — по крайней мере, я там ничего не понял ))))

Прямо сейчас пишу первые части руководства по Active Directory для HackWare.ru. Там будет и про инструменты для аудита. Хотя подготовка этого цикла началась уже давно, видимо, сейчас он всё таки будет выпущен. Там будет самая актуальная информация на самом новом ПО.

 

Про утилиту enum4linux есть в Руководстве по SMB и Samba, в главе «3. Аудит безопасности SMB и Samba».

Это сообщение было изменено 3 недели назад от MiAl

ОтветитьЦитата
Evilz
(@evilz)
New Member
Присоединился: 2 месяца назад
Сообщения: 3
Topic starter  

@mial Спасибо за столь развернутый ответ.

Пока страдаю с enum4linux, мне непонятен столбец ACB при выводе списка пользователей. Что он означет? Не могу найти его описания


ОтветитьЦитата
MiAl
 MiAl
(@mial)
Участник Admin
Присоединился: 3 года назад
Сообщения: 217
 

ACB это account control block.

Могут быть следующие значения:

/* Допустимые контрольные биты учётной записи */
#define ACB_DISABLED			0x00000001  /* 1 = User account disabled */
#define ACB_HOMDIRREQ			0x00000002  /* 1 = Home directory required */
#define ACB_PWNOTREQ			0x00000004  /* 1 = User password not required */
#define ACB_TEMPDUP			0x00000008  /* 1 = Temporary duplicate account */
#define ACB_NORMAL			0x00000010  /* 1 = Normal user account */
#define ACB_MNS				0x00000020  /* 1 = MNS logon user account */
#define ACB_DOMTRUST			0x00000040  /* 1 = Interdomain trust account */
#define ACB_WSTRUST			0x00000080  /* 1 = Workstation trust account */
#define ACB_SVRTRUST			0x00000100  /* 1 = Server trust account (BDC) */
#define ACB_PWNOEXP			0x00000200  /* 1 = User password does not expire */
#define ACB_AUTOLOCK			0x00000400  /* 1 = Account auto locked */

/* действительны только для > Windows 2000 */
#define ACB_ENC_TXT_PWD_ALLOWED		0x00000800  /* 1 = Text password encryped */
#define ACB_SMARTCARD_REQUIRED		0x00001000  /* 1 = Smart Card required */
#define ACB_TRUSTED_FOR_DELEGATION	0x00002000  /* 1 = Trusted for Delegation */
#define ACB_NOT_DELEGATED		0x00004000  /* 1 = Not delegated */
#define ACB_USE_DES_KEY_ONLY		0x00008000  /* 1 = Use DES key only */
#define ACB_DONT_REQUIRE_PREAUTH	0x00010000  /* 1 = Preauth not required */
#define ACB_PWEXPIRED			0x00020000  /* 1 = Password is expired */
#define ACB_NO_AUTH_DATA_REQD		0x00080000  /* 1 = No authorization data required */

То есть значение для отключённого пользователя это 0x00000001, для заблокированного это 0x00000400, для нормального активного пользователя это 0x00000010.


ОтветитьЦитата
Evilz
(@evilz)
New Member
Присоединился: 2 месяца назад
Сообщения: 3
Topic starter  

@mial, правильно я понимаю, что ACB вида 0x00000014 - означает Normal user account + User password not required?


ОтветитьЦитата
MiAl
 MiAl
(@mial)
Участник Admin
Присоединился: 3 года назад
Сообщения: 217
 

По идее да, для описания пользователя используется сумма битов.

Мои примеры:

Windows Server:

  • 0x00000210 у Administrator (судя по битам, пароль не истёк, обычный пользователь)
  • 0x00000215 у Guest (судя по битам, пароль не истёк, обычный пользователь, заблокирован)

Windows 10:

  • 0x00000214 у MiAl (судя по битам, обычный пользователь, пароль не требуется — действительно так, учётная запись без пароля)
  • 0x00000214 у Tester (судя по битам, обычный пользователь, пароль не требуется — на самом деле, пароль установлен)
  • 0x00000010 у Администратор (судя по битам, обычный пользователь — это встроенная учётная запись администратора компьютера)
  • 0x00000215 у Гость (судя по битам, пароль не истёк, обычный пользователь, заблокирован)

Значения без двухсотого бита («Пароль не истёк») мне ещё встречались в Samba (это SMB для Linux), например, 0x00000010.

Видимо 0x00000004 (User password not required) относится к доступу в сетевую папку, а не в аккаунт.


ОтветитьЦитата
Поделиться: