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

16.04.2007, 22:52
|
|
Участник форума
Регистрация: 23.11.2006
Сообщений: 226
Провел на форуме: 1045663
Репутация:
864
|
|
GST Scaner. Сканер веб-уязвимостей от меня
GST Scan [ Beta Version ]
[ I Intro ]
Относительно недавно мне пришла в голову мысль написать сканер веб-уязвимостей.
Хотелось сделать что-то интересное, именно как свой релиз. Вот и сделал - GST Scan. Этот сканер сканирует скрипты на наличие RFI, XSS, SQl-Inj уязвимостей.
Также в нем есть функция HEAD скана и reverse ip lookup.
[ II Type of bugs ]
Теперь подробней:- HEAD Scan. Сделаю лирическое отступление, расскажу про метод хттп протокола HEAD. По стандарту, HEAD полностью идентичен GET, сервер _обязан_ отвечать на HEAD запрос, так же как и на GET. С одним отличием: не остылая содержимое страницы. Кому-то это может показаться ненужным\непонятным. Поясню - на HEAD запрос сервер отсылает только заголовки, это может оказать полезным при проверки наличия файлов (как это сделано в даунлоад-менеджере wget (опция --spider)). Также и тут.
Скрипт анализирует первую строку ответа и в случае присутсствия файла сообщает об этом. Также я добавил небольшую фичу - пробный запрос.
Некоторые админы (может из соображений безопасности, может просто по криворукости) настраивают хттпд так, чтобы он отвечал другим кодом, например, 203, или, что еще хуже, 200. Для проверки кода я и добавил в скрипт возможность пробного запроса.
- Reverse Ip Lookup. DNS\IP lookup впервые описал NSD во всем известом хеккерском жрунале. Суть этой атаки заключается в том, что на одном сервере\vds может находиться несколько сайтов.
Следовательно не обязательно взламывать конкретный сайт, можно взломать любой из них, и, в случае возможности выполняния команд и уязвимого ядра, можно порутать сервер и слить инфу с нужного сайта.
Т.к сервис DomainsDB в момент написания сканеры был под ддосом, я использовал другую базу - seologs.com.
- Remote File Inclusion, сокращенно rfi - давно известный тип уязвимостей, позволяет выполнять произвольные php-скрипты (только если загрузка из url не запрещена в php.ini). Чаще всего присутствует при использовании функции include().
Метод, используемый в сканере я частично взял из доки KSURi 'Автоматический поиск rfi' (метод, не код).
Также я добавил несколько дополнительный проверок на пхп баги.
- Cross Site Scripting, в народе хсс, наверно еще более древний тип уязвимостей, очень простой, оттого популярный среди начинающих. Его суть заключается в вставке произвольного html-кода (чаще всего javascript) в страницу, просматриваемую пользователем.
Проверка этой уязвимости очень проста - если код присутствует на странице (не обязательно он должен выполняться, иногда мешают теги типа <textarea> ( Что, собственно и было на сайте античата )).
В скрипт я добавил несколько видов кодирования xss: url-encoding, html-encoding.
- SQL-Inj. Наврно, самый интересный (имхо) тип уязвимостей. Следовательно, проверко ее наличия достаточно сложна, особенно это относится к blind sql inj.
Но в случае вывода ошибок достаточно просто подставить некорректное значение к запросу, что приведет с мату со стороны mysqld, который мы, собственно, и ищем.
[ III Usage ]
Вот мы и подошли к теме использования скрипта.
Для начала приведу тут хелп:
Код:
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
GST Bugz Scaner beTTa
[c]ode by Gh0s7
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Functions:
[+] HEAD File Scan [ 1 ] Scans server for files and dirs like /admin/ /install/ etc..
[+] DomainsDB Lookup [ 2 ] Reverse ip lookup scan using domainsdb.net
[+] XSS GET Scan [ 3 ] Scan for XSS bugs
[+] PHP RFI Scan [ 4 ] PHP Remote File Inclusion scan
[+] SQL-Inj Scan [ 5 ] SQL-Injection scan
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Options:
--type TYPE See functions | --host HOST target host | --port PORT target port
--path PATH path to script | --arg ARG Target argument | --cookie FILE Cookie file
--timeout SEC Conn Timeout | --xsspayload STR xss code | --phppayload URL Url to php payload
--https Enable Https
Cookie file format: Cook_Name::Cookie_data
Examples:
$ gst_scan.pl --type 1 --host vpupkin.net --path /
$ gst_scan.pl --type 5 --host vpupkin.gov.no --port 88 --path /1337/index.php? --arg id
$ gst_scan.pl --type 3 --host hackme.ru --path /admin/login.php? --arg login
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Скорее всего, большинство должно быть и так понятно. На всякий случай поясню на примерах:
Код:
$ ./gst_scan.pl --type 1 --host vpupkin.gov.no --path /
В этом случае используется HEAD скан, для которого обязательна опция пути.
Код:
$ ./gst_scan.pl --type 2 --host nas.ru
В случае RIL скана нужен только хост.
Для остальных типов: всегда обязателен хост.
Для HEAD скана также нужен путь. Для rfi/sql/xss еще необходим параметр. Например у nas.su/admin/login.php?login=TESTING, параметром будет login.
Путь должен задаваться вплоть до параметра, включая '?'
Это помогает избежать проблем при передачи нескольких аргументов скрипту.
Формат config.txt:- строки, начинающиеся с # считаются комментриями и не парсятся.
- Разделитель - ::
Например:
Код:
# GST Scan Config file
port::80
phpPayload::http://gst-phppayload.narod.ru/payload.txt
timeout::0
Формат файла Cookie:
Код:
Cookie_Name::Cookie_Val
[ IV Notes ]
Тут хотелось бы высказаться относительно кода.
-----
Если вы можете написать что-то лучше - я за вас рад.
Я не претендую на звания атца perl, а свой скрипт не называю супер-релизом и не утверждаю, что все остальные - ничто.
Не надо говорить, что какие-то функции в сканере не нужны\бесполезны - в дальнейшем я очень хочу автоматизировать весь скан, поэтому они всеравно пригодятся.
[ V Outro ]
Скачать все можно тут.
В скрипте используются модули IO::Socket & IO::Socket::SSL & Net::SSLay. Чаще всего они пристутствуют в дистрах по умолчанию, если нет, то их можно скачать на search.cpan.org
---------------------
Если вам есть что дополнить, исправить - пишите в пм. Буду рад выслушать. Если хотите критиковать код - критикуйте в пм, но 'критикуя - предлогай'. Если будут вопросы по скрипту - все так же в пм.
---------------------
Greetz to: # [sL1p] (отдельное спасибо за название и bugoga.exe ))
BSA, Eliziym, Гритз моему другу Максу.
Отдельный превет KSURi :)
Также гритз всему лит-составу ачата)
За саб parseRegEx, метр перл философии на тему голодных детей в африке, и килограмм грибов огромное спасибо br'у.
Gh0s7
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|