URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 95324
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Блокирование попыток эксплуатации h..."

Отправлено auto_tips , 09-Апр-14 20:15 
Пример блокирования  [[https://www.opennet.ru/opennews/art.shtml?num=39518 критической уязвимости]] CVE-2014-0160 в OpenSSL 1.0.1, позволяющей получить содержимое памяти удалённых серверных и клиентских приложений.


Отражаем в логе все heartbeat-запросы при помощи iptables и модуля u32:

   iptables -t filter -A INPUT -p tcp --dport 443 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j LOG --log-prefix "BLOCKED: HEARTBEAT"

Блокируем heartbeat-запросы:

   iptables -t filter -A INPUT -p tcp --dport 443 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j DROP

Отслеживаем возможные атаки при помощи Wireshark:

   tshark -i interface port 443 -R 'frame[68:1] == 18'
   tshark -i interface port 443 -R 'ssl.record.content_type == 24'

URL: http://www.securityfocus.com/archive/1/531779/30/0/threaded
Обсуждается: https://www.opennet.ru/tips/info/2830.shtml


Содержание

Сообщения в этом обсуждении
"Блокирование попыток эксплуатации heartbeat-уязвимости в OpenSSL средствами iptables"
Отправлено Аноним , 09-Апр-14 20:15 
А есть способ во FreeBSD реализовать подобную блокировку через ipfw или pf ?

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Аноним , 09-Апр-14 20:27 
> А есть способ во FreeBSD реализовать подобную блокировку через ipfw или pf ?

А в бздях как обычно все для удобства администратора, так что заблокировать пакет по конкретному полю - ракетная наука.


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Аноним , 09-Апр-14 20:45 
ng_bpf ?

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено iZEN , 10-Апр-14 11:57 
> А есть способ во FreeBSD реализовать подобную блокировку через ipfw или pf ?

"Блокируй всё. Разрешай только то, что конкретно нужно."



"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено ALex_hha , 10-Апр-14 13:26 
> "Блокируй всё. Разрешай только то, что конкретно нужно."

ты прям кэп :D


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено тигар , 10-Апр-14 13:33 
изя, а ты жжож напалмом.
вот скажи, к примеру, https конкретно нужно или конкретно не нужно?

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено тролим толсто , 22-Апр-14 10:57 
А зачем? его же не удобно фильтровать. text/plain наше усе :)

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено ананим , 11-Апр-14 19:35 
ты совершенен в своём невежестве.

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Аноним , 27-Апр-14 16:41 
>"Блокируй всё. Разрешай только то, что конкретно нужно."

Прально, разрешай выход только на 80-е порты :) А вот с 5222 портом такое не прокактит, там TLS может оказаться.


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Sabakwaka , 12-Апр-14 13:08 
> А есть способ во FreeBSD реализовать подобную блокировку через ipfw или pf ?

А нету способа обновиться?
Типа, ставишь исправленную версию?
Не? Никак?


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Адекват , 15-Апр-14 15:44 
> Не? Никак?

Можно, но тогда будет не прикольно



"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Алекс , 16-Апр-14 11:51 
http://lists.freebsd.org/pipermail/freebsd-net/2008-July/019...

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено iZEN , 16-Апр-14 18:09 
Через PF с помощью классификатора Ethernet-фреймов:
http://www.openbsd.gr/faq/pf/ru/tagging.html#ethernet

"Раздел полезных советов: Блокирование попыток эксплуатации h..."
Отправлено Онаним , 10-Апр-14 16:37 
Вот там сказано:
The rules have been specifically created for HTTPS traffic and may be
adapted for other protocols; SMTPS/IMAPS/...

Это получается, что нужно так:
iptables -t filter -A INPUT -p tcp --dport 465(995) -m u32 --u32 "52=0x18030000:0x1803FFFF" -j DROP


"Раздел полезных советов: Блокирование попыток эксплуатации h..."
Отправлено Andrey Mitrofanov , 11-Апр-14 11:33 
> Это получается, что нужно так:
> iptables -t filter -A INPUT -p tcp --dport 465(995) -m u32 --u32
> "52=0x18030000:0x1803FFFF" -j DROP

Ну, типа того, в http://seclists.org/fulldisclosure/2014/Apr/143 используют

