Прослушивание сети с помощью Cisco PIX/ASA

На нашем сайте с завидной периодичностью появляются посвящённые перехвату сетевого трафика статьи. Мы решили не нарушать традицию и вновь представить нашим читателям материал, посвящённый перехвату сетевого трафика с помощью аппаратных средств. На этот раз в качестве аппаратной платформы был выбран аппаратный брандмауэр Cisco PIX. В пришедшей на смену серии PIX линейке Cisco ASA также поддерживается описываемый здесь функционал. Мы не станем разбирать все возможности сетевой операционной системы по перехвату и указывать ситуации, в которых такой функционал может потребоваться сетевому администратору, уверены, читатели легко найдут применение материалу сами. Также хотелось бы отметить, что все размещённые здесь данные и примеры представлены исключительно в образовательных целях. Итак, к делу!

Для тестовых целей мы использовали брандмауэр Cisco PIX 515 с тремя Fast Ethernet интерфейсами, параметры которого представлены ниже.

Hardware:   PIX-515, 128 MB RAM, CPU Pentium 200 MHz
Flash i28F640J5 @ 0x300, 16MB
BIOS Flash AT29C257 @ 0xfffd8000, 32KB
Cisco PIX Security Appliance Software Version 8.0(4)

В привилегированном режиме командной строки брандмауэра пользователю доступна команда capture. Подробное описание всех возможностей данной команды доступно на веб-сайте производителя.

pix515# ?
aaa-server Specify a AAA server
activation-key Modify activation-key
asdm Disconnect a specific ASDM session
blocks Set block diagnostic parameters
capture Capture inbound and outbound packets on one or
more interfaces
cd Change current directory
clear Reset functions
client-update Execute client updates on all or specific
tunnel-groups
clock Manage the system clock
configure Configure using various methods
copy Copy from one file to another
cpu general CPU stats collection tools
crashinfo Crash information
crypto Execute crypto Commands
debug Debugging functions (see also 'undebug')
delete Delete a file
dir List files on a filesystem
disable Exit from privileged mode
downgrade Downgrade the file system and reboot
dynamic-access-policy-config Activates the DAP selection configuration file.
eou EAPoUDP
erase Erase a filesystem
<--- More --->

Первое что требуется сделать, это задать имя для создаваемого нами перехвата. После задания имени необходимо указать интерфейс, на котором будет осуществляться перехват. Если не указать интерфейс для перехвата, то сам перехват будет выглядеть как живой, но данные в его буфер попадать не будут. Фильтровать сохраняемые данные можно с помощью заранее сконфигурированного списка доступа, либо же вручную указывая критерии отбора сетевого трафика.

pix515# capture ?
WORD Capture name
pix515# capture test ?
access-list Capture packets that match access-list
buffer Configure size of capture buffer, default is 512 KB
circular-buffer Overwrite buffer from beginning when full, default is
non-circular
ethernet-type Capture Ethernet packets of a particular type, default is IP
headers-only Capture only L2, L3 and L4 headers of packet without data in
them
interface Capture packets on a specific interface
match Capture packets matching five-tuple
packet-length Configure maximum length to save from each packet, default
is 68 bytes
real-time Display captured packets in real-time. Warning: using this
option with a slow console connection may result in an
excessive amount of non-displayed packets due to performance
limitations.
trace Trace the captured packets
type Capture packets based on a particular type
<cr>
pix515# capture test interface ?
Available interfaces to listen:
inside Name of interface Ethernet1
outside Name of interface Ethernet0

Попробуем отобрать весь ICMP-трафик с любого хоста на любой, который проходит через внутренний интерфейс брандмауэра. Для чего воспользуемся нижеприведённой командой.

capture test interface inside match icmp any any

Как только вызов выполнен брандмауэр начинает сохранять в буфере удовлетворяющие условию пакеты. Убедиться в этом можно с помощью команды show capture. Размер буфера можно сконфигурировать с помощью параметра buffer команды capture. Также можно использовать циклический буфер с помощью параметра circular-buffer.

