Дополнительно
Добавить в закладкиkingnoype
МИРОЛЮБИВЫЙ/НЕТ
Maryam: Полное руководство по OSINT-фреймворку для профессиональной разведки
От базового использования до продвинутых техник деанонимизации
От базового использования до продвинутых техник деанонимизации
Оглавление
1. Введение в Maryam
2. Установка и первоначальная настройка
3. Архитектура фреймворка
4. Детальный обзор модулей
5. Практические сценарии использования
6. Интеграция с другими инструментами
7. Создание собственных модулей
8. Безопасность и анонимность
9. Пример полного расследования
10. Советы и лучшие практики
1. Введение в Maryam
Maryam - это мощный open-source фреймворк для OSINT (Open Source Intelligence), написанный на Python. В отличие от многих других инструментов, Maryam предлагает комплексный подход к сбору информации из открытых источников.
Ключевые особенности:
• Поддержка 70+ источников данных
• Модульная архитектура с простым расширением
• Русскоязычный интерфейс и документация
• Интеграция с популярными OSINT-инструментами
• Поддержка работы через Tor и прокси
• Автоматизация сложных сценариев разведки
Сравнение с аналогами:
| Фреймворк | Кол-во источников | Поддержка RU | Сложность |
| Maryam | 70+ | ✅ Полная | Средняя |
| Recon-ng | 50+ | ❌ Ограниченная | Высокая |
| theHarvester | 30+ | ❌ | Низкая |
| SpiderFoot | 100+ | ⚠️ Частичная | Высокая |
2. Установка и первоначальная настройка
Требования к системе:
• Python 3.6+
• 2 ГБ оперативной памяти
• 5 ГБ свободного места
• Доступ к интернету
Пошаговая установка:
Код:
# Клонирование репозитория
git clone https://github.com/saeeddhqan/Maryam.git
cd Maryam
# Установка зависимостей
pip3 install -r requirements.txt
# Настройка переменных окружения
export MARYAM_CONFIG_PATH="/path/to/config"
export MARYAM_DATA_PATH="/path/to/data"
# Первый запуск
python3 maryam.py
# Проверка установки
show modules
show options
Настройка API ключей:
Код:
# Файл конфигурации: ~/.maryam/config.json
{
"shodan_api": "YOUR_SHODAN_API_KEY",
"google_api": "YOUR_GOOGLE_API_KEY",
"google_cx": "YOUR_CUSTOM_SEARCH_ENGINE",
"twitter_api": "YOUR_TWITTER_API_KEY",
"github_api": "YOUR_GITHUB_API_KEY",
"virustotal_api": "YOUR_VIRUSTOTAL_API_KEY"
}
Проверка работоспособности:
Код:
# В интерфейсе Maryam
use search/google_search
set query "test site:github.com"
run
show results
3. Архитектура фреймворка
Maryam построена по модульной архитектуре, где каждый модуль отвечает за определенный тип разведки:
Основные категории модулей:
• search/ - Поисковые системы и агрегаторы
• social_nets/ - Социальные сети и платформы
• docs_files/ - Анализ документов и файлов
• dark_webs/ - Поиск в даркнете
• exploit/ - Поиск уязвимостей
• api/ - Работа с внешними API
• dev/ - Инструменты разработки
Структура данных:
Код:
Maryam/
├── data/ # Базы данных и кеш
├── modules/ # Модули фреймворка
├── core/ # Ядро фреймворка
├── lib/ # Вспомогательные библиотеки
├── output/ # Результаты поиска
└── web/ # Веб-интерфейс
4. Детальный обзор модулей
4.1 Поисковые модули (search/):
Код:
# Поиск в Google с кастомизацией
use search/google_search
set query "компания сайт:linkedin.com"
set page_count 5
set delay 2
run
# Мультипоиск через несколько систем
use search/multiple_search
set query "target@email.com"
set engines google,bing,duckduckgo
run
# Поиск по доменной инфраструктуре
use search/domain_search
set domain target-company.com
set sources all
run
4.2 Социальные сети (social_nets/):
Код:
# Комплексный поиск профилей
use social_nets/profile_search
set username "ivanov1985"
set deep_search true
set sources vk,facebook,instagram,telegram
run
# Поиск по геолокации
use social_nets/geo_search
set lat "55.7558"
set lon "37.6173"
set radius "5km"
run
# Анализ социальных связей
use social_nets/relationship_analysis
set target_user "target_profile"
set depth 2
run
4.3 Анализ документов (docs_files/):
Код:
# Извлечение метаданных
use docs_files/metadata_extraction
set file document.pdf
set extract_all true
run
# Поиск в документах Google
use docs_files/google_docs
set query "конфиденциально filetype:pdf"
set max_results 100
run
# Анализ изображений
use docs_files/image_analysis
set image photo.jpg
set extract_exif true
set reverse_search true
run
4.4 Даркнет модули (dark_webs/):
Код:
# Поиск в даркнете (требует Tor)
use dark_webs/onion_search
set query "услуги хакера"
set engines ahmia,onionland
run
# Мониторинг форумов
use dark_webs/forum_monitor
set forum_url "http://forum.onion"
set keywords "target,company,leak"
run
5. Практические сценарии использования
Сценарий 1: Полная разведка компании
Код:
# Этап 1: Сбор базовой информации
use search/company_search
set company "ООО Рога и Копыта"
set country "Russia"
run
# Этап 2: Поиск сотрудников
use social_nets/employee_search
set company_domain "rogakopita.ru"
set positions "директор,менеджер,бухгалтер"
run
# Этап 3: Анализ инфраструктуры
use search/domain_search
set domain "rogakopita.ru"
set sources dns,whois,shodan
run
# Этап 4: Поиск утечек
use search/leak_search
set domain "rogakopita.ru"
set check_breaches true
run
Сценарий 2: Расследование инцидента безопасности
Код:
# Поиск компрометирующей информации
use search/incident_response
set incident_type "data_breach"
set timeframe "2024-01-01:2024-03-01"
set keywords "утечка,взлом,данные"
run
# Мониторинг упоминаний в соцсетях
use social_nets/mention_monitor
set brand "Рога и Копыта"
set platforms "vk,twitter,telegram"
set sentiment_analysis true
run
Сценарий 3: Due Diligence проверка
Код:
# Проверка физического лица
use social_nets/person_search
set full_name "Иванов Иван Иванович"
set birth_year "1985"
set locations "Москва,Санкт-Петербург"
run
# Поиск судебных дел
use search/legal_search
set person "Иванов И.И."
set courts "арбитражный,мировой"
run
# Анализ цифрового следа
use search/digital_footprint
set email "ivanov@domain.com"
set phone "+79161234567"
run
6. Интеграция с другими инструментами
Экспорт данных:
Код:
# Экспорт в Maltego
use dev/maltego_export
set results all
set format maltego_csv
export results.mtz
# Экспорт в JSON для дальнейшей обработки
use dev/json_export
set results all
export investigation.json
# Интеграция с SpiderFoot
use dev/spiderfoot_integration
set target "company.com"
set modules all
run
Работа с базами данных:
Код:
# Сохранение результатов в БД
use dev/database
set action save
set results all
set db_type sqlite
run
# Загрузка предыдущих результатов
use dev/database
set action load
set case_id "case_2024_001"
run
7. Создание собственных модулей
Структура модуля:
Код:
from maryam.core.base_module import BaseModule
class CustomModule(BaseModule):
def __init__(self):
super().__init__()
self.name = "Custom Search Module"
self.description = "Описание модуля"
self.author = "Ваше имя"
self.version = "1.0"
# Определение параметров
self.options = {
'query': {
'value': None,
'required': True,
'description': 'Поисковый запрос'
},
'max_results': {
'value': 10,
'required': False,
'description': 'Максимум результатов'
}
}
def module_run(self):
query = self.options['query']['value']
max_results = self.options['max_results']['value']
# Логика модуля
results = self._custom_search(query, max_results)
# Сохранение результатов
for result in results:
self.add_result(result)
def _custom_search(self, query, max_results):
# Реализация поисковой логики
pass
Пример работающего модуля для поиска в VK:
Код:
import requests
import json
class VKSearch(BaseModule):
def __init__(self):
super().__init__()
self.name = "VK Search"
self.description = "Поиск в социальной сети ВКонтакте"
self.options = {
'query': {
'value': None,
'required': True,
'description': 'Поисковый запрос'
},
'count': {
'value': 100,
'required': False,
'description': 'Количество результатов'
}
}
def module_run(self):
query = self.options['query']['value']
count = self.options['count']['value']
# Используем неофициальный API VK
url = f"https://vk.com/wall?q={query}&count={count}"
try:
response = requests.get(url, headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
})
# Парсинг результатов (упрощенный пример)
results = self._parse_vk_response(response.text)
for result in results:
self.add_result({
'type': 'vk_post',
'content': result['text'],
'url': result['link'],
'date': result['date']
})
except Exception as e:
self.error(f"Ошибка поиска: {str(e)}")
def _parse_vk_response(self, html):
# Реализация парсинга HTML VK
# В реальном модуле требуется сложная логика парсинга
return []
8. Безопасность и анонимность
Настройка прокси и Tor:
Код:
# Настройка Tor прокси
use dev/proxy_config
set proxy_type socks5
set proxy_host 127.0.0.1
set proxy_port 9050
set enable_tor true
apply
# Проверка анонимности
use dev/anonymity_check
set check_ip true
set check_dns true
run
# Ротация пользовательских агентов
use dev/user_agent_rotation
set enable true
set pool_size 10
apply
Настройка задержек и лимитов:
Код:
# Избегание блокировок
use dev/rate_limiting
set requests_per_minute 30
set random_delay true
set min_delay 2
set max_delay 10
apply
# Работа с капчей
use dev/captcha_solver
set service "2captcha"
set api_key "YOUR_API_KEY"
set auto_solve true
apply
9. Пример полного расследования
Расследование: Поиск цифрового следа целевого лица
Код:
# Шаг 1: Инициализация сессии
set case_id "investigation_001"
set description "Поиск цифрового следа Иванов И.И."
save_session
# Шаг 2: Базовый поиск
use search/multiple_search
set query "Иванов Иван Игоревич 1985"
set engines google,yandex,bing
run
save_results
# Шаг 3: Поиск в социальных сетях
use social_nets/profile_search
set username "ivanov1985"
set deep_search true
set sources vk,odnoklassniki,instagram
run
save_results
# Шаг 4: Поиск по email и телефону
use search/contact_search
set email "ivanov@mail.ru"
set phone "+79161234567"
run
save_results
# Шаг 5: Анализ результатов
use dev/result_analyzer
set correlation true
set timeline_analysis true
run
# Шаг 6: Генерация отчета
use dev/report_generator
set format pdf
set template professional
set include_visualizations true
generate_report
10. Советы и лучшие практики
Оптимизация производительности:
• Используйте кеширование результатов
• Настраивайте разумные задержки между запросами
• Распределяйте нагрузку между разными API ключами
• Используйте параллельные запросы где это возможно
Юридические аспекты:
• Всегда проверяйте легальность сбора данных
• Получайте необходимые разрешения для расследований
• Соблюдайте законодательство о защите персональных данных
• Храните собранные данные в зашифрованном виде
Технические рекомендации:
• Регулярно обновляйте фреймворк и зависимости
• Используйте виртуальные окружения для изоляции
• Настраивайте мониторинг использования API
• Создавайте резервные копии важных расследований
Расширение функциональности:
• Участвуйте в разработке открытых модулей
• Создавайте собственные базы данных источников
• Интегрируйте с системами машинного обучения
• Разрабатывайте специализированные отчеты
Код:
# Скрипт автоматического обновления
#!/bin/bash
cd /path/to/maryam
git pull origin master
pip3 install -r requirements.txt --upgrade
echo "Maryam успешно обновлена"
Заключение
Maryam представляет собой один из наиболее полных и гибких инструментов для OSINT-разведки на сегодняшний день. Благодаря активному развитию, поддержке русского языка и модульной архитектуре, фреймворк продолжает оставаться выбором профессионалов в области киберразведки и цифровых расследований.
Ресурсы для дальнейшего изучения:
• Официальная документация: OWASP Maryam — Maryam latest documentation
• Сообщество разработчиков: GitHub Discussions
• База знаний: Maryam Wiki
• Канал обновлений: @maryam_osint
Важно: Используйте Maryam только в законных целях и в рамках действующего законодательства.
Статья актуальна для версии Maryam 2.5.X (2025)
