You are here: Home » Веб приложения » fimap

fimap

Описание fimap

fimap — это небольшой инструмента на Python, который может автоматически найти, подготовить, провести аудит, эксплуатировать и даже погуглить баги локальных и удалённых файловых инклудов в веб приложениях. fimap должен быть чем-то вроде sqlmap, но только для ошибок локальных и удалённых инклудов, вместо SQL-инъекций.

Особенности fimap

  • Полностью автоматическая проверка отдельных URL, списка URL или результатов Google.
  • Может обнаружить и эксплуатировать баги инклуда файлов.

    • Работает с относительными и абсолютными путями.
    • Пробует автоматически отбросить расширение файла нулевым байтом и другими методами, вроде отсечением точкой.
    • Инжект удалённого файла.
    • Инжект файла журнала
  • Тестирование и эксплуатация многих ошибок:

    • include()
    • include_once()
    • require()
    • require_once()
  • Вы всегда задаёте абсолютные пути в конфигурациях. Никаких лишних движений вроде:

    • ../etc/passwd
    • ../../etc/passwd
    • ../../../etc/passwd
  • Есть слепой режим (--enable-blind) на случай, если сервер отключил вывод ошибок.
  • Есть режим интерактивного эксплойта, который…

    • …может разметать шел по уязвимым системам.
    • …может разметать обратный шел по уязвимым системам.
    • …может делать всё, что вы только можете представить, через интерфейс плагинов.
  • Добавьте свои собственные запросы и пути в файлы xml или идите ещё дальше — напишите свой собственный плагин.
  • Есть Урожайный режим, который может собирать URL с заданного домена для более позднего тестирования на проникновение.
  • Работает также и на Windows.
  • Может работать с директориями в режиме RFI, вроде:

    • include ($_GET[“inc”] . "/content/index.html"); ?>
    • include ($_GET[“inc”] . "_lang/index.html"); ?>
    • где Null-Byte и фокус с '?' невозможны.
  • Может использовать прокси.
  • Сканирует и эксплуатирует GET, POST и Cookies.
  • Оставляет мало следов (Нет бессмысленного брутфорсинга путей — конечно, если это вам не нужно.)
  • Также может атаковать сервера Windows!
  • Имеет крошечный интерфейс плагинов для написания плагинов режима эксплуатирования.
  • Неинтерактивное эксплуатирование.

Домашняя страница: https://tha-imax.de/git/root/fimap

Автор: Iman Karim

Лицензия: GPLv2

Автоматизированный поиск дорков в Google

Пожалуй, среди многих пользователей самой востребованной функцией в этой программе является автоматический поиск дорков. Осуществляется он так:

fimap -g -q 'inurl:include.php'

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

[RETRYING PAGE 6]
Failed getting http://www.google.com/search?q=inurl%3Atekst.php%3Fidt%3D&num=100&start=500: HTTP Error 503: Service Unavailable

Чтобы отсрочить появление этой ошибки можно попробовать увеличить время между запросами.

fimap -g -q 'inurl:include.php' --googlesleep=14

Но это не сильно помогает. Поскольку особое недоверие Google вызывают запросы с inurl:. Даже при ручном поиске в браузере после нескольких страниц результатов с запросом inurl: Google может заподозрить подозрительную деятельность и не выдать результаты.

Справка по fimap

Использование:

fimap [опции]
## Управление режимами:
   -s , --single                 Режим сканирования единичного URL на инклуд файлов.
                                 Нужен URL (-u). Это режим по умолчанию.
   -m , --mass                   Режим массового сканирования. Проверит каждый URL
                                 из данного списка (-l) на инклуд файлов.
   -g , --google                 Режим использования Google для приобретения URL.
                                 Нужен запрос (-q) который будет искаться в Google.
   -B , --bing                   Использовать Bing для получения URL.
                                 Нужен запрос (-q) который будет искаться в Bing.
                                 Также нужен Bing APIKey (--bingkey)
   -H , --harvest                Режим по рекурсивному сбору с URL новых URL.
                                 Нужен корневой URL (-u) с которого начнётся обход.
                                 Также нужен (-w) для записи списка URL для массового режима.
   -4 , --autoawesome            С режимом AutoAwesome fimap обрабатывать все
                                 найденные формы и заголовки на сайте, который вы указали,
                                 и пытаться найти через них ошибки инклуда файлов. Нужен
                                 URL (-u).
