Ключевые слова:icmp, shell, (найти похожие документы)
From: anikart <anikart@narod.ru.>
Date: Wed, 24 Aug 2005 18:21:07 +0000 (UTC)
Subject: ICMP-Shell - организация досутпа к хосту используя только ICMP
Оригинал: http://nexis.ru/articles/index.php?show=4
Оригинал на английском: http://icmpshell.sourceforge.net/
Программа, написанная Питером Киелтика (Peter Kieltyka) позволяет
получить доступ к удаленному хосту посредствам только лишь протокола
ICMP, используемого как для приема, так и для передачи данных. ICMP
Shell была написана на С для UNIX-based ОС.
Как она работает?
ISHELL сервер запускается в режиме демона на удаленном хосте. Когда
сервер получает запрос от клиента, он разбирает заголовок и выбирает
из него поле ID. В том случае, если поле соответствует заданному
значению, данные пересылаются интерпретатору "/bin/sh". Тот в свою
очередь обрабатывает эти данные и пересылает результат обратно
клиенту, который получает их в stdout.
По умолчанию и клиент и сервер пересылают данные в пакетах ICMP типа 0
(ICMP_ECHO_REPLY), однако этот тип может быть изменен, как параметр и
на серверной и на клиентской части. ICMP Shell не чувствителен к этому
изменению и этот параметр не обязательно должен совпадать на клиенте и
на сервере.
ICMP Shell может также работать c интерактивными программами.
Firewall? Никто о нем ничего не говорил!
Работа этой программы была протестирована на :
- Linux Mandrake 8.1 x86
- FreeBSD 4.4 x86
- OpenBSD 3.0 x86
- Solaris 8 sparc
Вещи, которые необходимо знать о работе программы:
1. ISHELL использует raw sockets на обеих сторонах, отсюда следует,
что для ее работы необходимы привилегии root.
2. В процессе настройки учтите, что следующие параметры должны быть
одинаковы на клиентской и на серверной частях :
-i < id >
-p < packetsize >
Запуск сервера:
./ishd [параметры]
-h вызов справки
-d запустить сервер в режиме debug
-i назначить идентификатор процесса (диапазон: 0-65535; по-умолчанию
1515) -t < type > назначить тип пакетов ICMP (по-умолчанию 0) -p <
packetsize > назначить размер пакета (по-умолчанию 512)
Пример:
# ./ishd -I 65535 -t 0 -p 1024
Запуск клиента:
./ish [параметры]
Параметры:
-i < id > назначить идентификатор процесса (диапазон: 0-65535; по-умолчанию 1515)
-t < type > назначить тип пакетов ICMP (по-умолчанию 0)
-p < packetsize > назначить размер пакета (по-умолчанию 512)
Пример:
# ./ish -i 65535 -t 0 -p 1024 host.com