Объекты API¶
Файлы (files)¶
Файлы являются одним из наиболее важных типов объектов в VirusTotal API. У нас есть огромный набор данных из более чем 2 миллиардов файлов, которые были проанализированы VirusTotal на протяжении многих лет. Объект file
может быть получен либо путем загрузки нового файла в VirusTotal, либо путем поиска уже существующего хэша файла, либо другими способами при поиске в службах VT Enterprise services. В объекте file
вы найдете некоторые релевантные базовые атрибуты о файле и его связи с VirusTotal:
- хэш-суммы файлов, такие как
md5
,sha1
иsha256
, которые однозначно идентифицируют файл; size
- размер файла;first_submission_date
- дата и время когда файл был впервые получен в VirusTotal (как временная метка UNIX);last_analysis_date
- дата и время последнего анализа файла (как временная метка UNIX);last_modification_date
- дата и время последнего изменения файла (как временная метка UNIX);times_submitted
- число загрузок файла на сервер;last_analysis_results
- результаты последнего анализа;names
- имя файлаmeaningful_name
, которое мы считаем наиболее содержательным;downloadable
- показывает возможность скачивания файла с сервера;unique_sources
- указывает, из скольких различных источников был получен файл.
JSON
{
"data": {
"type": "file",
"id": "<SHA256>",
"links": {
"self": "https://www.virustotal.com/api/v3/files/<SHA256>"
},
"attributes" : {
"md5": "<string>",
"sha1": "<string>",
"sha256": "<string>",
"size": <int>,
"first_submission_date": "<unix_timestamp>",
"last_submission_date": "<unix_timestamp>",
"last_modification_date": "<unix_timestamp>",
"times_submitted": <int>,
"last_analysis_date": "<unix_timestamp>",
"last_analysis_results": [ <objects> ],
"names": [ <strings> ],
"meaningful_name": "<string>",
"downloadable": <boolean>,
"unique_sources": <int>,
...
}
}
}
В словаре атрибутов присутствует также поля с информацией, извлеченной из самого файла. Эта информация раскрыта в следующих ключах:
type_description
- описание типа файла, с коротким его представлениемtype_tag
, который можно использовать для поиска файлов этого типа;creation_date
- извлекается, когда это возможно, из файла и указывает метку времени компиляции или сборки, может быть подделан создателями вредоносных программ;total_votes
- общее количество голосов по результатам голосования пользователей VirusTotal Community. Полеreputation
рассчитывается на основе голосов, полученных файлом, и репутации пользователей;vhash
- значение т. н. нечеткого хэша, определяемого по алгоритму кластеризации, основанного на простом структурном хэше признаков, и который позволяет находить похожие файлы;tags
- извлекаются из разных частей отчета и являются метками, которые помогают вам искать похожие образцы.
JSON
{
"data": {
...
"attributes" : {
...
"type_description": "<string>",
"type_tag": "<string>",
"creation_date": "<unix_timestamp>",
"ssdeep": "<string>",
"vhash": "<vhash>",
"authentihash": "<string>",
"reputation": <int>,
"total_votes": { "harmless": <int>, "malicious": <int> },
"tags": [ "<strings>" ]
}
}
}
Кроме того, VirusTotal вместе с каждым антивирусным сканированием запускает набор утилит, позволяющих собирать дополнительную информацию о файле. Вся эта информация содержится в поле attributes
вместе с остальными ранее описанными полями.
androguard¶
Информация об Android файлах.
androguard
показывает информацию о файлах Android APK, DEX и XML, извлеченных с помощью утилиты Androguard.
Activities
- список активностей (activities) приложения;AndroguardVersion
- версия используемой утилиты Androguard;AndroidApplication
- тип файла Android в формате целого числа;AndroidApplicationError
- логическое переменная со значением False;AndroidApplicationInfo
- тип файла Android (“APK”,” DEX”,”XML”);AndroidVersionCode
- код версии Android, считанный из манифеста;AndroidVersionName
- имя версии Android, считанное из манифеста;Libraries
- список библиотек, используемых приложением;Main Activity
- название основной активности (activitie), прочитанное из манифеста;MinSdkVersion
- минимальная поддерживаемая версия SDK;Package
- имя пакета, считанное из манифеста;Permissions
- словарь с разрешениями, используемыми в качестве ключа и списка с 3 элементами в качестве значения:- тип разрешения (например,
normal
,dangerous
); - короткий дескриптор разрешения;
- дескриптор разрешения;
- тип разрешения (например,
Providers
- список провайдеров (providers), используемых приложением;Receivers
- список получателей (receivers), используемых приложением;RiskIndicator
- словарь с показателями рискаAPK
(structure) иPERM
(permissions):APK
- показывает используемые компоненты и их количество (например,"EXECUTABLE": 3
);PERM
- показывает типы разрешений и их количество (например,"DANGEROUS": 11
);
Services
- список служб (services), используемых приложением;StringsInformation
- список примечательных строк, найденных в приложении;TargetSdkVersion
- версия Android, на которой приложение было протестировано;VTAndroidInfo
- версия Androguard, используемая сервисом VirusTotal;certificate
- сведения о сертификате приложения в виде словаря с полями:Issuer
- словарь с отличительными (уникальными) именами и значениями. Типичными записями являютсяDN
(отличительное (уникальное) имя),CN
(общее имя),O
(организация);Subject
- словарь с RDN (перечнем уникальных имен) эмитента сертификата;serialnumber
- серийный номер сертификата;thumbprint
- хэш сертификата в шестнадцатеричном виде;validfrom
- дата начала действия сертификата в формате “%H:%M %p %m/%d/%Y”;validto
- срок действия сертификата, в формате “%H:%M %p %m/%d/%Y”;
intent-filters
- фильтр предполагаемых действий приложения исходя из активностей (activities), получателей (receivers) и служб (services).
Информация об APK файлах в виде JSON
{
"data": {
...
"attributes" : {
...
"androguard": {
"Activities": ["<strings>"],
"AndroguardVersion": "<string>",
"AndroidApplication": <int>,
"AndroidApplicationError": <boolean>,
"AndroidApplicationInfo": "<string>",
"AndroidVersionCode": "<string>",
"AndroidVersionName": "<string>",
"Libraries": ["<strings>"],
"Main Activity": "<string>",
"MinSdkVersion": "<string>",
"Package": "<string>",
"Permissions": {"<string>": ["<strings>"], ... },
"Providers": ["<strings>"],
"Receivers": ["<strings>"],
"RiskIndicator": {"APK": {"<string>": <int>, ... },
"PERM": {"<string>": <int>, ... }},
"Services": ["<strings>"],
"StringsInformation": ["<strings>"],
"TargetSdkVersion": "<string>",
"VTAndroidInfo": <float>,
"certificate": {"Issuer": {"DN": "<string>", "O": "<string>", ... },
"Subject": {"DN": "<string>","O": "<string>", ... },
"serialnumber": "<string>",
"thumbprint": "<string>",
"validfrom": "<string:%H:%M %p %m/%d/%Y>",
"validto": "<string:%H:%M %p %m/%d/%Y>"},
"intent-filters": {"Activities": {"<string>": {"action": ["<strings>"],
"category": ["<string>"]},
... },
"Receivers": {"<string>": {"action": ["<strings>"],
"category": ["<string>"]},
... },
"Services": {"<string>": {"action": ["<strings>"],
"category": ["<string>"]},
...}
}
}
}
}
asf_info¶
Информация о Microsoft Advanced Streaming/Systems Format (ASF) файлах.
asf_info
показывает информацию о Microsoft ASF files (.asf, .wma, .wmv).
content_encryption_object
- информация о том, как зашифрован файл:key_id
- ID тиспользуемого ключа;license_url
- url-адрес лицензии;protection_type
- тип используемой защиты (например, “DRM”);secret_data
- байты, содержащие секретные данные;
extended_content_encryption_object
- расширенная информация о том, как зашифрован файл:CHECKSUM
- контрольная сумма данных;KID
- ID тиспользуемого ключа;EncodeType
- тип кодирования;LAINFO
- информация о лицензионном соглашении;DRMHeader
- заголовок, используемый в DRM;
script_command_objects
- скрипты, используемые в файле:action
- действие, которое необходимо выполнить;type
- тип действия (например, URL, FILENAME, EVENT);trigger_time
- время активации скрипта.
Информация об ASF файлах в виде JSON
{
"data": {
...
"attributes" : {
...
"asf_info": {
"content_encryption_object": {"key_id": "<string>",
"license_url": "<string>",
"protection_type": "<string>",
"secret_data": "<string>"},
"extended_content_encryption_object": {"CHECKSUM": "<string>",
"DRMHeader": "<string>",
"EncodeType": "<string>",
"KID": "<string>",
"LAINFO":"<string>"},
"script_command_objects": [{"action": "<string>",
"trigger_time": <int>,
"type":"URL"}, ... ]}
}
}
}
authentihash¶
Хэш для проверки PE-файлов.
authentihash
- это хэш sha256, используемый корпорацией Microsoft для проверки того, что соответствующие разделы образа PE-файла не были изменены.
JSON
{
"data": {
...
"attributes" : {
...
"authentihash": "<string>",
}
}
}
bundle_info¶
Информация о сжатых файлах.
bundle_info
предоставляет информацию о сжатых файлах (ZIP, TAR, GZIP и т. д.).
beginning
- распакованный заголовок файла для некоторых форматов файлов (GZIP, ZLIB);extensions
- расширения файлов и их количество внутри пакета;file_types
- типы файлов и их количество внутри пакета;highest_datetime
- самая последняя дата в содержащихся файлах, в формате “%H:%M %p %m/%d/%Y”;lowest_datetime
- самая старая дата в содержащихся файлах, в формате “%H:%M %p %m/%d/%Y”;num_children
- сколько файлов и каталогов находится внутри пакета;tags
- интересные замечания о содержании (например, “contains-pe”);type
- тип пакета (например, “ZIP”);uncompressed_size
- несжатый размер содержимого внутри сжатого файла;vhash
- хэш подобия (нечеткий хэш) для этого типа файлов.
Информация о сжатых файлах в виде JSON
{
"data": {
...
"attributes" : {
...
"bundle_info": {
"beginning": "<string>",
"extensions": {"<string>": <int>, ... },
"file_types": {"<string>": <int>, ... },
"highest_datetime": "<string:%Y-%m-%d %H:%M:%S>",
"lowest_datetime": "<string:%Y-%m-%d %H:%M:%S>",
"num_children": <int>,
"tags": ["<strings>"],
"type": "<string>",
"uncompressed_size": <int>,
"vhash": "<string>"
}
}
}
}
class_info¶
Информация о классах Java в байткод-файлах.
class_info
предоставляет информацию о Java байткод-файлах.
constants
- константы, используемые в классе;extends
- класс, от которого наследован данный класс;implements
- интерфейсы реализованные в классе;methods
- методы, принадлежащие к классу;name
- имя класса;platform
- платформа в виде строки, полученной из старшего и младшего номера версии;provides
- представленные классы, поля и методы;requires
- обязательные классы, поля и методы.
Информация о Java классе в виде JSON
{
"data": {
...
"attributes" : {
...
"class_info": {
"constants": ["<strings>"],
"extends": "<string>",
"implements": ["<strings>"],
"methods": ["<strings>"],
"name": "<string>",
"platform": "<string>",
"provides": ["<strings>"],
"requires": ["<strings>"]
}
}
}
}
deb_info¶
Информация о Debian пакетах.
deb_info
- предоставляет информацию о Debian пакетах.
changelog
- информация об изменениях в версии пакета:Author
- имя автора;Date
дата в формате “%a, %d %b %Y %H:%M%S %z”;Debian revision
- ревизия;Debian version
- версия;Distributions
- тип распространения;Full version
- полная версия системы;Package
- тип пакета;Urgency
- уровень срочности изменений;Version history
- история версий;
control_metadata
- общие (неизменные) поля пакета:Maintainer
- идентификатор того, кто осуществляет поддержку пакета;Description
- дескриптор пакета;Package
- имя пакета;Depends
- зависимости пакета;Version
- версия пакета;Architecture
- архитектура для запуска этого пакета (например,"i386"
);
control_scripts
- сценарии для запуска в операциях управления пакетами:postinst
- скрипт, выполняемый после инсталляции;postrm
- скрипт, выполняемый после удаления пакета;
structural_metadata
:contained_files
- количество файлов в пакете;contained_items
- количество пунктов в пакете;max_date
- дата самого старого файла в формате “%Y-%m-%d %H:%M%S”;min_date
- самая последняя дата файла в формате “%Y-%m-%d %H:%M%S”.
Информация о Debian пакете в виде JSON
{
"data": {
...
"attributes" : {
...
"deb_info": {
"changelog": {"Author": "<string>",
"Date": "<string:%a, %d %b %Y %H:%M%S %z>",
"Debian revision": "<string>",
"Debian version": "<string>",
"Distributions": "<string>",
"Full version": "<string>",
"Package": "<string>",
"Urgency": "<string>",
"Version history": "<string>"},
"control_metadata": {"<string>": "<string>", ... },
"control_scripts": {"postinst": "<string>",
"postrm": "<string>"},
"structural_metadata": {"contained_files": <int>,
"contained_items": <int>,
"max_date": "<string:%Y-%m-%d %H:%M%S>",
"min_date": "<string:%Y-%m-%d %H:%M%S>"}
}
}
}
}
dmg_info¶
Информация о монтируемых образах дисков macOS.
dmg_info
сообщает данные о структуре файлов Apple.dmg). Большая часть данных поступает из метаданных внутренних файлов, которые могут содержаться в некоторых файлах, а в других - нет.
blkx
- список блоков в образе. Каждая запись содержит:attributes
- в формате шестнадцатеричного числа;name
- имя блока;
data_fork_length
- размер данных форка;data_fork_offset
- смещение данных форка;dmg_version
- версия DMG-файла;hfs
- информация об HFS-элементах. В зависимости от конкретного случая могут присутствовать различные поля:info_plist
- содержимое списка свойств (plist) данного блока;main_executable
- основной исполняемый файл этого блока:id
- идентификатор;path
- путь в пакете;sha256
- хэш содержимого;size
- размер файла в байтах;
num_files
- количество файлов;unreadable_files
- количество нечитаемых файлов;
plist
- содержит сведения о конфигурации приложения, такие как идентификатор пакета, номер версии и отображаемое имя;plist_keys
- ключи от записиplist
;running_data_fork_offset
- смещение начала используемых данных форка (обычно 0);resourcefork_keys
- ключи, найденные в ресурсах форка;rsrc_fork_length
- длина ресурсов форка;rsrc_fork_offset
- смещение ресурсов форка;xml_lenght
- размер списка свойств в DMG;xml_offset
- смещение списка свойств в DMG.
Apple .dmg-файл
{
"data": {
...
"attributes" : {
...
"dmg_info": {
"blkx": [{"attributes": "<string>", "name": "<string>"}, ... ],
"data_fork_length": <int>,
"data_fork_offset": <int>,
"dmg_version": <int>,
"hfs": {"info_plist": {"<string>": <value>, ... },
"main_executable": {"id": <int>,
"path": "<string>",
"sha256": "<string>",
"size": <int>},
"<string>": <value>,
... },
"plst": [{"attributes": "<string>", "name": "<string>"}],
"plst_keys": ["<strings>"],
"running_data_fork_offset": <int>,
"resourcefork_keys": ["<strings>"],
"rsrc_fork_length": <int>,
"rsrc_fork_offset": <int>,
"xml_length": <int>,
"xml_offset": <int>
}
}
}
}
dot_net_guids¶
Идентификаторы для сборок Microsoft .NET.
dot_net_guids
- список идентификаторов для сборок Microsoft .NET;mvid
- ModuleVersionID, генерируемый во время сборки, в результате чего для каждой сборки создается новый идентификатор GUID;typelib_id
- TypeLibID (если имеется), созданный Visual Studio при создании нового проекта по умолчанию.
ID сборки Microsoft .NET в виде JSON
{
"data": {
...
"attributes" : {
...
"dot_net_guids": {
"mvid": "<string>",
"typelib_id": "<string>"
}
}
}
}
elf_info¶
Информация о Unix ELF-файлах.
elf_info
возвращает информацию о Unix ELF file format.
exports
- список экспортируемых элементов. Каждый элемент содержит имя и тип.header
- некоторые описательные метаданные о файле:type
- тип файла (например"EXEC"
(исполняемый файл);hdr_version
- версия заголовка;num_prog_headers
- количество записей в заголовке программы;os_abi
- тип бинарного интерфейса приложения (например"UNIX-Linux"
);obj_version
-0x1
для оригинальных ELF-файлов;machine
- платформа (например"Advanced Micro Devices X86-64"
);entrypoint
- точка входа;num_section_headers
- число секций в заголовке;abi_version
- версия бинарного интерфейса приложения;data
- выравнивание данных в памяти (например"little endian"
);class
- класс файла (например"ELF32"
);
imports
- список импортируемых элементов. Каждый элемент содержит имя и тип;sections
- секции ELF-файла:name
- имя секции;address
- виртуальный адрес секции;flags
- атрибуты секции;offset
- смещение секции;type
- тип секции;size
- размер секции в байтах;
segments
- они же заголовки программ. каждый элемент содержит тип сегмента и список ресурсов, задействованных в этом сегменте;shared_libraries
- список общих библиотек, используемых этим исполняемым файлом.
Формат ELF-файла
{
"data": {
...
"attributes" : {
...
"elf_info": {
"exports": [["<string>", "<string>"], ... ],
"header": {"type": "<string>",
"hdr_version": "<string>",
"num_prog_headers": <int>,
"os_abi": "<string>",
"obj_version": "<string>",
"machine": "<string>",
"entrypoint": <int>,
"num_section_headers" <int>,
"abi_version": 0,
"data": "<string>",
"class": "<string>"},
"imports": [["<string>", "<string>"], ... ],
"sections": [{"name": "<string>",
"address": <int>,
"flags": "<string>",
"offset": <int>,
"type": "<string>",
"size": <int>}, ... ],
"segments": [["<string>", ["<strings>"]], ... ],
"shared_libraries": ["<strings>"]
}
}
}
}
exiftool¶
Информация о метаданных EXIF из файлов.
exiftool
это утилита для извлечения метаданных EXIF из файлов различных форматов. Представляемые метаданные могут различаться в зависимости от типа файла, и, учитывая природу метаданных EXIF, соcтав отображаемых полей может различаться.
Например:
- поля для Microsoft Windows PE-файлов:
CharacterSet, CodeSize, CompanyName, EntryPoint, FileDescription, FileFlagsMask,
FileOS, FileSize, FileSubtype, FileType, FileTypeExtension, FileVersion,
FileVersionNumber, ImageVersion, InitializedDataSize, InternalName, LanguageCode,
LegalCopyright, LinkerVersion, MIMEType, MachineType, OSVersion, ObjectFileType,
OriginalFileName,, PEType, ProductName, ProductVersion, ProductVersionNumber,
Subsystem, SubsystemVersion, TimeStamp, UninitializedDataSize
- поля для JPEG-файлов:
Aperture, ApertureValue, BitsPerSample, BrightnessValue, CircleOfConfusion,
ColorComponents, ColorSpace, Compression, CreateDate, DateTimeOriginal,
DeviceType, EncodingProcess, ExifByteOrder, ExifImageHeight, ExifImageWidth,
ExifVersion, ExposureCompensation, ExposureMode, ExposureProgram, ExposureTime,
FNumber, FOV, FaceDetect, FileType, FileTypeExtension, Flash, FlashpixVersion,
FocalLength, FocalLength35efl, FocalLengthIn35mmFormat, HyperfocalDistance,
ISO, ImageHeight, ImageSize, ImageUniqueID, ImageWidth, InteropIndex,
InteropVersion, LightValue, MIMEType, Make, MakerNoteVersion, MaxApertureValue,
Megapixels, MeteringMode, Model, ModifyDate, Orientation, RawDataByteOrder,
RawDataCFAPattern, ResolutionUnit, ScaleFactor35efl, SceneCaptureType,
ShutterSpeed, ShutterSpeedValue, Software, SubSecCreateDate,
SubSecDateTimeOriginal, SubSecModifyDate, SubSecTime, SubSecTimeDigitized,
SubSecTimeOriginal, ThumbnailImage, ThumbnailLength, ThumbnailOffset,
TimeStamp, WhiteBalance, XResolution, YCbCrPositioning, YCbCrSubSampling,
YResolution
- поля для PDF_файла:
CreateDate, Creator, CreatorTool, DocumentID, FileType, FileTypeExtension,
Linearized, MIMEType, ModifyDate, PDFVersion, PageCount, Producer, XMPToolkit
JSON
{
"data": {
...
"attributes" : {
...
"exiftool": {
"<string>": "<string>", ...
}
}
}
}
image_code_injections¶
Инъекция кода в файл изображения.
image_code_injections
возвращает содержимое внедренного кода в файлах изображений.
JSON
{
"data": {
...
"attributes" : {
...
"image_code_injections": "<string>"
}
}
}
ipa_info¶
Информация об iOS App Store Package файле.
ipa_info
- возвращает информацию о Apple IPA файлах.
apps
- каждый IPA может содержать несколько экземпляров приложения:commands
- список команд загрузки. Каждая запись отображается как значение ключаtype
;vhash
- vhash файла;segments
- список сегментов в файле:name
- имя сегмента;fileoff
- физический адрес сегмента;vmsize
- размер виртуального адреса;vmaddr
- виртуальный адрес;filesize
- размер сегмента;sections
- секции в сегменте:type
- тип секции;flags
- флаги секции (например"S_8BYTE_LITERALS"
);name
- имя секции;
tags
общие замечания о файле (например"64 bits"
);
headers
- некоторые описательные метаданные о файле:cpu_type
- общий тип процессора (например"i386"
);cpu_subtype
- подтип процессора (например"I386_ALL"
);magic
- “магический” идентификатор приложения;size_cmds
- размер команд;num_cmds
- количество команд;flags
- флаги файла (например"DYLDLINK"
,"NOUNDEFS"
);file_type
- тип файла (например"dynamically bound shared library"
);
libs
- библиотеки, используемые в файле;
plist
- список, содержащий пары ключ-значение, которые идентифицируют и настраивают приложение. Некоторыми общими полями являются:CBundleIdentifier
уникальный идентификатор пакета;CFBundleSupportedPlatforms
- поддерживаемые платформы;CFAppleHelpAnchor
- имя HTML help-файла для пакета;CFBundleIcons
- информация об используемой иконке;CFBundleShortVersionString
- номер релиза или версии пакета;CFBundleDisplayName
- вдимое для пользователя имя пакета;CFBundleName
- вдимое для пользователя короткое имя пакета;MinimumOSVersion
- минимальная версия операционной системы, необходимая для запуска приложения;
provision
- приложения iOS должны содержать встроенный профиль инициализации:TeamName
- team name.TeamIdentifier
- team identifier.Name
- имя приложения;AppIDName
- имя идентификатора приложения;ApplicationIdentifierPrefix
- идентификатор подписи кода для запущенного приложения;Platform
- поддерживаемая платформа;Version
- версия приложения;TimeToLive
- время существования;ExpirationDate
- срок действия приложения в формате “%Y-%m-%d %H:%M%S”.Entitlements
- позволяет использовать определенную функцию или превращает приложение в отдельную службу;application-identifier
- полный идентификатор приложения;
UUID
- уникальный идентификатор;CreationDate
- дата создания приложения в формате “%Y-%m-%d %H:%M%S”.
Файлы Apple IPA
{
"data": {
...
"attributes" : {
...
"ipa_info": {
"apps": [{"commands": [{"type": "<string>"}], ... ],
"vhash": "<string>",
"segments": [{"name": "<string>",
"fileoff": "<string>",
"vmsize": "<string>",
"filesize": "<string>",
"vmaddr": "<string>",
"sections": [{"type": "<string>"
"flags": ["<strings>"],
"name": "<string>"}, ... ], } ...],
"tags": ["<strings>"],
"headers": {"cpu_subtype": "<string>",
"magic": "<string>",
"size_cmds": <int>,
"file_type": "<string>",
"num_cmds": <int>,
"flags": ["<strings>"]
"cpu_type": "<string>"},
"libs":["<strings>"]} ... ],
"plist": {"CBundleIdentifier": "<string>",
"CFBundleSupportedPlatforms": "<string>",
"CFAppleHelpAnchor": "<string>",
"CFBundleIcons": "<string>",
"CFBundleShortVersionString": "<string>",
"CFBundleDisplayName": "<string>",
"CFBundleName": "<string>",
"MinimumOSVersion": "<string>", ... },
"provision": {"TeamName": "<string>",
"Name": "<string>",
"TeamIdentifier": ["<strings>"],
"AppIDName": "<string>",
"ApplicationIdentifierPrefix": ["<strings>"],
"Platform": ["<strings>"],
"Version": <int>,
"TimeToLive": <int>,
"ExpirationDate": "<string:%Y-%m-%d %H:%M%S>",
"Entitlements": {"application-identifier": "<string>", ... },
"CreationDate": "<string:%Y-%m-%d %H:%M%S>",
"UUID": "<string>", ... }
}
}
}
}
isoimage_info¶
Информация о файлах ISO-образов.
isoimage_info
- возвращает информацию о структуре ISO-файлов.
application_id
- приложение, использованное для создания файла;created
- время создания файла в формате “%Y-%m-%d %H:%M:%S”;effective
- фактическая дата тома в формате “%Y-%m-%d %H:%M:%S”;expires
- дата истечения срока действия тома в формате “%Y-%m-%d %H:%M:%S”;file_structure_version
- версия файловой структуры;max_date
- самая “свежая” дата, содержащаяся в файле в формате “%Y-%m-%d %H:%M:%S”;min_date
- самая старая содержащаяся дата файла в формате “%Y-%m-%d %H:%M:%S”;modified
- дата последней модификации в формате “%Y-%m-%d %H:%M:%S”;num_files
- количество файлов содержащихся ISO-образе;system_id
- имя системы, которая может работать с начальными секторами (например"Win32"
);total_size
- размер всех разделов в этом логическом томе;type_code
- код типа формата (например"CD001"
);volume_id
- идентификатор тома;volume_set_id
- идентификатор объединенного тома.
Файл ISO-образа
{
"data": {
...
"attributes" : {
...
"isoimage_info": {
"application_id": "<string>",
"created": "<string:%Y-%m-%d %H:%M:%S>",
"effective": "<string:%Y-%m-%d %H:%M:%S>",
"expires": "<string:%Y-%m-%d %H:%M:%S>",
"file_structure_version": <int>,
"max_date": "<string:%Y-%m-%d %H:%M:%S>",
"min_date": "<string:%Y-%m-%d %H:%M:%S>",
"modified": "<string:%Y-%m-%d %H:%M:%S>",
"num_files": <int>,
"system_id": "<string>",
"total_size": <int>,
"type_code": "<string>",
"volume_id": "<string>",
"volume_set_id": "<string>"
}
}
}
}
jar_info¶
Информация о файлах Java Archive.
jar_info
возвращает информацию о Java jar-файлах.
filenames
- имена содержащихся файлов;files_by_type
- типы и количество типов файлов, содержащихся в jar-файле;manifest
- содержимое манифеста Jar;max_date
- самая старая содержащаяся дата файла в формате”%Y-%m-%d %H:%M:%S”;max_depth
- максимальная глубина каталога jar-файла;min_date
- самая “свежая” дата, содержащаяся в файле в формате “%Y-%m-%d %H:%M:%S”;packages
- предполагаемые пакеты, используемые в пакете .class-файлов;strings
- примечательные строки, найденные в пакете .class-файлов;total_dirs
- количество каталогов в пакете;total_files
- количество файлов в пакете.
Java .jar-файлы
{
"data": {
...
"attributes" : {
...
"jar_info": {
"filenames": ["<strings>"],
"files_by_type": {"<string>": <int>, ... },
"manifest": "<string>",
"max_date": "<string:%Y-%m-%d %H:%M:%S>",
"max_depth": <int>,
"min_date": "<string:%Y-%m-%d %H:%M:%S>",
"packages": ["<strings>"],
"strings": ["<strings>"],
"total_dirs": <int>,
"total_files": <int>
}
}
}
}
macho_info¶
Информация о файлах Apple MachO.
macho_info
возвращает информацию о файлах формата Apple MachO. Это список, содержащий элементы для каждого приложения:
libs
- библиотек, используемые в файле;headers
- некоторые описательные метаданные о файле:cpu_type
- основной тип процессора (напримерi386
);cpu_subtype
- подтип процессора (напримерI386_ALL
);magic
- “магический” идентификатор приложения;size_cmds
- размер команд;num_cmds
- число команд;flags
флаги файлов (напримерDYLDLINK
,NOUNDEFS
);file_type
- тип файла (напримерdynamically bound shared library
);
commands
- список команд загрузки. Каждая запись отображается как значение ключаtype
;segments
- список сегментов файла:name
- имя сегмента;fileoff
- физический адрес сегмента;vm size
- размер виртуального адреса;vmaddr
- виртуальный адрес;filesize
- размер сегмента;sections
- секции сегмента:type
- тип секции;flags
- флаги секции (напримерS_8BYTE_LITERALS
);name
- имя секции;
vhash
- vhash файла;tags
- общие замечания о файле (например64 bits
).
Формат файла Apple MachO
{
"data": {
...
"attributes" : {
...
"macho_info": [
{"libs": ["<strings>"],
"headers": {"cpu_subtype": "<string>",
"magic": "<string>",
"size_cmds": <int>,
"file_type": "<string>",
"num_cmds": <int>,
"flags": ["<strings>"],
"cpu_type": "<string>"},
"commands": [{"type": "<string>"}, ... ],
"segments": [{"name": "<string>",
"fileoff": "<string>",
"vmsize": "<string>",
"filesize": "<string>",
"vmaddr": "<string>"}, ... ],
"sections": [{"type": "<string>",
"flags": ["<strings>"],
"name": "<string>"}, ... ],
"vhash": "<string>",
"tags": ["<strings>"]} ...
]
}
}
}
magic¶
Идентификация файлов по “магическому числу”.
magic
дает предположение о типе файла, основываясь на популярном инструменте синтаксического анализа из UNIX (команда file
).
Предполагаемый тип файла
{
"data": {
...
"attributes" : {
...
"magic": "<string>",
}
}
}
office_info¶
Информация о структуре файлов Microsoft Office.
office_info
возвращает информацию о файлах Microsoft Office (до Office 2007). Включая информацию (Word) .doc
, .dot
, .wbk
, (Excel) .xls
, .xlt
, .xlm
, (PowerPoint) .pot
, .pps
.
document_summary_info
- некоторые метаданные о файле Office:scale
-True
если требуется масштабирование миниатюры,False
- в обратном случае;links_dirty
- мешают ли пользовательским ссылкамline_count
- количество строк;hyperlinks_changed
- одна или несколько гиперссылок в этой части были обновлены производителем исключительно в этой части;characters_with_spaces
- количество символов, включая пробелы;version
- целочисленный идентификатор приложения Microsoft Office;shared_document
- если документ является общедоступным;paragraph_count
- количество абзацев;company
- имя компании;code_page
- набор символов, используемый в документе;
entries
- список OLE-объектов в документе:clsid
- уникальный идентификатор приложения;clsid_literal
- читаемая версияclsid
;name
- имя объекта;sid
- индекс записи в каталоге OLE;size
- размер объекта в байтах;type_literal
- тип объекта;
ole
- макросы, найденные в каталоге OLE:macros
- подробная информация о найденных макросах:vba_code
- код макроса;stream_path
- путь в дереве хранения OLE;vba_filename
- имя макроса;patterns
- примечательные паттерны в макросе (“exe-pattern”, “url-pattern”, и т. д.);lengh
- длина макроса;properties
- примечательные свойсвта макроса (“obfuscated”, “run-file”, и т. д.);
num_macros
- количестово найденных макросов;
summary_info
- оставшийся набор метаданных о файле Office. В зависимости от типа файла Office, некоторые поля могут отображаться, некоторые - нет:last_author
- пользователь, который последний редактировал этот файл;creation_datetime
- дата создания файла в формате “%Y-%m-%d %H:%M:%S”;template
- шаблон, используемый при создании файла;author
- исходный пользователь, создавший файл;page_count
- количество страниц в документе;last_saved
- дата последнего сохранения файла в формате “%Y-%m-%d %H:%M:%S”;edit_time
- время, затраченное на редактирование документа, в секундах;word_count
- количество слов в документе;revision_number
- номер редакции документа;last_printed
- дата последней печати документа в формате “%Y-%m-%d %H:%M:%S”;application_name
- имя приложения Office (например"Microsoft PowerPoint"
);title
- заголовок документа;character_count
- количество символов в документе;security
-0
если пароль для документа не установлен;code_page
- набор символов, используемый в документе (например"Latin I"
);
tags
- примечательные замечания обо всем документе, взятые из шаблонов и свойств макросов.
Информация о структуре файлов Microsoft Office
{
"data": {
...
"attributes" : {
...
"office_info": {
"documment_summary_info": {"scale": <boolean>,
"links_dirty": <boolean>,
"line_count": <int>,
"hyperlinks_changed": <boolean>,
"characters_with_spaces": <int>,
"version": <int>,
"shared_document": <boolean>,
"paragraph_count": <int>,
"company": "<string>",
"code_page": "<string>"},
"entries": [{"clsid": "<string>",
"clsid_literal": "<string>",
"name": "<string>",
"type_literal": "<string>",
"sid": <int>,
"size": <int>,} ... ],
"ole": {"macros": [{"vba_code": "<string>",
"stream_path": "<string>",
"vba_filename": "<string>",
"patterns": ["<strings>"],
"length": <int>,
"properties": ["<strings>"]}] ...,
"num_macros": <int>},
"summary_info": {"last_author": "<string>",
"creation_datetime": "<string:%Y-%m-%d %H:%M:%S>",
"template": "<string>",
"author": "<string>",
"page_count": <int>,
"last_saved": "<string:%Y-%m-%d %H:%M:%S>",
"edit_time": <int>,
"word_count": <int>,
"revision_number": "<string>",
"last_printed": "<string:%Y-%m-%d %H:%M:%S>",
"application_name": "<string>",
"title": "<string>",
"character_count": <int>,
"security": <int>,
"code_page": "<string>"},
"tags": ["<strings>"]
}
}
}
}
openxml_info¶
Информация об Microsoft OpenXML файлах.
openxml_info
возвращает информацию о структуре файлов Microsoft Office Open XML (Office 2007+). Включая информацию (Word) .docx
, .docm
, .dotx
, .dotm
, (Excel) .xlsx
, .xlsm
, .xltx
, .xltm
, (PowerPoint) .pptx
, .pptm
, .potx
, .potm
, .ppam
, .ppsx
, .ppsm
, .sldx
, .sldm
.
content_types
- сведения о типе MIME для частей пакета;docprops_app
- некоторые свойства файла и поля могут отличаться в зависимости от типа файла:TotalTime
- общее время редактирования документа;Words
- количество слов;ScaleCrop
- режим отображения миниатюр;SharedDoc
- если документ является общедоступным;Company
- имя компании;Lines
- число строк;AppVersion
- версия приложения (в числовой форме);LinksUpToDate
-true
означает, что гиперссылки обновляются,false
- в противном случае;Pages
- количество страниц;Application
- имя приложения (например “Microsoft Office Word”);CharactersWithSpaces
- количество символов, включая пробелы;Characters
- количество символов без пробелов;Paragraphs
- количество частей;Template
- имя шаблона, используемого в документе;DocSecurity: ``0
если пароль для документа не установлен;HyperlinksChanged
- одна или несколько гиперссылок в этой части были обновлены производителем исключительно в этой части;
``ocprops_core: core properties for any Office Open XML document
dc:creator
- создатель документа;cp:revision
- редакции документа;dcterms:created
- дата создания в формате “%Y-%m-%dT%H:%M:%SZ”;dcterms:modified
- дата последней модификации в формате “%Y-%m-%dT%H:%M:%SZ”;cp:lastModifiedBy
- пользователь, который сделал последнюю модификацию;cp:lastPrinted
- дата последней печати документа в формате “%Y-%m-%dT%H:%M:%SZ”;
file_type
- тип файла ("docx"
,"pptx"
, и т. д.);ole
- макросы найденные в содержимом OLE:macros
- подробная информация о макросах:vba_code
- код макроса;stream_path
- путь в дереве хранения OLE;vba_filename
- имя макроса;patterns
- примечательные паттерны в макросе ("exe-pattern"
,"url-pattern"
, и т. д.);lengh
- длина макроса;properties
- примечательные свойсвта макроса ("obfuscated"
,"run-file"
, и т. д.);
num_macros
- количестов макросов;rels
- отношения для файлов внутри пакета;tags
- примечания о интересном содержимом в пакете (например"macros"
).type_content
- информация, специфичная для каждого формата файла:(Word, PowerPoint):
languages
- ссылки на найденные языки (название и номер);
(Excel):
codifications
- ссылки на используемые кодовые страницы (имя и номер);workbook
- информация о книге:sheets
- количество листов;lowestEdited
- самая низкая отредактированная версия;calcPr
- версия Excel.lastEdited
- последняя отредактированная версия;rupBuild
- версия сборки;
language_guess
- предполагаемый используемый язык (имя и номер);
(Excel, PowerPoint):
printers
- используется для печати этого документа.
Информация о Microsoft Office openxml
{
"data": {
...
"attributes" : {
...
"openxml_info": {
"content_types": ["<strings>"],
"docprops_app": {"TotalTime": "<string>",
"Words": "<string>",
"ScaleCrop": "<string>",
"SharedDoc": "<string>",
"Company": "<string>",
"Lines": "<string>",
"AppVersion": "<string>",
"LinksUpToDate": "<string>",
"Pages": "<string>",
"Application": "<string>",
"CharactersWithSpaces": "<string>",
"Characters": "<string>",
"Paragraphs": "<string>",
"Template": "<string>",
"DocSecurity": "<string>",
"HyperlinksChanged": "<string>"},
"docprops_core": {"dc:creator": "<string>",
"cp:revision": "<string>",
"dcterms:created": "<string>",
"dcterms:modified": "<string>",
"cp:lastModifiedBy": "<string>",
"cp:lastPrinted": "<string>"},
"file_type": "<string>",
"ole": {"macros": [{"vba_code": "<string>",
"stream_path": "<string>",
"subfilename": "<string>",
"vba_filename": "<string>",
"patterns": ["<strings>"],
"length": <int>,
"properties": ["<strings>"]}, ... ],
"num_macros": <int>},
"rels": ["<strings>"],
"tags": ["<strings>"],
"type_content": {"languages": {"<string>": <int>, ... },
"codifications" : [["<string>", <int>] ... ],
"workbook": {"sheets": <int>,
"lowestEdited": "<string>",
"calcPr": "<string>",
"lastEdited": "<string>",
"rupBuild": "<string>"},
"language_guess": [["<string>", <int>], ... ],
"printers": ["<strings>"]}
}
}
}
}
packers¶
Информация об упаковщике, используемом в файле.
packers
- определtybt упаковщиков PE-файлов, используемых в Windows с помощью нескольких утилит и антивирусных средств.
- ключи - это названия утилит, значения - это идентифицированные упаковщики.
PEiD идентификатор упаковщика
{
"data": {
...
"attributes" : {
...
"packers": {"<string>": "<string>", ... }
}
}
}
pdf_info¶
Информация об Adobe PDF файлах.
pdf_info
возвращает информацию о структуре файлов PDF:
acroform
- содержание Acroforms;automation
- автоматическое действие, выполняемое при просмотре документа;embedded_file
- содержимое встроенного файла;encrypted
- документ имеет DRM или нуждается в пароле для чтения;flash
- содержит встроенный Flash;header
- заголовок документа (например%PDF-1.7
);javascript
- документ содержит JavaScript;jbig2_compression
- документ сжат с применением JBIG2;js
- документ содержит JavaScript;num_endobj
- количество завершений объекта;num_endstream
- количество завершений потока;num_launch_actions
- количество запускаемых действий;num_obj
- количество объектов;num_object_streams
- количество потоков объектов;num_pages
- количество страниц;num_stream
- количество потоков;open action
- автоматическое действие, выполняемое при просмотре документа;startxref
- эта запись присутствует в документе;suspicious_colors
- устанавливается, если количество цветов выражается более чем 3 байтами;trailer
- содержит раздел трейлера;xref
- таблица перекрестных ссылок.
Структура Acrobat PDF файлов
{
"data": {
...
"attributes" : {
...
"pdf_info": {
"acroform": <int>,
"autoaction": <int>,
"embedded_file": "<string>",
"encrypted": <int>,
"flash": <int>,
"header": "<string>",
"javascript": <int>,
"jbig2_compression": <int>,
"js": <int>,
"num_endobj": <int>,
"num_endsctream": <int>,
"num_launch_actions": <int>,
"num_obj": <int>,
"num_object_streams": <int>,
"num_pages": <int>,
"num_stream": <int>,
"openaction": <int>,
"startxref": <int>,
"suspicious_colors": "<string>",
"trailer": <int>,
"xref": <int>
}
}
}
pe_info¶
Информация о файлах формата Microsoft Windows Portable Executable.
pe_info
возвращает информацию о структуре Майкрософт Windows PE-файлов (то есть исполняемые файлы, динамические библиотеки, драйверы и т. д.): разделы, точка входа, ресурсы, импорт, экспорт и т. д.
debug
- отладочная информация, если таковая имеется:codeview`` - CodeView отладочная информация, если таковая имеется:
age
- почтоянно увеличивающееся значение;guid
- уникальный идентификатор;name
- путь к PDB-файлу;signature
- содержит"RSDS"
;
offset
- размещение отладочной информации;timedatestamp
- метка времени в формате “%a %b %d %H:%M:%S %Y”;type_str
- человеко-читаемая версия информации о типе отладки;type
- информация о типе отладки;size
- размер блока отладочной информации;
entry_point
- точка входа;exports
- экспортируемые функции;imphash
- хэш секции импорта;imports
- словарь с именами DLL в качестве ключей и списками импортированных функций в качестве значений;machine_type
- платформа;overlay
- информация о содержимом секции оверлея PE-файла (если эта секция присутствует в файле):chi2
- проверочное значение хи-квадрат байтов из содержимого оверлея;entropy
- значение энтропии оверлея;filetype
- если возможно идентифицировать конкретный формат файла, его тип указывается здесь;offset
- расположение начала оверлея;md5
- хэш содержимого оверлея;size
- размер в байтах;
``resource_details: if the PE contains resources, some info about them.
chi2
- проверочное значение хи-квадрат байтов из содержимого ресурсов;entropy
- значение энтропии содержимого ресурсов.filetype
- если возможно идентифицировать конкретный формат файла, его тип указывается здесь;lang
- язык ресурса;sha256
- хэш содержимого ресурса;type
- тип ресурса;
resource_langs
: информация о языках, найденных в ресурсе (имя и номер);resource_types
: информация о типе ресурса (тип и номер);sections
- информация о PE секциях:entropy
- значение энтропии содержимого секции;md5
- хэш секции;name
- section name.raw_size
- размер инициализированных данных на диске (в байтах);virtual_address
- адрес первого байта раздела при загрузке в память, относительно базы;virtual_size
- общий размер раздела при загрузке в память (в байтах);
timestamp
- время компиляции в формате Unix Epoch.
Microsoft Windows PE-файл
{
"data": {
...
"attributes" : {
...
"pe_info": {
"debug": [{"codeview": {"age": <int>,
"guid": "<string>",
"name": "<string>",
"signature": "RSDS"},
"offset": <int>,
"size": <int>,
"timedatestamp": "<string:%a %b %d %H:%M:%S %Y>",
"type": <int>,
"type_str": "<string>"}, ... ],
"entry_point": <int>,
"exports": ["<string>", ... ],
"imphash": "<string>",
"imports": {"<string>": ["<strings>"], ... },
"machine_type": <int>,
"overlay": {"chi2": <float>,
"filetype": "<string>",
"entropy": <float>,
"offset": <int>,
"md5": "<string>",
"size": <int>},
"resource_details": [{"chi2": <float>,
"entropy": <float>,
"filetype": "<string>",
"lang": "<string>",
"sha256": "<string>",
"type": "<string>"}, ... ],
"resource_langs": {"<string>": <int>, ... },
"resource_types": {"<string>": <int>, ... },
"sections": [{"entropy": <float>,
"md5": "<string>",
"name": "<string>",
"raw_size": <int>,
"virtual_address": <int>,
"virtual_size": <int>}, ... ],
"timestamp": <int>
}
}
}
}
rombios_info¶
Информация о BIOS, EFI, UEFI и связанных с ними архивах.
rombios_info
показывает информацию о файлах прошивок и встроенных программ.
acpi_tables
- таблицы ACPI (Advanced Configuration and Power interface), имеющиеся в прошивке;apple_data
- метаданные из файлов прошивки Apple EFI, представленные в виде списка кортежей, с ключом и значениями. Некоторые типичные ключи и значения:Board ID
- идентификатор сборки;Built by
- наименование сборщика файла;Date
- дата создания файла в формате “%a %b %m %H:%M:%S %Z %Y”;Revision
- редакция сборки;ROM Version
- версия ROM;Buildcave ID
- идентификатор сборки внутренней прошивки;
bios_information
- некторые детали о файле BIOS:BIOS Release
- версия релиза;Characteristics
- характеристики BIOS, такие как"PCI supported"
,"8042 keyboard supported"
и т. д.;ROM Size
- размер ROM в удобном для чтения формате (например"2MB"
);Release Date
- дата релизав формате “%m/%d/%Y”;Runtime Size
- размер среды выполнения в удобном для чтения формате (например"64.0KB"
);Starting Address Segment
- в шестнадцатеричном формате;Vendor
- поставщик BIOS;Version
- полная версия файла BIOS;
certs
- сертификаты, найденные в файле прошивки:valid_from
- дата начала действия сертификата в формате “%Y-%m-%d %H:%M%S”;subject
- уникальные имена RDN и их значения;valid_to
- дата окончания действия сертификата в формате “%Y-%m-%d %H:%M%S”;issuer
- имя выпускающего удостоверяющего центра RDN;
executable_files
- количество обнаруженных исполняемых файлов;firmware_volumes
- количество найденных томов прошивки;format
- формат пакета (например"ROMFLASH_HEADER"
);manufacturer_strings
- ссылки на производителей BIOS;nvar_variable_names
- обнаруженные переменные NVAR;raw_objects
- количество необработанных объектов;sections
- количество секций;smbios_data
- обнаруженные ключи и значения данных SMBIOS:Version
- версия файла;
system_information
- информация о платформе для этого файла:SKU Number
- SKU номер;UUID
- уникальный идентификатор;Family
- номер семейства;Serial Number
- серийный номер;Version
- версия;Product Name
- наименование;Manufacturer
- производитель BIOS.
Образ прошивки
{
"data": {
...
"attributes" : {
...
"rombios_info": {
"acpi_tables": ["<strings>"],
"apple_data": [["<string>", "<string>"], ... ],
"bios_information": {"BIOS Release": "<string>",
"Characteristics": ["<strings>"],
"ROM Size": "<string>",
"Release Date": "<string:%m/%d/%Y>",
"Runtime Size": "<string>",
"Starting Address Segment": "<string>",
"Vendor": "<string>",
"Version": "<string>"},
"certs":[{"issuer": "<string>",
"subject": "<string>",
"valid_from": "<string:%Y-%m-%d %H:%M:%S>",
"valid_to": "<string:%Y-%m-%d %H:%M:%S>"}, ... ],
"executable_files": <int>,
"firmware_volumes": <int>,
"format": "<string>",
"manufacturer_strings": {"<string>": <int>, ... },
"nvar_variable_names": ["<strings>"],
"raw_objects": <int>,
"sections": <int>,
"smbios_data": {"<string>": "<string>", ... },
"system_information": {"Family": "<string>",
"Manufacturer": "<string>",
"Product Name": "<string>",
"SKU Number": "<string>",
"Serial Number": "<string>",
"UUID": "<string>",
"Version": "<string>"}
}
}
}
}
rtf_info¶
Информация о файлах формата Microsoft Rich Text.
rtf_info
возвращает информацию о Microsoft RTF файлах.
document_properties
- структурированные метаданные о документе:non_ascii_characters
- количество не ASCII символов в документе;embedded_drawings
- количество рисунков, содержащихся в документе;rtf_header
- заголовок RTF (например"rtf1"
);default_ansi_codepage
- используемая кодовая страница (например"Western European"
);read_only_protection
-True
если файл предназначен только для чтения;user_protection
- user protection.default_character_set
- используемый набор символов (например"ANSI"
);custom_xml_data_properties
- количество пользовательских объектов XML-данных;dos_stubs
- количество найденных “заглушек” DOS;objects
- список содержащихся объектов, с описанием типа и класса;embedded_pictures
- количество встроенных картинок;default_languages
- языки, обнаруженные в документе;longest_hex_string
- самая длинная шестнадцатеричная строка найденная в документе;
summary_info
- другие свойства документа:revision_time
- дата последнего изменения в формате “%Y-%m-%d %H:%M:%S”;version_number
- номер версии документа;editing_time
- общее время редактирования в минутах;number_of_pages
- number of pages in the document.creation_time
- дата создания в формате “%Y-%m-%d %H:%M:%S”;operator
- имя пользователя, создавшего документ;number_of_non_whitespace_characters
- количество символов не являющимися пробелами;version
- версия RTF отраженная в документе;number_of_characters
- количество символов в документе;number_of_words
- количество слов в документе.
Microsoft RTF файл
{
"data": {
...
"attributes" : {
...
"rtf_info": {
"document_properties": {"non_ascii_characters": <int>,
"embedded_drawings": <int>,
"rtf_header": "<string>",
"default_ansi_codepage": "<string>",
"read_only_protection": <boolean>,
"user_protection": <boolean>,
"default_character_set": "<string>",
"custom_xml_data_properties": <int>,
"dos_stubs": <int>,
"objects": [{"type": "<string>",
"class": "<string>"} ... ],
"embedded_pictures": <int>,
"default_languages": ["<strings>"],
"longest_hex_string": <int>},
"summary_info": {"revision_time": "<string:%Y-%m-%d %H:%M:%S>",
"version_number": <int>,
"editing_time": <int>,
"number_of_pages": <int>,
"creation_time": "<string:%Y-%m-%d %H:%M:%S>",
"operator": "<string>",
"number_of_non_whitespace_characters": <int>,
"version": <int>,
"number_of_characters": <int>,
"number_of_words": <int>}
}
}
}
}
signature_info¶
Информация о подписи PE-файлов.
signature_info
содержит информацию о цифровой подписи для Windows Executable файлов, извлеченную с помощью утилиты Sigcheck.
comments
- из ресурсов файла (если обнаружено);copyright
- из ресурсов файла (если обнаружено);counter signers
- строка со счетчиком подписей Common Names;counter signers details
- список словарей, детализирующих значение каждого сертификата из счетчика:algorithm
- алгоритм, используемый для создания пар ключей;cert issuer
- компания, выпустившая сертификат;name
- отличительное имя сертификата;serial number
- в шестнадцатеричном виде с разделением пробелом между байтами;status
- может иметь значение"Valid"
или указать проблему с сертификатом, если таковая имеется (например"This certificate or one of the certificates in the certificate chain is not time valid."
);thumbprint
- хэш сертификата в шестнадцатеричном представлении.valid from
- дата начала действия в формате “%H:%M %p %m/%d/%Y”;valid to
- дата истечения срока действия в формате “%H:%M %p %m/%d/%Y”;valid usage
- для чего может быть использован сертификат (например"Code Signing"
);
description
- из ресурсов файла (если обнаружено);file version
-из ресурсов файла (если обнаружено);internal name
- из ресурсов файла (если обнаружено);original name
- из ресурсов файла (если обнаружено);product
- из ресурсов файла (если обнаружено);signers
- строка с подписывающими Common Names;singers details
- список словарей с подробным описанием каждого сертификата подписавшего:algorithm
- алгоритм, используемый для создания пар ключей;cert issuer
- компания, выпустившая сертификат;name
- отличительное имя сертификата;serial number
- в шестнадцатеричном виде с разделением пробелом между байтами;status
- может иметь значение"Valid"
или указать проблему с сертификатом, если таковая имеется (например"This certificate or one of the certificates in the certificate chain is not time valid."
);thumbprint
- хэш сертификата в шестнадцатеричном представлении.valid from
- дата начала действия в формате “%H:%M %p %m/%d/%Y”;valid to
- дата истечения срока действия в формате “%H:%M %p %m/%d/%Y”;valid usage
- для чего может быть использован сертификат (например"Code Signing"
);
signing date
- дата подписания файла в формате “%H:%M %p %m/%d/%Y”;verified
- статус сертификата. Возможные варианты:"Signed"
,"Unsigned"
, или если есть какие-либо проблемы с подписью (например"A - certificate was explicitly revoked by its issuer."
);x509
- список сертификатов, найденных в файле, в случае, если Sigcheck не возвращает информацию о них:algorithm
- алгоритм, используемый для создания пар ключей;cert issuer
- компания, выпустившая сертификат;name
- отличительное имя сертификата;serial number
- в шестнадцатеричном виде с разделением пробелом между байтами;thumbprint
- хэш сертификата в шестнадцатеричном представлении.valid from
- дата начала действия в формате “%H:%M %p %m/%d/%Y”;valid to
- дата истечения срока действия в формате “%H:%M %p %m/%d/%Y”;valid usage
- для чего может быть использован сертификат (например"Code Signing"
).
JSON
{
"data": {
...
"attributes" : {
...
"signature_info": {
"comments": "<string>",
"copyright": "<string>",
"counter signers": "<string>",
"counter signers details": [{"algorithm": "<string>",
"cert issuer": "<string>",
"name": "<string>",
"serial number": "<string>",
"status": "<string>",
"thumbprint": "<string>",
"valid from": "<string:%H:%M %p %m/%d/%Y>",
"valid to": "<string:%H:%M %p %m/%d/%Y>",
"valid usage": "<string>"} ... ],
"description": "<string>",
"file version": "<string>",
"internal name": "<string>",
"original name": "<string>",
"product": "<string>",
"signers": "<string>",
"signers details": [{"algorithm": "<string>",
"cert issuer": "<string>",
"name": "<string>",
"serial number": "<string>",
"status": "<string>",
"thumbprint": "<string>",
"valid from": "<string:%H:%M %p %m/%d/%Y>",
"valid to": "<string:%H:%M %p %m/%d/%Y>",
"valid usage": "<string>"}, ... ],
"signing date": "<string:%H:%M %p %m/%d/%Y>",
"verified": "<string>",
"x509": [{"algorithm": "<string>",
"cert issuer": "<string>",
"name": "<string>",
"serial number": "<string>",
"thumbprint": "<string>",
"valid from": "<string:%H:%M %p %m/%d/%Y>",
"valid to": "<string:%H:%M %p %m/%d/%Y>",
"valid_usage": "<string>"}, ... ]
}
}
}
ssdeep¶
CTPH хэш содержимого файла.
ssdeep - программа для вычисления контекстно-зависимого кусочного хэша. Также называемый нечеткими хэшем, он позволяет идентифицировать похожие файлы.
ssdeep
{
"data": {
...
"attributes" : {
...
"ssdeep": "<string>"
}
}
}
swf_info¶
Информация о Adobe Shockwave Flash файлах.
swf_info
возвращает информацию о файлах Shockwave Flash/Small Web Format:
compression
- тип используемого сжатия (наптимерzlib
);duration
- длина медиа-контента в секундах;file_attributes
- особые атрибуты (напримерActionScript3
,UseGPU
);flash_packages
- список используемых Flash пакетов;frame_count
- количество фреймов;frame_size
- размер фреймов;metadata
- содержимое метаданных файла;num_swf_tags
- количество тэгов SWF;num_unrecognized_tags
: количество нераспознанных тегов;suspicious_strings
- список найденных подозрительных строк;suspicious_urls
- список найденных подозрительных URL;tags
- примечательные замечания о файле (напримерget-url
,ext-interface
);version
- версия SWF.
SWF файл
{
"data": {
...
"attributes" : {
...
"swf_info": {
"compression": "<string>",
"duration": <float>,
"file_attributes": ["<strings>"],
"flash_packages": ["<strings>"],
"frame_count": <int>,
"frame_size": "<string>",
"metadata": "<string>",
"num_swf_tags": <int>,
"num_unrecognized_tags": <int>,
"suspicious_strings": ["<strings>"],
"suspicious_urls": ["<strings>"],
"tags": ["<strings>"],
"version": <int>
}
}
}
}
trid¶
Тип файла идентифицированный с помощью утилиты TrID.
trid
- утилита, предназначенная для идентификации типов файлов по их бинарным сигнатурам. Может дать несколько результатов, упорядоченных от более высокой до более низкой вероятности идентификации формата файла (в процентах).
TrID
{
"data": {
...
"attributes" : {
...
"trid": [
{"file_type": "<string>", "probability": <float>}, ...
]
}
}
}
Поведение файлов (file behaviour)¶
Отчеты о поведении файлов.
Отчеты о поведении файлов получаются либо с помощью функции GET /files/{id}/behavior, либо с помощью анализа поведения в песочнице . Они суммируют наблюдаемое поведение во время выполнения или открытия файла. Обратите внимание, что некоторые из этих действий могут быть инициированы дочерними элементами рассматриваемого файла.
Объект file_behaviour
содержит следующие атрибуты:
DnsLookup¶
DNS-запросы.
hostname
<string> - имя хоста DNS-запроса;resolved_ips
<string array> - все разрешенные IP-адреса могут быть пустыми на NX домене.
DroppedFile¶
Сброшенные файлы - это файлы, специально созданные и записанные во время анализа поведения. Это может быть результатом загрузки содержимого из интернета и записи его в файл, распаковки файла, сброса некоторого содержимого в файл и т. д.
path
<string> - полный путь к файлу, включая имя файла;sha256
<string> - SHA-256 хэш файла.
BehaviourTag¶
Поведение в Sandbox было помечено сложной операцией:
DETECT_DEBUG_ENVIRONMENT
DIRECT_CPU_CLOCK_ACCESS
LONG_SLEEPS
SELF_DELETE
- файл удаляется сам по себе при выполнении.HOSTS_MODIFIER
- файл local hosts изменен.INSTALLS_BROWSER_EXTENSION
- устанавливает BHO, расширение Chrome и т. д.PASSWORD_DIALOG
- отображается какая-то подсказка для ввода пароля.SUDO
- повышает привилегии до администратора.PERSISTENCE
- использует механизмы устойчивости, чтобы пережить перезагрузку.SENDS_SMS
CHECKS_GPS
FTP_COMMUNICATION
SSH_COMMUNICATION
TELNET_COMMUNICATION
SMTP_COMMUNICATION
MYSQL_COMMUNICAION
IRC_COMMUNICATION
SUSPICIOUS_DNS
- возможен DGA (алгоритм генерации домена).SUSPICIOUS_UDP
- большое количество различных UDP-соединений, это часто помогает выявить P2P.BIG_UPSTREAM
- большой исходящий сетевой трафик.TUNNELING
- наблюдается туннелирование сети, например, VPN.CRYPTO
- использует API, связанные с криптографией.TELEPHONY
- использует API, связанные с телефонией.RUNTIME_MODULES
- динамически загружает библиотеки DLL или дополнительные компоненты.REFLECTION
- выполняет отображение вызовов.
FileCopy¶
Объект, описывающий копирование или перемещение файла:
source
<string> - полный путь к исходному файлу.destination
<string> - полный путь к файлу назначения.
HttpConversation¶
HTTP-вызовы.
RequestMethod
- один из:GET
HEAD
POST
PUT
DELETE
TRACE
OPTIONS
CONNECT
PATCH
url
- полное имя хоста и путь к указанному URL-адресу.request_headers
ключи и значения:key
- например Content-Type;value
- например image/jpeg;
response_headers
- ключи и значения заголовков ответов.response_status_code
- код состояния ответа, например200
.response_body_filetype
response_body_first_ten_bytes
IpTraffic¶
IP-трафик:
destination_ip
<string> - IP-адрес.destination_port
<integer> - номер порта.transport_layer_protocol
- один из:ICMP
IGMP
TCP
UDP
ESP
AH
L2TP
SCTP
PermissionCheck¶
Записывает запрос, чтобы узнать, имеет ли данный компонент/пакет/процесс/служба определенное разрешение.
permission
<string> - например:android.permission.INTERNET
.owner
<string> - имя приложения, которому было предоставлено проверяемое разрешение.
Process¶
process_id
<string> - ID процесса.name
<string> - имя процесса.time_offset
<integer> - начало наблюдения. Секунды с момента начала исполнения.children
<Process array> - массив этого объектаProcess
. Позволяет построить дерево процессов.
Sms¶
Отправлено SMS сообщение.
destination
<string> - номер телефона, на который отправляется SMS.body
<string> - текст сообщения.
VerdictTag¶
Вердикты для пометки образца поведения в песочнице:
CLEAN
- чистый, занесенный в белый список или незамеченный.MALWARE
- должно быть определено как вредоносное ПОGREYWARE
- PUA, PUP (возможно, нежелательная программа).RANSOM
- вымогатель или криптор.PHISHING
- пытается обмануть пользователя, чтобы получить его учетные данные.BANKER
- банковский троян.ADWARE
- отображает нежелательную рекламу.EXPLOIT
- содержит или запускает эксплойт.EVADER
- содержит логику, позволяющую уклониться от анализа.RAT
- троян для удаленного доступа, может прослушивать входящие соединения.TROJAN
- троян или бот.SPREADER
распространяется на USB, других накопителях, по сети и т. д.
Домены (domains)¶
Наряду с URL-адресами VirusTotal хранит информацию о сетевых местоположениях, таких как домены и IP-адреса. В этом разделе будет рассмотрена информация, предоставляемая объектами типа domain
.
Объекты типа domain
представляют собой информацию о домене или FQDN, и могут быть получены путем поиска уже существующего домена по его идентификатору, по его связи с другими объектами или по другим значениям при поиске в службах VT Enterprise services.
Помните, что в отличие от отчетов о файлах и URL-адресах, сетевое расположение (такое как домены и IP-адреса) не записывает вердикты партнеров для рассматриваемого ресурса. Вместо этого эти отчеты включают всю недавнюю активность, которую VirusTotal наблюдал для ресурса, а также контекстную информацию о нем. Эта информация включает в себя:
id
- для идентификации используется доменное имя или FQDN.Categories
- сопоставление, которое связывает службы классификации с категорией, которую они назначают домену. К таким службам относятся, в частности: Alexa, BitDefender, TrendMicro, Websense ThreatSeeker и т. д.creation_date
- дата, когда домен был впервые включен в набор данных VirusTotal.last_update_date
- дата последнего обновления информации о домене.registrar
- компания, которая зарегистрировала домен.reputation
- оценка домена, рассчитанная по голосам сообщества VirusTotal.total_votes
- невзвешенное количество голосов от сообщества, разделенное на “harmless” и “maliciousus”.whois
- информация “Whois”, возвращенная с соответствующего whois-сервера.whois_date
- дата последнего обновления записиwhois
в VirusTotal.
Note
Репутация каждого домена определяется сообществом Virustotal (в которое входят зарегистрированные пользователи). Пользователи, голосующие за домены, в свою очередь, сами имеют репутацию, при этом оценка сообщества включает в себя все голоса, с учетом репутациеи пользователей, которые проголосовали за тот или иной домен. Отрицательные (красные) оценки указывают на злонамеренность, в то время как положительные (зеленые) оценки отражают безвредность. Чем больше абсолютное число, тем больше вы можете доверять данной оценке. Вы можете прочитать больше об этом в этой статье сообщества.
Объект типа “Domain”
{
"data": {
"type": "domain"
"id": "<DOMAIN>",
"links": {
"self": "https://virustotal.com/api/v3/domains/<DOMAIN>"
},
"attributes": {
"categories": {
"<SERVICE>": "<string>"
},
"creation_date": <int:timestamp>,
"last_update_date": <int:timestamp>,
"registrar": "<string>",
"reputation": <int>,
"total_votes": {
"harmless": <int>,
"malicious": <int>
},
"whois": "<string>",
"whois_date": <int:timestamp>
},
}
}
communicating_files¶
Отношение communicating_files перечислит все файлы, которые генерируют какой-либо трафик для данного домена в какой-то момент выполнения этих файлов. Это отношение может быть получено с помощью API функции relationships. Ответ содержит поле:
data
список объектов типа “File” (см. Файлы (files)). Это представление будет содержать раздел attributes
файла.
/domains/{domain}/communicating_files
{
"data": [
<FILE_OBJECT>,
<FILE_OBJECT>,
...
],
"links": {
"next": <string>,
"self": <string>
},
"meta": {
"cursor": <string>
}
}
downloaded_files¶
Отношение downloaded_files возвращает список файлов, которые были доступны с URL-адреса в данном домене или поддомене в определенный момент. Это отношение может быть получено с помощью API функции GET /domains/{domain}/{relationship}. Ответ содержит поле:
data
список объектов типа “File” (см. Файлы (files)). Это представление будет содержать раздел attributes
файла.
/domains/{domain}/communicating_files
{
"data": [
<FILE_OBJECT>,
<FILE_OBJECT>,
...
],
"links": {
"next": <string>,
"self": <string>
},
"meta": {
"cursor": <string>
}
}
graphs¶
Отношение graphs возвращает список графиков, содержащих данный домен. Это отношение может быть получено с помощью API функции GET /domains/{domain}/{relationship}. Ответ содержит поле:
data
список объектов типа “Graph”. Это представление будет содержать раздел attributes
графика.
/domains/{domain}/graph
{
"data": [
<GRAPH_OBJECT>,
...
],
"links": {
"self": <url>
}
}
referrer_files¶
Отношение referrer_files возвращает список файлов, содержащих данный домен в своих строках. Это отношение может быть получено с помощью API функции GET /domains/{domain}/{relationship}. Ответ содержит поле:
data
список объектов типа “File” (см. Файлы (files)). Это представление будет содержать раздел attributes
файла.
/domains/{domain}/referrer_files
{
"data": [
<FILE_OBJECT>,
<FILE_OBJECT>,
...
],
"links": {
"next": <string>,
"self": <string>
},
"meta": {
"cursor": <string>
}
}
resolutions¶
Отношение resolutions возвращает список прошлых и текущих разрешений IP-адресов для данного домена или поддомена. Это отношение может быть получено с помощью API функции GET /domains/{domain}/{relationship}. Ответ содержит поле:
data
список объектов типа “Resolution”. Это представление будет содержать раздел attributes
объекта.
/domains/{domain}/resolutions
{
"data": [
<RESOLUTION_OBJECT>,
<RESOLUTION_OBJECT>,
...
],
"links": {
"next": <string>,
"self": <string>
},
"meta": {
"cursor": <string>
}
}
Объект “Resolutions” (см. Resolution object) включает в себя следующую информацию:
id
- объединение IP-адреса и домена.date
- метка времени (дата), когда был сделан запрос на разрешение.host_name
- домен или поддомен, запрошенный у резолвера.ip_address
- IP-адрес, на который указывал домен в заданную дату.resolver
- DNS-сервер, на который был отправлен запрос на разрешение.
Resolution object
{
"type": "resolution",
"id": <string>,
"attributes": {
"date": <timestamp>,
"host_name": <string>,
"ip_address": <string>,
"resolver": <string>
},
"links": {
"self": <string>
}
}
siblings¶
С помощью отношения sibling можно получить список поддоменов на том же уровне, что и данный поддомен для домена, вместе с информацией о них. Это отношение может быть получено с помощью API функции GET /domains/{domain}/{relationship}. Ответ содержит поле:
data
список объектов типа ” Domain” (см. Домены (domains)). Это представление будет содержать раздел attributes
объекта.
/domains/{domain}/siblings
{
"data": [
<DOMAIN_OBJECT>,
<DOMAIN_OBJECT>,
...
],
"links": {
"next": <string>,
"self": <string>
},
"meta": {
"cursor": <string>
}
}
IP-адреса (IP addresses)¶
IPv4-адреса - это сетевые адреса, о которых VirusTotal также хранит информацию. Ниже приводится описание полей, хранящихся в объектах типа IP addresses
.
IP-адреса, также как домены и сетевые местоположения связаны с объектами файлов и URL-адресов во многих отношениях. Именно поэтому их можно получить по связи с другими объектами, а также при поиске в службах VT Enterprise или просто путем поиска уже существующего IP-адреса.
Обратите внимание, что в качестве объектов домена, представления IP-адресов не записывают вердикты партнеров для рассматриваемого ресурса. Вместо этого, отчеты включают в себя всю недавнюю активность, которую VirusTotal видел для ресурса, а также контекстную информацию о нем. Эти детали включают в себя:
id
- идентификатор объекта в виде строки с IPv4-адресом;as_owner
- владелец объекта Autonomous System, которому принадлежит IP-адрес;asn
- номер Autonomous System, которому принадлежит IP-адрес;continent
- континент, на котором размещен IP (код континента по ISO-3166);country
- страна, в которой размещен IP (код страны по ISO-3166);network
- диапазон IPv4 сети, к которому принадлежит IP-адрес;regional_internet_registry
- RIR (один из пяти региональных регистраторов:AFRINIC
,ARIN
,APNIC
,LACNIC
илиRIPE NCC
);reputation
- оценка домена, рассчитанная исходя из результатов голосования сообщества VirusTotal;total_votes
- Unweighted number of total votes from the community, divided in “harmless” and “malicious”.
Note
Репутация каждого домена определяется сообществом Virustotal (в которое входят зарегистрированные пользователи). Пользователи, голосующие за домены, в свою очередь, сами имеют репутацию, при этом оценка сообщества включает в себя все голоса, с учетом репутациеи пользователей, которые проголосовали за тот или иной домен. Отрицательные (красные) оценки указывают на злонамеренность, в то время как положительные (зеленые) оценки отражают безвредность. Чем больше абсолютное число, тем больше вы можете доверять данной оценке. Вы можете прочитать больше об этом в этой статье сообщества.
Объект типа “IP-addresses”
{
"data": {
"type": "ip_address"
"id": "<ipv4>",
"links": {
"self": "https://virustotal.com/api/v3/ip_addresses/<ipv4>"
},
"attributes": {
"as_owner": "<string>",
"asn": <int>,
"continent": "<string>",
"country": "<string>",
"network": "<ipv4_range>",
"regional_internet_registry": "<string>",
"reputation": <int>,
"total_votes": {
"harmless": <int>,
"malicious": <int>
}
}
}
}
URL (URLs)¶
Информация об URL-адресах.
URL-адреса не только представляют информацию сами по себе, но и могут давать контекстную информацию о файлах и других элементах на VirusTotal.
Различные вызовы URL-адресов могут возвращать различные объекты, связанные с URL-адресами:
data
- корневая структура отчета:categories
- категория;first_submission_date
- дата первого представления этого URL-адреса в VirusTotal;last_analysis_date
- время последнего сканирования URL-адреса;last_analysis_results
- результат сканирования URL-адресов. Словарь с именем сканера в качестве ключа и словарь с примечаниями / результатом сканирования в качестве значения:category
- нормализованный результат сканирования:"harmless"
- сайт не является вредоносным;"undetected"
- сканер не имеет никакого мнения об этом сайте;"suspicious"
- сканер считает сайт подозрительным;"malicious"
- сканер считает сайт вредоносным;
engine_name
- полное наименование сервиса, сканировавшего URL (имя антивирусного “движка”);engine_update
- значение обновления антивирусного “движка”, в случае, если эти данные доступны;engine_version
- версия антивирусного “движка”, в случае, если эти данные доступны;method
- способ анализа URL, предоставляемого сервисом (например"blacklist"
);result
- необработанное значение, возвращаемое сканером URL-адресов ("clean"
,"malicious"
,"suspicious"
,"phishing"
). Данное значение может варьироваться от сканера к сканеру, поэтому для нормализации требуется поле"category"
;
last_analysis_stats
- общее количество результатов сканирования этого URL-адреса;harmless
- количество сообщений о безвредности URL-адреса;malicious
- количество сообщений о вредоносности URL-адреса;suspicious
- количество сообщений о подозрительности URL-адреса;timeout
- количество таймаутов при сканировании URL-адреса;undetected
- количество сообщений о необнаружении каких-либо признаков вредоносности URL-адреса;
last_final_url
- окончание перенаправления исходного URL (при перенаправлении);last_http_response_code
- HTTP код последнего ответа;last_http_response_content_length
- длина полученного содержимого (в байтах);last_http_response_content_sha256
- SHA256 хэш полученного контента;last_http_response_headers
- словарь из заголовков и их значений последнего HTTP-ответа;last_modification_date
- дата последней модификации;last_submission_date
- время последней отправки URL-адреса на анализ;reputation
- значение голосов от сообщества VirusTotal;tags
- тэги;times_submitted
- количество проверок URL-адреса;total_votes
- словарь с количеством положительных ("harmless"
) и отрицательных ("malicious"
) голосов, полученных от сообщества VirusTotal;url
- исходный URL для сканирования;
id
- идентификатор для этого конкретного отчета об URL-адресе;links
- содержит"self"
, со ссылкой на сам отчет;type
- значение -"url"
, тип этого ответа.
Объект типа “URL”
{
"data": {
"attributes": {
"categories": {dict},
"first_submission_date": <int:timestamp>,
"last_analysis_date": <int:timestamp>,
"last_analysis_results": {
"<str:scanner name>": {
"category": "<string>",
"engine_name": "<string>",
"engine_update": null,
"engine_version": null,
"method": "<string>",
"result": "<string>"
}, ...
},
"last_analysis_stats": {
"harmless": <int>,
"malicious": <int>,
"suspicious": <int>,
"timeout": <int>,
"undetected": <int>
},
"last_final_url": "<string>",
"last_http_response_code": <int>,
"last_http_response_content_length": <int>,
"last_http_response_content_sha256": "<string>",
"last_http_response_headers": {"<string>": "<string>", ... },
"last_modification_date": <int:timestamp>,
"last_submission_date": <int:timestamp>,
"reputation": <int>,
"tags": [<strings>],
"times_submitted": <int>,
"total_votes": {"harmless": <int>, "malicious": <int>},
"url": "<string>"
},
"id": "<string>",
"links": {"self": "<string>"}
"type": "url"
}
}
Комментарии (comments)¶
Комментарии, размещенные сообществом о файлах, URL-адресах, IP-адресах, доменах и графиках.
Пользователи сообщества VirusTotal моuen добавить информацию в отчет объекта, добавив комментарий. Детали комментария:
attributes
:date
- дата публикации комментария в формате UTC;html
- необработанный HTML-текст комментария;tags
- тэг комментария (размещенный в тексте комментария с использованием#
);text
- текст комментария;votes
- количество голосов по категориям (abuse
,negative
,positive
);
id
- идентификатор комментария;links
- содержит"self"
, со ссылкой на сам отчет;type
- тип ответа (значение"comment"
);relationships
- по умолчанию не возвращается. Должен быть запрошен с помощью параметра запросаrelationships
и типа отношения:author
- информация о пользователе, опубликовавшего комментарий:data
:id
- идентификатор пользователя;type
- тип пользователя (значениеuser
);
links
:self
- ссылка на автора комментария;related
- ссылка на отношение комментарий-автор;
item
- информация об элементе, о котором был размещен комментарий:data
:id
- идентификатор элемента;type
- тип элемента, может бытьfile
,url
,ip_address
,domain
илиgraph
;links
:self
- ссылка на комментируемый элемент;related
- ссылка на отношение комментарий-элемент.
Объект типа “comment”
{
"attributes": {
"date": <int:timestamp>,
"html": "<string>",
"tags": [<strings>],
"text": "<string>",
"votes" {
"abuse": <int>,
"negative": <int>,
"positive": <int>
}
},
"id": "<string>",
"links": {
"self": "<string>"
},
"type": "<string>",
"relationships":
"author": {
"data": {
"id": "<string>",
"type": "<string>"
},
"links": {
"related": "<string>",
"self": "<string>"
}
},
"item": {
"data": {
"id": "<string>",
"type": "<string>"
},
"links": {
"related": "<string>",
"self": "<string>"
}
}
}
Представления (submissions)¶
Информация о представлениях.
attributes
- содержит"date"
, с датой, когда был представлен ресурс;id
- идентификатор представленного ресурса;links
- содержит"self"
, со ссылкой на сам отчет;type
- значение"submission"
, то есть тип объекта.
Объект типа “submission”
{
"attributes": {"date": <int:timestamp>},
"id": "<string>",
"links": {"self": "<string>"},
"type": "submission"
}
Скриншоты (screenshots)¶
Скриншоты - это снимки экрана, полученные во время выполнения файла в изолированной машине анализа поведения (“песочнице”). Этот объект содержит атрибуты, определяющие, где и когда был создан снимок экрана:
sandbox_name
- наименование песочницы, в которой был выполнен файл;date
- время создания скриншота (как метка времени Unix);link
- URL-адрес, указывающий на изображение;analysed_file_sha256
- отношение, указывающее на файловый объект, который был выполнен.
JSON
{
"data": {
"type": "screenshot",
"id": "<SCREENSHOT_NAME>",
"attributes" : {
"sandbox_name": "<string>",
"date": "<unix_timestamp>",
"link": "<string>",
"analysed_file_sha256": <object>
}
}
}
Голоса (votes)¶
attributes
- данные о конкретном голосовании:date
- дата окончания голосования;value
- вес, который дает этот голос (положительный или отрицательный) для Community Score;verdict
-"malicious"
или"harmless"
;
id
- идентификатор ресурса, по которому проводилось голосование;links
- содержит"self"
, со ссылкой на само голосование;type
- значение"vote"
, то есть тип объекта.
Объект типа “vote”
{
"attributes": {"date": <int:timestamp>,
"value": <int>,
"verdict": "<string>"},
"id": "<string>",
"links": {"self": "<string>"},
"type": "vote"
}