
PowerMeta busca archivos disponibles públicamente alojados en varios sitios web para un dominio en particular mediante búsquedas especialmente elaboradas en Google y Bing. Luego permite la descarga de esos archivos desde el dominio objetivo. Después de recuperar los archivos, PowerMeta puede analizar los metadatos asociados a ellos. Algunas cosas interesantes que se encuentran comúnmente en los metadatos son nombres de usuario, dominios, títulos de software y nombres de computadoras.
PowerMeta busca archivos disponibles públicamente alojados en varios sitios web para un dominio en particular mediante búsquedas especialmente diseñadas en Google y Bing. Luego permite la descarga de esos archivos desde el dominio objetivo. Después de recuperar los archivos, PowerMeta puede analizar los metadatos asociados a ellos. Algunas cosas interesantes que se encuentran comúnmente en los metadatos son nombres de usuario, dominios, títulos de software y nombres de equipos.
Para muchas organizaciones es común encontrar archivos disponibles públicamente publicados en sus sitios web externos. Muchas veces estos archivos contienen información sensible que podría ser de beneficio para un atacante, como nombres de usuario, dominios, títulos de software o nombres de equipos. PowerMeta busca tanto en Bing como en Google archivos en un dominio particular usando cadenas de búsqueda como "site:targetdomain.com filetype:pdf". Por defecto busca "pdf, docx, xlsx, doc, xls, pptx, y ppt".
PowerMeta utiliza Exiftool de Phil Harvey para extraer información de metadatos de los archivos. Si prefieres descargar el binario directamente desde su sitio en lugar de usar el de este repositorio, se puede encontrar aquí: http://www.sno.phy.queensu.ca/~phil/exiftool/. Solo asegúrate de que el ejecutable de exiftool esté en el mismo directorio que PowerMeta.ps1 cuando se ejecute. Por defecto solo extrae los campos 'Author' y 'Creator', ya que comúnmente contienen nombres de usuario. Sin embargo, se pueden extraer todos los metadatos de los archivos pasando a PowerMeta el indicador -ExtractAllToCsv.
PowerShell versión 3.0 o posterior
Las protecciones anti-bots de Google ahora son súper agresivas, lo que hace casi imposible raspar los resultados directamente, por lo que es posible que obtengas resultados mixtos usando PowerMeta.ps1. Para evitarlo, la solución más sencilla es usar la API de Google. He añadido un nuevo script aquí llamado "PowerMeta-API.ps1" que hace exactamente eso.
Aquí están las instrucciones paso a paso:
Paso 1: Crear un Proyecto en Google Cloud
Paso 2: Habilitar la API de Búsqueda Personalizada
Paso 3: Crear una Clave de API
Paso 4: Crear un Motor de Búsqueda Personalizado
Ejecútalo con:
.\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á búsquedas en Google y Bing de archivos en el dominio 'targetdomain.com' que terminen con una extensión de archivo pdf, docx, xlsx, doc, xls, pptx o ppt. Una vez que haya terminado de elaborar esta lista, preguntará al usuario si desea descargar los archivos del dominio objetivo. Después de descargar archivos, preguntará nuevamente para extraer metadatos de esos archivos.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com
Este comando iniciará búsquedas en Google y Bing de archivos en el dominio 'targetdomain.com' que terminen con una extensión de archivo pdf o xml. Luego los descargará automáticamente del dominio objetivo y extraerá los metadatos.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -FileTypes "pdf, xml" -Download -Extract
Este comando iniciará búsquedas en Google y Bing de archivos en el dominio 'targetdomain.com' que terminen con una extensión de archivo pdf, docx, xlsx, doc, xls, pptx o ppt y escribirá los enlaces de los archivos encontrados en un archivo llamado "target-domain-links.txt".
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -TargetFileList target-domain-links.txt
Este comando iniciará búsquedas en Google y Bing de archivos en el dominio 'targetdomain.com' que terminen con una extensión de archivo pdf, docx, xlsx, doc, xls, pptx o ppt, pero solo buscará en las dos primeras páginas. Todos los metadatos (no solo los campos predeterminados) se guardarán en un CSV llamado all-target-metadata.csv.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -MaxSearchPages 2 -ExtractAllToCsv all-target-metadata.csv
Este comando simplemente extraerá todos los metadatos de todos los archivos en la carpeta "\2017-03-031-144953" y los guardará en un CSV llamado all-target-metadata.csv
PS C:\> ExtractMetadata -OutputDir .\2017-03-031-144953\ -ExtractAllToCsv all-target-metadata.csv
TargetDomain - El dominio objetivo para buscar archivos.
FileTypes - Una lista separada por comas de extensiones de archivo para buscar. Por defecto PowerMeta busca "pdf, docx, xlsx, doc, xls, pptx, ppt".
OutputList - Un archivo para guardar la lista de enlaces descubiertos mediante búsqueda web.
OutputDir - Un directorio para almacenar todos los archivos descargados.
TargetFileList - Lista de enlaces de archivos para descargar.
Download - En lugar de ser preguntado interactivamente, pasa este indicador para descargar automáticamente los archivos encontrados.
Extract - En lugar de ser preguntado interactivamente, pasa este indicador para extraer metadatos de los archivos encontrados.
ExtractAllToCsv - Todos los metadatos (no solo los campos predeterminados) se extraerán de los archivos a un CSV especificado con este indicador.
UserAgent - Cambia el User Agent predeterminado usado por PowerMeta.
MaxSearchPages - El número máximo de páginas a buscar en cada motor de búsqueda.