HTB Timelapse. Атакуем Windows Remote Management и работаем с сертификатами

HTB Timelapse. Атакуем Windows Remote Management и работаем с сертификатами

the Matrix

Под­клю­чать­ся к машинам с HTB рекомен­дует­ся толь­ко через VPN. Не делай это­го с компь­юте­ров, где есть важ­ные для тебя дан­ные, так как ты ока­жешь­ся в общей сети с дру­гими учас­тни­ками.

До­бав­ляем IP-адрес машины в /etc/hosts, что­бы было удоб­нее обра­щать­ся к ней:

И запус­каем ска­ниро­вание пор­тов.

Ска­ниро­вание пор­тов — стан­дар­тный пер­вый шаг при любой ата­ке. Он поз­воля­ет ата­кующе­му узнать, какие служ­бы на хос­те при­нима­ют соеди­нение. На осно­ве этой информа­ции выбира­ется сле­дующий шаг к получе­нию точ­ки вхо­да.

На­ибо­лее извес­тный инс­тру­мент для ска­ниро­вания — это Nmap. Улуч­шить резуль­таты его работы ты можешь при помощи сле­дующе­го скрип­та.

Он дей­ству­ет в два эта­па. На пер­вом про­изво­дит­ся обыч­ное быс­трое ска­ниро­вание, на вто­ром — более тща­тель­ное ска­ниро­вание, с исполь­зовани­ем име­ющих­ся скрип­тов (опция -A).

Мы наш­ли мно­го откры­тых пор­тов:

Сра­зу про­ведем базовую раз­ведку SMB. Прос­тым под­клю­чени­ем с помощью CrackMapExec узна­ем вер­сию опе­раци­онной сис­темы и имя хос­та.

Так­же сто­ит поп­робовать под­клю­чение от име­ни гос­тя (ано­ним­ную авто­риза­цию).

И находим дос­тупную для чте­ния дирек­торию Shares.

Под­клю­чим­ся к это­му ресур­су с помощью ути­литы smbclient из пакета скрип­тов impacket и прос­мотрим дос­тупные фай­лы (при зап­росе пароля ничего не вво­дим).

В катало­ге Dev най­дем архив ZIP.

Ска­чива­ем его коман­дой get, а при попыт­ке рас­паковать у нас зап­росят пароль.

Па­роль не проб­лема, если он сла­бый, так как его мож­но переб­рать. Для перебо­ра будем исполь­зовать ути­литу fcrackzip.

В архи­ве находим файл .pfx — сер­тификат в фор­мате PKCS#12. При попыт­ке открыть и прос­мотреть его у нас сно­ва зап­рашива­ют пароль.

Бу­дем наде­ять­ся, что и тут исполь­зует­ся сла­бый пароль. Мож­но пре­обра­зовать файл в фор­мат прог­раммы John The Ripper — прод­винуто­го брут­форсе­ра хешей. Вмес­те с «Джо­ном» обыч­но пос­тавля­ется ре­пози­торий скрип­тов для пре­обра­зова­ния хешей из раз­ных фор­матов фай­лов в понима­емый брут­форсе­ром фор­мат. В дан­ном слу­чае нам нужен скрипт pfx2john.

Сох­раним хеш в файл и переда­дим на перебор. В качес­тве сло­варя будем исполь­зовать зна­мени­тый rockyou.

Те­перь, ког­да мы получи­ли пароль от сер­тифика­та PFX, нам нуж­но извлечь из него отдель­но сер­тификат и отдель­но ключ. Для это­го вос­поль­зуем­ся ути­литой OpenSSL, которой нуж­но ука­зать:

Те­перь нам нуж­но очис­тить фай­лы клю­ча и сер­тифика­та. Для это­го оста­вим в фай­лах толь­ко дан­ные пос­ле -----BEGIN. Теперь у нас все готово, что­бы под­клю­чить­ся к служ­бе WinRM по сер­тифика­ту. Для это­го исполь­зуем кру­тую ути­литу Evil-WinRM.

Пер­вым делом получим информа­цию о текущем поль­зовате­ле. Это поможет более точ­но понять кон­текст, в котором мы работа­ем.

powershell

whoami /all

Та­ким обра­зом, под­кон­троль­ный нам поль­зователь сос­тоит в груп­пе раз­работ­чиков. Никаких про­ектов на дис­ке най­ти не уда­лось, поэто­му пос­мотрим логи PowerShell, а имен­но вот этот history-файл:

Из это­го фай­ла мы получа­ем учет­ные дан­ные для под­клю­чения от име­ни поль­зовате­ля svc_deploy.

Мы можем получить дру­гой кон­текст выпол­нения, поэто­му про­кинем реверс‑шелл. Но сна­чала нуж­но отклю­чить AMSI, сде­лать это мож­но с помощью встро­енно­го в Evil-WinRM средс­тва Bypass-4MSI.

Ре­верс‑шелл возь­мем с кру­того он­лай­нового генера­тора, где нуж­но ука­зать хост и порт для обратно­го под­клю­чения. Кро­ме реверс‑шел­ла, получим и коман­ду для лис­тенера:

А теперь выпол­няем наш реверс‑шелл.

Так как рабочий кон­текст изме­нил­ся, сно­ва зап­росим информа­цию о поль­зовате­ле.

Поль­зователь сос­тоит в груп­пе LAPS_Readers, что поз­воля­ет ему читать свой­ства объ­ектов, свя­зан­ных с LAPS.

Local Administrator Password Solution (LAPS) поз­воля­ет цен­тра­лизо­ван­но управлять пароля­ми адми­нис­тра­торов на всех компь­юте­рах домена и хра­нить информа­цию о пароле и дате его сме­ны непос­редс­твен­но в объ­ектах типа Computer в Active Directory. LAPS осно­ван на исполь­зовании спе­циаль­ных фун­кций GPO, которые, в свою оче­редь, осно­ваны на Group Policy Client Side Extension. Это неболь­шой модуль, который уста­нав­лива­ется на рабочие стан­ции. Это рас­ширение GPO исполь­зует­ся для генера­ции уни­каль­ного пароля локаль­ного адми­нис­тра­тора на каж­дом компь­юте­ре домена. Пароль адми­нис­тра­тора авто­мати­чес­ки меня­ется с ука­зан­ной пери­одич­ностью (по умол­чанию каж­дые 30 дней). Зна­чение текуще­го пароля хра­нит­ся в кон­фиден­циаль­ном атри­буте ms-Mcs-AdmPwd учет­ной записи компь­юте­ра в Active Directory, дос­туп на прос­мотр содер­жимого атри­бута регули­рует­ся груп­пами безопас­ности AD.

На компь­юте­ре уста­нов­лен модуль PowerShell Active Directory, поэто­му мы можем получить зна­чение ms-Mcs-AdmPwd одной прос­той коман­дой.

Мы узна­ли пароль локаль­ного адми­на, поэто­му можем под­клю­чить­ся к служ­бе WinRM.

Ма­шина зах­вачена!


Источник

Наши проекты:

- Кибер новости: the Matrix
- Хакинг: /me Hacker
- Кодинг: Minor Code
👁 Пробить человека? Легко через нашего бота: Мистер Пробиватор

Report Page