Шелл

Материал из Russian Underground
Перейти к: навигация, поиск

Оболочка операционной системы (от англ. shell — оболочка) — интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.

В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (TUI) и графический пользовательский интерфейс (GUI).

Содержание

Общие понятия

Нередко для взлома операционной системы применяются шеллы. Что же это за зверь? По-сути - под этим термином фигурирует два основных понятия:

1. Доступ по SSH.

От англ. "Secure SHell" — «безопасная оболочка»

При работе с операционными системами семейства *nix (Linux, Unix, FreeBSD и т.д.) применяется система удаленного контроля и управления системой. Обычно на 22 порту сервера работает демон (системная служба) которая позволяет при правильном сочетании логин:пароль входить в систему и получать доступ к командному интерпретатору (командная строка). Но не все так просто. Помимо логина и пароля может использоваться система аутентификации на основе ключа. имея такой ключ не нужно вводить ни имя пользователя ни пароль. Так же важно помнить, что ОС семейства *nix построены на четком разграничении прав пользователей. И зачасту, добыв имя пользователя и пароль, вы не становитесь администратором сервера. Вы входите с правами использованного пользователя. Это значит что у вас есть доступ к ограниченному количеству папок, системных утилит и т.д.
Так же необходимо уметь правильно вводить команды. Синтаксис операционных систем отличается, как и расположение системных файлов или файлов конфигураций.
Более подробно можно почитать Wikipedia:SSH, Wikipedia:Bash, Bash Reference Manual, Некоторый список ПО на юникс подобных ОС

2. WEB-Shell

Данное понятие используется наиболее часто. Под ним понимается некий скрипт или набор скриптов, расположенных на атакуемом сервере.
При открытии такого скрипта браузером - открывается специально-сформированная страница, на которой можно вводить команды, просматривать папки и файлы, закачивать новые файлы, редактировать существующие и т.д. В данном случае все напрямую зависит от возможностей скрипта-шелла и настроек сервера. Очень важно знать то, что на большинстве серверов наш скриптовый шелл будет исполняться от имени его обработчика. Так, если наш шелл написан на php, то и исполняться он будет с правами либо текущего пользователя (если установлены соответствующие настройки), либо веб-сервера (apache, nginx, IIS и т.д.).
Web-shell чаще всего бывают написаны на php, хотя встречались экземпляры на perl, lisp, asp и т.д.
Самыми известными представителями этой категории шеллов являются C99-shell и R57-shell.
Самый маленький и простой вариант - создать php файл с следующим содержимым:

<? passthru($command); ?>

А дальше - обращаемся к нашему файлу веб-браузером http://site.ru/shell.php?command=команда_для_исполнения.

Читаем так же:

3. Other

В этом блоке хотелось бы упомянуть некоторые иные способы управления сервером.

Например через бинд-порт. Это по-сути тот же самый ssh, но запущен он через какой-то скрипт/приложение на сервере. Он "слушает" указанный в настройках порт. Может использовать авторизацию по паролю и т.д. Но это не полноценный ssh. Это скрипт который нормальный админ замечает в считанные минуты и удаляет безвозвратно. Хотя часто успешно используется при администраторах-раздолбаях.

Модификация демона SSH - часто используется профессиональными взломщиками. По-сути - это изменение самого демона обслуживающего входящие SSH соединения таким образом, что бы он продолжал правильно функционировать, НО при входе со специальным логином и паролем - не показывал соединение админу и не вел лог-файлов.
Установка Руткита. и т.д.

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Сцена
Материалы
Разное
Donate
Инструменты