-m multiport --destination-port 443,993,995

[на самом деле нужно что-то среднее между списком популярных у ботов/киддисов портов и реально запущенных на хосте(-ах) сервиах с TLS], а чуть выше обсуждают, что к --log надо добавлять --limit, чтоб не заDOSили.


"Блокирование попыток эксплуатации heartbeat-уязвимости в OpenSSL средствами iptables"
Отправлено pavlinux , 11-Апр-14 03:28 
Уже боты долбятся

msg='[16509541.241630] Heartbeat Attack:
IN=br0 OUT= PHYSIN=eth0
MAC=20:73:33:a3:e8:39:01:21:48:05:3e:12:18:38
SRC=68.52.212.176
DST=111.33.55.44
LEN=60 TOS=0x00 PREC=0x00 TTL=43 ID=37614 DF PROTO=TCP
SPT=54188 DPT=443 WINDOW=137 RES=0x00 ACK PSH URGP=0


"Блокирование попыток эксплуатации heartbeat-уязвимости в OpenSSL средствами iptables"
Отправлено Онаним , 11-Апр-14 10:51 
Что это за сигнатура "0x18030000:0x1803FFFF"? И будет ли работать правило:
iptables -t filter -A INPUT -p tcp --dport 465 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j DROP

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Онаним , 11-Апр-14 11:06 
Судя по этому, да:

options = OptionParser(usage='%prog server [options]', description='Test for SSL heartbeat vulnerability (CVE-2014-0160)')
options.add_option('-p', '--port', type='int', default=443, help='TCP port to test (default: 443)')

Попробую на почтовике.


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено pavlinux , 11-Апр-14 11:53 
У меня сегодня около 6 утра сработало,на 465 порту, причем адрес источника - наша офисная сеть.
Сижу разбираюсь.


128.140.169.183 - mail.ru банит

DKIM: d=mail.ru s=mail2 c=relaxed/relaxed a=rsa-sha256 [verification succeeded]
P=esmtps X=TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Онаним , 11-Апр-14 13:13 
iptables -t filter -A INPUT -p tcp --dport 465 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j DROP

Или я дурак или лыжи не едут. Но в этом правиле гвоздями прибито смещение сигнатуры, в то время как, что IP заголовок, что TCP заголовок имеют переменную длину!!! Выходит, что это правило сглючит, если в IP заголовке будут опции (ну и в TCP тоже).
Проскочить IP заголовок можно так "0>>22&0x3C", а IP TCP заголовки так "0>>22&0x3C@ 12>>26&0x3C@".
Вот хорошая статья http://www.stearns.org/doc/iptables-u32.current.html
Но вот что искать в TCP данных (payload) не ясно. Только если исходить из того, что аффтор правила подразумевал заголовки IP и TCP по 20 байт, то выходит что надо как то так:

iptables -t filter -A INPUT -p tcp --dport 465 -m u32 --u32 "0>>22&0x3C@ 12>>26&0x3C@12=0x18030000:0x1803FFFF" -j DROP


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено pavlinux , 11-Апр-14 14:56 
> ... аффтор правила подразумевал

Аффтор подразумевал, что коннект идёт на 443 порт и там кроме HTTPS ничего нет.

Вот тут кусок hex взят непосредственно их кода эксплойта.

iptables -I INPUT -p tcp -m string --algo kmp --hex-string '|18 03 02 00 03 01 40 00|' \
                             -j LOG --log-level debug --log-prefix "ScriptKiddy detected: "

18 - Heartbeat расширение
03 01 - TLS v1.0 (03 02 - TLS v1.1, 03 03 - TLS v1.2)
00 03 - длина заголовка (18,03,01)
01 - Heartbeat request (02 - ответ)
40 00 - размер (по стандарту - может быть не более 2^16 (0x4000))

Банить, кроме как Heartbeat request, не вижу смысла.
Лень смотреть, узнать бы в какой мин. версии TLS это поддерживается.

Ловить нужно вот такие байты (строки)

от 0x1803010003010000 до 0x1803010003014000 # TLS 1.0
от 0x1803020003010000 до 0x1803010003014000 # TLS 1.1
от 0x1803030003010000 до 0x1803010003014000 # TLS 1.2

