Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #74, ФЕВРАЛЬ 2005 г.

Шелл – это просто!

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

Хакер, номер #074, стр. 074-070-5


* ftp: ftp-клиент. Очень похож на виндовый, поэтому разобраться в нем – раз плюнуть.

* host: превращает IP-адрес в символьный и наоборот.

* ssh: ssh-клиент. С его помощью ты можешь прицепиться на другие шеллы прямо из консоли! Для этого используй запрос ssh имя_пользователя@ip-шелла.

* telnet: телнет всегда поможет соединиться с любым tcp-портом на произвольном сервере. Я сам использую эту команду по десять раз на дню :). Формат: telnet адрес_сервера порт.

* gcc: встроенный компилятор. Если вдруг тебе захотелось собрать вражеский эксплойт, командуй «gcc exploit.c -o exploit». В итоге ты получишь исполняемый файл exploit в текущем каталоге.

* perl: интерпретатор известного тебе языка программирования :). К примеру, если ты захотел запустить консольный брутфорс на долгий срок, используй команду perl ./bruteforce.pl &. В данном контексте символ «&» стартует переборщик в фоновом режиме. Даже если ты покинешь шелл, твой брутфорс будет работать, работать и работать :).

* find: консольный поиск файлов. Если ты уже вырос из окошечек mc, то эта команда тебе здорово пригодится. Ее основные аргументы – path и filename. Скажем, чтобы найти файл passwd.txt, нужно написать «find / -name passwd.txt». Надо сказать, что команда имеет очень много опций, которые описаны в страницах помощи.

* man: отображение страницы помощи к определенной программе. Допустим, тебе захотелось узнать все опции find’а. Просто скомандуй «man find» и усваивай информацию.

* grep: универсальный фильтр потока. Команда поможет найти нужную строку в указанном файле. Например чтобы отобразить все пароли на paypal-сервис из базы, нужно выполнить запрос grep –i paypal passwd.sql. Здесь опция –i заставляет игнорировать регистр искомого слова.

К сожалению, в одной маленькой статье невозможно уместить все прелести консольной работы. Но толчок к освоению unix я тебе дал. Теперь ты уже не будешь шарахаться от слов «шелл», «аккаунт» и «консоль». После того как ты все-таки выклянчишь доступ к серверу у знакомого админа, ты никогда не затеряешься среди консольных команд и сложных программ. А через пару лет активной работы с консолью ты станешь высококлассным unix-специалистом. А теперь дуй к админу просить аккаунт. Только пиво взять не забудь :).

Дескрипторы и конвейеры

Командная радость была бы неполной, если бы в unix отсутствовало понятие «дескриптор». Для каждого запущенного приложения автоматически определяются три дескриптора: STDIN (входной, 0), STDOUT (выходной, 1) и STDERR (дескриптор ошибок, 2). Чтобы перенаправить какой-либо дескриптор в файл (как это часто и бывает нужно) используется символ «>». По дефолту перенаправляется дескриптор вывода. Скажем, тебе захотелось отправить вывод команды ls в файл listing. Используй команду ls > listing. С find такая штука не прокатит, так как он выводит на экран STDERR, а не STDOUT. Поэтому приходится использовать запрос find / -name "имя" 2 > found. То есть мы заставляем интерпретатор переопределить второй дескриптор в файл found. При использовании символа «>» информация записывается в файл с самого начала. Если ты хочешь дозаписать вывод в документ, юзай конструкцию «>>».

Назад на стр. 074-070-4  Содержание  Вперед на стр. 074-070-6