Побег через брандмаузер


Листинг1 ключевой фрагмент shell-кода, открывающего на атакуемом сервере новый порт.


Полный исходный текст данного примера содержится в файле bind.c, прилагаемого к статье. Наскоро откомпилировав его (или взяв уже откомпилированный bind.exe), запустим его на узле, условно называемом "узлом-жертвой" или "атакуемым узлом". Эта стадия будет соответствовать засылке shell-кода, переполняющего буфер и перехватывающего управление (преобразованием исходного текста в двоичный код головы червя, воинственно настроенным читателям придется заниматься самостоятельно, а здесь вам не тот косинус, значения которого могут достигать четырех).

Теперь, переместившись на атакующий узел, наберите в командной строке: netcat "адрес атакуемого" 666

или, если у вас нет утилиты netcat: telnet "адрес атакуемого" 666.

Если все прошло успешно, в окне telnet-клиента появится стандартное приглашение командного интерпретатора (по умолчанию это cmd.exe) и вы получите более или менее полноценный shell, позволяющий запускать на атакуемом узле различные консольные программы.

Вдоволь наигравшись с удаленным shell'ом (подробный разговор о которым нас еще ждет впереди), убедитесь, что: а) утилита netstat, запушенная с ключом "-a" (или любая другая утилита подобная ей), "видит" откровенно левый порт, открытый shell-кодом; б) при наличии правильно настроенного брандмаузера попытки подключиться к shell-коду извне сети не увенчаются успехом – брандмаузер не только блокирует входящие соединения на нестандартный порт, но и автоматически определяет IP-адрес атакующего (конечно, при условии, что тот не скрыт за анонимным proxy). После этого, остается лишь вломиться к хакеру на дом и, выражаясь образным языком, надавать ему по ушам – чтобы больше не хакерствовал.




- Начало -  - Назад -  - Вперед -