# OSINT: архитектура утечки публичной информации

Глубокое техническое руководство по разведке из открытых источников: от перечисления инфраструктуры и DNS-разведки через дорки и анализ репозиториев до граф-анализа персонала, облачной экспозиции, синтеза и защитных мер.

Published: 29 июня 2026 г.
Canonical HTML: https://ru.glazastov.com/osint
Markdown: https://ru.glazastov.com/osint.md

Компании тратят миллионы на защиту периметра, одновременно раскрывая информацию через каналы, не требующие никакой эксплуатации. Никакой сканер уязвимостей не обнаружит неправильно настроенный S3-бакет, имя которого было реконструировано из вакансии. Ни одна система обнаружения вторжений не подаст сигнал тревоги, когда кто-то запрашивает исторические DNS-записи и картирует всю эволюцию инфраструктуры компании за четыре года.

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

> **Примечание о примерах:** На протяжении всей статьи Наташа, аналитик по безопасности из вымышленной компании Blackriver Analytics, выступает в роли иллюстративного персонажа. Её примеры не следуют линейной истории, а служат изолированными иллюстрациями конкретных техник: как правильных, так и ошибочных. Blackriver Analytics и Наташа являются полностью вымышленными.

## Цикл разведки

OSINT начинается не с поискового запроса, а с вопроса. Цикл разведки, формализованный в руководстве НАТО по OSINT 2002 года, состоит из шести фаз: планирование, сбор, обработка, анализ, производство и распространение. Пропуск фазы планирования является наиболее распространённой ошибкой практиков, обладающих техническими навыками, но недостаточной дисциплиной.

## Часть 1: Разведка инфраструктуры

### 1.1 WHOIS, RDAP и регистрационные данные

WHOIS и более новый протокол RDAP служат отправными точками для разведки инфраструктуры. После GDPR и перехода ICANN на RDAP персональные данные были удалены из большинства публичных ответов, однако организационные данные остаются: регистратор, серверы имён, даты регистрации и истечения.

Исторические записи часто ценнее текущих снимков. Сервисы SecurityTrails и DomainTools хранят архивы данных за несколько лет. Домен, мигрировавший серверы имён с Amazon Route 53 на Cloudflare, а затем в частную сеть Anycast, рассказывает историю об эволюции инфраструктуры компании.

Handelsregister (Германия), Companies House (Великобритания) и SEC EDGAR (США) дополняют цифровую карту корпоративными структурами, дочерними компаниями и финансовыми данными.

### 1.2 Автономные системы и перечисление диапазонов IP

Каждая организация, маршрутизирующая собственный интернет-трафик, управляет автономной системой с номером ASN. Нахождение ASN организации открывает весь объявленный диапазон IP-адресов. В сочетании с данными Shodan или Censys это даёт полную картину всех публично доступных сервисов.

```bash
# Поиск ASN для известного IP
whois -h whois.radb.net 203.0.113.1

# Все префиксы ASN
whois -h whois.radb.net -- '-i origin AS64512'
```

### 1.3 Журналы прозрачности сертификатов

Каждый TLS-сертификат, выданный для публичного домена, должен быть записан в журнал CT согласно RFC 6962 и RFC 9162. Журналы публичны, предназначены только для добавления и доступны для поиска любому желающему.

```bash
# Все сертификаты для домена и его субдоменов
curl -s "https://crt.sh/?q=%.example.com&output=json" | \
  jq -r '.[].name_value' | sort -u
```

Тщательный анализ CT-журналов возвращает: производственные сервисы, среды разработки и тестирования, внутренние инструменты, сертификаты для поглощённых компаний и выведенные из эксплуатации системы с активными DNS-записями.

> Наташа при оценке финансовой организации обнаружила через crt.sh, что организация выпустила сертификат для `corebanking-api.internal.target.com` 18 месяцев назад. Сертификат не был возобновлён. DNS-запрос показал, что субдомен всё ещё разрешается. Сервис всё ещё отвечал. Слово «internal» в имени субдомена давало команде ложное ощущение безопасности.

### 1.4 DNS-разведка

**Пассивный DNS:** Такие сервисы, как SecurityTrails и DNSDB (Farsight Security), архивируют DNS-разрешения от рекурсивных резолверов по всему миру. Запрос пассивного DNS для домена возвращает каждый IP-адрес, которому когда-либо разрешался этот домен, с временны́ми метками. Если компания перешла за Cloudflare в 2021 году, реальный IP может всё ещё быть найден в пассивных записях DNS 2020 года.

**Передача зоны (AXFR):** Неправильно настроенный сервер имён, отвечающий на AXFR-запросы от неаутентифицированных источников, возвращает каждую DNS-запись в зоне. CISA опубликовало предупреждение об этом в 2015 году (AA15-103A). Проблема продолжает возникать регулярно.

```bash
dig AXFR @ns1.example.com example.com
```

**Перебор субдоменов:** OWASP Amass объединяет пассивные источники с активными DNS-запросами:

