пятница, 3 июля 2020 г.

Hashtopolis на Fedora 31 x86_64 и в docker

Установка и настройка hashcat рассматривается здесь.

Ставим hashtopolis. Мы можем либо скачать готовый образ docker с уже установленной прогой, либо сделать чистую установку вебсервера и проги на Fedora 31 x86_64.

1. Установку на Fedora 31 x86_64 будем делать по следующему руководству, в котором разбирается установка LAMP, самого hashtopolis клиентов на питоне. Руководство по первым двум частям на английском здесь и видос.

1.1. Установка mysql под федорой немного нетривиальна, по умолчанию ставится mariadb. Устанавливаем сервер mysql:

sudo dnf install community-mysql-server

Включаем автозапуск службы и запускаем:

sudo systemctl enable mysqld
sudo systemctl start mysqld

Находим временный пароль для рута mysql:

sudo grep 'temporary password' /var/log/mysqld.log

Настройка mysql перед первым использованием, установка своего рут-пароля, удаление тестовой базы и т.д. (можно на все говорить yes):

sudo mysql_secure_installation

Подключение к mysql из баша:

mysql -u root -p

Ссылки:
1) https://tecadmin.net/install-mysql-8-on-fedora/
2) https://docs.fedoraproject.org/en-US/quick-docs/installing-mysql-mariadb/


1.2. Установим apache2:

sudo dnf install httpd -y

Чтобы включить автозапуск службы при старте системы:

sudo systemctl enable httpd.service

Запуск службы:

sudo systemctl start httpd.service

Ссылки:
1) https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-apache-http-server/


1.3. Установка php (mod_php has been Deprecated and PHP-FPM (FPM : FastCGI Process Manager) is configured by default):

sudo dnf install php-mysqli php php-gd php-pear php-curl

Ссылки:
3) https://tecadmin.net/install-lamp-on-fedora/

1.4. phpmyadmin, git, httpd restart:

sudo dnf install git
sudo dnf install phpmyadmin
sudo systemctl restart httpd

phpmyadmin не может подключиться к mysql. Решение через баш:

mysql -u root -p
ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';

Ссылки:
1) https://fedoraproject.org/wiki/PhpMyAdmin
2) https://www.server-world.info/en/note?os=Fedora_31&p=mariadb&f=5

Сейчас должны быть доступны локально страницы: http://localhost и http://localhost/phpmyadmin.

1.5. Создание базы, пользователя, присвоение прав пользователю для работы с базой:

mysql -u root -p
create database mydb;
create user 'mydb_user'@'localhost' identified by '!Qwerty123456';
GRANT ALL PRIVILEGES ON mydb.* to 'mydb_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

Ссылки:
1) http://ithelp21.ru/sozdaty-polyzovatelya-baz-dannh-bazu-dannh-mysql/
2) https://www.hostinger.ru/rukovodstva/kak-sozdat-polzovatelya-mysql-i-nastroit-prava-dostupa/

1.6. Затягиваем папки hashtopolis с гита и копируем в дефолтную директорию apache2:

git clone https://github.com/s3inlc/hashtopolis.git
cd hashtopolis/src
sudo mkdir /var/www/hashtopolis
sudo cp -r * /var/www/hashtopolis

sudo chown -R apache:apache /var/www/hashtopolis

1.7. Настраиваем описание папки /var/www/hashtopolis в конфигурационном файле /etc/httpd/conf/httpd.conf:

sudo nano /etc/httpd/conf/httpd.conf

Добавляем следующее описание:

Alias /hashtopolis "/var/www/hashtopolis" 
<Directory /var/www/hashtopolis> 
  AuthType Basic 
  AuthName "Restricted Content" 
  AuthUserFile /etc/httpd/.htpasswd
  Order allow,deny 
  Allow from all 
  AllowOverride All 
  Require valid-user 
</Directory>

Создаем .htpasswd-файл с паролем и пользователем:

sudo htpasswd -c /etc/httpd/.htpasswd myuser

Сейчас надо перезапустить сервис:

sudo systemctl restart httpd

Теперь должна быть доступна страница http://localhost/hashtopolis. При подключении apache2 спросит логин и пароль введенного пользователя из .htpasswd-файла. При первом подключении запустится страница с настройкой http://localhost/hashtopolis/install/.

Ссылки:
1) https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/servers/Web_Servers/

1.8. Вводим параметры для доступа к hashtopolis:
- servername - localhost
- mysql user - mydb_user
- mysql password - !Qwerty123456
- mysql db - mydb
На следующей странице "Create admin user":
- username - hashroot
- password - qwerty

