Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Toolza 1.0 (https://forum.antichat.xyz/showthread.php?t=148915)

Pashkela 17.10.2009 00:25

Toolza 1.0
 

===> Toolza1.0 <===
(*Nix/Windows/Mac) - UTF-8 perlscript

SQL injection DB supported: Mysql, Mssql, Sybase, Postgresql, Access, Oracle, Firebird/Interbase

include Blind Mysql injection + alternative methods

Other functions:

- LFI/Reader/Loade_file() bruter
- Scan site for folders & files
- FTP checker
- FTP bruter
- Proxy checker
- Proxy grabber

Post/Get/Proxy/SOCKS4-5/Cookies/Timeout/Multithread/HTTPS+Authorization supported

include video instructions for all modes

http://s006.radikal.ru/i213/1001/51/08684e42ef5bt.jpg

Для всех режимов работы:

- Выбор POST или GET
- Поддержка прокси (файл proxy.txt) - авточекинг, работает с первой рабочей
- Поддержка SOCKS4-5 (файл socks.txt) - авточекинг, автоопределение типа носка(4-5), без авторизации, работает с первой рабочей
- Выбор таймаута соединения
- Возможность вставить cookies

формат:

$cookie ="__utma=115146457;__utmz=115146457;PHPSID=201301d f5788f6f187342cdfe45abea0a";

- Возможность изменить user agent
- Возможность изменить реферер
- Возможность выбора HTTP-протокола ( 0 - HTTP/1.0; 1 - HTTP/1.1; Default - 1)


MySql=>5:

1. Многопоточный (можно вручную менять кол-во потоков, оптимально на практике 10)
2. Вывод на монитор + логирование в файл (имя_хоста.txt)
3. Нормальная поддержка UNHEX(HEX(SQL))
4. Нормальная поддержка AES_DECRYPT(AES_ENCRYPT(SQL,aes_key),aes_key)
5. Выбор пробелов (+,/**/,%20 и etc.)
6. Выбор лимитов (no limit; limit+0,1; limit+1,1)
7. Выбор фильтров (/*,--+,# и etc)
8. Выбор паузы между пачкой запросов в секундах (антиддос сканируемого сайта)
9. Предварительный вывод на экран вашего URL со всеми вашими настройками
10. Возможность выбора дампа таблиц из information_schema - все или с "номер_записи" по "номер_записи"
11. Возможность выбора дампа данных из выбранной таблицы - все или с "номер_записи" по "номер_записи"
12. Возможность вставить свое условие при дампе данных из таблицы - where ID=1, чтобы не дампить, ну например,
всех пользователей какого-нибудь форума и сразу получить данные админа. Или админов, т.к. они могут не находится рядом в таблице и алгоритм "с ... по..." тут не подойдет. Поддерживаются как числовые так и mix условия (автоопределение, авто- HEX).
13. Автопроверка на file_priv
14. Скрипт полностью интерактивный, поддерживается ввод данных пользователем с клавиатуры.

MySql4 bruter - таблицы и колонки:

- Многопоточный
- Возможность добавлять префикс для таблиц и префикс для колонок(PHPBB_, IPB_ & etc.)
- Словарь таблиц - 3434
- Словарь колонок - 760

Site scanner for folders & files:

- Многопоточный
- Словарь 3455 позиций
- Возможность редактировать ошибки при ответе сайта на запрос при не существующем URL (файл scaner_errors_list.txt)
- Возможность пополнять словарь (файл scaner_folder_list.txt, новая позиция с новой строки без слеша в начале)

LFI/READER/Load_file() bruter:

Многопоточный, поддержка GET | POST, прокси (не для всех режимов)

6 режимов работы:

[1] LFI/Reader - visual error when wrong query
[2] LFI/Reader - unvisual error when wrong query
[3] Mysql load_file - visual error when wrong query, magic_quotes=OFF
[4] Mysql load_file - unvisual error when wrong query, magic_quotes=OFF
[5] Mysql load_file - visual error when wrong query, magic_quotes=ON
[6] Mysql load_file - unvisual error when wrong query, magic_quotes=ON

2-4-6 режимы к сожалению только GET и без прокси, т.к. там идет получение содержимого страниц и пришлось выбирать - либо многопоточность, либо так.

+

записал видео для новой фичи:

1. LFI, ошибки ВИДНЫ при неправильном запросе (классика)
2. LFI, ошибки НЕ ВИДНЫ при неправильном запросе
3. LOAD_FILE, magic_quotes=on, ошибки НЕ ВИДНЫ при неправильном запросе

т.е. классический вариант и два "фактически безнадежных" с первого взгляда

Blind Mysql injection:

- Многопоточный
- POST/GET/Прокси/Куки и прочее
- Полный цикл - от системной информации до получения значений из таблицы (явки-пароли)
- Брут для Blind MySql4 таблиц и колонок с возможностью добавить свой префикс
- В общем все возможности, что в секции обычных скулей, только чуть подольше подождать
- Normal MODE брута (диапазон 0-255) - неграниченное кол-во записей, универсальный, вывод ошибок необязателен
- Fast MODE брута - (диапазон 0-255) - кол-во записей <= 10, универсальный, вывод ошибок необязателен
- TURBO-MODE брута в режиме дампа "1 запись 1 колонка" (диапазон 0-255) - универсальный, вывод ошибок необязателен
- MD5-TURBO-MODE брута в режиме дампа "1 запись 1 колонка" (диапазон 48-102) - универсальный, вывод ошибок необязателен

-Blind inj get DB-names from information_schema.schemata
-Blind inj get tables from DB-name
-Blind inj get column_name from tables from DB-name
-Blind inj get LOAD_FILE (file_priv = Y)

предварительно определяется размер файла и есть возможность выбирать, читать весь файл или часть файла (начиная и заканчивая любым байтом), весь процесс чтения виден на мониторе. Видео прилагается.

MySql inj bruter кол-ва колонок:

- Многопоточный
- Post/Get/Cookies/Proxy & etc.
- Метод union+select
- Возможность менять максимальное кол-во колонок - по умолчанию 100
- Возможность менять фильтр
- Возможность менять знак пробела
- Определение правильности запроса по наличию или отсутствию уникального текста на странице
- автоопрделениe limit (без лимита, limit+0,1, limit+1,1)
- определение принтабельной колонки
- Алгоритм работы:
1) сначала прогоняется по 20 колонок без лимита, с limit+0,1, c limit+1,1, затем, если не нашлось кол-во колонок, прогоняется от 21 до максимально выставленного кол-ва колонок (100 - default) также без лимита, с limit+0,1, c limit+1,1
2) после нахождения кол-ва колонок ищется принтабельная колонка также без лимита, с limit+0,1, c limit+1,1

в видео рассмотрен нестандартный случай - правильное кол-во колонок определяется без лимита, принтабельная колонка появляется только с limit+1,1

MySql inj NAME_CONST:

- Многопоточный
- Post/Get/Cookies/Proxy & etc.
- Все те же возможности, что и при обычной скуле + та же скорость
- просто заменить два раза "version()" на "^" (shift+6), т.е. было:

Код:

http://site.com/index.php?site=profile&id=1'/**/and/**/1=(SELECT/**/*/**/FROM(SELECT/**/*/**/FROM(SELECT/**/NAME_CONST((version()),14)d)/*/as/**/t/**/JOIN/**/(SELECT/**/NAME_CONST((version()),14)e)b)a)/**/and/**/'1'='1/*
стало:

Код:

http://site.com/index.php?site=profile&id=1'/**/and/**/1=(SELECT/**/*/**/FROM(SELECT/**/*/**/FROM(SELECT/**/NAME_CONST((^),14)d)/*/as/**/t/**/JOIN/**/(SELECT/**/NAME_CONST((^),14)e)b)a)/**/and/**/'1'='1/*
Отдельный риспект хотелось бы выразить Qwazar и jokester за эту тему.

PS: Видео прилагается

MySql inj floor(rand()):

- Многопоточный
- Post/Get/Cookies/Proxy & etc.
- Все те же возможности, что и при обычной скуле + та же скорость

скуля:
Код:

http://example.com/?id=1+or(1,2)=(select+count(*),concat((select+version()+from+information_schema.tables+limit+0,1),0x3a,floor(rand()*2))+from+information_schema.tables+group+by+2+limit+0,1)--+
переменные в скрипте:
Код:

$f_table = "information_schema.tables"; #  default 'information_schema.tables' if MySQL>=5 and if MySQL<5 - you must brute table_name before and print here
$f_url = "http://example.com/?id=1+or(1,2)="; # url
$f_plus = "+"; # %20,%2b & etc.
$f_filtr = "--+"; # close SQL

скуля:
Код:

http://example.com/?id=(select+1+from+(select+count(*),concat((select+version()+from+information_schema.tables+limit+0,1),0x3a,floor(rand()*2))+from+information_schema.tables+group+by+2+limit+0,1)a)--+
переменные в скрипте:
Код:

$f_table = "information_schema.tables"; #  default 'information_schema.tables' if MySQL>=5 and if MySQL<5 - you must brute table_name before and print here
$f_url = "http://example.com/?id=(select+1+from+"; # url
$f_plus = "+"; # %20,%2b & etc.
$f_filtr = "a)--+"; # close SQL

MSSQL inj:

- Многопоточный
- Post/Get/Cookies/Proxy & etc.
- Определение кол-ва колонок и принтабельной колонки не требуется
- авто-CHAR всех данных


Вывод на экран и сохранение в файл. Видео прилагается

PostgreSQL injection:

1. UNION+SELECT method:

- Многопоточный
- Post/Get/Cookies/Proxy & etc.
- Возможность задавать в настройках data type принтабельного поля ("text" - default)
- Авто CHR(data)||
- Остальное все тоже самое, что и в mysql

2. SUBQUERY method:

- Многопоточный
- Post/Get/Cookies/Proxy & etc.
- Возможность задавать в настройках тип конвертации данных для вызова ошибки
- Авто CHR(data)||
- Остальное все тоже самое, что и в mysql

Пример метода UNION+SELECT:
Код:

http://site.com/index.phtml?pid=7+union+select+null,version(),null--

Настройки в скрипте:

$p_union_select_url = "http://site.com/index.phtml?pid=7+union+select+null,^,null"; # url UNION+SELECT method
$p_subquery_url = ""; # url SUBQUERY method
$p_method = 0; # 0 - UNION+SELECT method, 1 - SUBQUERY method
$p_filtr = "--"; # close SQL
$p_plus = "+"; # %20,%2b & etc.
$p_convert = "text"; # convert data type(text,int ... etc.)

Пример метода SUBQUERY:
Код:

http://site.com/index.php?id=1+and+1=cast(select+version()+as+int)

или

http://site.com/index.php?id=1+and+1=version()::int

что тоже самое

Настройки в скрипте:

$p_union_select_url = ""; # url UNION+SELECT method
$p_subquery_url = "http://site.com/index.php?id=1+and+1="; # url SUBQUERY method
$p_method = 1; # 0 - UNION+SELECT method, 1 - SUBQUERY method
$p_filtr = ""; # close SQL
$p_plus = "+"; # %20,%2b & etc.
$p_convert = "int"; # convert data type(text,int ... etc.)

Вывод на экран и сохранение в файл. Видео прилагается

Sybase SQL injection:

- Пока в один поток (специфика sybase sql inj)
- Post/Get/Cookies/Proxy & etc.
- Не требуется подбор кол-ва колонок и поиск принтабельной
- Возможность задавать тип конвертации данных для вызова ошибки (numeric, integer & etc)
- Авто hex(data)||
- Дампит все БД, все таблицы (плюс ID), все колонки из выбранной таблицы (плюс ID) + данные из таблиц
- Автоопределение типов данных при дампе

1 . UNION SELECT method:

Код:

http://site.com/index.phtml?pid=7+union+select+null,@@version,null

Настройки в скрипте:

$s_union_select_url = "http://site.com/index.phtml?pid=7+union+select+null,^,null"; # url UNION+SELECT method
$s_subquery_url = ""; # url SUBQUERY method
$s_method = 0; # 0 - UNION+SELECT method, 1 - SUBQUERY method
$s_filtr = "--"; # close SQL
$s_plus = "+"; # %20,%2b & etc.
$s_convert = "numeric"; # default type to convert - numeric (for subquery method)

1 . SUBQUERY method:

Код:

http://site.com/index.phtml?pid=-7+or+1=convert(numeric,(select+@@version))--+

Настройки в скрипте:

$s_union_select_url = ""; # url UNION+SELECT method
$s_subquery_url = "http://site.com/index.phtml?pid=-7+or+1="; # url SUBQUERY method
$s_method = 1; # 0 - UNION+SELECT method, 1 - SUBQUERY method
$s_filtr = "--+"; # close SQL
$s_plus = "+"; # %20,%2b & etc.
$s_convert = "numeric"; # default type to convert - numeric (for subquery method)

+ системные данные:
Код:

@@version
user_name()
@@boottime
@@errorlog
@@language
@@servername
db_name()

Вывод на экран и сохранение в файл. Видео прилагается

Ms Access SQL injection:

- POST/GET/Cookie/Proxy & etc.
- Возможности:
1. Определение кол-ва столбцов через order+by (надо указать ошибку, когда кол-во столбцов больше) - multithread
2. Брут имен таблиц - возможно добавлять префикс - tbl,tbl_, site_name & etc (multithread)
3. Брут имен колонок - возможно добавлять префикс - tbl,tbl_, site_name & etc (multithread)
4. Автоопределение принтабельной колонки
5. Дамп данных из таблицы (1 thread - специфика access)
6. Автоопределение типов данных при дампе (независимо от того, дампятся данные из одной колонки или нескольких и независимо от порядка их расстановки, т.е. дампите как обычно - id,name,email...)

Вывод на экран и запись в файл. Видео прилагается

Oracle SQL injection:

- Многопоточный
- POST/GET/Cookie/Proxy & etc.
- Возможность задать тип конвертации для принтабельного поля
- Авто CHR(data)||
- Остальное как в обычной скуле mysql

просто замените принтабельное поле на "^" (shift+6)

Вывод на экран и запись в файл. Видео прилагается

Firebird/Interbase SQL injection:

- Многопоточный
- POST/GET/Cookie/Proxy & etc.
- Возможность задать тип конвертации для выводимых данных
- Авто ascii_char(data)||

Исходная ссылка:
Код:

http://example.com/image.php?operator=2)+and+1=user--

или

http://example.com/image.php?operator=2)+and+1=cast(user+as+char(777))--

В скрипте:
Код:

$fi_source_sql = "http://example.com/image.php?operator=2)+and+1=";
$fi_filtr = "--"; # close SQL
$fi_plus = "+"; # %20,%2b & etc.
$fi_convert = "char(777)"; # default data type - char(777)

Вывод на экран и запись в файл. Видео прилагается

FTP checker:

- Многопоточный (50 потоков checked)
- Сохраняет проверенные ftp в файл

- Поддерживаемые форматы:
1) ftp://login : pass@host
2) ftp://login : pass@host : port