```bash
# Пассивное перечисление
amass enum --passive -d example.com -o subdomains.txt

# Активный перебор
puredns bruteforce /opt/wordlists/subdomains-top1m.txt example.com
```

**SPF и TXT-записи:** SPF-записи перечисляют каждого авторизованного отправителя почты и напрямую раскрывают, какие SaaS-продукты использует организация:

```bash
dig TXT example.com | grep spf
# include:_spf.google.com include:salesforce.com include:sendgrid.net
```

**Захват субдомена:** Если `assets.example.com` имеет CNAME, указывающий на несуществующий S3-бакет, злоумышленник может создать бакет с таким именем и получить контроль над субдоменом, не имея доступа к инфраструктуре цели.

### 1.5 Базы данных интернет-сканирования

**Shodan** непрерывно сканирует все публично маршрутизируемые IP-адреса в интернете, собирая баннеры, сертификаты и отпечатки сервисов.

```
org:"Example Corp"
product:Jenkins org:"Example Corp"
port:3389 org:"Example Corp"
```

> Наташа выполнила запрос Shodan к ASN клиента и нашла Jenkins CI-сервер на порту 8080 без аутентификации, сообщавший свою версию в HTTP-заголовке. Версия была трёхлетней давности и имела три известные уязвимости удалённого выполнения кода. Ни команда разработки, ни команда безопасности не знала, что экземпляр публично доступен.

**Censys** особенно силён в анализе TLS-сертификатов. **Netlas** предлагает глубокое сканирование портов. У каждого инструмента есть разные пробелы в покрытии; профессиональная работа использует несколько источников.

## Часть 2: Разведка веб-поверхности

### 2.1 Дорки поисковых систем

| Оператор    | Синтаксис                             | Разведывательная ценность              |
| ----------- | ------------------------------------- | -------------------------------------- |
| `site:`     | `site:example.com`                    | Все проиндексированные страницы домена |
| `filetype:` | `filetype:pdf site:example.com`       | Опубликованные документы               |
| `inurl:`    | `inurl:admin site:example.com`        | Административные интерфейсы            |
| `intitle:`  | `intitle:"index of" site:example.com` | Листинги каталогов                     |
| `intext:`   | `intext:"api_key" site:example.com`   | Страницы с конкретными строками        |

```bash
# Открытые файлы конфигурации
site:example.com filetype:env OR filetype:cfg OR filetype:conf

# API-документация
site:example.com inurl:swagger OR inurl:api-docs

# Учётные данные на пастбинах
site:pastebin.com "example.com" password OR apikey OR secret
```

> Наташа выполнила `site:example.com filetype:pdf` и нашла 47 документов. Сорок третьим оказался документ архитектуры системы 2019 года под названием "Migration Plan Q3". Он описывал всю схему базы данных компании, имена всех микросервисов и решение сохранить устаревшую базу данных Oracle по «регуляторным причинам», которые нигде больше не упоминались. Документ был случайно проиндексирован. Он там лежал пять лет.

### 2.2 Wayback Machine и анализ архивов

```bash
curl "http://web.archive.org/cdx/search/cdx?url=*.example.com&output=text&fl=original&collapse=urlkey"
```

Исторические снимки страницы вакансий компании предоставляют временную шкалу технического найма. Старые API-эндпоинты, отладочные страницы и административные интерфейсы, которые когда-то были публично доступны, часто остаются заархивированными и раскрывают своё существование даже после вывода из эксплуатации.

## Часть 3: Разведка репозиториев и кода

### 3.1 Перечисление GitHub и история коммитов

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

```bash
git log --format='%ae' | sort -u
```

Дорк-паттерны для GitHub:

```
org:example-corp filename:.env
org:example-corp "AKIA"
org:example-corp "hooks.slack.com/services"
```

### 3.2 Сканирование секретов

TruffleHog сканирует полную объектную базу данных git и проверяет, активны ли обнаруженные учётные данные:

```bash
trufflehog git https://github.com/example-corp/example-repo
trufflehog github --org=example-corp
```

По данным Snyk за 2025 год, более 28 миллионов учётных данных было обнаружено в публичных репозиториях GitHub. Исправление уже скомпрометированного секрета состоит не в удалении файла, а в немедленном отзыве учётных данных в выпустившем сервисе, затем в очистке истории с помощью `git filter-repo` или BFG Repo Cleaner, и только потом в принудительной отправке.

> Наташа нашла в публичном репозитории клиента файл состояния Terraform в истории коммитов трёхлетней давности. Файлы состояния Terraform содержат текущее состояние всей подготовленной инфраструктуры: каждый ID экземпляра EC2, каждую конечную точку RDS, каждое правило группы безопасности, каждое имя роли IAM. Файл был удалён в последующем коммите, но по-прежнему был полностью доступен в истории.

## Часть 4: Разведка персонала и организаций

### 4.1 LinkedIn и профессиональные сети

