Xplico

Xplico — инструмент для анализа сетевого трафика и сетевой криминалистики (Network Forensics Analysis Tool, NFAT), предназначенный для реконструкции содержимого данных, полученных с помощью анализаторов пакетов (например, Wireshark, tcpdump, netsniff-ng).

В отличие от протокольных анализаторов, основное назначение которых не связано с восстановлением передаваемых протоколами данных, Xplico изначально создавался для реконструкции прикладных данных протоколов. Он способен определять протоколы с помощью метода, называемого Port Independent Protocol Identification (PIPI)[1].

Название «Xplico» происходит от латинского глагола explico и его значений.

Xplico является свободным программным обеспечением с открытым исходным кодом, распространяемым по условиям GNU General Public License (GPL) версии 2[2].

Общие сведения
Xplico
Тип Сетевой форензик
Разработчики Gianluca Costa и Andrea de Franceschi
Написана на C, PHP, Python
Операционная система Linux
Последняя версия 1.2.2 (2 мая 2019)
Лицензия GNU General Public License
Сайт xplico.org

Обзор

Используя «сырые» данные, полученные через Ethernet или PPP, например, при просмотре веб-страниц (протокол HTTP), Xplico извлекает прикладные данные и восстанавливает содержимое пакетов. В случае HTTP-протокола это могут быть изображения, файлы или cookie. Аналогичным образом Xplico способен восстанавливать электронную почту, переданную с помощью протоколов IMAP, POP и SMTP.

Среди поддерживаемых и реконструируемых Xplico протоколов — VoIP, MSN, IRC, HTTP, IMAP, POP, SMTP и FTP.

Возможности

Архитектура ПО

Архитектура Xplico включает:

  • входной модуль для обработки входящих данных (от проб или анализатора трафика);
  • выходной модуль для организации декодированных данных и вывода их пользователю;
  • набор модулей-дешифраторов (protocol dissector) для анализа отдельных сетевых протоколов.

Благодаря выходному модулю Xplico может обладать разными пользовательскими интерфейсами: с программой можно работать как через командную строку, так и через специальный веб-интерфейс (Xplico Interface). Модули-дешифраторы реализуют поддержку отдельных протоколов и позволяют восстанавливать их данные.

Все модули реализованы в виде подключаемых плагинов и могут быть загружены или отключены через конфигурационный файл. Это даёт возможность сфокусировать декодирование: например, если требуется анализировать только VoIP-звонки, но не веб-трафик, можно загрузить только модули RTP и SIP, исключив HTTP[3].

Анализ больших pcap-данных

Одной из особенностей Xplico является способность обрабатывать (восстанавливать) очень большие объёмы данных: программа способна работать с pcap-файлами размером до нескольких гигабайт и даже терабайт, поступающими одновременно с множества зондов. Это возможно благодаря различным типам входных модулей. Загрузка pcap-файлов осуществляется как через веб-интерфейс Xplico, так и с помощью SFTP либо через специальный канал передачи — PCAP-over-IP.

Благодаря этим возможностям Xplico используется в сферах законного перехвата трафика[4][5] и сетевой криминалистики[6].

VoIP-звонки

Xplico, а также специализированная версия pcap2wav, способны декодировать VoIP-звонки, основанные на протоколе RTP (SIP, H323, MGCP, SKINNY), и поддерживают декодирование аудиокодеков G711 µ-law, G711 a-law, G722, G729, G723, G726, а также MSRTA (Microsoft Real-time Audio)[7].

Основные команды в командной строке

В приведённых примерах подразумевается, что используется сетевой интерфейс eth0.

  • захват и декодирование в реальном времени:
xplico -m rltm -i eth0
  • декодирование одного pcap-файла:
xplico -m pcap -f example.pcap
  • декодирование каталога с множеством pcap-файлов:
xplico -m pcap -d /path/dir/

Во всех случаях декодированные данные сохраняются в каталоге xdecode. Параметр -m позволяет выбрать тип входного модуля (input module). Модуль с именем rltm осуществляет захват данных напрямую с сетевого интерфейса, модуль pcap — из pcap-файлов или каталога.

Дистрибутивы

Xplico устанавливается по умолчанию во многих популярных дистрибутивах, ориентированных на цифровую криминалистику и пентестинг:

Примечания

Ссылки