Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Веб-уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   Kali Linux Server - Upgrade и автоматизация (https://forum.antichat.xyz/showthread.php?t=562919)

Vander 05.04.2018 00:12

Приветствую, гостей и постояльцев форума! Эта статья будет посвящена созданию, скажем так, сервера, на борту ноутбука с ОС Kali Linux 2018.1, который будет готов включиться в нужный момент, выполнить все необходимые задачи, сохранить результаты работы в виде отчетов в личном облаке, ну и так, по мелочи.

https://forum.antichat.xyz/attachmen...2870719860.png

Подключаться мы будем к нему с планшета/смартфона как по SSH так и к web-интерфейсам нужных инструментов.

В руки мне попался ноутбук с подходящими характеристиками:
  • 8 GB RAM
  • 500 GB HDD
  • Intel Core i5
  • 2 GB Video Card (Но брутить на ней я не собираюсь, так, что этот параметр роли для меня не играет.)
Вот, на базе такого ноутбука и хочу собрать полнофункциональную рабочую станцию, обвесив ее всевозможными плюшками.

Система, установленная c нуля – Kali Linux 2018.1 Full Update.

Для начала, я хочу настроить WakeOnLAN чтобы включать Kali по расписанию cron или командой, подключившись к домашней Raspberry, которая находится в одной сети с Kali.

Для этого будет использоваться утилита Ethtool.

Код:


Код:

apt install ethtool
После установки и аппаратной активации Wake On LAN также необходимо активировать в программном обеспечении.

Заменим eth0 на имя вашего сетевого интерфейса:

Код:


Код:

ethtool -s eth0 wol g
Это можно автоматизировать с помощью записи в /etc/network/interfaces:

Код:


Код:

iface eth0 inet dhcp
post-up /sbin/ethtool -s $IFACE wol g
post-down /sbin/ethtool -s $IFACE wol g

https://forum.antichat.xyz/attachmen...2870820261.png

Это запускает Ethtool после каждого подъёма интерфейса eth0, а также после его отключения, таким образом, WOL должен работать даже в случае, когда сеть отключена некорректно.

Проверяем, все работает, как и ожидалось:

https://forum.antichat.xyz/attachmen...2870835169.png

У Kali Linux есть одна особенность, засыпание спустя 10 мин (теряется только SSH), хотя в Power Manager все настроено корректно. В общем, чтобы не терять сессию, можно поступить так:

Код:


Код:

systemctl mask sleep.target
Теперь можно, установить что-то для сканирования сетей и хостов, мой приоритет не консольный nmap, а web-ориентированное приложение на сервере.

https://forum.antichat.xyz/attachmen...2870882446.png

Таковым является Rainmap Lite - адаптивное веб-приложение, которое позволяет пользователям запускать Nmap-сканирование с мобильных телефонов / планшетов / веб-браузеров.

Функционал и особенности:
  • Простота запуска Nmap-сканирования в несколько кликов.
  • Отзывчивый интерфейс работает плавно с вашего телефона / планшета.
  • Отчеты, отправленные по электронной почте, во всех форматах.
  • Просмотр отчетов из веб-браузера.
  • Расписание сканирования.
  • Десятки профилей сканирования на выбор.
  • Простота установки / настройки.
  • Возможность поделиться результатами с вашей командой.
Rainmap-lite не требует специальных сервисов (RabbitMQ, PostgreSQL, Celery, supervisor и т. Д.), Чтобы упростить установку на любом сервере, вам нужно установить приложение Django и добавить задачу опроса cron для настройки нового сервера сканирования.

Установка:

Код:


Код:

pip install django
pip install lxml
git clone https://github.com/cldrn/rainmap-lite
cd /home/Pentest/rainmap-lite/rainmap-lite

https://forum.antichat.xyz/attachmen...2870923631.png

Внесем необходимые изменения в конфигурационный файл nmaper-cronjob.py:

Код:


Код:

nano nmaper-cronjob.py
https://forum.antichat.xyz/attachmen...2870951494.png
  • Здесь необходимо указать данные ящика, с которого вы будете получать уведомления. Google не пропустил подобные отчеты, поэтому я поднял собственный почтовый сервер на iRedmail.
Это можно сделать, если нужно формировать отчеты сканирования, для пересылки Вам на почту, а так же меняем localhost на адрес, выданный DHCP – сервером, Kali.

Создаем схему базы данных:

Код:


Код:

python manage.py migrate
Подгружаем дефолтные профили сканирования:

Код:


Код:

python manage.py loaddata nmapprofiles
Редактируем cron для периодического опроса:

Код:


Код:

crontab –e
Добавляем:

Код:


Код:

*/5 * * * * cd  && /usr/bin/python nmaper-cronjob.py >> /var/log/nmaper.log 2>&1
Теперь необходимо добавить свой роутер (у меня статический IP) в доверенные хосты для Django, иначе не получится заходить с произвольного устройства на web интерфейс сканера.

Код:


Код:

nano /usr/local/lib/python2.7/dist-packades/jango/http/request.py
И добавляем нужные хосты в Allowed Hosts:

https://forum.antichat.xyz/attachmen...2871083788.png

Теперь можно создать пользователя для Rainmap:

Код:


Код:

python manage.py createsuperuser
https://forum.antichat.xyz/attachmen...2871111815.png

Запускаем Rainmap, т.к. по DHCP Kali имеет адрес 192.168.0.101 на нем, и поднимаем сервер:

Код:


Код:

python manage.py runserver 192.168.0.101:8080
https://forum.antichat.xyz/attachmen...2871141774.png

Обратившись (и указав учетные данные) по указанному адресу к серверу, мы попадаем в главное меню сканера:

https://forum.antichat.xyz/attachmen...2871183018.png

К его работе претензий нет, множество профилей сканирования, и отчеты на почту в таком виде:

https://forum.antichat.xyz/attachmen...2871197702.png

Скачиваем их на свое облако, или смотрим онлайн:

https://forum.antichat.xyz/attachmen...2871210488.png

Это, на мой взгляд, удобнее просмотра результатов, в консоли мобильного SSH – клиента.

https://forum.antichat.xyz/attachmen...2871225001.png

Следующим шагом, будет установка облачного хранилища, выбор пал на ownCloud.

ownCloud — это свободное и открытое веб-приложение для синхронизации данных, общего доступа к файлам и удалённого хранения документов в «облаке».

Создаем базу данных и пользователя, для нашего будущего облака:

Код:


Код:

mysql -u root –p
create database owncloud;
create user owncloud@localhost identified by 'passwd';
grant all privileges on owncloud.* to owncloud@localhost identified by 'passwd';
flush privileges;
exit;

https://forum.antichat.xyz/attachmen...2871269791.png

Устанавливаем необходимые зависимости:

Код:


Код:

apt install -y apache2 mariadb-server libapache2-mod-php7.0 php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-intl php7.0-mcrypt php-imagick php7.0-zip php7.0-xml php7.0-mbstring
https://forum.antichat.xyz/attachmen...2871304438.png

Скачиваем последнюю актуальную версию:

Код:


Код:

cd /tmp
wget https://download.owncloud.org/community/owncloud-10.0.7.tar.bz2

Распаковываем и меняем разрешения:

Код:


Код:

tar -xvf owncloud-10.0.2.tar.bz2
chown -R www-data:www-data owncloud

После установки, появится папка owncloud, переместим ее:

Код:


Код:

mv owncloud /var/www/html/
Конфигурируем Apache:

Создаем новый файл конфигурации:

Код:


Код:

nano /etc/apache2/sites-available/owncloud.conf
И копируем в него следующие строки:

Alias /owncloud "/var/www/html/owncloud/"



Options +FollowSymlinks

AllowOverride All



Dav off



SetEnv HOME /var/www/html/owncloud

SetEnv HTTP_HOME /var/www/html/owncloud



Создаем симлинк:

Код:


Код:

ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf
Дополнительно конфигурируем Apache, следующими командами:

Код:


Код:

a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime

https://forum.antichat.xyz/attachmen...2871677002.png

Теперь, можно проверять работу облака обратившись к нему по адресу:

Код:


Код:

http://yourIP/owncloud
https://forum.antichat.xyz/attachmen...2871707328.png

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

https://forum.antichat.xyz/attachmen...2871721860.png

Следующее, что можно сделать, это установить более продвинутый сканер уязвимостей:

Archery - это инструмент для анализа и управления уязвимостями, с открытым исходным кодом, который помогает разработчикам и пентестерам выполнять комплексное сканирование хостов и приложений.

Archery- использует популярные инструменты для анализа, и выполняет динамическое сканирование с использованием веб-приложений и поддерживает все приложения использующие selenium.

Selenium - это инструмент для автоматизированного управления браузерами. Наиболее популярной областью применения Selenium является автоматизация тестирования веб-приложений.

Разработчики могут также использовать инструмент для реализации своей среды DevOps CI / CD.

Принцип работы Archery:

https://forum.antichat.xyz/attachmen...2871742854.png

Особенности Archery:
  • Сканирование уязвимостей в сети с помощью инструментов open-source.
  • Корреляция и поддержка со всеми необработанными данными сканирования, демонстрация их в консолидированном виде.
  • Выполнение проверок подлинности в Интернете.
  • Выполнение сканирования веб-приложений с использованием selenium.
  • Управление уязвимостями.
  • Включение REST API для разработчиков с целью выполнения сканирования и управления уязвимостями.
  • Использование DevOps командами, для управления уязвимостями.
Зависимости:
  • Python 2.7
  • OpenVas 8
  • OWASP ZAP 2.7.0
  • Selenium Python Firefox Web driver
Установка:

Для начала, устанавливаем OWASP ZAP 2.7.0.

Open Web Application Security Project (OWASP) — это открытый проект обеспечения безопасности веб-приложений.

OWASP ZAP - это простой в применении встроенный инструмент тестирования проникновений, служащий для нахождения уязвимостей веб-приложений. Он разработан для использования людьми с различным опытом в сфере безопасности и является эталоном для разработчиков и тестировщиков функционала, которые не имеют опыта в тестировании проникновений.

Код:


Код:

wget https://github.com/zaproxy/zaproxy/wiki/Downloads
chmod +x ZAP_2_7_0_unix.sh
./ZAP_2_7_0_unix.sh

После окончания установки клонируем Archery с Github:

Код:


Код:

git clone https://github.com/archerysec/archerysec
cd /archerysec
pip install -r requirements.txt

https://forum.antichat.xyz/attachmen...2871818186.png

Загружаем статические файлы:

Код:


Код:

python manage.py collectstatic
Макетирование всех моделей приложений сетевых сканеров:

Код:


Код:

python manage.py makemigrations networkscanners
Макетирование всех моделей приложений веб-сканеров:

Код:


Код:

python manage.py makemigrations webscanners
Макетирование всех моделей приложений:

Код:


Код:

python manage.py makemigrations projects
Перенос всех данных:

Код:


Код:

python manage.py migrate
Теперь вам нужно создать учетные данные приложения:

Код:


Код:

python manage.py createsuperuser
Запускаем Archery:

Код:


Код:

python manage.py runserver 192.168.0.101:8088
Здесь выбираем типы сканирования, виды сканеров и т.д:

https://forum.antichat.xyz/attachmen...2871991949.png

Вся дополнительная информация о сканере Archery, а ее много и расписывать, смысла нет, доступна тут:
  • https://github.com/archerysec/archerysec
На этом настройка Archery закончена.

https://forum.antichat.xyz/attachmen...2872029260.png

Следующее, что мне хотелось бы видеть на своем сервере – это SpiderFoot.

SpiderFoot - это инструмент с открытым исходным кодом для проведения полностью автоматизированной разведки.

Его цель - автоматизировать процесс сбора информации о заданной цели, которая может быть представлена IP-адресом, доменным именем, именем хоста или подсетью.

Он схож по функционалу с Maltego, но в качестве плюса, использует web – интерфейс для управления.

Установка:

Скачиваем SpiderFootс официального сайта разработчиков:

https://forum.antichat.xyz/attachmen...2872063720.png

Код:


Код:

tar zxvf spiderfoot-X.X.X-src.tar.gz
https://forum.antichat.xyz/attachmen...2872091303.png

Запуск SpiderFoot:

Для того чтобы использовать SpiderFootизвне, необходимо в файле sf.py заменить localhost на адрес Kali выданный ей роутером:

Код:


Код:

nano sf.py
https://forum.antichat.xyz/attachmen...2872120053.png

Затем пробросить порт на роутере и установить необходимые зависимости:

Код:


Код:

pip install –r requirements.txt
https://forum.antichat.xyz/attachmen...2872153753.png

Код:


Код:

cd spiderfoot-X.X.X
ls –a
./sf.py

Обратившись по указанному адресу и порту, попадаем в панель управления SpiderFoot:

https://forum.antichat.xyz/attachmen...2872183016.png

В отличие от именитого конкурента Maltego, SpiderFoot полностью бесплатный и намного более полезен, поскольку способен собрать информации больше на несколько порядков.

Некоторые сервисы требуют наличия API ключей (даются бесплатно при регистрации), об этих сервисах и о получении API ключей написано на странице документации:
  • http://www.spiderfoot.net/documentation/
Добавлю от себя, сканер реально полезный и удобный, отчеты подробные и очень информативные. Возможность обратиться к нему из любой точки, очень облегчает многие задачи.

https://forum.antichat.xyz/attachmen...2872204618.png

https://forum.antichat.xyz/attachmen...2872211324.png

Последнее, что мне нужно, это добавить к Kali VNC сервер, иногда он необходим:
Установка:

Код:


Код:

apt install tightvncserver
apt install autocutsel

https://forum.antichat.xyz/attachmen...2872250636.png

Запуск:

Код:


Код:

vncserver: 1
При первом запуске vncserver запрашивается пароль (8 символов).

https://forum.antichat.xyz/attachmen...2872281731.png

Мы можем проверить, работает ли VNC сервер, выдав команду netstat -tupln:

https://forum.antichat.xyz/attachmen...2872299710.png

Подключаемся к VNC с любого VNC клиента, как с мобильного, так и стационарного:

Для подключения извне, как обычно нужно пробросить порт на роутере.

https://forum.antichat.xyz/attachmen...2872440633.png

Еще, в довесок ко всему, мне нужен FTP сервер, тут все очень просто:
  • apt-get install vsftpd
По настройке и защите FTP сервера, в сети мануалов достаточно, заострять внимание на этом не буду.

Запустим FTP сервис:

Код:


Код:

systemctl start vsftpd.service
Затем попробуем присоединиться к нему любым FTP клиентом:

https://forum.antichat.xyz/attachmen...2872551191.png

Все работает, как в пределах локальной сети, так и за её пределами.

Проброс портов выглядит примерно так:

https://forum.antichat.xyz/attachmen...2872615958.png

Собственно, на этом все, все сервера работают, порты проброшены, а в закладках на планшете и телефоне установлены адреса сервисов, чтобы в любой момент к ним можно было подключиться.

Ну и написан пару строчный bash – скрипт, который запускает все сервисы разом. Это уже по мере необходимости.

Спасибо за внимание.

Специально для античат .

ghost 05.04.2018 00:17

Vander, за настройку owncloud отдельное спасибо статья как всегда на высоте!

Night Hunter 05.04.2018 01:20

@Vander спасибо за статью, интересная и полезная. Вопрос, модули для OwnCloud, которые в маркете, для корпоративной версии,можно бесплатно достать?

Vander 05.04.2018 10:36

Цитата:


Night Hunter сказал(а):

@Vander спасибо за статью, интересная и полезная. Вопрос, модули для OwnCloud, которые в маркете, для корпоративной версии,можно бесплатно достать?


Наверняка не знаю

nbg0x1 05.04.2018 13:12

Статья на 5+++ респект и уважуха.

Vander 10.04.2018 12:23

Цитата:


HABb сказал(а):

Статья хорошая, один вопрос: ownCloud стабильно работает?


Тоже думал, что будет с косяками, но реально стабильно все. Конечно, опасаюсь важные данные закидывать пока, но в целом довольно неплохо.
Сейчас с видеонаблюдением вопрос стал... motion не хочет работать, а zoneminder с зависимостями проблемы...

woolf1514 10.04.2018 16:15

Отлично! Давно задался вопросом сервера на kali.. А тут столько нового, спасибо!

w3n0m41k 12.04.2018 19:16

однозначно в закладки!!!!!!!!!!!!!!!

Vander 20.02.2019 00:48

Как выглядит команда, которую выполняешь?

ghostphisher 20.02.2019 10:09

копаем в сторогу ключа --fix-missing


Время: 12:55