Консольный шпионаж Докучаев Дмитрий aka Forb Xakep, номер #068, стр. 068-052-1 (forb@real.xakep.ru) Перехватываем информацию в Linux Часто, ломая Unix-систему, ты можешь иметь забэкдоренный шелл-доступ, однако до рутовых прав тебе дойти не удается. Одним из самых эффективных методов продолжения атаки является так называемый консольный шпионаж, когда ты подсматриваешь за работой в консоли других пользователей на твоем сервере - какие те выполняют команды, что набирают на клавиатуре и т.д. Но каким же образом все это можно осуществить? Если единственное, что тебе пришло в голову, - установить перед монитором скрытую камеру, - этот материал для тебя! Наслаждайся - бывалый вуайерист Форбик делится профессиональными секретами ;)! Ваши права? Как говорится, прав тот, у кого прав больше. Поэтому твои возможности по шпионажу полностью зависят от полномочий в системе: полный контроль над юзерами (и админами, в частности) ты поимеешь только в случае абсолютных рутовых прав. Если же до них тебе еще далеко, можно добыть лишь ограниченные сведения о командах, набранных в консоли. Не следует, впрочем, расценивать мои слова как повод для расстройства :). Любые права быстро поднимаются эксплойтами, поэтому рано или поздно ты можешь получить рута в любой консоли. Что же касается самих методов добычи информации, то их как минимум три. 1. Модификация исходников программы. Этот способ может применяться как при обычных, так и при рутовых привилегиях. Как ты понял, способ заключается в патчинге сырцов программы (например, /bin/su или /usr/bin/ssh) с последующей перекомпиляцией. Это действительно эффективно и совсем не сложно технически - ну что стоит добавить в исходники sshd несколько строк, которые будут писать выполняемые команды в текстовый файл? Куда сложнее заставить админа собрать и запустить самопальную подделку. Но при определенных условиях и навыках в НЛП и эта задача решается за пару минут :). 2. Снифинг данных. Прием достаточно универсален и не требует комментариев. Скажу лишь одно, что лучше всего довериться умным сниферам, которые умеют из груды мусора выгребать заветные логины и пароли. Естественно, прием эффективен только под root-привилегиями. 3. Клавиатурный шпионаж. К счастью, в Linux (а именно на примере этой ОС я буду рассматривать все методы) имеются средства перехвата клавиатурных кодов. Здесь все просто: пишется кернеловый модуль, который, подгружаясь, заменяет несколько системных функций. Все коды, переданные в различные консоли, немедленно логируются в отдельный текстовый файл. Впрочем, о механизме перехвата я расскажу чуть позже. Как видишь, тема перехвата информации не нова. Мне приходится заниматься этим довольно часто, поэтому я уже набил руку в подобном ремесле. Но повторять мои трюки не стоит - я делаю это лишь из любопытства. Безо всяких злых умыслов. Уловил? Тогда поехали дальше :). Правим код приложений Итак, начнем с самого простого случая. Ты не имеешь никаких прав в системе. Точнее кое-какими привилегиями ты обладаешь, но их явно не хватает для перехвата достоверной информации. Есть один прием, который я не раз практиковал. Для его осуществления тебе понадобится пароль от юзера, за которым ты собираешься следить. Цель перехвата: пароль сисадмина либо аккаунт на ssh-соединение. |