## Техники:
   -b , --enable-blind           Включает слепое тестирование багов инклуда файлов, когда ошибки не выводятся.
                                 Обратите внимание, что этот режим станет причиной множества запросов по сравнению с
                                 методом по умолчанию. Может использоваться с -s, -m или -g.
   -D , --dot-truncation         Включает технику отсечения точкой чтобы избавиться от расширения если
                                 режим по умолчанию (с нулевым байтом) терпит неудачу. Этот режим может стать причиной
                                 массы запросов в зависимости от вашей конфигурации.
                                 По умолчанию этот режим тестирует только сервера Windows.
                                 Может быть использован с -s, -m или -g. Экспериментальный.
   -M , --multiply-term=X        Множественные терминальные символы вроде '.' и '/' в пути X.
## Переменные:
   -u , --url=URL                URL, который вы хотите протестировать.
                                 Нужен режим single (-s).
   -l , --list=СПИСОК              URL-СПИСОК, который вы хотите протестировать.
                                 Нужен в режиме mass (-m).
   -q , --query=ЗАПРОС            ЗАПРОС для поиска в Google.
                                 Пример: 'inurl:include.php'
                                 Нужен в режиме Google (-g)
        --bingkey=APIKEY         Здесь ваш Bing APIKey. Вы должны указать его когда
                                 хотите использовать BingScanner (-B).
        --skip-pages=X           Пропустить первые X страниц из результатов Google.
   -p , --pages=КОЛИЧЕСТВО            Определяет КОЛИЧЕСТВО страниц для поиска (-g).
                                 По умолчанию - 10.
        --results=КОЛИЧЕСТВО          КОЛИЧЕСТВО результатов поиска Google на странице.
                                 Возможные значения: 10, 25, 50 или 100 (по умолчанию).
        --googlesleep=ВРЕМЯ       Время в секундах, которое сканер Google должен ждать перед каждым
                                 запросом к Google. fimap будет отсчитывать время между двумя запросами
                                 и засыпать чтобы чтобы «остыть». По умолчанию это 5.
   -w , --write=СПИСОК             Этот СПИСОК будет выведен если вы выбрали 
                                 режим harvest (-H). Этот файл будет открыт в режиме APPEND.
   -d , --depth=ГЛУБИНА       ГЛУБИНА (уровень рекурсии) на которую вы хотите углубиться в целевом сайте
                                 в режиме harvest (-H). По умолчанию 1.
   -P , --post=ДАННЫЕ_POST          ДАННЫЕ_POST которые вы хотите отправить. Все переменные внутри
                                 также будут просканированы на ошибки инклуда файлов.
        --cookie=COOKIES         Задать кукиз которые должны отправляться при каждом запросе.
                                 Кукиз также будут просканированы на баг инклуда.
                                 Объединяйте множество кукиз символов ';' .
        --ttl=СЕКУНДЫ            Задайте время жизни пакетов (в секундах) для запросов. По умолчанию это 30 секунд.
        --no-auto-detect         Используйте этот переключатель если вы хотите позволить fimap автоматически определять
                                 язык цели в слепом режиме. В этом случае вы получите несколько
                                 опция на выбор если fimap не уверен в языке.
        --bmin=BLIND_MIN         Задайте здесь минимальное количество директорий, которое должен обойти
                                 в слепом режиме. Значение по умолчанию задано в generic.xml
        --bmax=BLIND_MAX         Задайте максимальное количество директорий, которое fimap должен обойти.
        --dot-trunc-min=700      Начинать с количества точек при режиме отсекания точками.
        --dot-trunc-max=2000     Заканчивать этим количеством точек при режиме отсекания точками.
        --dot-trunc-step=50      Размер шага в режиме отсекания точками.
        --dot-trunc-ratio=0.095  Максимальный коэффициент обнаружения, если отсекание точками было успешным.
        --dot-trunc-also-unix    Используйте это, если отсекание точками должно применяться также и на unix серверах.
        --force-os=ОС            Принудить fimap тестировать только файлы для данной ОС.
                                 ОС может быть 'linux' или 'windows'
