Здравствуйте коллеги!Есть рабочая конфигурация IPsec VPN поднятая между
Dlink 808hv и FreeBSD 5.4-RELEASE-p16
Dlink настроен по типовой конфигурации с сайта производителя
http://www.dlink.ru/technical/faq_vpn_11.php
так же настроен и сервер с FreeBSD
только используется racoon из пакета ipsec-tools-0.6.6
и не используются gif интерфейсы по причине не поддержки их на DlinkНеобходимо увидеть пакеты которые приходят
для внутреннего интерфейса FreeBSD через IPsec тунель.XXX.XXX.XXX.XXX – внешний FreeBSD xxx.xxx.xxx.xxx – внутренний FreeBSD
YYY.YYY.YYY.YYY – внешний Dlink yyy.yyy.yyy.yyy – внутренний Dlinktcpdump естесно видит такое
free# tcpdump -ni tun0 | grep YYY.YYY.YYY.YYY
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type NULL (BSD loopback), capture size 96 bytes
18:24:30.486446 IP YYY.YYY.YYY.YYY > XXX.XXX.XXX.XXX: ESP(spi=0x024b97c5,seq=0x9dc)
18:24:30.486706 IP XXX.XXX.XXX.XXX > YYY.YYY.YYY.YYY: ESP(spi=0xd2170010,seq=0x75f)
18:24:31.356931 IP YYY.YYY.YYY.YYY > XXX.XXX.XXX.XXX: ESP(spi=0x024b97c5,seq=0x9dd)
18:24:31.357198 IP XXX.XXX.XXX.XXX > YYY.YYY.YYY.YYY: ESP(spi=0xd2170010,seq=0x760)
18:24:32.403817 IP YYY.YYY.YYY.YYY > XXX.XXX.XXX.XXX: ESP(spi=0x024b97c5,seq=0x9de)
18:24:32.404086 IP XXX.XXX.XXX.XXX > YYY.YYY.YYY.YYY: ESP(spi=0xd2170010,seq=0x761)
18:24:33.432940 IP YYY.YYY.YYY.YYY > XXX.XXX.XXX.XXX: ESP(spi=0x024b97c5,seq=0x9df)
18:24:33.433122 IP XXX.XXX.XXX.XXX > YYY.YYY.YYY.YYY: ESP(spi=0xd2170010,seq=0x762)
18:24:34.395532 IP YYY.YYY.YYY.YYY > XXX.XXX.XXX.XXX: ESP(spi=0x024b97c5,seq=0x9e0)Капание в tcpdump –E ничего мне не дало…
К FreeBSD доступ полный.
Копался с подобной штукой, но, увы, не нашел решения - так и не понял, как получить доступ (и возможно ли это) непосредственно к содержимому пакетов...Они ж шифруются, и расшифровываются в ядре ;)
>Копался с подобной штукой, но, увы, не нашел решения - так и
>не понял, как получить доступ (и возможно ли это) непосредственно к
>содержимому пакетов...Они ж шифруются, и расшифровываются в ядре ;)
Если бы к шифрованным пакетам можно было получить так легко доступ... зачем тогда нужно шифрование.
>>Копался с подобной штукой, но, увы, не нашел решения - так и
>>не понял, как получить доступ (и возможно ли это) непосредственно к
>>содержимому пакетов...Они ж шифруются, и расшифровываются в ядре ;)
>
>
>Если бы к шифрованным пакетам можно было получить так легко доступ... зачем
>тогда нужно шифрование.Хотелось бы конечно услышать ответы по существу... В мане к моему
tcpdump говорится
-E Use spi@ipaddr algo:secret for decrypting IPsec ESP packets that
are addressed to addr and contain Security Parameter Index value
spi. This combination may be repeated with comma or newline
seperation.В общем существует возможность расишифровки пакетов
но всевозможные комбинации spi@ipaddr algo:secret к каким либо зримым результатам
не приводят. Если кто расшифровывал то нужен алгоритм
или пример или что нибудь что поможет в этом дела...Очень много задач на сервере требующие контроля и учёта в смысле
трафика внутри IPsec канала с фейховыми адресами...
если тунель терминируется на твоем сервере, то не вижу проблем в снифинге, если же это транзитный ipsec трафик, то эт нереально, даже не пробуй все равно ничего не взломаешь.
>если тунель терминируется на твоем сервере, то не вижу проблем в снифинге,
>если же это транзитный ipsec трафик, то эт нереально, даже не
>пробуй все равно ничего не взломаешь.>Есть рабочая конфигурация IPsec VPN поднятая между
>Dlink 808hv и FreeBSD 5.4-RELEASE-p16
>Dlink настроен по типовой конфигурации с сайта производителя
>http://www.dlink.ru/technical/faq_vpn_11.php
>так же настроен и сервер с FreeBSD
>только используется racoon из пакета ipsec-tools-0.6.6
>и не используются gif интерфейсы по причине не поддержки их на DlinkДа тунель создаётся на моём серваке FreeBSD 5.4-RELEASE-p16 с моим ключём
и полным доступом. Пакеты входящие через тунель IPsec могут адресоватся
как члену локальной сети так и самому серваку FreeBSD 5.4-RELEASE-p16
(для его внутреннего интерфейса). Снифирить те тунельные пакеты которые выходят
расшифрованными через FreeBSD 5.4-RELEASE-p16 в локалку естено никаких проблем...
Но пост созда для того чтобы разобратся как снифирить пакеты которые приходтя через IPsec для фейхового адресса FreeBSD 5.4-RELEASE-p16 и всех остальных локальных на внешнем интерфейсе.Если есть конкретный опыт и пример, то прошу сюда :)
1) узнаем SPI (in или out) для конкретного SA:
2) узнаем encryption key для этого SPIsudo setkey -D | grep -A 1 420e154f <--- (нужный SPI)
esp mode=tunnel spi=1108219215(0x420e154f) reqid=16632(0x000040f8)
E: aes-cbc cddb026d f02cef75 cb3883cb 170c12a5 < -- сессионный ключ
Из ключа убираем пробелы и предваряем 0xпотом запускаем sudo tcpdump -ni eth1 -E aes128-hmac96:0xcddb026df02cef75cb3883cb170c12a5 'ip[20:4] = 0x420e154f'