А! Как? "SPOOFING"?
Спуфинг появился после того, когда
создались доверительные отношения, не по
паролю, а по IP адресу (либо по другим
идентификаторам, например, по работающему
NetBus'у:)).
Какие службы атаковать?
Все, которые поддерживают доверительные
отношения.
Это r-службы (помните такие? rsh,rlogin,rpс etc.). RPС- вызов удаленных процедур. X-Windows. В общем, любую систему,
использующую
идентификатор-IP.
А не легче ли эксплоитом?
Это уж вам решать. По-моему, spoofing будет все-таки удобнее.
Т.к. в логах ничего не останется. Именно! Например
вы узнаете имя доверяемого хоста, вам
удается подделать TCP соединение (да, кстати, нужно
еще завалить доверенный хост, т.к. посылая
поддельный TCP пакет с IP доверяемого хоста на
хост-цель, последний пошлет пакет на
доверяемый хост, и тот скажет "RST":)! То
есть разорвет соединение, так что DoS все-таки пригодится...), и в
логах остается не ваш IP'шник, а IP доверяемого
хоста! Недурно:)...
Практика/Софт
Вроде, все понятно, но как эти чертовы
пакеты посылать?
Для этого я и приготовил набор софта, который
очень поможет вам в этом...
pmap_set - набор прог для обмана демона rpcbind.
syslog_deluxe(sysfog) - подмена сообщений syslogd.
rspoof - подмена информации о
маршрутизации(RIP протокол).
icqspoof - подмена ID ICQ.
icqhijack - перехват сеансов ICQ.
spoofscan - выполняет скан портов с левым IP*.
sir4 - подмена ID IRC.
ERECT/jizzz - подмена адресов DNS.
seq_number - подбор Seq number для осуществления
TCP spoof'а.
ipspoof - подделка IP адреса.
Критерием возможности спуфинга является алгоритм выбора сервером ISS. Выделяются 5 классов алгоритмов:
1. C (Constant). ISS не зависит от времени или изменяется очень медленно.
2. xK (например, 64K). ISS увеличивается на x при каждом подключении.
3. TD (Trivial Time Depency). ISS - линейная функция от времени
4. RI (Random Positive Increments). ISS - нелинейная монотонная функция от времени
5. TR (Trully Random). ISS - немонотонная функция.
Предсказание ISS возможно только в случае, если алгоритм генерации ISS принадлежит к первым трем классам.
Пятый класс - "действительно случайные" ISS, и о предсказании не может
быть и речи. Четвертый, хотя и не полностью случаен (RFC рекомендует
определенную зависимость от времени, и это правило выполняется), но
реальная атака ничем не проще, т.к. обычно (например, в linux) при
генерации ISS значение таймера перемешивается с адресом и портом
клиента и защищается криптографических хешем (в linux - MD4).
Теперь дело - за списком OS, алгоритм генерации которых принадлежит ко
второму или третьему классу (первый класс используется только в
несерьезном
оборудовании типа серверов печати или хабов). Вот список наиболее
распространенных OS с указанием версии и класса алгоритма.
Class 64K
NetBSD 1.0 - 1.2
FreeBSD 2.1.0 - 2.1.5
Solaris 2.3 - 2.4
Class TD
NT 4 SP1-SP4
Linux 1.0.9
Class RI
FreeBSD 2.2.1 - 4.3
OpenBSD 2.1 - 2.8
NetBSD 1.3 - 1.5
NT 4 SP5-SP6
Linux 1.2.8 - 1.2.13
System V
Solaris 2.5 - 2.7, 8, 9
Class TR
FreeBSD 4.3 - 5.0
OpenBSD 2.9 - 3.0
Как мы видим, Linux избавился от TD уже во второй версии, и случилось
это в 94-ом году. NT 4 перестал быть уязвимым
для этой атаки после выхода SP5, в мае 1999 года. NetBSD освободился от
этой напасти в январе 1998 с выходом версии 1.3 FreeBSD - в ноябре
98го. Solaris - в том же году с выходом 2.5.
Таким образом, прошло уже 4 года с тех пор, как все операционные
системы перестали быть уязвимыми для TCP-спуфинга. Я не понимаю, почему
господа околокомпьютерные журналисты ТАКИЕ ТОРМОЗА, что до сих пор
этого не заметили, и продолжают кормить народ
пошлой сказкой про TCP-спуфинг.
|