каждый с новой строки

- если порт не указан, выставляется дефолтный (можно менять в настроках - по умолчанию 21)
- возможны пробелы между строками(автоопределение)
- возможны любые символы в начале и в конце строки (автоопределение)

FTP bruter:

- Многопоточный (50 потоков checked)
- Три режима работы:

1) Брут login : password (любой делиметр, задается в настройках, по умолчанию ":")
2) Известен логин, брут паролей
3) Известен пароль, брут логинов

п. 3 может пригодиться, если вы желаете проверить найденный Вами пароль от SSH или phpmyadmin или просто от админки - вдруг подойдет и на FTP

В видео рассмотрены все три режима работы, словарь паролей взят из mil-dic.txt (83641 записей)

PS: Не забывайте, на некоторых хостах надо задавать обязательную паузу между попытками входа, например на ftp.narod.ru (5 сек) - выставляется в глобальных настройках скрипта

PROXY checker:

- Многопоточный
- Сохраняет хорошие proxy в файл
- формат ip : port - каждый с новой строки

PROXY grabber:

- Многопоточный
- Кроме SOCKS4 и SOCKS5
- 16 актуальных сайтов с проксями
- Возможность грабить прокси через POST|GET|cookie и даже через proxy :)
- Возможность добавлять свои сайты для грабинга (никакого выбора "порт/страна/диапазон ip" - или сразу список или зря потерянное Ваше время, ищите сразу рабочую ссылку со списком проксей)
- Маска простейшая, на абсолютную корректность не проверяется (на то есть таймаут и ваш AI):

/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\:[0-9]+)/g

(пример: 127.0.0.1:8080 )

ибо если не придерживаются стандарта - ну и ну их

Выложена видеодемонстрация:
- грабим прокси
- сразу чекаем на валидность (после того, как обошли и пропарсили все сайты из списка в режиме POST + 10 потоков - хотите больше - эксперементируйте, чем больше таймаут - тем корректней результат, но тем больше вероятность, что прокси фиговая)
-----------------------------------------------------------------

В комплекте ссылка на скрипт:


===> Toolza1.0 <===


и ссылки на видео(все тесты на реальных сайтах):

режим MySql5 - сжатый(2,06 Мб), распаковынный(89,5 Мб)

режим MySql4 brute tables & columns+proxy+POST-метод - сжатый(0,98 Мб), распаковынный(48 Мб)

режим LFI/READER/Load_file() bruter - сжатый(3,12 Мб), распаковынный(120 Мб)

режим Blind MySql5 - от версии до получения паролей - сжатый(4,90 Мб), распаковынный(336 Мб)

режим TURBO-MODE

режим MD5-TURBO-MODE

режим FTP checker

режим PROXY checker

режим MySql column number bruter

режим PROXY grabber

режим FTP bruter

режим MySql inj NAME_CONST

режим MSSQL injection

