Novahot - это веб-оболочка для тестеров на проникновение. Он реализует API на основе JSON, который может общаться с троянами, написанными на любом языке. По умолчанию он поставляется с троянами, написанными на PHP, рубине и питоне.
Помимо выполнения системных команд, novahot способен эмулировать интерактивные терминалы, в том числе mysql, sqlite3 и psql. Кроме того, novahot реализует "виртуальные команды", которые позволяют загружать, скачивать, редактировать и просматривать удаленные файлы локально с помощью предпочитаемых вами приложений.
Установка
Установите исполняемый файл прямо из npm:
Код:
[sudo] npm install -g novahot
Затем загрузите файл конфигурации:
Код:
novahot config > ~/.novahotrc
Использование
- Просмотр доступных trojan со списком novahot.
- Выберите троян на языке, который подходит для вашей цели, а затем скопируйте его источник в новый файл. (Пример: novahot trojan view basic.php > ~/my-trojan.php)
- Измените контрольный пароль во вновь созданном трояне.
- Загрузите троян в доступное для веб-сайта место на цели.
- Настройте информацию о цели в свойстве цели в ~/.novahotrc.
- Запустите novahot <target>, чтобы открыть оболочку.
Режимы оболочки
Внутри novahot использует "режимы" и "адаптеры" для эмуляции различных интерактивных клиентов, в том числе клиентов mysql, psql (postgres) и sqlite3.
Для смены режима работы novahot необходимо выдать соответствующую команду:
Код:
.mysql { "username" : "mysql-user", "password" : "the-password", "database" : "the-database" }
(Параметры соединения могут быть указаны как
Ссылка скрыта от гостей
при изменении режимов или, в качестве альтернативы, сохранены как данные целевой конфигурации в ~/.novahotrc.)Например, режим mysql позволяет напрямую выполнять запросы, подобные следующим:
Код:
mysql> SELECT ID, user_login, user_email, user_pass FROM wp_users;
Дополнительно существует режим полезной нагрузки, который может быть использован для POST произвольных данных трояна. Дополнительную информацию см. в wiki.
Виртуальные команды
Novahot реализует четыре "виртуальные команды", которые используют встроенную в трояны полезную нагрузку для расширения функциональности оболочки:
скачать
Код:
download <remote-filename> [<local-filename>]
загрузка
Код:
upload <local-filename> [<remote-filename>]
Посмотр
Код:
view <remote-filename> [<local-filename>]
Редактирование
Код:
edit <remote-filename>
Подготовка тестовой среды
Этот репозиторий содержит лабораторную среду, построенную на
Ссылка скрыта от гостей
,
Ссылка скрыта от гостей
и
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Веб-приложении ("DVWA"). Шаги по настройке среды варьируются в зависимости от возможностей вашего физического хоста.Использование docker-compose
Если на вашем физическом хосте установлены docker-compose, вы можете просто сделать следующее:
- Клон и cd в репозиторий
- Запуск: docker-compose на сайте
Ссылка скрыта от гостей
контейнера
Ссылка скрыта от гостей
будет доступен по адресу
Ссылка скрыта от гостей
.Использование vagrant
Если docker не установлен на вашем физическом узле, вы можете использовать Vagrant/Virtualbox для доступа к виртуальной машине с поддержкой докеров:
- Клон и cd в репозиторий
- Предоставление виртуальной машины: vagrant up
- SSH в виртуальную машину: vagrant ssh
- Запустите Docker-контейнер: sudo su; cd /vagrant; docker-compose up
Ссылка скрыта от гостей
.Настройка novahot для лабораторной среды
Укажите следующие строки соединения в файле ~/.novahotrc для подключения клиента novahot к трояну PHP, встроенному в контейнер DVWA:
Код:
{
"targets": {
"dvwa" : {
"uri" : "http://localhost:8000/novahot.php",
"password" : "the-password",
Код:
"mysql" : {
"username": "root",
"password": "vulnerables",
"database": "dvwa"
}
}
}
}
Тогда ты можешь создать оболочку:
Код:
novahot shell dvwa
Дополнительная информация
Дополнительную информацию можно найти в wiki: