Додаткове дослідження брандмауерів
Якщо пряме сканування портів, відстежування маршрутів і збір маркерів не принесли успіху, зломщики можуть удатися до додаткової інвентаризації брандмауера на більш високому рівні. При цьому ідентифікувати брандмауери і отримати їх правила ACL можна в процесі дослідження мети і аналізу отриманої інформації (або не отриманою).
Простий спосіб отримання даних за допомогою утиліти
nmар
Утиліта nmар є прекрасним засобом дослідження брандмауерів, і ми постійно нею користуємося. В процесі сканування вузла ця утиліта повідомляє не тільки про відкриті або закриті порти, але і про тих з них, які виявилися заблокованими. При цьому отримані (або відсутні) дані дозволяють дізнатися про конфігурацію брандмауера багато важливої інформації.
Якщо в результаті сканування утиліта nmap "помітила" порт як фільтрований, то це означає виникнення одне з наступних умов.
- Не отриманий пакет Syn/ack.
- Не отриманий пакет Rst/ack.
- Отримано ICMP-сообщение типу 3 (Destination Unreachable) з кодом 13 (Communication Administratively Prohibited — RFC 1812).
При виконанні будь-якої з цих трьох умов утиліта nmap повідомить про порт як про фільтрований (filtered). Наприклад, при скануванні вузла
www.company.com ми отримали два IСМР-пакета, що говорить про блокування брандмауером портів 23 і 111.
[root]# nmap -p20,21,23,53,80,111 -po -w 192.168.51.100
Starting nmap V.2.08 by Fyodor (fyodor@dhp.com,
www.insecure.org/nmap/)
Initiating TCP connect() scan against (192.168.51.100)
Adding TCP port 53 (state Open).
Adding TCP port 111 (state Firewalled).
Adding TCP port 80 (state Open).
Adding TCP port 23 (state Firewalled).
Interesting ports on (192.168.51.100):
Port State Protocol Service 23 filtered tcp
telnet 53 open tcp domain 80 open tcp http 111 filtered tcp
sunrpc
Те, що
складається Firewalled з попереднього фрагмента свідчить про отримання 1СМР-пакета типу 3 з кодом 13 (admin prohibited filter), як видно з наступного лістингу утиліти tcpdump.
23:14:01.229743 10.55.2.1 > 172.29.11.207: icmp: host 172.32.12.4
Unreachable - admin prohibited filter
23:14:01.979743 10.55.2.1 > 172.29.11.207: icmp: host 172.32.12.4
Unreachable - admin prohibited filter
Яким
же чином утиліті nmap вдається пов'язати отримувані пакети з початковими повідомленнями, особливо, коли вони є лише малою частиною даних, передаваних по мережі? Річ у тому, що в у відповідь ICMP-пакете, передаваному на скануючий вузол, міститься вся інформація, необхідна для розуміння того, що ж відбулося. Про блокування порту повідомляється в однобайтовому блоці заголовка
Iсмр за адресою 0x41, а у разі звернення до фільтрованого порту брандмауер відправить повідомлення в IP-блоке пакету за адресою
0xlb (4 байти).
І
нарешті, про нефільтровані (unf iltered) порти утиліта nmap повідомляє лише у тому випадку, коли при їх скануванні назад повертається пакет Rst/ack. В цьому випадку тестовий пакет або досягає цільового вузла, який повідомляє про те, що порт не знаходиться в стані очікування запитів, або брандмауер імітує IP-адрес цього вузла, встановлюючи прапор Rst/ack. Наприклад, при скануванні локальної системи було виявлено два нефільтровані порти, оскільки не прийшло двох у відповідь пакетів Rst/ack. Подібна ситуація може бути імітована і деякими брандмауерами, наприклад, Chackpoint на яких діє правило REJECT.
[root]# nmap -ss -pl-300 172.18.20.55
Starting nmap V. 2.08 by Fyodor (fyodor@dhp.com,
www.insecure.org/nmap/)
Interesting ports on (172.18.20.55):
(Not showing ports in state: filtered)
Port State Protocol Service 7 unfiltered tcp
echo 53 unfiltered tcp domain 256 open tcp rap 257 open tcp
set 258 open tcp yak-chat Nmap run completed -- 1 IP address
(1 host up) scanned in 15 seconds
При відстежуванні пакетів за допомогою утиліти tcpdump можна побачити, що назад повертаються пакети Rst/ack.
21:26:22.742482 172.18.20.55.258 > 172.29.11.207.39667: S
415920470:1415920470(0) аськ 3963453111 win 9112 <mss 536> (DF)
(ttl 254, id 50438)
21:26:23.282482 172.18.20.55.53 > 172.29.11.207.39667:
R 0:0(0) аськ 3963453111 win 0 (DF) (ttl 44, id 50439) 21:26:24.362482
172.18.20.55.257 > 172.29.11.207.39667: S 1416174328:1416174328(0)
аськ 3963453111 win 9112 <mss 536>
(DF) (ttl 254, id 50440)
21:26:26.282482 172.18.20.55.7 > 172.29.11.207.39667:
R 0:0(0) аськ 3963453111 win 0 (DF) (ttl 44, id 50441)
Контрзаходи проти застосування утиліти nmар
Виявлення
Для виявлення спроб сканування з використанням утиліти nmap можна застосовувати підходи, описані в розділі 2. Крім того, можна також дати наступну раду. Набудуйте процедуру виявлення сканування так, щоб окремо отримувати інформацію про спроби сканування брандмауерів.
Запобігання
Для того,
щоб запобігти можливості інвентаризації списків ACL маршрутизаторів і брандмауерів, потрібно відключити на них режим передачі у відповідь повідомлень ICMP з типом 13. На маршрутизаторах Cisco це можна здійснити, заборонивши передачу у відповідь IP-сообщений про недосяжність мети. no ip unreachables
Ідентифікація портів
Деякі
брандмауери мають унікальні характеристики, що відрізняють їх від інших брандмауерів і представлені у вигляді послідовності цифр. Наприклад, таку послідовність можна отримати при підключенні до TCP-порту 257 (SNMP) брандмауерів Checkpoint. Наявність портів 256-259 є хорошою ознакою брандмауера Firewall-1 компанії Checkpoint. А наступний тест допоможе в цьому упевнитися.
[root]# nc -v -n 192.168.51.1 257 (UNKNOWN) [192.168.51.1] 257 (?)
open 30000003
[root]# no -v -n 172.29.11.191 257
(UNKNOWN) [172.29.11.191] 257 (?)
open 31000000
Контрзаходи: захист від ідентифікації портів
Виявлення
Факт підключення зловмисника до портів можна виявити, додавши аудит відповідної події в програмі Realsecure. Ось що для цього потрібно зробити.
1. Активізуйте режим редагування політики.
2. Перейдіть у вкладку Connection Events.
3. Клацніть на кнопці Add Connection і введіть параметри записи, відповідні брандмауеру Checkpoint.
4. Виберіть діапазон портів і клацніть на кнопці Add.
5. Введіть значення в поля служби і порту, а потім клацніть на кнопці ОК.
6. Виберіть новий порт і знову клацніть на кнопці ОК.
7. Клацніть на кнопці ОК, щоб застосувати політику із зміненими параметрами.
Запобігання
Можливість підключення до TCP-порту можна запобігти, заблокувавши його на маршрутизаторі витікаючих повідомлень. Наступний простий список ACL брандмауерів Cisco допоможе явно заборонити всі спроби підключення. access-list 101 deny tcp any any eq 257 log ! Блокування сканування Firewall-1
|