ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Избранное
   
 
 
Опции темы Поиск в этой теме Опции просмотра

GST Scaner. Сканер веб-уязвимостей от меня
  #1  
Старый 16.04.2007, 22:52
Аватар для Gh0s7
Gh0s7
Участник форума
Регистрация: 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
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Письма девочек-подростков в журнал "Yes!" Lolik Болталка 43 03.03.2009 22:43
юмор!))) silveran Электроника и Фрикинг 10 01.06.2006 03:21



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