Что расскажет metadata. Часть II: Сбор данных.

Что расскажет metadata. Часть II: Сбор данных.
В предыдущем посте мы выяснили, зачем нам нужны метаданные и что мы с ними собираемся делать. Приступим непосредственно к их сбору. Для сохранения чистоты эксперимента, в качестве примера будем использовать все те же документы PDF. Результаты их исследования получаются по-скромнее, но для тренировки сойдет.

Существует масса способов получения PDF-документов компании-цели. Можно, например, запросить счет на товар или услугу, -- многие предоставляют их в виде "подписанных" PDF-файлов. Также, можно ввязаться в переписку с маркетологами или продавцами, просить презентации и прайс-листы, врать на счет несовместимости форматов (у меня, мол, древний StarOfiice, он эти PPTX и XMLX не понимает). В какой-то момент ваши измученные подопытные ретируются к проверенному средству -- формат PDF для того и разрабатывался, чтобы открываться всегда и везде. Но накопленные таблицы и презентации ни в коем случае не выбрасывайте!

Но самый простой и ненавязчивый способ -- это поиск Google. Запустив поиск с ключевыми словами "site:victim.tld filetype:pdf" вы получите в распоряжение все PDF-документы на сайте "объекта", доступные для индексации. Если честно, то мне никогда ничего сверх этого делать не приходилось -- "вываливающейся" в поиске сотни-другой документов вполне достаточно для сбора необходимого объема данных. Естественно, нужно будет все это добро как-то сохранить. В ранней молодости я делал это при помощи дополнения Firefox под названием FlashGot . Оно позволяет "сохранить все" ссылки на текущей странице, отфильтровав их по расширению файла. Огнелисом я уже какое-то время не пользуюсь, поэтому приходится комбинировать.

Сохранив локально достаточное количество файлов, приступаем, собственно, к извлечению метаданных. Банальный подход -- открыть каждый файл в Arobe Readerи записать на бумажке данные в его свойствах. Но если файлов много, хотелось бы этот процесс автоматизировать. Для этого у меня есть "виртуалка" с Ubuntu Linux, которая с каждым днем все больше похожа на BackTrack . В линуксе есть утилита extract. Она неплохо отыгрывает против "офисных" документов, но для PDF ее маловато.

$ extract volodymyr_styran_cv_en_2009.doc
mimetype - application/msword
language - Russian
paragraph count - 13
line count - 46
word count - 977
page count - 3
creator - vstyran
date - 2009-06-04T15:54:00Z
generator - Microsoft Office Word
character count - 5575
last saved by - Vladimir S. Styran
creation date - 2008-10-16T19:01:00Z
template - Normal.dotm
$ extract volodymyr_styran_cv_en_2009.pdf
format - PDF 1.5
mimetype - application/pdf

Взамен я рекомендую использовать pdftk, от него толку значительно больше, хотя с результатами придется немного повозиться.

$ pdftk volodymyr_styran_cv_en_2009.pdf dump_data
InfoKey: Creator
InfoValue: Microsoft® Office Word 2007�
InfoKey: Producer
InfoValue: Microsoft® Office Word 2007�
InfoKey: Author
InfoValue: vstyran
InfoKey: ModDate
InfoValue: D:20090604160025
InfoKey: CreationDate
InfoValue: D:20090604160025
PdfID0: ec683aaa7b39e945a28671b9f538e9
PdfID1: ec683aaa7b39e945a28671b9f538e9
NumberOfPages: 3
$ pdftk volodymyr_styran_cv_en_2009.pdf dump_data | perl -ne 's/
$// if /^InfoKey:/; s/^InfoKey: //; s/^InfoValue//; print'
Creator: Microsoft® Office Word 2007�
Producer: Microsoft® Office Word 2007�
Author: vstyran
ModDate: D:20090604160025
CreationDate: D:20090604160025
PdfID0: ec683aaa7b39e945a28671b9f538e9
PdfID1: ec683aaa7b39e945a28671b9f538e9
NumberOfPages: 3

Итак, искать мы вроде как научились. Теперь давайте поищем что-нибудь по-интереснее.

$ pdftk CSG-V3.pdf dump_data | perl -ne 's/
$// if /^InfoKey:/; s/^InfoKey: //; s/^InfoValue//; print'
Creator: Acrobat PDFMaker 8.1 for Word
Title: Small Businesses Practices
Company: Carnegie Mellon University
Producer: Acrobat Distiller 8.1.0 (Windows)
Author: carolinev
ModDate: D:20090121131437-05'00'
SourceModified: D:20090121172942
CreationDate: D:20090121131408-05'00'
PdfID0: 3e74d4e723d11dc2a2711ef22c22f81
PdfID1: c661cfd5592c75479ec7d97d6f03be8

Прекрасно, то что нужно. Тут вам и имя пользователя, и версии ПО. Еще один пример.

$ pdftk cisco_PCI.pdf dump_data | perl -ne 's/
$// if /^InfoKey:/; s/^InfoKey: //; s/^InfoValue//; print' | head -10
Creator: FrameMaker 7.2
Title: roc.fm
Producer: Acrobat Distiller 7.0 (Windows)
Author: ctsadmin-p.gen
ModDate: D:20090627001912Z
CreationDate: D:20090225103321Z
PdfID0: 1c6e1873d0e93de8a815d8d32ac2e4f5
PdfID1: ab27924169ec4db2dbe8d9a81ae2
NumberOfPages: 110
BookmarkTitle: Verizon Business Assessment for: Cisco PCI Solution for Retail: Cisco Systems, Inc.

Из имени пользователя очевидно, что Cisco захватили роботы.

Конечно, искать, сохранять PDF-файлы, а потом еще и скрипты писать для их анализа -- занятие утомительное. К счастью, (1) мир не без добрых людей и (2) существует metagoofil . Эта прекрасная утилита на Питоне великолепно справляется с поиском файлов на сайте, их сохранением (!) и извлечением метаданных из документов различного формата. Для последнего в ней используется extract, так что поиграться с pdftk для PDF-файлов все равно придется. Внимание!Использование автоматических средств поиска идет в разрез с Google Terms of Service, так что будьте осторожны. Для сохранения status quo я должен уточнить, что упоминаю о metagoofil не для того, чтобы побудить вас к его использованию, а для того, чтобы подчеркнуть, как легко "плохие парни" могут получить доступ к вашим драгоценным метаданным (смайл вырезан цензурой).

В заключение, советую потренироваться в извлечении метаданных из файлов различных форматов. Напомню, что PDF был выбран мной в качестве примера и полной картинки не дает.  Файлы MS Office содержат в себе больше "полезной" информации. Конвертация в PDF даже рекомендуется в качестве одного из методов сокрытия метаданных, коими изобилуют документы MS Office. Для удаления метаданных существует несколько решений как для персонального, так и для корпоративного использования (например, для очистки документов в исходящих электронных письмах). Рекламировать никого не буду, поиск по ключевым словам "metadata removal application" и так все покажет.

Всем удачных выходных.

Больше о метаданных в этом блоге
Alt text

Большой брат следит за вами, но мы знаем, как остановить его

Подпишитесь на наш канал!

Vlad Styran

информационно. безопасно.*