pix515# show capture
capture test type raw-data interface inside [Capturing - 30780 bytes]
match icmp any any

Если требуется посмотреть перехваченные данные, то можно конкретизировать вызов show capture, задав имя интересующего перехвата.

pix515# sho capture test
522 packets captured
1: 21:24:38.629087 192.168.1.2 > 192.168.1.1: icmp: echo request
2: 21:24:38.630765 192.168.1.1 > 192.168.1.2: icmp: echo reply
3: 21:24:39.630109 192.168.1.2 > 192.168.1.1: icmp: echo request
4: 21:24:39.631665 192.168.1.1 > 192.168.1.2: icmp: echo reply

Также возможно просматривать не только общие сведения о пакетах, но и само их содержимое.

pix515# sho capture test dump
522 packets captured
1: 21:24:38.629087 192.168.1.2 > 192.168.1.1: icmp: echo request
0x0000 4500 003c 12a7 0000 7e01 9781 ac11 2324 E..<....~.....#$
0x0010 c0a8 02bb 0800 35cb 0001 1790 6162 6364 ......5.....abcd
0x0020 6566 6768 696a 6b6c 6d6e 6f70 7172 7374 efghijklmnopqrst
0x0030 7576 7761 6263 6465 6667 6869 uvwabcdefghi
2: 21:24:38.630765 192.168.1.1 > 192.168.1.2: icmp: echo reply
0x0000 4500 003c 4656 0000 ff01 e2d1 c0a8 02bb E..<FV..........
0x0010 ac11 2324 0000 3dcb 0001 1790 6162 6364 ..#$..=.....abcd
0x0020 6566 6768 696a 6b6c 6d6e 6f70 7172 7374 efghijklmnopqrst
0x0030 7576 7761 6263 6465 6667 6869 uvwabcdefghi

В том случае, когда требуется сохранить результаты перехвата можно их просто скопировать на флеш, либо сразу же передать по сети на FTP или TFTP сервера. В нижеприведённом листинге мы сначала сохраняем на флеш, а потом ещё и копируем этот файл FTP-сервер, размещённый в нашем примере на компьютере с IP-адресом 192.168.1.1, на котором заведён пользователь admin с паролем admin.

pix515# sho fla
Directory of flash:/
4 -rw- 7538688 18:01:44 May 09 2009 pix804.bin
7 -rw- 10101 01:40:46 May 24 2009 pix515-2_conf_20090523
9 -rw- 19369 03:58:47 May 24 2009 pix515-1_conf_20090523
15998976 bytes total (8401920 bytes free)
pix515# copy /pcap capture:/test flash:/test
Source capture name [test]?
Destination filename [test]?
!!!!
222 packets copied in 0.280 secs
pix515# sho fla
Directory of flash:/
4 -rw- 7538688 18:01:44 May 09 2009 pix804.bin
7 -rw- 10101 01:40:46 May 24 2009 pix515-2_conf_20090523
9 -rw- 19369 03:58:47 May 24 2009 pix515-1_conf_20090523
12 -rw- 15579 23:05:37 Apr 15 2010 test
15998976 bytes total (8386048 bytes free)
pix515# copy flash:/test ftp:// admin:Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра..1.2
Source filename [test]?
Address or name of remote host [192.168.1.2]?
Destination username [admin]?
Destination password [admin]?
Destination filename [test]?
!!!!!
15579 bytes copied in 0.250 secs

В приведённом выше листинге необходимо особое внимание уделить параметру /pcap, который указывался при копировании из capture на flash, так как именно при его указании происходит копирование данных в формате, понятном утилитам TCPdump и Wireshark, иначе же данные будут скопированы в текстовом формате.

Забрав файл test с FTP-сервера, мы открыли его в Wireshark для последующего анализа. Таким «анализом» может являться, например, восстановление голосовых данных из RTP-потока.

Остановить перехват можно с помощью команды no capture name, где name – название перехвата.

На этом краткий обзор возможностей Cisco PIX/ASA по перехвату сетевого трафика завершается.

You have no rights to post comments

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter