You are here: Home » Сбор информации » flashlight

flashlight

Описание flashlight

flashlight способствует в сборе информации, при этом программа имеет три базовых типа сканирования: пассивное сканирование, активное сканирование и сканирование скриншотов, а также один тип анализа.

Домашняя страница: https://github.com/galkan/flashlight

Автор: Gökhan ALKAN

Лицензия: Своя

Справка по flashlight

опциональные аргументы:
  -h, --help            показать справку и выйти
  -p ПРОЕКТ, --project ПРОЕКТ
                        Имя проекта
  -s {active,passive,screen,filter}, --scan_type {active,passive,screen,filter}
                        Тип сканирования
  -d DESTINATION, --destination DESTINATION
                        Целевой Ip/Имя хоста
  -c ФАЙЛ, --config ФАЙЛ
                        Конфигурационный файл
  -i ИНТЕРФЕЙС, --interface ИНТЕРФЕЙС
                        Интерфейс
  -f PCAP, --pcap_file PCAP
                        Pcap файл для фильтрации
  -r RASTERIZE, --rasterize RASTERIZE
                        Файл Rasterize Js для скриншотов
  -t ПОТОК, --thread ПОТОК
                        Количество потоков
  -o ВЫВОД, --output ВЫВОД
                        Директория вывода
  -a, --alive           Ping сканирование, перед сканированием для расследования,
                         какой IP адрес работает
  -g ШЛЮЗ, --gateway ШЛЮЗ
                        Указать шлюз
  -l ФАЙЛ, --log ФАЙЛ   Лог файл
  -k PASSIVE_TIMEOUT, --passive_timeout PASSIVE_TIMEOUT
                        Значение таймаута пассивного сканирования
  -m, --mim             Захватывать трафик, когда выполняется Человек-Посередине
  -n, --nmap-optimize   Использовать несколько дополнительный опций Nmap для
                        оптимизации сканирования и тонкой настройки производительности
  -v, --verbose         Вербальный вывод
  -V, --version         показать номер версии программы и выйти

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

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

Программа Flashlight может выполнять 3 типа базовых сканирований и 1 тип анализа.

1) Пассивное сканирование

При пассивном сканировании пакеты на провод не отправляются. Этот тип сканирования используется для прослушивания сетей и анализа пакетов.

Для запуска пассивного сканирования с использованием Flashlight, нужно указать имя проекта, к примеру, “passive-pro-01”. В следующей команде, пакеты захватываются с eth0 и сохраняются в директории “/root/Desktop/flashlight/output/passive-project-01/pcap". Файлы Pcap и все лог файлы сохраняются в директории "/root/Desktop/log".

./flashlight.py -s passive -p passive-pro-01 -i eth0 -o /root/Desktop/flashlight_test -l /root/Desktop/log -v

Когда сканирование завершено, то в директории "/root/Desktop/" будут созданы новая директория, названная “flashlight_test" и лог файл с названием “log”.

Структура директории “flashlight_test” примерно следующая. PCAP файл сохраняется в директорию “/root/Desktop/flashlight_test/output/passive-pro-01/pcap”. Этот PCAP файл может использоваться для целей анализа, ls /root/Desktop/flashlight_test -R

Во время стандартного пассивного сканирования, захватываются широковещательные и прямые пакеты к машине сканирования. Кроме этого, можно выполнить атаку Arp сфуфинга и MITM, используя параметр “-mim/-m”.

./flashlight.py -s passive -p passive-project-02 -i eth0 -g 192.168.74.2 -m -k 50 -v

Анализируя захваченный PCAP файл можно увидеть HTTP трафик.

Расшифровав сообщения базовой аутентификации, учётные данные, используемые для доступа к веб-серверу, можно получить к ним доступ.

Все параметры пассивного сканирования представлены ниже.

./flashlight.py -s passive -p passive-pro-03 -i eth0 -g 192.168.74.2 -m -k 50 -o /root/Desktop/flashlight_passive_full -l /root/Desktop/log -v

2) Активное сканирование

Во время активного сканирования, используются скрипты NMAP. Для настройки этого типа сканирования, обратитесь к конфигурационному файлу (flashlight.yaml), который размещён в директории “config” внутри рабочей директории.

tcp_ports:

   - 21, 22, 23, 25, 80, 443, 445, 3128, 8080
udp_ports:

   - 53, 161
scripts:

   - http-enum
screen_ports: - 80, 443, 8080, 8443

В соответствии с конфигурационным файлом "flashlight.yaml", сканирование выполняется в отношении TCP портов "21, 22, 23, 25, 80, 443, 445, 3128, 8080" и UDP портов "53, 161". При этом используется скрипт NMAP "http-enum".

Примечание: Во время активного сканирования опция “screen_ports” бесполезна. Эта опция работает только со сканированием экранов.

Опция “-a” полезна для обнаружения открытых хостов, путём отправки ICMP пакетов. Кроме этого, увеличение числа потоков увеличит скорость сканирования, для этого используйте параметр “-t”.

./flashlight.py -p active-project -s active -d 192.168.74.0/24 –t 30 -a -v

Результатом выполнения этой команды станут файлы вывода в трёх разных форматах (Normal, XML и Grepable), которые получились в результате четырёх типов сканирования (сканирования операционной системы, Ping сканирование, сканирование портов и сканирование скрипетов).

В процессе своей работы приложение Flashlight запускает команды наподобие следующих:

Сканирование операционной системы:

/usr/bin/nmap -n -Pn -O -T5 -iL /tmp/"IPListFile" -oA /root/Desktop/flashlight/output/active-project/nmap/OsScan-"Date"

Ping сканирование:

/usr/bin/nmap -n -sn -T5 -iL /tmp/"IPListFile" -oA /root/Desktop/flashlight/output/active-project/nmap/PingScan-"Date"

Сканирование портов:

/usr/bin/nmap -n -Pn -T5 --open -iL /tmp/"IPListFile" -sS -p T:21,22,23,25,80,443,445,3128,8080,U:53,161 -sU -oA /root/Desktop/flashlight/output/active-project/nmap/PortScan-"Date"

Сканирование скриптов:

/usr/bin/nmap -n -Pn -T5 -iL /tmp/"IPListFile" -sS -p T:21,22,23,25,80,443,445,3128,8080,U:53,161 -sU --script=default,http-enum -oA /root/Desktop/flashlight/output/active-project/nmap/ScriptScan-"Date"

Для запуска оптимизированного активного сканирования можно использовать параметр “-n”:

./flashlight.py -p active-project -s active -d 192.168.74.0/24 -n -a –v

параметр “-n” позволяет указать дополнительные опции NMAP, которые показаны ниже;

… -min-hostgroup 64 -min-parallelism 64 -host-timeout=300m -max-rtt-timeout=600ms -initial-rtt-timeout=300ms -min-rtt-timeout=300ms -max-retries=2 -min-rate=150 …

3) Сканирование экранов

Сканирование экранов используется для получения скриншотов веб-сайтов/приложений в соответствии с директивами в конфигурационном файле (flashlight.yaml). По умолчанию, эти директивы настраивают сканирование четырёх портов ("80, 443, 8080, 8443"), чтобы изменить список портов, отредактируйте строчку screen_ports: - 80, 443, 8080, 8443. Примером запуска сканирования экранов может быть следующая команда:

./flashlight.py -p project -s screen -d 192.168.74.0/24 -r /usr/local/rasterize.js -t 10 -v

К примеру, предположим, что мы запустили эту команду и было выявлено три веб-приложения. Скриншоты этих веб-сайтов сохранены в поддиректории “screen” Эти скриншоты могут быть использоваться для оффлайн анализа.

4) Фильтрация

Опция фильтрации используется для анализа файлов pcap.

./flashlight.py -p filter-project -s filter -f /root/Desktop/flashlight/output/passive-project-02/pcap/20150815072543.pcap -v

После запуска этой команды, в поддиректории “filter” будут созданы несколько файлов. Эта опция анализирует PCAP пакеты по следующим свойствам:

  • Хосты Windows
  • 10 самых популярных DNS запросов
  • …….

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

Примеры запуска смотрите в разделах «Руководство по flashlight» и в «Инструкции по flashlight».

Установка flashlight

Установка в Kali Linux, Debian, Mint, Ubuntu

apt-get install nmap tshark tcpdump dsniff

Для создания скриншотов нам нужен PhantomJS:

cd /tmp/ && wget https://bitbucket.org`curl -s https://bitbucket.org/ariya/phantomjs/downloads | grep -E -o '/ariya/phantomjs/downloads/phantomjs-[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2}-linux-x86_64.tar.bz2' | head -n 1` && tar xjf phantomjs-* && sudo mv `ls | grep 'phantomjs-' | head -n 1`/bin/phantomjs /usr/bin/ && cd `ls | grep 'phantomjs-' | head -n 1` && sudo mkdir /usr/share/phantomjs && sudo mv examples/ /usr/share/phantomjs && cd
sudo ln -s /usr/bin/phantomjs /usr/local/bin/phantomjs
sudo ln -s /usr/bin/phantomjs /usr/local/share/phantomjs

Далее:

git clone https://github.com/galkan/flashlight.git
cd flashlight/
./flashlight.py -h

Установка в BlackArch

Программа предустановлена в BlackArch. Но для создания скриншотов нам нужен PhantomJS:

sudo pacman -S phantomjs
sudo ln -s /usr/bin/phantomjs /usr/local/bin/phantomjs
sudo ln -s /usr/bin/phantomjs /usr/local/share/phantomjs

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

Скриншоты flashlight

Захваченные скриншоты в результате массового сканирования:

02

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

Видео на английском языке:

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

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