Теперь должен быть доступен бэкенд hashtopolis по адресу http://localhost/hashtopolis/ после ввода указанных  на предыдущем этапе логина и пароля.

Hashtopolis setup:
1) (!)Установка под убунту https://habr.com/ru/post/446922/
(https://github.com/s3inlc/hashtopolis/wiki/Server-Prerequisites)
2) (!)Hashtopolis Server Installation (via Git) https://www.youtube.com/watch?v=O08gddjVbfc

2. Ставим docker на Fedora 31 по этой инструкции, скачиваем готовый образ отсюда, там же есть инструкция по подключению:

sudo docker pull kpeiruza/hashtopolis

Запускаем контейнер с mysql (привязываем докер к нашему локальному mysql-серверу и передаем пароль рута из шага 1.1):

sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysqlUsernamePassword -d mysql:5.7

Запускаем контейнер hashtopolis, использующий запущенный предыдущий:

sudo docker run -e H8_USER="your-admin" -e H8_PASS="your-password" -e H8_EMAIL="youremail@example.com" --link mysql:mysql -d -p 80:80 kpeiruza/hashtopolis

Docker image:
1) (!)Образ для докера готовый с hashtopolis https://hub.docker.com/r/kpeiruza/hashtopolis

3. Установка python-клиента (агента) для hashtopolis, который будет содержать свой бинарник hashcat. Поставим python-агента на ту же машину Fedora 31 x86_64 (для тестовых нужд), на которой выполняется сервер.

3.1. Зайдем на сервер и нажмем "Agents"->"New". Скачаем к себе питон-клиент, нажав кнопку "Download". Я сохраню его в локальной папке /media/Data/Projects/OpenSource/PythonAgent. 

Убедимся, что дефолтно в системе настроен третий питон, набрав python в баше:

Python 3.7.7 (default, Jun  4 2020, 15:43:14) 
[GCC 9.3.1 20200408 (Red Hat 9.3.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Запустим без отладки:

python ./hashtopolis.zip

С отладкой:

python -d ./hashtopolis.zip

У меня возникла ошибка: 

ModuleNotFoundError: No module named 'psutil'

Ставим модуль при помощи пипа:

sudo pip install psutil

Появилась следующая ошибка "fatal error: Python.h: No such file or directory", есть решение. Для python3 скачиваем пакет разработчика:

sudo dnf install python3-devel

После этого пакет psutil корректно ставится. 

После запуска питон-клиент спрашивает путь к скрипту hashtopolis на сервере (Please enter the url to the API of your Hashtopolis installation). Надо ввести путь со страницы сервера:

http://localhost/hashtopolis/api/server.php

После этого клиент спрашивает токен (No token found! Please enter a voucher to register your agent). Надо ввести токен с сервера, создав его предварительно нажав кнопку "Create". После этого клиент корректно подключится:

Successfully registered!
Collecting agent data...
Login successful!
Hashtopolis Server version: 0.12.0 ()
Client is up-to-date!
Downloading: [==================================================]
No task available!

На сервере в списке "Agents"->"Show Agents" появится подключенный клиент:

Заходим в настройки агента на сервере и ставим чекбокс "Trust agent with secret data".

4. Создадим задание на взлом хэшей kerberos, возьмем хэш из примеров

Добавляем список хэшей на взлом. Нажимаем "List"->"New hashlist". Вводим имя "kerberos from examples", тип 13100, "source" - "paste", вставляем хэш.

Добавляем список возможных паролей. Будем ломать словарным способом, добавляем частотные пароли отсюда. Нажимаем "Lists", в группе "Download url" в поле "URL" вводим адрес. Затем нажимаем "Download".

Добавляем задание на взлом. Нажимаем "Tasks"->"New Task". Вводим:
- name - k
- wordlists - ставим чекбокс рядом с T (tasks), P (preprocessor)
- command line - добавляем "-a0" (подбор со словарем)

Нажимаем кнопку "Create task".

Выбираем задачу в "Tasks"->"Show Tasks", нажав на "Id" или "Name". В окне "Tasks Details" в группе "Assigned agent" напротив подключенного агента нажимаем "Assign".

Hashtopolis automating:
1) Automating Hashtopolis with Dustin Heywood | Hackers of CypherCon
https://www.youtube.com/watch?v=NouqxvUthE8
2) Stable 37 Automating Hashtopolis EvilMog
https://www.youtube.com/watch?v=RE1hQEm4qNQ

Комментариев нет:

Отправить комментарий