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

Подложи свинью в консоль

Докучаев Дмитрий aka Forb

Хакер, номер #070, стр. 070-114-2


.ls собственной персоной

#!/bin/sh

if [ "$*" == "" ]

then

echo -e "\033[01;32m0day-exploit\t\t\t\033[00;mmremap.c\n\033[01;32m7350fun\t\t\t\t\033[01;31moral_sex.mpg"

echo -e "all-logwipers.tgz\t\t\033[00;mpasswords.crk\n\033[01;31manal_sex.avi\t\t\t\033[01;34mporno"

.......

exit

fi

/bin/ls --color=auto $*

Необходимо знать, что служебная переменная $* хранит в себе аргументы команды. Ее мы, собственно, и анализируем. Для цветопечати нужно воспользоваться конструкцией \033[код_фона;код_цвета+m. Вся сложность прикола в том, что тебе потребуется грамотно выстроить и окрасить цепочку файлов. Результат поражает! Проверено на реальных жертвах.

Злополучные каталоги

Если тебе кажется, что прикол с ls не выведет жертву из себя, можно попробовать насолить коллеге с помощью команды cd. Интересно, как нормальный человек отреагирует на то, что из-за перехода в каталог стали бы удаляться файлы во всех папках? :). Пришло время это проверить. Прописывай второй алиас в виде alias cd=~/.tmp/.cd и приступай к кодингу смертельного сценария.

На самом деле ничего удалять мы не будем, просто припугнем юзера, что вся его информация может полететь к чертовой матери, и не забудем перехватить сигнал SIGINT (который, как известно, посылается при нажатии Ctrl+C). Все это реально сделать в маленьком bash-скрипте.

Запусти cd и попрощайся с системой

#!/bin/sh

trap true SIGINT

DIRS=`/bin/ls -1 /`

for each in $DIRS

do

echo "rm: cannot remove directory \`/$each': Is a directory"

rand=$((RANDOM%10+1))

sleep $rand

done

Первым делом мы перехватили сигнал. Это осуществляется шелловой командой trap, которой передаются два параметра: команда, выполняемая после прихода сигнала, и сам сигнал. Далее выполняем листинг корневого каталога и загоняем вывод в переменную. Затем создаем цикл по каждой строчке переменной (а строка – название папки в корне) и оповещаем юзера, что внутренности системы незамедлительно удаляются (лишь верхним папкам удается уцелеть :)). Чтобы жертва не приняла удаление за прикол, генерируем случайное число от 1 до 10 и молчим все это время. В итоге создается реальное ощущение работы с каталогами ;).

Угадай, что сделает юзер в первую очередь, как увидит подобное сообщение? Разумеется, нажмет Ctrl+C. Но не тут-то было! Перехват сделает свое дело и не даст команде аварийно завершиться. Юзер напрасно тратит нервы на убийство роковой команды, бьет кулаками по клавиатуре и монитору и кричит благим матом :). Зрелище, которое ты так давно хотел увидеть.

Он выключил сервер!

Что делают работники в консоли? Правильно, работают :). Корректируют документы, компилят различные сценарии и никчемные проекты. Пришло время нарушить их рабочую идиллию и вмешаться в процесс грязными хакерскими руками: создать алиас на профессиональный редактор vi, которым пользуются особо одаренные линуксоиды. Этот скрипт внушит твоему любимому коллеге мысль, от которой у него может пропасть дыхание и желание жить :). На его экране появится сообщение, характерное для процесса завершения работы, консоль повиснет, а ты и твои заранее предупрежденные сотрудники повернетесь к нему и начнете «благодарить» разными словами. Ведь он только что… удаленно уронил сервер!

Назад на стр. 070-114-1  Содержание  Вперед на стр. 070-114-3