режим PostgreSQL injection

режим Sybase SQL injection

режим Ms Access SQL injection

режим Oracle SQL injection

режим SOCKS mode

режим Firebird/Interbase SQL injection

режим Blind SQL injection LOAD_FILE (file_priv=Y)

------------------------------

Работа скрипта в любом режиме реализована на сокетах, никаких дополнительных модулей не требуется

Ded MustD!e 17.10.2009 00:56

чем не устроил https://forum.antichat.ru/showpost.php?p=236188&postcount=3 ?

Pashkela 17.10.2009 01:00

ненавижу задавать опции в командной строке. Тут дружелюбней на этот счет. А так да, тот круче, наверное, не видел просто той темы. И потом писать надо самому, чтобы понять суть процесса. Плюс

Цитата:

в планах впихнуть mysql4_bruter, LFI_bruter, site_scaner, Blind MySQL-inj
т.е. sql-inj тут не приоритет, смысл сделать одну бол-мен полезную штуку, чтобы не собирать потом другие полезные штуки по всем компу. Потому Toolza

MySQl4_bruter уже завтра встрою

PS:

Цитата:

11. Возможность выбора дампа данных из выбранной таблицы - все или с "номер_записи" по "номер_записи"
12. Возможность вставить свое условие при дампе данных из таблицы - where ID=1, чтобы не дампить, ну например,
всех пользователей какого-нибудь форума и сразу получить данные админа. Или админов, т.к. они могут не находится рядом в таблице и алгоритм "с ... по..." тут не подойдет. Пока поддерживаются только числовые условия
такого пока вообще нигде не видел, а иногда только это от скули и надо, вернее в 90% случаев, т.е тут ориентация больше на удобство и быстроту

