• Открыта запись на вторую часть курса по анонимности и безопасности в сети интернет "Paranoid II" от команды codeby. Анонимные роутеры, Подъём, настройка и администрирование Tor-ноды, Работа с железом ПК, Удаление аппаратных закладок, Минимизация рисков, Авторские разработки и многое другое. Подробнее ...

Статья Kali Linux Server - Upgrade и автоматизация

Vander

Vander

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

Kali Linux Server - Upgrade и автоматизация


Подключаться мы будем к нему с планшета/смартфона как по 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
Kali Linux Server - Upgrade и автоматизация


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

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

Kali Linux Server - Upgrade и автоматизация


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

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

Kali Linux Server - Upgrade и автоматизация


Таковым является 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
Kali Linux Server - Upgrade и автоматизация


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

Код:
nano nmaper-cronjob.py
Kali Linux Server - Upgrade и автоматизация

  • Здесь необходимо указать данные ящика, с которого вы будете получать уведомления. Google не пропустил подобные отчеты, поэтому я поднял собственный почтовый сервер на iRedmail.
Это можно сделать, если нужно формировать отчеты сканирования, для пересылки Вам на почту, а так же меняем localhost на адрес, выданный DHCP – сервером, Kali.

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

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

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

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

Код:
*/5 * * * * cd <App path> && /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:

Kali Linux Server - Upgrade и автоматизация


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

Код:
python manage.py createsuperuser
Kali Linux Server - Upgrade и автоматизация


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

Код:
python manage.py runserver 192.168.0.101:8080
Kali Linux Server - Upgrade и автоматизация


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

Kali Linux Server - Upgrade и автоматизация


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

Kali Linux Server - Upgrade и автоматизация

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

Kali Linux Server - Upgrade и автоматизация


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

Kali Linux Server - Upgrade и автоматизация



Следующим шагом, будет установка облачного хранилища, выбор пал на 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;
Kali Linux Server - Upgrade и автоматизация


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

Код:
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
Kali Linux Server - Upgrade и автоматизация


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

Код:
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/"

<Directory /var/www/html/owncloud/>

Options +FollowSymlinks

AllowOverride All

<IfModule mod_dav.c>

Dav off

</IfModule>

SetEnv HOME /var/www/html/owncloud

SetEnv HTTP_HOME /var/www/html/owncloud

</Directory>

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

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

Код:
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
Kali Linux Server - Upgrade и автоматизация


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

Код:
http://yourIP/owncloud
Kali Linux Server - Upgrade и автоматизация


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

Kali Linux Server - Upgrade и автоматизация


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

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

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

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

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

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

Kali Linux Server - Upgrade и автоматизация

Особенности 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
Kali Linux Server - Upgrade и автоматизация


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

Код:
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
Здесь выбираем типы сканирования, виды сканеров и т.д:

Kali Linux Server - Upgrade и автоматизация


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

Kali Linux Server - Upgrade и автоматизация


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

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

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

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

Установка:

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

Kali Linux Server - Upgrade и автоматизация


Код:
tar zxvf spiderfoot-X.X.X-src.tar.gz
Kali Linux Server - Upgrade и автоматизация


Запуск SpiderFoot:

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

Код:
nano sf.py
Kali Linux Server - Upgrade и автоматизация


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

Код:
pip install –r requirements.txt
Kali Linux Server - Upgrade и автоматизация


Код:
cd spiderfoot-X.X.X
ls –a
./sf.py
Обратившись по указанному адресу и порту, попадаем в панель управления SpiderFoot:

Kali Linux Server - Upgrade и автоматизация


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

Некоторые сервисы требуют наличия API ключей (даются бесплатно при регистрации), об этих сервисах и о получении API ключей написано на странице документации:

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

Kali Linux Server - Upgrade и автоматизация




Kali Linux Server - Upgrade и автоматизация


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

Код:
apt install tightvncserver
apt install autocutsel
Kali Linux Server - Upgrade и автоматизация


Запуск:

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

Kali Linux Server - Upgrade и автоматизация


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

Kali Linux Server - Upgrade и автоматизация


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

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

Kali Linux Server - Upgrade и автоматизация

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

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

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

Kali Linux Server - Upgrade и автоматизация


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

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

Kali Linux Server - Upgrade и автоматизация


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

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

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

Специально для Codeby.net.
 
ghost

ghost

YW1uZXNpYQo=
Gold Team
12.05.2016
1 535
3 096
Vander, за настройку owncloud отдельное спасибо (y) статья как всегда на высоте!
 
  • Нравится
