Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #48, НОЯБРЬ 2004 г.

CMD-shell на службе у хакера

Крис Касперски aka мыщъх

Спецвыпуск: Хакер, номер #048, стр. 048-016-1


Секреты командного интерпретатора

FADE IN ON: COMPUTER SCREEN.

So close it has no boundaries. A blinking cursor pulses in the electric darkness like a heart coursing with phosphorous light, burning beneath the derma of black-neon glass…

The Matrix. Larry and Andy Wachowski

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

С полсотни лет назад, когда о графических средах никто и не слышал, а монитор, способный отображать более четырех цветов, все еще оставался предметом роскоши, роль посредника между человеком и машиной ложилась на плечи командного интерпретатора. Что такое командный интерпретатор? Это черный экран и мерцающий курсор. За кажущейся унылостью и аскетичностью терминальных апартаментов (до царственной роскоши графических интерфейсов им действительно далеко) скрывается чрезвычайно мощный и к тому же нетребовательный к ресурсам инструмент.

Командный интерпретатор опирается на язык (который, как известно, определяет мышление), а графические оболочки – на тыкательный инстинкт, действующий всегда по одной и той же схеме. Командный интерпретатор может читать ввод как с клавиатуры, так и из файла. Графическая оболочка же во всем полагается на мышь. Сравнение можно продолжать бесконечно, но сам факт наличия терминальных приложений в эпоху засилья аляповатых икончатых интерфейсов уже о многом говорит!

Сильной стороной UNIX-систем была и остается хорошо продуманная командная строка. С ее помощью можно сделать абсолютно все, что только возможно, а при желании – и часть невозможного. Причем между локальной и удаленной консолью нет никакой принципиальной разницы. Командный интерпретатор с одинаковым аппетитом поглощает символы, как набранные на клавиатуре, так и поступающие в компьютер по сети (правда, регистрация root'а с удаленной консоли чаще всего запрещена).

Windows NT в этом смысле намного более ущербная система. Штатный интерпретатор можно назвать командным с очень большой натяжкой. Лишь некоторые из настроек системы допускают возможность удаленного управления, а остальные приходится настраивать локально, мышью. И хотя ядро системы не имеет к этому никакого отношения (при желании можно самостоятельно реализовать консольные версии всех конфигурационных утилит), отсутствие их в штатном комплекте поставки сильно огорчает. К счастью, начиная с Windows 2000 командный интерпретатор был существенно переработан, появилось множество новых консольных утилит, более или менее полно покрывающих потребности удаленного управления.

Эксплуатация эксплуататоров!

Что можно сделать с удаленной системой вероятного противника? Естественно, захватить! Обычно для этой цели засылается система удаленного администрирования, представляющая собой более или менее продвинутый командный интерпретатор. Но ведь на удаленной машине уже есть командный интерпретатор! Для Windows 2000/XP – это cmd.exe, и все, что нам нужно сделать, запустить его на выполнение и организовать одно-, а лучше двухсторонний канал связи.

Содержание  Вперед на стр. 048-016-2