
GoLismero — веб-нож
GoLismero — это фреймворк с открытым исходным кодом для тестирования безопасности. В настоящее время он ориентирован на веб-безопасность, но может быть легко расширен для других видов сканирования.
Наиболее интересные особенности фреймворка:
Строго говоря, GoLismero не требует установки — только его зависимости. Так что если вы хотите использовать его в системе, где у вас нет прав root, вы можете попросить системного администратора установить их для вас и просто выполнить команду «git checkout» в своей домашней папке.
Ниже приведены пошаговые инструкции по установке GoLismero в различных операционных системах:
Следующие команды загрузят и установят GoLismero в вашей системе. Для этого требуются права root, поэтому при выполнении первой команды будет запрошен пароль.
sudo bash
apt-get install python2.7 python2.7-dev python-pip python-docutils git perl nmap sslscan
cd /opt
git clone https://github.com/golismero/golismero.git
cd golismero
pip install -r requirements.txt
pip install -r requirements_unix.txt
ln -s ${PWD}/golismero.py /usr/bin/golismero
exit
Если у вас есть API-ключ для Shodan, или сервер OpenVAS, или сервер SpiderFoot, который вы хотите интегрировать с GoLismero, выполните следующие команды:
mkdir ~/.golismero
touch ~/.golismero/user.conf
chmod 600 ~/.golismero/user.conf
nano ~/.golismero/user.conf
В редакторе добавьте в файл следующие разделы по мере необходимости:
[shodan:Configuration]
apikey = <INSERT YOUR SHODAN API KEY HERE>
[openvas]
host = <INSERT THE OPENVAS HOST HERE>
user = <INSERT THE OPENVAS USERNAME HERE>
*password = <INSERT THE OPENVAS PASSWORD HERE>
[spiderfoot]
url = <INSERT THE SPIDERFOOT URL HERE>
Прежде всего, на Mac нам понадобится установить Mac Ports.
После этого выполните следующие команды, чтобы загрузить и установить GoLismero в вашей системе. Для этого требуются права root, поэтому при выполнении первой команды будет запрошен пароль.
sudo -s
easy_install-2.7 -U distribute
easy_install install pip
port install nmap sslscan
cd /opt
git clone https://github.com/golismero/golismero.git
cd golismero
pip install -r requirements.txt
pip install -r requirements_unix.txt
ln -s /opt/golismero/golismero.py /usr/bin/golismero
exit
Если у вас есть API-ключ для Shodan, или сервер OpenVAS, или сервер SpiderFoot, который вы хотите интегрировать с GoLismero, выполните следующие команды:
mkdir ~/.golismero
touch ~/.golismero/user.conf
chmod 600 ~/.golismero/user.conf
nano ~/.golismero/user.conf
В редакторе добавьте в файл следующие разделы по мере необходимости:
[shodan:Configuration]
apikey = <INSERT YOUR SHODAN API KEY HERE>
[openvas]
host = <INSERT THE OPENVAS HOST HERE>
user = <INSERT THE OPENVAS USERNAME HERE>
*password = <INSERT THE OPENVAS PASSWORD HERE>
[spiderfoot]
url = <INSERT THE SPIDERFOOT URL HERE>
Следующие команды загрузят и установят GoLismero в вашей системе. Для этого требуются права root, поэтому при выполнении первой команды будет запрошен пароль.
su -
cd /root
pkg update
pkg install git
pkg install python27
ln -s /usr/local/bin/python2.7 /usr/local/bin/python
pkg install databases/py-sqlite3
pkg install nmap
pkg install sslscan
pkg install devel/py-pip
mkdir /opt 2> /dev/null
cd /opt
git clone https://github.com/golismero/golismero.git
cd golismero
pip install -r requirements.txt
pip install -r requirements_unix.txt
ln -s /opt/golismero/golismero.py /usr/bin/golismero
exit
Если у вас есть API-ключ для Shodan, или сервер OpenVAS, или сервер SpiderFoot, который вы хотите интегрировать с GoLismero, выполните следующие команды:
mkdir ~/.golismero
touch ~/.golismero/user.conf
chmod 600 ~/.golismero/user.conf
nano ~/.golismero/user.conf
В редакторе добавьте в файл следующие разделы по мере необходимости:
[shodan:Configuration]
apikey = <INSERT YOUR SHODAN API KEY HERE>
[openvas]
host = <INSERT THE OPENVAS HOST HERE>
user = <INSERT THE OPENVAS USERNAME HERE>
*password = <INSERT THE OPENVAS PASSWORD HERE>
[spiderfoot]
url = <INSERT THE SPIDERFOOT URL HERE>
В Windows каждый инструмент придётся устанавливать отдельно. Их можно загрузить отсюда:
Nikto уже включён в GoLismero, но для его работы требуется версия Perl для Cygwin, так как нативная версия не может обрабатывать пути Unix. Его можно загрузить отсюда: Cygwin.
SSLScan для Windows содержит ошибку, вызывающую сбои при записи XML-вывода, который требуется GoLismero. Проблема не исправлена с 2010 года, поэтому вряд ли она скоро изменится, но есть обходной путь: просто обновите OpenSSL до более новой версии. Сборку OpenSSL можно получить здесь: Win32OpenSSL.
Обычно также рекомендуется установить Visual Studio 2008 SP1. Это обеспечивает компиляцию расширений C, что может ускорить некоторые модули Python.
После установки инструментов откройте консоль и выполните следующие команды:
cd %HOME%
git clone https://github.com/golismero/golismero.git
cd golismero
pip install -r requirements.txt
Наконец, возможно, потребуется добавить инструменты в переменную среды PATH, чтобы GoLismero мог их найти. Также можно добавить сам GoLismero в PATH.
Если у вас есть API-ключ для Shodan, или сервер OpenVAS, или сервер SpiderFoot, который вы хотите интегрировать с GoLismero, создайте новый файл с именем «user.conf» в каталоге, где установлен GoLismero, и добавьте в него следующие разделы по мере необходимости:
[shodan:Configuration]
apikey = <INSERT YOUR SHODAN API KEY HERE>
[openvas]
host = <INSERT THE OPENVAS HOST HERE>
user = <INSERT THE OPENVAS USERNAME HERE>
*password = <INSERT THE OPENVAS PASSWORD HERE>
[spiderfoot]
url = <INSERT THE SPIDERFOOT URL HERE>
Использовать GoLismero очень просто. Ниже приведены основные команды для начала работы:
Эта команда запустит GoLismero со всеми настройками по умолчанию и выведет отчёт на стандартный вывод:
golismero scan <target>
Если опустить команду по умолчанию «scan», GoLismero достаточно умён, чтобы понять, что вы пытаетесь сделать, так что это тоже работает:
golismero <target>
Вы также можете задать имя для своей проверки с помощью --audit-name:
golismero scan <target> --audit-name <name>
И вы можете создавать отчёты в разных форматах файлов. Формат определяется по расширению файла, и вы можете записывать столько файлов, сколько захотите:
golismero scan <target> -o <output file name>

Кроме того, вы можете импортировать результаты из других инструментов с помощью опции -i. Вы можете использовать -i несколько раз для импорта нескольких файлов.
golismero import nikto_output.csv nmap_output.xml -db database.db
Это позволяет вам выполнить сканирование цели за один шаг, а отчёт сгенерировать позже. Например, для сканирования без создания отчёта:
golismero scan <target> -db database.db -no
А затем сгенерировать отчёт из базы данных позже (или с другого компьютера!):
golismero report report.html -db database.db
Вы также можете указать несколько выходных файлов:
golismero report report.html report.txt report.rst -db example.db

Чтобы отобразить список доступных плагинов:
golismero plugins

Вы также можете запросить дополнительную информацию о конкретных плагинах:
golismero info <plugin>

Полный список плагинов также доступен онлайн.
Используйте опцию -e, чтобы включить только некоторые плагины, и -d, чтобы отключить плагины (вы можете использовать -e и -d несколько раз):
golismero scan <target> -e <plugin>
Вы также можете выбрать несколько плагинов с помощью подстановочных знаков. Например, так можно выбрать все плагины для брутфорса:
golismero scan <target> -e brute*

В настоящее время GoLismero создаёт отчёты в консоли, в виде обычных текстовых файлов, в формате reStructured text и в формате HTML. Во всех случаях отчёты являются самодостаточными в одном файле для удобства переноса — это означает, что HTML-отчёт представляет собой один файл .html со всем встроенным содержимым, и вы можете просто прикрепить его к электронному письму, чтобы отправить кому-то ещё.
Если выходные файлы не указаны, GoLismero по умолчанию выводит отчёт на консоль. Но вы также можете выбрать оба варианта одновременно! Например, давайте запишем HTML-отчёт и одновременно увидим вывод на консоль, используя специальное имя файла «-»:
golismero scan <target> -o - -o report.html
Вот как выглядит сводка HTML-отчёта в Chrome:

Оглавление в Firefox:

И подробности по каждой уязвимости в Internet Explorer:

Он также совместим с мобильными устройствами, например, с iPad:

Как вы, наверное, заметили, макет остаётся неизменным на всех платформах. HTML-отчёт полностью самодостаточен в одном файле .html, что упрощает его передачу.
В этом примере мы применим всё, что видели выше, в одной команде. Мы импортируем результаты сканирования Nmap, запустим собственное сканирование, но используя только плагины анализа DNS, сохраним результаты в файле базы данных по нашему выбору и создадим отчёты в формате HTML и reStructured text.
golismero -i nmap_output.xml -e dns* -db database.db -o report.rst -o report.html
Обратите внимание, что команда по умолчанию «scan» была опущена, но GoLismero разобрался самостоятельно.
Вот как бы вы это сделали, если бы хотели разбить на несколько команд:
golismero import -db database.db nmap_output.xml
golismero scan -db database.db -e dns* -no
golismero report -db database.db report.rst report.html
Обратите внимание, как во второй команде используется переключатель «-no», чтобы предотвратить вывод отчёта по умолчанию на консоль.
Следующие функции GoLismero будут:
GoLismero полностью расширяем за счёт плагинов, а это означает, что вы всегда можете написать свои собственные скрипты, адаптированные под ваши конкретные нужды или с использованием ваших любимых инструментов.
Вы можете начать с документации по API плагинов, а затем перейти к полным спецификациям, если хотите покопаться во внутренностях GoLismero.
Скоро появятся новые пошаговые учебные пособия и руководства!
Если вы нашли ошибку, вы можете сообщить о ней через систему Issues на GitHub. Вы также можете написать нам по электронной почте ([email protected]) или найти нас в Twitter (@golismero_pro).
Некоторые известные нам «сюрпризы»: