#31 Kali Linux для начинающих. Разбираемся с процессами.
Итак, мы постепенно приближаемся к концу второй части курса.
Рассмотрим тему процессов и управлению процессами. Наша задача – понять, как управлять процессами.
Что такое процесс? Процесс-это работающая команда. Когда Вы выполняете команду в линуксе, виндовсе, или в любой другой операционной системе, то вместе с этой командой запускается процесс. Допустим я запустил браузер. В момент запуска браузера запускается процесс этого браузера. Если я запускаю медиаплейер, то запускается процесс медиаплейера. Если я запускаю программу ping, то запускается процесс этой команды. Т.е. процесс – это запущенный экземпляр определенной команды или программы.
Процессы можно просмотреть, поставить на паузу, остановить, убрать в фон, чтобы затем вывести на передний план. Сейчас мы рассмотрим, как все работает. Но для начала, нам нужно разобраться в том, что в Линуксе у определенного процесса существует свой уникальный id.
Также, каждый процесс ассоциирован с пользователем и группой. И если я запущу процесс, как рут-пользователь, то этот процесс будет ассоциирован с рутом. И если «tom» запустит этот процесс, то он будет ассоциирован с томом. У обоих процессов будут разные «id». И само собой, у процессов, которые запустил рут-пользователь, будет больше прав доступа и более широкие возможности управления системой. Очень важно, что если я запустил процесс как рут-пользователь, то у этого процесса или программы, будет больше привилегий и прав доступа к системе и ее ресурсам, поэтому в линуксе и виндовсе не рекомендуется запускать программы, будучи рут-пользователем, особенно, если Вы скачали программу с неизвестного ресурса. Допустим, Вы вошли на сайт, скачали программу, и хотите посмотреть, что она делает. Затем запускаете ее, и это опасно, потому что если Вы запустите ее, как рут-пользователь или как администратор под виндовс, то программа запустится со всеми правами, и у нее будет доступ ко всем ресурсам системы, поэтому рекомендуется использовать профиль пользователя с низкими правами. Если Вам нужно запустить программу, или допустим установить эту программу, то это можно сделать как администратор, а затем, после установки, использовать ее как обычный пользователь.
Таким образом, мы прихожим к совету, который Вам поможет после взлома.
После взлома сервера, Вам нужно будет найти процессы или программы, запущенные рут-пользователем, и узнать, есть ли в этих программах уязвимости. Если они запущены рут-пользователем, и у них есть уязвимости, которые можно эксплуатировать, то Вы сможете получить доступ к системе как рут-пользователь.
Вот некоторые команды, которые используют команды для управления процессами:
Ps – отображает список процессов текущей сессии.
После авторизации выполните ps, чтобы увидеть процессы, которые работают в Вашей сессии.
Ps –f — отображает список процессов в расширенном формате.
Т.е. результат выполнения команды отображается в расширенном формате, и выглядит иначе.
Ps –e – отображает абсолютно все процессы.
Ps – u [username] – отображает процессы определенного пользователя.
Ps – p [PID] – отображает информацию о процессе с этим id.
Давайте посмотрим, как это работает. Я авторизирован как рут-пользователь.
Вводим команду ps:
Как видим, запущено 2 процесса, bash и ps. Bash – это мой шелл, который я сейчас использую, а ps – это процесс, который я только что запустил.
Выполним команду «ps -f», чтобы посмотреть на разницу:
Результат этой команды отличается от результата предыдущей. Нас интересует колонка UID, которой содержится информация о том, какой пользователь запустил какой процесс. Это очень важная информация.
Теперь запустим команду «ps –e»:
И как видим, результат выглядит совсем иначе. Здесь намного больше процессов. Тут указаны все процессы, которые не только запущены пользователем, но и запущены самой системой.
Давайте попробуем объединить опции –e и –f:
Данная команда выдает намного больше деталей. Например, мы можем видеть запущенную программу, а также опции, с которыми она была запущена. Это очень длинный список процессов, запущенный в системе. Я хочу просмотреть процессы, которые были запущены только рут-пользователем. Для этого выполняю команду «ps –u root»:
Как видим, это все процессы, которые были запущены рут-пользователем.
Теперь давайте рассмотрим процессы другого пользователя, например, bob. Команда будет выглядеть как: «ps –u bob»:
И сейчас нет процессов, которые были запущены бобом. Давайте сделаем эксперимент и удаленно авторизируемся в системе. Мне понадобится ос Windows 10 и программа Putty:
Как видим, результат отличается. Появились новые процессы, а именно bob авторизирован в моем шелле на Kali.
Само собой, если я авторизирован как bob, то могу видеть процессы, запущенные рут-пользователем, с помощью той же самой команды «ps –u root»:
Как видим, все эти процессы запущены рут-пользователем.
Давайте запустим команду «ping timcore.ru»:
Перейдем в машину на Kali и введем команду «ps – u bob»:
Как видим, в списке процессов появилась команда «ping».
Допустим, что я хочу убить процесс, ввиду того, что программа зависла и не отвечает. Рассматриваем все тот же процесс ping. Его id – 14131:
Переходим в Putty, и смотрим, что процесс был завершен:
Есть еще один способ завершить программу, но он довольно жесткий, и с ним нужно быть осторожней. Это крайний случай использования, для прекращения работы процесса. Для того, чтобы принудительно завершить процесс, нам понадобится команда: «kill -9 [PID]». Эта команда завершит процесс, вне зависимости от того, как процесс взаимодействует с системой. Будьте осторожны, используя эту команду.
Повторим те же шаги, что и в прошлом примере. Пингуем, далее проверяем id процесса, с помощью команды «ps –u bob»:
Переходим в Windows 10 и видим убитый процесс:
#1 Kali Linux для начинающих. Урок 1 — Основы сетей.
#2 Kali Linux для начинающих. Урок 2 — Горячие клавиши. Часть 1
#3 Kali Linux для начинающих. Урок 2 — Горячие клавиши. Часть 2
#4 Kali Linux для начинающих. Терминал Kali Linux. Часть 1
#5 Kali Linux для начинающих. Терминал Kali Linux. Часть 2
#6 Kali Linux для начинающих. Урок 4 — Root Kali Linux. Часть 1
#7 Kali Linux для начинающих. Root Kali Linux — Часть 2
#8 Kali Linux для начинающих. Основные команды. Часть 1.
#9 Kali Linux для начинающих. Основные команды. Перемещение по директориям. Часть 2.
#10 Kali Linux для начинающих. Основные команды. Создание директорий. Часть 3
#11 Kali Linux для начинающих. Основные команды. Часть 4 — Просмотр содержимого директорий.
#12 Kali Linux для начинающих. Основные команды. Часть 5 — Просмотр содержимого файлов.
#13 Kali Linux для начинающих. Основные команды. Часть 6 — Копируем файлы и директории.
#14 Kali Linux для начинающих. Основные команды. Часть 7 — Перемещаем файлы и директории.
#15 Kali Linux для начинающих. Основные команды. Часть 8 — Удаляем файлы и директории.
#16 Kali Linux для начинающих. Управление пакетами.
#17 Kali Linux для начинающих. Откуда Kali скачивает софт.
#18 Kali Linux для начинающих. Изменения в Kali 2019 относительно APT.
#19 Kali Linux для начинающих. Архивация и сжатие. Часть 1.
#20 Kali Linux для начинающих. Архивация и сжатие. Часть 2.
#21 Kali Linux для начинающих. Архивация и сжатие. Часть 3.
#22 Kali Linux для начинающих. Специальные символы. Часть 1.
#23 Kali Linux для начинающих. Специальные символы. Часть 2
#24 Kali Linux для начинающих. Основы сетей.
#25 Kali Linux для начинающих. Администрирование. Редактирование файлов с помощью Nano.
#26 Kali Linux для начинающих. Превращаем Kali Linux в веб-сервер.
#27 Kali Linux для начинающих. Изменения в файлах конфигурации Kali Linux.
#28 Kali Linux для начинающих. Превращаем Kali Linux в SSH-сервер.
#29 Kali Linux для начинающих. Управление пользователями и группами.
#30 Kali Linux для начинающих. Работаем с правами пользователей.