Команды
для удалённой атаки в Linux
Итак,
ты каким-либо методом имеешь доступ к Linux-консоли твоего прова (Telnet
/ WWW) и весьма желательно FTP доступ к удалённому серверу. С этой
задачей можно очень быстро справиться, это несложно, а дальше возникает
вопрос: что можно сделать, если можешь управлять сервером (любыми
правами)?
Рассмотрим
ряд возможностей, которые помогут тебе узнать очень много дыр в сервере
твоего провайдера, а при удачном стечении обстоятельств даже порутить
/ завесить сервак.
Если ты в совершенстве знаешь Linux - все его особенности, местоположение
config-файлов и команды, то можешь не читать эту статью - всё, что
написано здесь, ты уже знаешь. Ну, а если ты начинающий юниксоид и
стремишься познать особенности данной OS, то эта статья для тебя.
Итак, приступим.
1.
Поиск. Только поиск.
Админы - народ рассеянный, это знают все. У них нет времени даже на
то, чтобы поставить защитный атрибут на файл с паролями или другой
ценной информацией и эта информация может быть разбросана по всему
серверу. Постараемся воспользоваться этим недостатком.
На помощь всегда приходит замечательная команда find. Она позволяет
найти файлы по какому-то схожему признаку (дата создания, атрибут,
имя файла, etc). Это нам и нужно. Ты не задавал себе вопроса: нет
ли на сервере ненужной копии shadow с атрибутом 644 ? ;)
Формат команды find: find <директория начала поиска> <шаблон
значение>
Шаблоны бывают разные, вот некоторые из них:
name - поиск по имени
user - поиск на принадлежность к какому-либо пользователю
group - аналогично, только с группой.
perm - поиск по атрибуту
type - поиск по типу (l - ссылка, f - файл, d - директория)
А
теперь самое интересное: посмотрим, нет ли копии shadow на сервере
:) Набираем команду либо через cgi-скрипт, либо в telnet`е
http://yourprov.com/path/to/script/test.pl?find -type f -name shadow
Ждём минуты 2 и смотрим на ответ сервера. Если будет что-то вроде:
/etc/shadow
/home/admin/svalka/test/shadow
то ты натолкнулся на копию password-файла. Тебе стоит только набрать:
http://yourprov.com/path/to/script/test.pl?cat /home/admin/svalka/test/shadow
и запустить John the Ripper на полную мощность ;)
2.
Авторизация для сервисов.
Большинство сервисов в Linux требуют авторизации и их passwd-файлы
также могут лежать на сервере с аккаунтами пользователей (порой даже
незашифрованных). Пример: uucp, webmin, sockd и многие другие сервисы.
Чтобы посмотреть, а не запущены ли они на сервере, просто выполни
команду "ps ax" и ищи нечто похожее на программу-сервис.
Допустим ты обнаружил, у твоего прова работает uucp (unix to unix
connect protocol). Щупай каталог /etc/uucp на предмет файла passwd
(с 90% вероятностью он там есть) и выводи его на экран (только слюной
не захлебнись от жадности ;) ).
3.
Безопасность превыше всего.
Если ты не хочешь наткнуться на своего админа, то всегда пользуйся
командой "w" или "who". Эта команда выводит зарегистрированных
в системе в данный момент пользователей и если ты увидел нечто:
root
pts/0 11:00pm 44:25 0.05s ? -
то
значит твой админ сейчас усердно рутит сервак :) и может, кстати,
засечь и тебя простой командой (ps ax|grep perl), но перед тем, как
закрыть твой IE aka броузер, ты можешь немного подшутить над админом
и даже вызвать у него сердечный приступ :)
Ты не знаешь, что будет, если ты заюзаешь команду: echo \"The
system is going down for halt NOW!\" > /dev/pts/0 ? Объясняю.
Вся лабуда, которую ты напишешь между \" и \" выведется
на консоль твоего доброго дяди админа, который, нервно передёрнется
от совершенно внезапно выползшей строчки (кому приятно идти на ATC
и поднимать сервер? правильно! никому:) ). Но эта шутка чревата некоторыми
плачевными для тебя последствиями, поэтому я тебе ничего не говорил
=)
4.
И в заключении...
Что тебе сказать... Твоя цель надыбать root пароль и входить в консоль
под telnet или SSH протоколом ;) Это твоя заветная цель :) И совет
тебе, если ты найдёшь его, не нужно сразу делать "rm -rf /".
Пожалей админа :))