Реакции: Vander и Vertigo
Night Hunter

Night Hunter

Well-known member
13.01.2018
283
279
@Vander спасибо за статью, интересная и полезная. Вопрос, модули для OwnCloud, которые в маркете, для корпоративной версии,можно бесплатно достать?
 
nbg0x1

nbg0x1

Active member
03.12.2017
28
19
Статья на 5+++ респект и уважуха.
 
  • Нравится
Реакции: Vander
HABb

HABb

New member
15.03.2017
3
1
Статья хорошая, один вопрос: ownCloud стабильно работает?
 
Vander

Vander

CodebyTeam
Gold Team
16.01.2016
1 453
4 289
Статья хорошая, один вопрос: ownCloud стабильно работает?
Тоже думал, что будет с косяками, но реально стабильно все. Конечно, опасаюсь важные данные закидывать пока, но в целом довольно неплохо.
Сейчас с видеонаблюдением вопрос стал... motion не хочет работать, а zoneminder с зависимостями проблемы...
 
  • Нравится
Реакции: ILionI
woolf1514

woolf1514

Well-known member
06.03.2017
162
169
Отлично! Давно задался вопросом сервера на kali.. А тут столько нового, спасибо!
 
omar_23

omar_23

New member
08.01.2019
3
0
блин чувак я уперся в установку зависимостей для облака
Построение дерева зависимостей
Чтение информации о состоянии… Готово
E: Невозможно найти пакет libapache2-mod-php7.0
E: Не удалось найти ни один пакет с помощью шаблона «libapache2-mod-php7.0»
E: Не удалось найти ни один пакет с помощью регулярного выражения «libapache2-mod-php7.0»
E: Невозможно найти пакет php7.0-gd
E: Не удалось найти ни один пакет с помощью шаблона «php7.0-gd»
E: Не удалось найти ни один пакет с помощью регулярного выражения «php7.0-gd»
E: Невозможно найти пакет php7.0-json
E: Не удалось найти ни один пакет с помощью шаблона «php7.0-json»
E: Не удалось найти ни один пакет с помощью регулярного выражения «php7.0-json»
E: Невозможно найти пакет php7.0-mysql
E: Не удалось найти ни один пакет с помощью шаблона «php7.0-mysql»
E: Не удалось найти ни один пакет с помощью регулярного выражения «php7.0-mysql»
E: Невозможно найти пакет php7.0-curl
E: Не удалось найти ни один пакет с помощью шаблона «php7.0-curl»
E: Не удалось найти ни один пакет с помощью регулярного выражения «php7.0-curl»
E: Невозможно найти пакет php7.0-intl
E: Не удалось найти ни один пакет с помощью шаблона «php7.0-intl»
E: Не удалось найти ни один пакет с помощью регулярного выражения «php7.0-intl»
E: Невозможно найти пакет php7.0-mcrypt
E: Не удалось найти ни один пакет с помощью шаблона «php7.0-mcrypt»
E: Не удалось найти ни один пакет с помощью регулярного выражения «php7.0-mcrypt»
E: Невозможно найти пакет php7.0-zip
E: Не удалось найти ни один пакет с помощью шаблона «php7.0-zip»
E: Не удалось найти ни один пакет с помощью регулярного выражения «php7.0-zip»
E: Невозможно найти пакет php7.0-xml
E: Не удалось найти ни один пакет с помощью шаблона «php7.0-xml»
E: Не удалось найти ни один пакет с помощью регулярного выражения «php7.0-xml»
E: Невозможно найти пакет php7.0-mbstring
E: Не удалось найти ни один пакет с помощью шаблона «php7.0-mbstring»
E: Не удалось найти ни один пакет с помощью регулярного выражения «php7.0-mbstring»
не могу решить мб подскажешь
 
Последнее редактирование модератором:
Vander

Vander

CodebyTeam
Gold Team
16.01.2016
1 453
4 289
Как выглядит команда, которую выполняешь?
 
omar_23

omar_23

New member
08.01.2019
3
0
блин все перелопатил на этот застрял
root@kalilen:~# apt install -y php7.0-curl
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:

Следующие пакеты имеют неудовлетворённые зависимости:
php7.0-curl : Зависит: libcurl3 (>= 7.18.0) но он не может быть установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.

остальное вроде поставил кое как
 
ghostphisher

ghostphisher

гарант codeby
Gold Team
07.12.2016
2 515
3 353
копаем в сторогу ключа --fix-missing
 
  • Нравится
Реакции: Vander
Мы в соцсетях:  ТелеграмВконтактеДзенФейсбукТвиттерЮтуб