PS: Плюс тот, извините, однопоточный, несерьезно

shellz[21h] 17.10.2009 01:19

за старние +, но sqlsus в своем роде лучший mysql-экстрактор, что в нем привлекает это скорость. За один запрос снимает по 80 записей используя подзапросы. Пару сек и таблицы и колонки на ладони :)

altblitz 17.10.2009 01:19

Цитата:

Сообщение от Pashkela
.. Тут дружелюбней на этот счет. А так да, тот круче, наверное, не видел просто той темы.
смысл сделать одну бол-мен полезную штуку, чтобы не собирать потом другие полезные штуки по всем компу. Потому Toolza

творение, на которое затрачены автором часы изучения темы и воплощения.
позитив, в 15 минут такое не оценивается.

Sharky 17.10.2009 01:47

Помоему инструментов для работы с Sql-inj и так хватает...зачем велосипед изобретать?

Pashkela 17.10.2009 01:51

почитай функционал и покажи мне хоть одну прогу, где:

1. Можно сразу вводить таблу, из которой нужно выцепить данные (ну знаю я например, что там есть phpbb_users сразу)
2. п. 11 и п.12

Объясню еще раз - скрипт ориентирован на удобство, на рутину, на мегафункционал не претендует сразу, для тех, кто не в танке, для тех, кто знает, для чего он ломает сайт, в какой таблице админ и моментально достать именно его, а не дампить никому не нужные мыла и прочую инфо еще о 1985-ти юзерах - для тех, кто специализируется на проникновение в админку и последующее залитие шеллов из админки, не на спамеров и прочих колекционеров дампов.

PS: Смотрите видео, там все показано, уникальные пункты не стал выделять жирным и желтым из своей природной скромности, попробуйте в конце концов скрипт

Sharky 17.10.2009 02:12

Цитата:

Сообщение от Pashkela
почитай функционал и покажи мне хоть одну прогу, где:

1. Можно сразу вводить таблу, из которой нужно выцепить данные (ну знаю я например, что там есть phpbb_users сразу)
2. п. 11 и п.12

Объясню еще раз - скрипт ориентирован на удобство, на рутину, на мегафункционал не претендует сразу, для тех, кто не в танке, для тех, кто знает, для чего он ломает сайт, в какой таблице админ и моментально достать именно его, а не дампить никому не нужные мыла и прочую инфо еще о 1985-ти юзерах - для тех, кто специализируется на проникновение в админку и последующее залитие шеллов из админки, не на спамеров и прочих колекционеров дампов.

PS: Смотрите видео, там все показано, уникальные пункты не стал выделять жирным и желтым из своей природной скромности, попробуйте в конце концов скрипт

пример? пожалуйста - sipt4

Pashkela 17.10.2009 02:17

Правда? Вот взять, просто вставить туда урл с уже найденной инъекцией и СРАЗУ ввести название таблицы для дампа из нее значений с where? Ну-ну

При всем моем уважении к SIPT4 и к её создателю SQLHACK - прога давно морально устарела. Не пользусь ей уже года полттора. Заманало. Не хочу никому доказывать, что скуля есть, если знаешь, что она есть, и даже таблы уже все знаешь, и даже знаешь ID админа

+ в один поток - о чем мы вообще говорим, в sipt4 даже нет поддержки unhex(hex(data)), а в Toolza для aes_decrypt(aes_encrypt(),ключ),ключ) ключ можно свой задавать, он знаете ли периодически не только 0x71

Возьмем даже просто последнюю ссылку из раздела "Уязвимости"-"SQL-инъекции" -
Код:

https://forum.antichat.ru/showpost.php?p=1603653&postcount=10996
где 5-я ветка, SIPT4 там не видит скули - всё, парсить ручками?

SQLHACK-у вечный почет и слава, в своё время прога была лучшей в своем роде, но без поддержки все рано или поздно устаревает

Ded MustD!e 17.10.2009 03:14

Для тех кто в танке, читай внимательно описание Электа к Antichat Databases_Dumper_MSSQL(MySQL-5.*) v.1.1.1

Цитата:

- есть возможность задать произвольный запрос(-Z 1).
(внимание: -Z либо не задан, либо равен 1)
При произвольном запросе производится полный дамп данных. Если столбец не указан - дампится вся указанная таблица.
Условие WHERE при неуказанном столбце выполняет поиск желаемых столбцов. При указанном столбце WHERE производит поиск желаемых данных.
Вот твои хваленые пункты 11 и 12.

В любом случае, пока программа работает только через GET - её ценность равна нулю, никому не надо срать в логах, и более менее грамотный человек использовать твою тулзу не будет... =\


Время: 20:43