
PowerMeta procura por arquivos publicamente disponíveis hospedados em vários sites para um domínio específico, utilizando buscas especialmente elaboradas no Google e no Bing. Em seguida, permite o download desses arquivos do domínio alvo. Após recuperar os arquivos, os metadados associados a eles podem ser analisados pelo PowerMeta. Algumas coisas interessantes comumente encontradas nos metadados são nomes de usuário, domínios, títulos de software e nomes de computadores.
O PowerMeta pesquisa por arquivos publicamente disponíveis hospedados em vários sites para um domínio específico, usando pesquisas especialmente elaboradas no Google e no Bing. Em seguida, permite o download desses arquivos do domínio alvo. Após recuperar os arquivos, o PowerMeta pode analisar os metadados associados a eles. Algumas coisas interessantes comumente encontradas em metadados são nomes de usuário, domínios, títulos de software e nomes de computadores.
Para muitas organizações, é comum encontrar arquivos publicamente disponíveis postados em seus sites externos. Muitas vezes, esses arquivos contêm informações sensíveis que podem ser benéficas para um invasor, como nomes de usuário, domínios, títulos de software ou nomes de computadores. O PowerMeta pesquisa no Bing e no Google por arquivos em um domínio específico usando strings de pesquisa como "site:targetdomain.com filetype:pdf". Por padrão, pesquisa por "pdf, docx, xlsx, doc, xls, pptx e ppt".
O PowerMeta utiliza o Exiftool de Phil Harvey para extrair informações de metadados dos arquivos. Se preferir baixar o binário diretamente do site dele em vez de usar o deste repositório, ele pode ser encontrado aqui: http://www.sno.phy.queensu.ca/~phil/exiftool/. Apenas certifique-se de que o executável exiftool esteja no mesmo diretório que o PowerMeta.ps1 quando ele for executado. Por padrão, extrai apenas os campos 'Author' e 'Creator', pois esses comumente contêm nomes de usuário. No entanto, todos os metadados dos arquivos podem ser extraídos passando a flag -ExtractAllToCsv para o PowerMeta.
PowerShell versão 3.0 ou posterior
As proteções antibot do Google estão extremamente agressivas agora, tornando quase impossível raspar resultados diretamente, então você pode obter resultados mistos ao usar o PowerMeta.ps1. Para contornar isso, a solução mais fácil é usar a API do Google. Adicionei um novo script aqui chamado "PowerMeta-API.ps1" que faz exatamente isso.
Aqui estão as instruções passo a passo:
Passo 1: Criar um Projeto no Google Cloud
Passo 2: Ativar a Custom Search API
Passo 3: Criar uma Chave de API
Passo 4: Criar um Mecanismo de Pesquisa Personalizado
Execute com:
.\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
Este comando iniciará pesquisas no Google e no Bing por arquivos no domínio 'targetdomain.com' com extensões de arquivo pdf, docx, xlsx, doc, xls, pptx ou pptx. Após terminar de criar essa lista, ele perguntará ao usuário se deseja baixar os arquivos do domínio alvo. Após o download, perguntará novamente sobre a extração de metadados desses arquivos.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com
Este comando iniciará pesquisas no Google e no Bing por arquivos no domínio 'targetdomain.com' com extensões de arquivo pdf ou xml. Em seguida, fará o download automático deles do domínio alvo e extrairá metadados.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -FileTypes "pdf, xml" -Download -Extract
Este comando iniciará pesquisas no Google e no Bing por arquivos no domínio 'targetdomain.com' com extensões de arquivo pdf, docx, xlsx, doc, xls, pptx ou pptx e escreverá os links dos arquivos encontrados em disco em um arquivo chamado "target-domain-links.txt".
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -TargetFileList target-domain-links.txt
Este comando iniciará pesquisas no Google e no Bing por arquivos no domínio 'targetdomain.com' com extensões de arquivo pdf, docx, xlsx, doc, xls, pptx ou pptx, mas pesquisará apenas as duas primeiras páginas. Todos os metadados (não apenas os campos padrão) serão salvos em um CSV chamado all-target-metadata.csv.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -MaxSearchPages 2 -ExtractAllToCsv all-target-metadata.csv
Este comando simplesmente extrairá todos os metadados de todos os arquivos na pasta "\2017-03-031-144953" e os salvará em um CSV chamado all-target-metadata.csv
PS C:\> ExtractMetadata -OutputDir .\2017-03-031-144953\ -ExtractAllToCsv all-target-metadata.csv
TargetDomain - O domínio alvo para pesquisar arquivos.
FileTypes - Uma lista separada por vírgulas de extensões de arquivo para pesquisar. Por padrão, o PowerMeta pesquisa por "pdf, docx, xlsx, doc, xls, pptx, ppt".
OutputList - Um arquivo para saída da lista de links descobertos por meio da pesquisa na web.
OutputDir - Um diretório para armazenar todos os arquivos baixados.
TargetFileList - Lista de links de arquivos para baixar.
Download - Em vez de ser solicitado interativamente, passe esta flag para baixar automaticamente os arquivos encontrados.
Extract - Em vez de ser solicitado interativamente, passe esta flag para extrair metadados dos arquivos encontrados; passe esta flag para extrair automaticamente quaisquer metadados.
ExtractAllToCsv - Todos os metadados (não apenas os campos padrão) serão extraídos dos arquivos para um CSV especificado com esta flag.
UserAgent - Altera o User Agent padrão usado pelo PowerMeta.
MaxSearchPages - O número máximo de páginas a pesquisar em cada mecanismo de pesquisa.