Как это всунуть в u32 - лень думать :)


Или даже вот такой длины: 0x180301000301, ибо пофиг какой он там размер запросит.


"Блокирование попыток эксплуатации heartbeat-уязвимости в OpenSSL средствами iptables"
Отправлено Аноним , 27-Апр-14 17:09 
Для UDP портов подобное правило годится?
iptables -t filter -A INPUT -p udp --dport 1194 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j DROP

"Блокирование попыток эксплуатации heartbeat-уязвимости в OpenSSL средствами iptables"
Отправлено VecH , 30-Апр-14 08:39 
А как это можно в Mikrotik-ах сделать ?

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Анонимчег , 03-Май-14 08:10 
Читать документацию Mikrotik, в которой сказано, что RouterOS данной проблеме не подвержена, так как использует openssl более старой версии.

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено VecH , 03-Май-14 10:22 
> Читать документацию Mikrotik, в которой сказано, что RouterOS данной проблеме не подвержена,
> так как использует openssl более старой версии.

Мне это надо что бы мониторить сквозной трафик из вне в dmz на предмет попыток


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Анонимчег , 03-Май-14 08:15 
http://forum.mikrotik.com/viewtopic.php?f=2&t=84005

"Блокирование попыток эксплуатации heartbeat-уязвимости в OpenSSL средствами iptables"
Отправлено pincher , 11-Май-14 11:24 
Уязвимые продукты Киски. Список будет обновляться по мере расследования инцидентов.

    Cisco Agent for OpenFlow [CSCuo30098]
    Cisco AnyConnect Secure Mobility Client for iOS [CSCuo17488]
    Cisco ASA CX Context-Aware Security [CSCuo24523]
    Cisco Common Services Platform Collector [CSCuo29151]
    Cisco Desktop Collaboration Experience DX650 [CSCuo16892]
    Cisco Edge 300 Digital Media Player [CSCuo24304]
    Cisco Edge 340 Digital Media Player [CSCuo24301]
    Cisco Expressway Series [CSCuo16472]
    Cisco FireAMP Private Cloud virtual appliance
    Cisco IOS XE [CSCuo19730]
    Cisco Cisco Internet Streamer CDS [CSCuo31566]
    Cisco Jabber Video for TelePresence (Movi) [CSCuo28855]
    Cisco MATE Products [CSCuo54599]
    Cisco Mobility Service Engine (MSE) [CSCuo20622]
    Cisco MS200X Ethernet Access Switch [CSCuo18736]
    Cisco OnePK All-in-One VM [CSCuo19843]
    Cisco ONS 15454 Series Multiservice Provisioning Platforms [CSCuo22921]
    Cisco Prime Collaboration Deployment [CSCuo34385]
    Cisco Prime IP Express [ CSCuo35657]
    Cisco Prime License Manager [CSCuo32735]
    Cisco Prime Network Registrar (CPNR) [CSCun82386]
    Cisco Prime Network Services Controller [CSCuo20385]
    Cisco Prime Security Manager [CSCuo27123]
    Cisco Security Manager [CSCuo19265]
    Cisco Small Business ISA500 Series Integrated Security Appliances [CSCuo29778]
    Cisco TelePresence 1310 [CSCuo20210]
    Cisco TelePresence Conductor [CSCuo20306]
    Cisco TelePresence EX Series [CSCuo26378]
    Cisco Telepresence Integrator C Series [CSCuo26378]
    Cisco TelePresence IP Gateway Series [CSCuo21597]
    Cisco TelePresence ISDN GW 3241 [CSCuo21486]
    Cisco TelePresence ISDN GW MSE 8321 [CSCuo21486]
    Cisco TelePresence ISDN Link [CSCuo26686]
    Cisco TelePresence MX Series [CSCuo26378]
    Cisco TelePresence Profile Series [CSCuo26378]
    Cisco TelePresence Serial Gateway Series [CSCuo21535]
    Cisco TelePresence Server 8710, 7010 [CSCuo21468]
    Cisco TelePresence Server on Multiparty Media 310, 320 [CSCuo21468]
    Cisco TelePresence Server on Virtual Machine [CSCuo21468]
    Cisco TelePresence System 1000 [CSCuo20210]
    Cisco TelePresence System 1100 [CSCuo20210]
    Cisco TelePresence System 1300 [CSCuo20210]
    Cisco TelePresence System 3000 Series [CSCuo20210]
    Cisco TelePresence System 500-32 [CSCuo20210]
    Cisco TelePresence System 500-37 [CSCuo20210]
    Cisco TelePresence Supervisor MSE 8050 [CSCuo21584]
    Cisco TelePresence SX Series [CSCuo26378]
    Cisco TelePresence TX 9000 Series [CSCuo20210] Version 6.1.2.0 and prior
    Cisco TelePresence Video Communication Server (VCS) [CSCuo16472]
    Cisco Unified 7800 Series IP Phones [CSCuo16987]
    Cisco Unified 8961 IP Phone [CSCuo16938]
    Cisco Unified 9951 IP Phone [CSCuo16938]
    Cisco Unified 9971 IP Phone [CSCuo16938]
    Cisco Unified Communications Manager (UCM) 10.0 [CSCuo17440]
    Cisco Unified Communications Manager Session Management Edition (SME) [CSCuo17440]
    Cisco Unified Presence Server (CUPS)[CSCuo21298], [CSCuo21289]
    Cisco Unity Connection (UC)[CSCuo30540]
    Cisco Universal Small Cell 5000 Series running V3.4.2.x software [CSCuo22301]
    Cisco Universal Small Cell 7000 Series running V3.4.2.x software [CSCuo22301]
    Cisco Video Distribution Suite for Internet Streaming VDS-IS [CSCuo43012]
    Cisco Video Surveillance 3000 Series IP Cameras [CSCuo37282]
    Cisco Video Surveillance 4000 Series IP Cameras [CSCuo37288]
    Cisco Video Surveillance 4300E/4500E High-Definition IP Cameras [CSCuo37283]
    Cisco Video Surveillance 6000 Series IP Cameras [CSCuo37282]
    Cisco Video Surveillance 7000 Series IP Cameras [CSCuo37282]
    Cisco Video Surveillance PTZ IP Cameras [CSCuo37282]
    Cisco WebEx Meetings for Android [CSCuo20617]
    Cisco WebEx Meetings Server (client) [CSCuo29780]
    Cisco WebEx Meetings Server versions 2.x [CSCuo17528]
    Cisco WebEx Node for ASR 1000 Series [CSCuo33614]
    Cisco WebEx Node for MCS [CSCuo33612]
    Cisco Wireless Location Appliance [CSCuo20622]
    Small Cell factory recovery root filesystem V2.99.4 or later [CSCuo22358]
    Tandberg Codian MSE 8320 model [CSCuo21486]
    Tandberg Codian ISDN GW 3210/3220/3240 [CSCuo21486]


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено linux must _RIP__ , 27-Май-14 19:35 
связалась циска с линуксом и получила себе такой подарок..

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Andrey Mitrofanov , 28-Май-14 09:44 
> связалась циска с линуксом и получила себе такой подарок..

Тебе с РИПом в мозгу даже такой подарок не светит. Передёргивать с openssl на "линукс", как симптоматично... Пациент, таблетки!


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Аноним , 09-Июн-14 22:45 
Пади ж ты, а сколько в самой Цыцке анального добра помимо этой уязвимости в библиотеке OpenSSL, которая из проекта OpenBSD.

"Блокирование попыток эксплуатации heartbeat-уязвимости в OpenSSL средствами iptables"
Отправлено Аноним , 14-Май-14 00:50 
Кто расскажет, зачем эти попытки блокировать, если уязвимость устранена?

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Andrey Mitrofanov , 14-Май-14 09:37 
> Кто расскажет, зачем эти попытки блокировать, если уязвимость устранена?

Для экономии электричества.
На своей стороне, и перевод её, экономии, в расход на стороне ботнета.


"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено Аноним , 25-Май-14 04:35 
тогда почему там DROP, а не TARPIT?

"Блокирование попыток эксплуатации heartbeat-уязвимости в Ope..."
Отправлено leon55 , 02-Июн-14 11:41 
Например, не в любом продакшне вы можете с лёгкостью апдейтить пакеты :).
Некоторым проще временно (с) добавить правило в файрволл, а потом, при возможности - сделать yum update openssl :).