
PowerMeta ищет общедоступные файлы, размещённые на различных веб-сайтах, для конкретного домена, используя специально сформированные поисковые запросы Google и Bing. Затем он позволяет загрузить эти файлы с целевого домена. После получения файлов связанные с ними метаданные могут быть проанализированы PowerMeta. Некоторые интересные данные, обычно обнаруживаемые в метаданных, — это имена пользователей, домены, названия программного обеспечения и имена компьютеров.
PowerMeta ищет общедоступные файлы, размещённые на различных сайтах для конкретного домена, используя специально составленные запросы Google и Bing. Затем он позволяет загрузить эти файлы с целевого домена. После получения файлов PowerMeta может проанализировать связанные с ними метаданные. Некоторые интересные данные, обычно встречающиеся в метаданных: имена пользователей, домены, названия программного обеспечения и имена компьютеров.
Для многих организаций обычно можно найти общедоступные файлы, размещённые на их внешних сайтах. Часто эти файлы содержат конфиденциальную информацию, которая может быть полезна злоумышленнику: имена пользователей, домены, названия программного обеспечения или имена компьютеров. PowerMeta ищет в Bing и Google файлы на определённом домене, используя строки поиска, такие как "site:targetdomain.com filetype:pdf". По умолчанию он ищет "pdf, docx, xlsx, doc, xls, pptx, ppt".
PowerMeta использует Exiftool от Фила Харви для извлечения метаданных из файлов. Если вы предпочитаете загрузить двоичный файл с его сайта напрямую вместо использования того, что в этом репозитории, его можно найти здесь: http://www.sno.phy.queensu.ca/~phil/exiftool/. Просто убедитесь, что исполняемый файл exiftool находится в том же каталоге, что и PowerMeta.ps1 при запуске. По умолчанию извлекаются только поля 'Author' и 'Creator', так как в них часто содержатся имена пользователей. Однако все метаданные файлов могут быть извлечены путём передачи PowerMeta флага -ExtractAllToCsv.
PowerShell версии 3.0 или новее
Защита Google от ботов теперь чрезвычайно агрессивна, что делает практически невозможным прямой сбор результатов, поэтому при использовании PowerMeta.ps1 могут быть смешанные результаты. Чтобы обойти это, самое простое решение — использовать API Google. Я добавил новый скрипт под названием "PowerMeta-API.ps1", который именно это и делает.
Вот пошаговая инструкция:
Шаг 1: Создание проекта Google Cloud
Шаг 2: Включение Custom Search API
Шаг 3: Создание API-ключа
Шаг 4: Создание пользовательской поисковой системы
Запустите его с помощью:
.\PowerMeta-API.ps1 -TargetDomain "targetdomain.com" -ApiKey "<API key>" -SearchEngineId "<search engine ID>" -ExtractAllToCsv allmetadata.csv
C:\> powershell.exe -exec bypass
PS C:\> Import-Module PowerMeta.ps1
Эта команда запускает поиск в Google и Bing файлов на домене 'targetdomain.com' с расширениями pdf, docx, xlsx, doc, xls, pptx или pptx. После завершения составления списка будет выведен запрос пользователю о загрузке файлов с целевого домена. После загрузки файлов будет снова выведен запрос на извлечение метаданных из этих файлов.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com
Эта команда запускает поиск в Google и Bing файлов на домене 'targetdomain.com' с расширениями pdf или xml. Затем файлы будут автоматически загружены с целевого домена и извлечены метаданные.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -FileTypes "pdf, xml" -Download -Extract
Эта команда запускает поиск в Google и Bing файлов на домене 'targetdomain.com' с расширениями pdf, docx, xlsx, doc, xls, pptx или pptx и записывает ссылки на найденные файлы в файл "target-domain-links.txt".
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -TargetFileList target-domain-links.txt
Эта команда запускает поиск в Google и Bing файлов на домене 'targetdomain.com' с расширениями pdf, docx, xlsx, doc, xls, pptx или pptx, но ищет только на первых двух страницах. Все метаданные (не только поля по умолчанию) будут сохранены в CSV-файл all-target-metadata.csv.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -MaxSearchPages 2 -ExtractAllToCsv all-target-metadata.csv
Эта команда просто извлекает все метаданные из всех файлов в папке "\2017-03-031-144953" и сохраняет их в CSV-файл all-target-metadata.csv.
PS C:\> ExtractMetadata -OutputDir .\2017-03-031-144953\ -ExtractAllToCsv all-target-metadata.csv
TargetDomain - Целевой домен для поиска файлов.
FileTypes - Список расширений файлов, разделённых запятыми, для поиска. По умолчанию PowerMeta ищет "pdf, docx, xlsx, doc, xls, pptx, ppt".
OutputList - Файл для вывода списка ссылок, обнаруженных при веб-поиске.
OutputDir - Каталог для хранения всех загруженных файлов.
TargetFileList - Список ссылок на файлы для загрузки.
Download - Вместо интерактивного запроса передайте этот флаг для автоматической загрузки найденных файлов.
Extract - Вместо интерактивного запроса передайте этот флаг для извлечения метаданных из найденных файлов.
ExtractAllToCsv - Все метаданные (не только поля по умолчанию) будут извлечены из файлов в CSV, указанный с этим флагом.
UserAgent - Изменяет стандартный User Agent, используемый PowerMeta.
MaxSearchPages - Максимальное количество страниц для поиска в каждой поисковой системе.