
PowerMeta는 특별히 제작된 Google 및 Bing 검색을 사용하여 특정 도메인에 대해 다양한 웹사이트에서 공개적으로 제공되는 파일을 검색합니다. 그런 다음 대상 도메인에서 해당 파일을 다운로드할 수 있습니다. 파일을 검색한 후에는 PowerMeta를 통해 파일과 연결된 메타데이터를 분석할 수 있습니다. 메타데이터에서 일반적으로 발견되는 흥미로운 항목으로는 사용자 이름, 도메인, 소프트웨어 이름 및 컴퓨터 이름이 있습니다.
PowerMeta는 특정 도메인에 대해 Google 및 Bing 맞춤 검색을 사용하여 다양한 웹사이트에 호스팅된 공개 파일을 검색합니다. 그런 다음 대상 도메인에서 해당 파일을 다운로드할 수 있습니다. 파일을 검색한 후 PowerMeta로 연결된 메타데이터를 분석할 수 있습니다. 메타데이터에서 일반적으로 발견되는 흥미로운 항목으로는 사용자 이름, 도메인, 소프트웨어 제목, 컴퓨터 이름 등이 있습니다.
많은 조직에서 외부 웹사이트에 공개 파일이 게시되어 있는 것을 흔히 볼 수 있습니다. 이러한 파일에는 공격자에게 유용할 수 있는 중요한 정보(사용자 이름, 도메인, 소프트웨어 제목, 컴퓨터 이름 등)가 포함되어 있는 경우가 많습니다. PowerMeta는 "site:targetdomain.com filetype:pdf"와 같은 검색 문자열을 사용하여 Bing과 Google 모두에서 특정 도메인의 파일을 검색합니다. 기본적으로 "pdf, docx, xlsx, doc, xls, pptx, ppt"를 검색합니다.
PowerMeta는 Phil Harvey의 Exiftool을 사용하여 파일에서 메타데이터 정보를 추출합니다. 이 리포지토리의 바이너리 대신 그의 사이트에서 직접 바이너리를 다운로드하려면 http://www.sno.phy.queensu.ca/~phil/exiftool/에서 찾을 수 있습니다. 실행 시 exiftool 실행 파일이 PowerMeta.ps1과 동일한 디렉터리에 있는지 확인하기만 하면 됩니다. 기본적으로 일반적으로 사용자 이름이 저장된 'Author' 및 'Creator' 필드만 추출합니다. 그러나 PowerMeta에 -ExtractAllToCsv 플래그를 전달하면 파일의 모든 메타데이터를 추출할 수 있습니다.
PowerShell 버전 3.0 이상
Google의 안티-봇 보호 기능이 매우 강력해져서 이제 결과를 직접 스크래핑하는 것이 거의 불가능하므로 PowerMeta.ps1을 사용할 때 혼합된 결과를 얻을 수 있습니다. 이를 해결하는 가장 쉬운 방법은 Google의 API를 사용하는 것입니다. 저는 여기에 "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
이 명령은 'targetdomain.com' 도메인에서 pdf, docx, xlsx, doc, xls, pptx, ppt 파일 확장자로 끝나는 파일에 대해 Google 및 Bing 검색을 시작합니다. 목록 작성이 완료되면 사용자에게 대상 도메인에서 파일을 다운로드할지 묻는 메시지가 표시됩니다. 파일 다운로드 후 해당 파일에서 메타데이터를 추출할지 다시 묻습니다.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com
이 명령은 'targetdomain.com' 도메인에서 pdf 또는 xml 파일 확장자로 끝나는 파일에 대해 Google 및 Bing 검색을 시작합니다. 그런 다음 대상 도메인에서 자동으로 다운로드하고 메타데이터를 추출합니다.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -FileTypes "pdf, xml" -Download -Extract
이 명령은 'targetdomain.com' 도메인에서 pdf, docx, xlsx, doc, xls, pptx, ppt 파일 확장자로 끝나는 파일에 대해 Google 및 Bing 검색을 시작하고 발견된 파일의 링크를 "target-domain-links.txt" 파일에 디스크에 기록합니다.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -TargetFileList target-domain-links.txt
이 명령은 'targetdomain.com' 도메인에서 pdf, docx, xlsx, doc, xls, pptx, ppt 파일 확장자로 끝나는 파일에 대해 Google 및 Bing 검색을 시작하지만 처음 두 페이지만 검색합니다. 모든 메타데이터(기본 필드뿐만 아니라)는 all-target-metadata.csv라는 CSV에 저장됩니다.
PS C:\> Invoke-PowerMeta -TargetDomain targetdomain.com -MaxSearchPages 2 -ExtractAllToCsv all-target-metadata.csv
이 명령은 "\2017-03-031-144953" 폴더에 있는 모든 파일에서 모든 메타데이터를 추출하여 all-target-metadata.csv라는 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 - PowerMeta에서 사용하는 기본 사용자 에이전트를 변경합니다.
MaxSearchPages - 각 검색 엔진에서 검색할 최대 페이지 수입니다.