Совокупный анализ компании с 50 инженерами на LinkedIn:

| Совокупный сигнал                                                | Выводимое следствие                 |
| ---------------------------------------------------------------- | ----------------------------------- |
| 12 инженеров с "Kubernetes" + "AWS EKS"                          | Оркестрация контейнеров на EKS      |
| 5 инженеров с "Datadog"                                          | Datadog как платформа наблюдаемости |
| 8 инженеров с "Rust", все наняты за последние 6 месяцев          | Активная миграция на Rust           |
| Вице-президент по разработке пришёл 4 месяца назад от конкурента | Значительная смена руководства      |

### 4.2 Сбор адресов электронной почты и реконструкция паттернов

Корпоративные адреса электронной почты почти всегда следуют предсказуемым паттернам. Один найденный экземпляр раскрывает паттерн для всей организации.

```bash
# API Hunter.io
curl "https://api.hunter.io/v2/domain-search?domain=example.com&api_key=KEY"

# Генерация перестановок электронной почты
python3 email-permutator.py --first alice --last smith --domain example.com

# SMTP-верификация (без отправки электронной почты)
smtp-user-enum -M VRFY -U emails.txt -t mail.example.com
```

### 4.3 Разведка по вакансиям

Вакансии являются одной из наиболее недооценённых поверхностей OSINT. Вакансия для "старшего инженера по безопасности", требующая "опыта с CrowdStrike Falcon и Sentinel One", сообщает точно, какие EDR-продукты развёрнуты в организации. Вакансия с требованием "опыта миграции с Oracle на PostgreSQL" раскрывает активный проект миграции.

> После картирования инфраструктуры клиента Наташа изучила исторические вакансии в Wayback Machine. Вакансия 2019 года на разработчика "IBM Mainframe COBOL" раскрыла устаревшую систему, которая не фигурировала ни в одном из современных описаний инфраструктуры. Мейнфрейм всё ещё работал. Он не был доступен из интернета, но был подключён к той же сети, что и современная инфраструктура.

## Часть 5: Разведка документов и метаданных

### 5.1 Метаданные PDF и офисных документов

```bash
exiftool document.pdf
# Author: alice.smith
# Creator: Microsoft Word 2019
# Created: 2023-04-12 09:23:11+00:00
# Company: Example Corp (Internal Use Only)
```

Поле автора обычно содержит имя пользователя операционной системы, а не отображаемое имя. Имя пользователя вроде `asmith` или `alice.smith` напрямую раскрывает соглашение об именовании организации и, следовательно, формат электронной почты.

### 5.2 EXIF-данные в изображениях

GPS-координаты в опубликованных изображениях раскрывают физическое местоположение фотографа в момент съёмки. Дело Макафи 2012 года служит классическим примером: Vice опубликовал фотографию с GPS-координатами; он был задержан в течение нескольких дней.

```bash
exiftool photo.jpg | grep -i GPS
```

## Часть 6: Облачная экспозиция и сторонние сервисы

### 6.1 Перечисление S3 и облачного хранилища

Имена бакетов Amazon S3 являются глобально уникальными идентификаторами и следуют предсказуемым паттернам.

```bash
# Проверка доступности бакета без AWS-учётных данных
aws s3 ls s3://example-corp-backups --no-sign-request

# S3Scanner для списков имён бакетов
s3scanner scan --bucket-file buckets.txt
```

Qualys сообщал, что почти половина проверенных конфигураций S3 имела ту или иную форму неправильной настройки.

### 6.2 Открытые API и дашборды

Экземпляры Grafana часто настраиваются с конфигурацией по умолчанию, допускающей анонимный просмотр. Общедоступный дашборд мониторинга организации может содержать количество запросов в реальном времени, частоту ошибок по именам микросервисов, использование пула соединений с базой данных и количество активных подов Kubernetes по пространствам имён.

> Наташа нашла публично доступный дашборд Grafana через запрос Shodan к IP-диапазону клиента. На дашборде отображались запросы в реальном времени, частота ошибок с именами микросервисов и конфигурация базы данных. Ничего из этого не было защищено аутентификацией. Дашборд был настроен для публичного доступа во время сеанса отладки и так и не был заблокирован.

## Часть 7: Синтез и инструменты

**Maltego** представляет сущности как узлы, отношения как рёбра, а трансформации как автоматизированные запросы, расширяющие граф путём обращения к внешним источникам данных. Начиная с имени компании, последовательность трансформаций Maltego может разрешить компанию в её домены и IP-диапазоны, расширить домены до субдоменов через CT-журналы, расширить IP до баннеров Shodan, и расширить адреса электронной почты до профилей LinkedIn.

**SpiderFoot** запускает более 200 модулей против начальной точки и агрегирует данные из более чем 100 внешних источников:

```bash
docker run -p 5001:5001 smicallef/spiderfoot
spiderfoot -s example.com -t INTERNET_NAME -m sfp_crt,sfp_dnsbrute,sfp_shodan -o json
```

**Recon-ng** является инструментом разведки командной строки с архитектурой модулей, аналогичной Metasploit, хранящим все результаты в локальной базе данных SQLite.

## Часть 1.6: BGP-разведка и топология сети

Протокол BGP является протоколом маршрутизации публичного интернета. Сборщики маршрутов RIPE NCC и RouteViews архивируют BGP-таблицы маршрутизации с середины 1990-х годов. Для каждого IP-префикса или ASN доступна непрерывная запись о том, какая AS когда объявляла какие префиксы.

**RIPE Stat** (`stat.ripe.net`) предоставляет для каждого запроса: все исторические BGP-объявления с временными метками, полную историю путей origin-AS и статус проверки RPKI.

```bash
# Исторические BGP-объявления для префикса
curl "https://stat.ripe.net/data/bgp-state/data.json?resource=203.0.113.0/24"

# История маршрутизации ASN
curl "https://stat.ripe.net/data/routing-history/data.json?resource=AS64512"

# Все префиксы, объявленные ASN
curl "https://stat.ripe.net/data/announced-prefixes/data.json?resource=AS64512"
```

RPKI (Resource Public Key Infrastructure) позволяет держателям IP-адресов публиковать Route Origin Authorizations (ROA): криптографически подписанные объекты, указывающие, какой ASN авторизован объявлять данный префикс. BGP-маршрут, чей origin-ASN не соответствует ни одному действующему ROA, имеет статус "invalid" и может указывать на BGP-перехват. По данным за 2024 год, около 45% глобально маршрутизируемых префиксов охвачены ROA. BGPalerter является инструментом мониторинга с открытым исходным кодом для обнаружения перехватов и нарушений ROA в реальном времени.

Поиск в истории BGP часто обнаруживает IP-диапазоны, которые организация использовала до миграции в облако. Эти старые префиксы могут сохранять записи пассивного DNS, быть обнаруживаемы в DNS-архивах и содержать остаточные сервисы.

## Часть 2.4: Открытые директории контроля версий

При развёртывании веб-приложений путём копирования рабочей директории на сервер директория `.git` с полной историей версий часто обслуживается вместе с приложением. Инструменты типа `git-dumper` реконструируют весь репозиторий из открытых объектов.

```bash
# Проверка открытой.git-директории
curl -I https://example.com/.git/HEAD
# HTTP/1.1 200 OK подтверждает открытость

# Автоматическая реконструкция репозитория
git-dumper https://example.com/.git /tmp/recovered-repo

#.git/config раскрывает Remote-Origin-URL (часто внутренний Bitbucket/GitLab)
curl -s https://example.com/.git/config
```

PortSwigger Web Security Academy описывает открытую директорию `.git` как "критическую неправильную конфигурацию, которая никогда не должна встречаться в производственных средах." Типичные находки: пароли баз данных, API-ключи сторонних сервисов, внутренние URL-адреса эндпоинтов и сертификаты.

Файл `robots.txt` часто раскрывает существование скрытых директорий через перечисление путей, исключённых из индексации: `/backup/`, `/staging/`, `/internal/`, `/admin/`. Фреймворковые страницы ошибок при включённом режиме отладки (Django Debug, Rails Exception, Spring Boot Whitelabel) раскрывают полные дампы конфигурации: пути к файлам, строки подключения к базам данных, установленные пакеты.

## Часть 3.4: Разведка цепочки поставок и Dependency Confusion

Внутренние имена пакетов организации наблюдаемы из нескольких источников: имена репозиториев GitHub, области видимости npm-организации, префиксы организации PyPI, вакансии с упоминанием внутренних инструментов и инженерные доклады на конференциях.

**Dependency Confusion** была задокументирована Алексом Бирсаном в 2021 году с выплатой более 130 000 долларов баг-баунти от Apple, Microsoft, Shopify и PayPal. Техника эксплуатирует логику разрешения менеджеров пакетов: при настройке системы сборки с внутренним и публичным реестром одновременно большинство менеджеров пакетов предпочитают пакет с наибольшим номером версии из всех настроенных источников.

```bash
# Поиск пакетов организации на npm
curl "https://registry.npmjs.org/-/v1/search?text=%40example-corp&size=100"

# Проверка существования имени пакета на PyPI
pip index versions example-corp-auth-lib 2>/dev/null && echo "существует" || echo "доступно для регистрации"
```

Тайпосквоттинг как разведывательный сигнал: организация, уже являющаяся целью атак на цепочку поставок, ранее была профилирована злоумышленниками через OSINT-анализ её списков зависимостей.

SBOM (Software Bill of Materials) в форматах CycloneDX или SPDX всё чаще требуются государственными закупками (Исполнительный приказ США 14028) и корпоративными соглашениями. Docker Hub-образы через историю слоёв раскрывают полную конфигурацию сборки, набор пакетов и используемый внутренний реестр пакетов.

```bash
# Просмотр истории слоёв образа Docker (раскрывает команды RUN)
docker history example-corp/backend:latest --no-trunc
```

## Часть 4.5: Данные об утечках, журналы стилеров и мониторинг пастбинов

**HaveIBeenPwned** агрегирует данные об утечках из тысяч скомпрометированных баз данных, индексируя более 12 миллиардов записей. Запрос на уровне домена (корпоративный API) возвращает структурированный список каждой утечки, содержащей хотя бы один адрес электронной почты целевого домена, с указанием экспонированных категорий данных и даты утечки.

```bash
# Поиск на уровне домена (корпоративный API)
curl -s "https://haveibeenpwned.com/api/v3/breacheddomain/example.com" \
  -H "hibp-api-key: YOUR_KEY"
```

**Журналы стилеров** от инфостилерного вредоносного ПО (RedLine, Vidar, Raccoon, Lumma) содержат сохранённые в браузере учётные данные, данные автозаполнения, файлы криптовалютных кошельков и активные сессионные куки. Журнал с заражённого устройства сотрудника может содержать: корпоративные учётные данные SSO, активные сессионные куки для SaaS-приложений (Salesforce, Jira, GitHub), позволяющие захват сессии без пароля и независимо от MFA, учётные данные VPN и резервные коды MFA, а также внутренние API-ключи из localStorage браузера. Сервисы SpyCloud, Hudson Rock Cavalier и Constella Intelligence отслеживают рынки журналов стилеров и предоставляют корпоративные API.

> После обнаружения через запрос к базе стилер-логов того, что сотрудники целевой организации имели три набора корпоративных учётных данных, экспонированных через журналы Lumma Stealer из предыдущего квартала, Наташа проверила конкретные категории данных. Журналы включали активные токены сессий для облачной консоли организации, срок действия которых ещё не истёк. Команда немедленно эскалировала ситуацию и задокументировала экспозицию, не обращаясь к сессиям, строго в соответствии с соглашением об оказании услуг.

**IntelligenceX** (intelx.io) индексирует сайты вставок, архивы утечек данных, слитые документы и ресурсы на базе Tor, делая их доступными для полнотекстового поиска. Запрос по домену `@example.com` возвращает каждую запись, содержащую этот домен, по всем индексированным источникам, включая удалённые с исходных площадок.

**Мониторинг сайтов вставок** требует непрерывной автоматизации, поскольку пасты часто удаляются в течение часов. Коммерческие альтернативы включают Recorded Future, DarkOwl и платформу Flare.

```bash
# Поиск в Google по пастбинам с корпоративным доменом
site:pastebin.com "example.com" (password OR apikey OR token OR internal)
```

## Часть 5.3: Геолокация и визуальная разведка

**Пятиуровневая методология Bellingcat** для систематической геолокации изображений (разработана в ходе расследований, включая идентификацию пусковой установки Бук, сбившей MH17 в 2014 году):

**Уровень 1: EXIF и технические метаданные.** Модель камеры, временная метка, версия программного обеспечения.

**Уровень 2: Визуальный анализ ориентиров.** Конструкция опор электрических линий (деревянные столбы в Северной Америке, бетонные в Германии и Восточной Европе), виды растительности (климатические зоны), дорожная разметка (цвета и паттерны линий), шрифты и язык знаков, архитектурный стиль и строительные материалы.

**Уровень 3: Анализ теней.** Направление и длина теней кодируют азимут и высоту солнца в момент съёмки. С помощью калькуляторов солнечного положения (SunCalc: `suncalc.org`) и приблизительной широты предполагаемого местоположения можно математически проверить геометрическую согласованность теней. Несоответствия раскрывают сфабрикованные время и место съёмки.

**Уровень 4: Сравнение со спутниковыми снимками.** Sentinel Hub EO Browser (бесплатные данные ЕКА, разрешение 10 м), Google Earth (исторические временные ряды), Planet Labs (коммерческие ежедневные снимки). Сопоставление форм крыш, конфигураций парковок и геометрии дорог позволяет достичь точности менее 10 метров.

**Уровень 5: Верификация через Street View.** Google Street View (глобальное покрытие с историческими временными рядами), Яндекс.Панорамы (превосходное покрытие России и стран бывшего СССР), Mapillary (материалы сообщества для труднодоступных районов), Apple Look Around (более высокое разрешение в охваченных регионах).

Поиск изображений в обратном направлении (Google Images, Bing Visual Search, Yandex Image Search, TinEye) находит другие экземпляры того же изображения в интернете. Яндекс.Картинки обладает особенно развитыми возможностями распознавания лиц по сравнению с западными аналогами.

## Часть 6.3: IoT и промышленные системы управления

Промышленные системы управления (ICS), SCADA, ПЛК и HMI были разработаны для надёжной работы в изолированных от внешних сетей средах. Конвергенция ИТ- и ОТ-сетей привела к тому, что значительное количество операционных технологий оказалось непосредственно в публичном интернете.

Специфические для ICS-протоколов запросы в Shodan:

```
# Modbus TCP (порт 502): ПЛК в производстве, водоснабжении, энергетике
port:502

# Протокол Siemens S7 (порт 102): ПЛК S7-300, S7-400, S7-1200, S7-1500
port:102

# BACnet (UDP порт 47808): автоматизация зданий (HVAC, освещение, контроль доступа)
port:47808

# DNP3 (порт 20000): SCADA электроснабжения, водоочистки
port:20000

# EtherNet/IP (порт 44818): ПЛК Allen-Bradley / Rockwell Automation
port:44818

# Контроллеры заправочных станций (ATG-системы)
"in-tank inventory" port:10001
```

**Системы управления зданиями (BMS)** управляют HVAC, освещением, контролем доступа и противопожарной защитой. Специализированные запросы в Shodan:

```
# Tridium Niagara (наиболее широко применяемая BMS-платформа в мире)
port:4911 product:Niagara

# Johnson Controls Metasys
http.title:"Metasys" port:443

# Siemens Desigo CC
http.title:"Desigo" port:443
```

Разведывательная ценность открытых BMS-систем включает: планировки этажей с обозначениями отделов, паттерны энергопотребления (раскрывающие графики занятости), количество точек физического контроля доступа.

## Часть 6.4: Разведка мобильных приложений

**Метаданные магазинов приложений** до какого-либо бинарного анализа: полное имя аккаунта разработчика (часто отличается от торгового наименования), URL политики конфиденциальности со специфическими доменами, разрешения приложения, связанные приложения того же разработчика, история версий с журналом изменений.

**Декомпиляция APK и статический анализ:**

```bash
# Декомпиляция APK в Java-исходный код
jadx -d output-dir/ example-corp.apk

# Автоматизированный анализ с MobSF
docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf

# Извлечение строк без полной декомпиляции
strings example-corp.apk | grep -E "https?://[a-z0-9.-]+"
```

`AndroidManifest.xml` объявляет все Activity, Service, Content Provider и Broadcast Receiver. Экспортированные компоненты доступны другим приложениям и раскрывают поверхность межпроцессного взаимодействия. URL-схемы глубоких ссылок раскрывают внутреннюю логику маршрутизации.

**Поиск секретов в декомпилированном коде:**

```bash
# Общие паттерны секретов
grep -r "api_key\|apiKey\|API_KEY" output-dir/sources/ --include="*.java"
grep -rE "AKIA[0-9A-Z]{16}" output-dir/           # Ключи AWS
grep -r "https://internal\|\.corp\.\|\.local\." output-dir/sources/

# Секреты в файлах ресурсов (часто упускаются)
grep -r "https://" output-dir/resources/ | grep -v "schemas.android.com"
```

> Наташа декомпилировала Android-приложение целевой организации и нашла три жёстко закодированных API-ключа в классе `Constants.java`. Наиболее ценным оказался ключ API для внутреннего эндпоинта аналитики `metrics-internal.example.com`, который не фигурировал ни в одном внешнем сканировании, CT-журнале или DNS-запросе за всё время расследования.

**iOS IPA-анализ:** файл `Info.plist` читаем как XML даже в зашифрованных IPA и содержит: bundle ID, URL-схемы, исключения App Transport Security (перечисляющие все домены, с которыми приложение может взаимодействовать без HTTPS) и аппаратные возможности.

## Часть 7.5: Картирование MITRE ATT&CK

Тактика разведки MITRE ATT&CK (TA0043) содержит структурированную таксономию описанных техник:

| Техника                                   | ID    | Раздел              |
| ----------------------------------------- | ----- | ------------------- |
| Сбор идентификационной информации жертвы  | T1589 | Части 4.2, 4.5      |
| Сбор сетевой информации жертвы            | T1590 | Части 1.1–1.6       |
| Сбор организационной информации жертвы    | T1591 | Части 4.1, 4.3, 4.4 |
| Сбор информации об узлах жертвы           | T1592 | Части 2.3, 6.3, 6.4 |
| Поиск на открытых сайтах                  | T1593 | Части 2.1, 3.1, 4.1 |
| Поиск на сайтах жертвы                    | T1594 | Части 2.2, 2.3      |
| Активное сканирование                     | T1595 | Части 1.5, 6.1      |
| Поиск в открытых технических базах данных | T1596 | Части 1.1–1.5       |
| Поиск в закрытых источниках               | T1597 | Часть 4.5           |

**Возможности обнаружения:** T1595.001 (сканирование IP-диапазонов) является наиболее обнаруживаемой техникой: IP-диапазоны сканеров Shodan публично перечислены и видны через анализ NetFlow. T1596.002 (WHOIS) и T1596.003 (журналы CT) не генерируют наблюдаемых сигналов для целевой организации. T1590.002 (DNS-запросы) видны в журналах запросов DNS-сервера при прямых запросах к авторитативным серверам имён цели.

**MITRE D3FEND** является защитным дополнением к ATT&CK: сопоставляет наступательные техники с конкретными контрмерами и руководством по реализации. Для разведки релевантны: Network Traffic Filtering (D3-NTF) против T1595, DNS Allowlisting (D3-DNSAL) против T1590.002 и Credential Transmission Scoping (D3-CTS) против T1593.003.

## Часть 8.1: Расширенная OPSEC-инфраструктура

Модель угрозы следователя нестандартна: противником является не криминальная группировка, а команда корпоративной безопасности с доступом к коммерческим платформам разведки угроз (Recorded Future, CrowdStrike Falcon Intelligence), журналам CDN и данным профессионального графа LinkedIn.

**Разделение оборудования:** Для расследований с чувствительными целями рекомендуется выделенное физическое оборудование, приобретённое без привязки к личности, с новой установкой операционной системы и без общих учётных данных с профессиональной или личной идентичностью следователя.

**Варианты сетевого выхода по степени анонимности:**

1. Коммерческий VPN (недостаточен сам по себе): VPN-IP каталогизированы всеми коммерческими сервисами разведки угроз.
2. Сети резидентных прокси: трафик выглядит как исходящий с потребительских IP-адресов ISP, а не из центров обработки данных.
3. Tor Browser: сильная анонимность для пассивных запросов; выходные узлы Tor публично перечислены.
4. **Tails OS** (`tails.boum.org`): живая операционная система с загрузкой с USB, маршрутизирующая весь трафик через Tor и не оставляющая артефактов на диске.
5. **Whonix** (`whonix.org`): конфигурация из двух виртуальных машин (Gateway и Workstation), где все соединения рабочей станции проходят через Tor.

**Отпечаток браузера и утечки WebRTC:** Canvas API, WebGL, AudioContext и перечисление шрифтов образуют идентификатор, более устойчивый, чем cookie. WebRTC может обойти маршрутизацию VPN и раскрыть настоящий локальный IP-адрес через любую веб-страницу с JavaScript.

Меры защиты: установить `media.peerconnection.enabled = false` в `about:config` Firefox или использовать Mullvad Browser (WebRTC отключён по умолчанию, встроена защита от отпечатков браузера).

**Атрибуция API-запросов:** каждый аутентифицированный запрос к коммерческой OSINT-платформе записывается с привязкой к использованному API-ключу. SANS SEC487 специально указывает, что "следователь должен рассматривать историю собственных запросов как потенциальный источник разведки для цели."

## Часть 8: OPSEC для следователя

Пассивный OSINT не является по-настоящему пассивным. Прямой DNS-запрос, HTTP-запрос к обнаруженной конечной точке или просмотр профиля LinkedIn оставляет наблюдаемые следы на стороне цели.

Основные принципы:

- **Не предупреждать цель.** Необычные паттерны запросов могут активировать системы мониторинга.
- **Использовать выделенную инфраструктуру.** Все активные запросы должны исходить из инфраструктуры, не связанной с реальной идентичностью следователя.
- **Предпочитать пассивные источники.** crt.sh, SecurityTrails, Shodan и Wayback Machine не уведомляют цель.
- **Тщательно управлять аккаунтами-пустышками.** Просмотры профилей LinkedIn в некоторых конфигурациях видны владельцу профиля.

> Наташа, проводя авторизованную оценку, обратилась к экземпляру Grafana цели напрямую со своего рабочего IP для подтверждения публичного доступа. WAF цели зарегистрировал запрос. Команда безопасности расследовала IP и обнаружила, что оценка уже проводится, до того, как руководство клиента намеревалось её раскрыть. Урок: даже авторизованные оценки требуют OPSEC-дисциплины.

## Часть 9: Защита и сокращение поверхности

**Инфраструктура:** Отслеживать собственные CT-журналы. Перечислять собственные субдомены из CT-журналов и пассивного DNS по расписанию. Запускать Shodan и Censys против собственного ASN ежеквартально.

**DNS:** Ограничить передачу зон авторизованными вторичными серверами имён (аутентификация TSIG). Удалять DNS-записи для выведенных из эксплуатации сервисов.

**Репозитории:** Сканировать все публичные репозитории с помощью TruffleHog еженедельно. Внедрить перехватчики pre-commit с Gitleaks во всех репозиториях.

**Документы:** Удалять метаданные из каждого документа и изображения перед публикацией:

```bash
exiftool -all= -overwrite_original document.pdf
convert image.jpg -strip image-clean.jpg
```

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

## Заключение

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

Защита достигается не засекречиванием, а осознанностью: пониманием того, какие поверхности существуют, что они раскрывают совместно, и применением систематической дисциплины для сокращения разрыва между тем, что организация намерена раскрыть, и тем, что фактически видно.

## Источники

1. NATO Supreme Allied Command Atlantic. _Open Source Intelligence Handbook_, v1.2. Январь 2002. [archive.org/stream/NATOOSINTHandbookV1.2](https://archive.org/stream/NATOOSINTHandbookV1.2/NATO%20OSINT%20Handbook%20v1.2%20-%20Jan%202002_djvu.txt)
2. Laurie, B.; Langley, A.; Kasper, E. _Certificate Transparency_. RFC 6962. IETF, июнь 2013. [rfc-editor.org/rfc/rfc6962](https://www.rfc-editor.org/rfc/rfc6962)
3. Laurie, B. et al. _Certificate Transparency Version 2.0_. RFC 9162. IETF, декабрь 2021. [rfc-editor.org/rfc/rfc9162](https://www.rfc-editor.org/rfc/rfc9162)
4. University of Arizona. _CYBV 354: Principles of Open Source Intelligence_. [azcast.arizona.edu](https://azcast.arizona.edu/academics/cyber-operations/courses/cybv354-principles-open-source-intelligence-osint)
5. OWASP Foundation. _WSTG v4.2: Test for Subdomain Takeover_. [owasp.org/www-project-web-security-testing-guide/v42](https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/02-Configuration_and_Deployment_Management_Testing/10-Test_for_Subdomain_Takeover)
6. OWASP Foundation. _Amass_. [github.com/owasp-amass/amass](https://github.com/owasp-amass/amass)
7. Caulfield, J. _Privacy Implications of EXIF Data_. EDUCAUSE Review, июнь 2021. [er.educause.edu/articles/2021/6/privacy-implications-of-exif-data](https://er.educause.edu/articles/2021/6/privacy-implications-of-exif-data)
8. EDUCAUSE Review. _Are Your Documents Leaking Sensitive Information?_ январь 2017. [er.educause.edu/blogs/2017/1/are-your-documents-leaking-sensitive-information-scrub-your-metadata](https://er.educause.edu/blogs/2017/1/are-your-documents-leaking-sensitive-information-scrub-your-metadata)
9. Qualys Research Team. _Hidden Risks of Amazon S3 Misconfigurations_. декабрь 2023. [blog.qualys.com/vulnerabilities-threat-research/2023/12/18/hidden-risks-of-amazon-s3-misconfigurations](https://blog.qualys.com/vulnerabilities-threat-research/2023/12/18/hidden-risks-of-amazon-s3-misconfigurations)
10. Snyk. _State of Secrets: 28 Million Credentials in Public Repositories_. 2025. [snyk.io/articles/state-of-secrets](https://snyk.io/articles/state-of-secrets/)
11. CISA. _DNS Zone Transfer AXFR Requests May Leak Domain Information_. AA15-103A, апрель 2015. [cisa.gov/news-events/alerts/2015/04/13/dns-zone-transfer-axfr-requests-may-leak-domain-information](https://www.cisa.gov/news-events/alerts/2015/04/13/dns-zone-transfer-axfr-requests-may-leak-domain-information)
12. SOS Intelligence. _OPSEC in OSINT: Protecting Yourself While Investigating_. [sosintel.co.uk/opsec-in-osint-protecting-yourself-while-investigating](https://sosintel.co.uk/opsec-in-osint-protecting-yourself-while-investigating/)
13. SANS Institute. _SEC487: Open-Source Intelligence (OSINT) Gathering and Analysis_. [sans.org/cyber-security-courses/open-source-intelligence-gathering](https://www.sans.org/cyber-security-courses/open-source-intelligence-gathering/)
14. PortSwigger Research. _Information Disclosure Vulnerabilities_. Web Security Academy. [portswigger.net/web-security/information-disclosure](https://portswigger.net/web-security/information-disclosure)
15. MITRE ATT&CK. _Тактика разведки TA0043_. [attack.mitre.org/tactics/TA0043](https://attack.mitre.org/tactics/TA0043/)
16. Bellingcat. _Online Investigation Toolkit_. [bellingcat.gitbook.io/toolkit](https://bellingcat.gitbook.io/toolkit)
17. Hunt, T. _Have I Been Pwned_. [haveibeenpwned.com](https://haveibeenpwned.com)
18. Rapid7 Labs. _2024 Attack Intelligence Report_. Май 2024. [rapid7.com/research/report/2024-attack-intelligence-report](https://www.rapid7.com/research/report/2024-attack-intelligence-report/)
19. Birsan, A. _Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies_. Февраль 2021. [medium.com/@alex.birsan/dependency-confusion-4a5d60fec610](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610)
20. Bazzell, M. _OSINT Techniques: Resources for Uncovering Online Information_, 10-е изд. IntelTechniques, 2023. [inteltechniques.com/book1.html](https://inteltechniques.com/book1.html)
21. MITRE Corporation. _D3FEND: A Knowledge Graph of Cybersecurity Countermeasures_. [d3fend.mitre.org](https://d3fend.mitre.org)
22. Cloudflare Engineering. _BGP Hijack Detection_. Cloudflare Blog. [blog.cloudflare.com/bgp-hijack-detection](https://blog.cloudflare.com/bgp-hijack-detection/)