## Набор для атаки:
   -x , --exploit                Начинать интерактивную сессию когда вы можете
                                 выбрать цель и некоторые действия.
   -X                            То же самое что и -x но также показывает эксплуатируемые, которые могут быть
                                 хакнуты с плагинами.
   -T , --tab-complete           Включает TAB-заполнение в режиме exploit. Требует модуль readline.
                                 Используйте это, если вы хотите быть способным к tab-завершению на удалённых
                                 файлах/директориях. Съедает дополнительные запросы на каждую команду 'cd'.
        --x-host=ИМЯ_ХОСТА        Хост для эксплуатации. fimap не будет спрашивать у вас домен
                                 в режиме exploit если вы установили эту величину.
        --x-vuln=НОМЕР_УЯЗВИМОСТИ      ID уязвимости для использования. Тот же номер вы печатаете
                                 в режиме exploit где вы выбираете скрипт для уязвимости.
        --x-cmd=КОМАНДА              КОМАНДА, которую вы хотите выполнить на уязвимой системе. Используйте этот параметр
                                 более чем один раз, чтобы выполнить одну команду после другой.
                                 Помните, что каждая команда открывает новый шел и закрывает его после выполнения.
## Набор маскировки:
   -A , --user-agent=UA          Пользовательский агент, который вы хотите отсылать.
        --http-proxy=PROXY       Настройте ваш прокси этой опцией. Но прочтите эти факты:
                                   * Запросы к Google буду игнорировать эту опцию для получения URL,
                                     но сам тест на проникновение/атака будут идти через прокси.
                                   * PROXY должен быть в формате вроде этого: 127.0.0.1:8080
                                   * Это экспериментальная опция!
        --show-my-ip             Показывает ваш внешний IP, текущую страну и пользовательский агент.
                                 Полезно если вы  хотите протестировать конфигурацию вашего vpn/proxy.
## Плагины:
        --plugins                Показать список всех загруженных плагинов и выйти после этого.
   -I , --install-plugins        Показывает некоторые официальные плагины для режима exploit которые вы можете установить 
                                 и/или обновить.
## Другое:
        --update-def             Проверяет и обновляет ваши файлы определений, найденные в
                                 директории config.
        --test-rfi               Быстрый тест, правильно ли вы настроили удалённый инклуд файлов.
        --merge-xml=XMLFILE      Используйте это если у вас есть другой файл fimap XMLFILE который вы хотите
                                 включить в ваш собственный fimap_result.xml.
   -C , --enable-color           Включить цветной вывод. Работает только в linux!
        --force-run              Игнорировать количество запущенных fimap даже если lockfile
                                 существует. ПРЕДУПРЕЖДЕНИЕ: Это может затереть ваш fimap_results.xml file!
   -v , --verbose=УРОВЕНЬ          Уровень вербальности.
                                 УРОВЕНЬ=3 -> Отладка
                                 УРОВЕНЬ=2 -> Информация (по умолчанию)
                                 УРОВЕНЬ=1 -> Сообщения
                                 УРОВЕНЬ=0 -> Высокий уровень
        --credits                Показывает благодарности.
        --greetings              Приветствия ; )
   -h , --help                   Показывает это добро.

Руководство по fimap

Страница man отсутствует.

Примеры запуска fimap

Сканировать единичный URL на ошибки инклуда файлов:

fimap -u 'http://localhost/test.php?file=bang&id=23'

Сканировать список URL на ошибки файлового инклуда:

fimap -m -l '/tmp/urllist.txt'

Сканировать результаты поиска Google на ошибки инклуда файлов:

fimap -g -q 'inurl:include.php'

Собрать все ссылки веб-страницы с уровнем рекурсии 3 и записать все URL в /tmp/urllist

fimap -H -u 'http://localhost' -d 3 -w /tmp/urllist

Установка fimap

Программа предустановлена в Kali Linux.

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты fimap

Это утилита командной строки.

Инструкции по fimap

Ссылки на инструкции будут добавлены позже.

Близкие программы:

Рекомендуемые статьи: