Гостевая статья Novahot - платформа Webshell на проникновение для тестеров

  • Автор темы Автор темы Vlad
  • Дата начала Дата начала
Novahot - платформа Webshell для тестеров на проникновение.png

Novahot - это веб-оболочка для тестеров на проникновение. Он реализует API на основе JSON, который может общаться с троянами, написанными на любом языке. По умолчанию он поставляется с троянами, написанными на PHP, рубине и питоне.

Помимо выполнения системных команд, novahot способен эмулировать интерактивные терминалы, в том числе mysql, sqlite3 и psql. Кроме того, novahot реализует "виртуальные команды", которые позволяют загружать, скачивать, редактировать и просматривать удаленные файлы локально с помощью предпочитаемых вами приложений.

Установка
Установите исполняемый файл прямо из npm:
Код:
[sudo] npm install -g novahot

Затем загрузите файл конфигурации:
Код:
novahot config > ~/.novahotrc

Использование
  1. Просмотр доступных trojan со списком novahot.
  2. Выберите троян на языке, который подходит для вашей цели, а затем скопируйте его источник в новый файл. (Пример: novahot trojan view basic.php > ~/my-trojan.php)
  3. Измените контрольный пароль во вновь созданном трояне.
  4. Загрузите троян в доступное для веб-сайта место на цели.
  5. Настройте информацию о цели в свойстве цели в ~/.novahotrc.
  6. Запустите 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>]
Загружает <remote-filename> в --download-dir, и при необходимости переименовывает его в <local-filename>, если указано.

загрузка
Код:
upload <local-filename> [<remote-filename>]
Загружает <local-filename> в cwd оболочки и при необходимости переименовывает <local-filename> в <remote-filename>, если указано.

Посмотр

Код:
view <remote-filename> [<local-filename>]
Загружает <remote-filename> в --download-dir, а при необходимости переименовывает его в <local-filename> После загрузки файл будет открыт "просмотрщиком" приложения, указанного в конфигурациях.

Редактирование
Код:
edit <remote-filename>
Скачивает <remote-filename> во временный файл, а затем открывает этот файл для редактирования с помощью "редактора", указанного в конфигурациях. После этого, если изменения в файле будут сохранены локально, файл будет автоматически перезагружен на сервер.

Подготовка тестовой среды
Этот репозиторий содержит лабораторную среду, построенную на , и Веб-приложении ("DVWA"). Шаги по настройке среды варьируются в зависимости от возможностей вашего физического хоста.

Использование docker-compose
Если на вашем физическом хосте установлены docker-compose, вы можете просто сделать следующее:
  1. Клон и cd в репозиторий
  2. Запуск: docker-compose на сайте
После запуска контейнера будет доступен по адресу .

Использование vagrant
Если docker не установлен на вашем физическом узле, вы можете использовать Vagrant/Virtualbox для доступа к виртуальной машине с поддержкой докеров:
  1. Клон и cd в репозиторий
  2. Предоставление виртуальной машины: vagrant up
  3. SSH в виртуальную машину: vagrant ssh
  4. Запустите Docker-контейнер: sudo su; cd /vagrant; docker-compose up
DVWA будет доступен по адресу .

Настройка 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:
Скачать Novahot
--------------------
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!