ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Threat Intel (https://forum.antichat.xyz/forumdisplay.php?f=25)
-   -   Управление системой Kali Linux как профи (https://forum.antichat.xyz/showthread.php?t=584381)

delifer 09.12.2024 03:25

https://forum.antichat.xyz/attachmen...4ebf70be86.png

Введение
Будучи профессионалами или же учениками в своей сфере, мы используем дистрибутив линукса Kali Linux в качестве арсенала для тестирования на проникновение, поэтому должны знать, как обращаться с данной системой. Мы рассмотрим наиболее распространённые команды а также утилиты для более красивого взаимодействия. Цель данной статьи структуризировать информацию для быстрого понимания, а также сохранить важное на одной странице.

Информация о хосте Linux
Чтобы отобразить имя хоста Kali Linux, просто введите команду hostname в окне терминала.

Bash:


Код:

hostname
https://forum.antichat.xyz/attachmen...a3286a9e88.png

Если вы хотите изменить имя хоста kali, то вам нужно отредактировать файл конфигурации (/etc/hostname)

Информация об ОС Linux
Знание информации об ОС хоста Linux имеет решающее значение для повышения привилегий. Таким образом вы узнаете, уязвима ли версия.
Чтобы отображать информацию об ОС Linux, можно использовать команду unameили выведите содержимое файла /etc/issue.

https://forum.antichat.xyz/attachmen...343a489d41.png

Вот красивая схема, где показано какие файлы конфигурации открывать для просмотра информации.

https://forum.antichat.xyz/attachmen...78/3111111.png

Если вы хотите красивое оформления вывода информации о вашей системе, установите neofetch.

Arch-дистрибутивы:

Bash:


Код:

sudo
pacman -S neofetch

debian-дистрибутивы:

Bash:


Код:

sudo
apt-get
install
neofetch

https://forum.antichat.xyz/attachmen...2c03525cb5.png

Управление запущенными сервисами
Сервисы - это серверы, которые могут работать в вашем Linux, такие как SSH, web, FTP и т.д. (я их называю демонами)
Есть несколько способов запустить демона:
Базовый -
Код:

systemctl start ssh
Упрощённый -
Код:

service ssh start


https://forum.antichat.xyz/attachmen...5743604844.png

https://forum.antichat.xyz/attachmen...babf1e6b88.png

Чтобы получить статус демона, можно ввести следующую команду:

Код:

systemctl status ssh
https://forum.antichat.xyz/attachmen...2f42de5e98.png

Убить демона:

Код:

systemctl stop ssh
https://forum.antichat.xyz/attachmen...922fbe1edb.png

Перезапустить демона:

Код:

systemctl restart ssh
https://forum.antichat.xyz/attachmen...63ea69b8fc.png

Включить автоматический запуск демона при старте системы:

Код:

systemctl enable ssh
https://forum.antichat.xyz/attachmen...5d108b0a56.png

Выключить автоматический запуск демона при старте системы:

Код:

systemctl disable ssh
https://forum.antichat.xyz/attachmen...692a007338.png

Используйте ключ --now чтобы не запускать демона после активирования его в автозапуск

Управление пакетами
Файл конфигурации для репозитория Kali находится по адресу/etc/apt/sources.list.
Для того, чтобы обновить нашу систему нужно ввести две команды:

Bash:


Код:

sudo
apt-get
update

Bash:


Код:

sudo
apt-get
upgrade -y

или можно сократить до одной команды:

Bash:


Код:

sudo
apt-get
update
&&
apt-get
upgrade

https://forum.antichat.xyz/attachmen...c09dc2ce7b.png

Цитата:


где, -у - ключ который соглашается на всё за нас.


В чём разница между update и upgrade?
Команда update только обновляет список пакетов последними версиями, но не устанавливает или обновляет сами пакеты. А upgrade обновит и установит последнии версии пакетов, которые были получены с помощью команды update.

Также возможно обновление системы полностью:

Код:

sudo apt update && sudo apt full-upgrade -y
Чтобы вывести список всех установленных пакетов, используйте команду:

Код:

dpkg -l
https://forum.antichat.xyz/attachmen...128c3583a7.png

А как устанавливать пакеты на свой Linux? Есть 2 способа: Первый - с помощью команды apt install, второй - dpkg.
Если первый крайне простой:

Код:

sudo apt-get install [ИМЯ ПАКЕТА]
https://forum.antichat.xyz/attachmen...3696714292.png

то, во втором способе немного сложнее:

Код:

sudo dpkg -i [ИМЯ ПАКЕТА]
https://forum.antichat.xyz/attachmen...3696837800.png

Но перед тем как установить данный пакет, его нужно найти в интернете. Файлик с расширением .deb .

Удаление происходит практически таким же методом как и установки.

Код:

sudo apt remove [ИМЯ ПАКЕТА]
https://forum.antichat.xyz/attachmen...3696931526.png

В некоторых случаях вам потребуется применить способ установки configure/make, в таком случае используйте эти команды:

Код:

./configure && make && make install
https://forum.antichat.xyz/attachmen...3697229175.png

Как найти пакет? Можно выполнить поиск пакетов репозитория:

Код:

sudo apt-cache search keyword [Ключевое слово для поиска]
https://forum.antichat.xyz/attachmen...3697446054.png

Если вы хотите установить пакет и не уверены, что существует он в репозиториях, используйте эту команду:

Код:

sudo apt-cache show [ИМЯ ПАКЕТА]
https://forum.antichat.xyz/attachmen...3697484498.png

Управление процессами
Для управления процессами мы можем использовать предустановленный top. Но как по мне его вывод не очень красив, поэтому мы потратим пару секунд и установим его лучшую версию.

Код:

sudo apt install htop -y
https://forum.antichat.xyz/attachmen...3697543125.png

После установки пишем просто htop и теперь мы можем ведить список запущенных процессов.
Если вы внимательно читали начало этой статьи, то задались вопросом. На картинке для отображения процессов используют команду ps, мы используем htop и top. Почему? Просто потому что удобнее) Можно также использовать ps с ключами и выводить информацию, а если добавить команду grep, мы сможем находить процессы и убивать их.

Код:

ps aux | grep '[ИМЯ ПАКЕТА]'
https://forum.antichat.xyz/attachmen...3697642541.png

Кстати, а как их убивать?

Код:

kill -9 [PID ПАКЕТА]
https://forum.antichat.xyz/attachmen...3697679395.png

Что-то вроде диспетчера задач windows.

Управление пользователями и группами в Linux
Понимать команды для управления пользователями и группами важно, поскольку вы будете использовать эту информацию для повышения привилегий в будущем.
Пользователи с низким уровнем привилегий должны добавлять к командам sudo для выполнения системных команд(и пользователь с низким уровнем привелегий должен входить в группу sudoдля выполнения sudo). Вам будет предложено ввести пароль вашей учётной записи, если вы захотите использовать команду sudo.
Давайте создадим нового пользователя и добавим его в группу sudo(эти команды будут работать только от root или от пользователя уже состоящему в группе sudo):

Код:

useradd -m username -G sudo -s /bin/bash
https://forum.antichat.xyz/attachmen...3697782951.png

Пароль:

Код:

passwd username
https://forum.antichat.xyz/attachmen...3697810347.png

Для того чтобы понять, с какими вы правами сейчас авторизованы, посмотрите на свой никнейм в терминале, вы увидите похожее на это:

Код:

delifer@kali ~$
Цитата:


Где, $ - обычный пользователь с малыми правами, # - пользователь с большими правами.


Чтобы узнать права текущего пользователя в контексте команды sudo, можно ввести:

Код:

sudo -l
https://forum.antichat.xyz/attachmen...3697840524.png

Также можно посмотреть список пользователей, которые в настоящее время вошли в систему, используйте:

Код:

who
https://forum.antichat.xyz/attachmen...3697851905.png

Чтобы удалить пользователя:

Код:

sudo userdel username
https://forum.antichat.xyz/attachmen...3697864981.png

Можно также посмотреть последних авторизованных пользователей с помощью команды last.
Вся информация о пользователях в системе Linux храниться в файле конфигурации /etc/passwd. Используя команду cat, мы можем посмотреть содержимое.
Для создания и добавления пользователей в группы используйте следующие команды:

Код:

sudo groupadd [ИМЯ ГРУППЫ]
https://forum.antichat.xyz/attachmen...3697957928.png

Код:

sudo usermod -aG [ИМЯ ГРУППЫ] [ПОЛЬЗОВАТЕЛЬ]
https://forum.antichat.xyz/attachmen...3697978437.png

Чтобы вывести список всех групп созданных в системе, прочитайте файл/etc/group.

https://forum.antichat.xyz/attachmen...3698017833.png

Чтобы перечислить все учётные данные пользоваьтеля в Linux, вы можете прочитать файл /etc/shadow. Используйте команду grep, чтобы получить учётные данные пользователя для пользователя user.

Основные команды Linux
Если вам нужна справка по любой команде, которую вы хотите выполнить, то просто добавьте к ней -h или --help (некоторые команды требуют, чтобы вы использовали только одну из них).
Например, если хотите увидеть различные параметры команды cat, то введите cat --help.

lsпросмотр файлов в директорииcdперемещение по директориямexitВыход из терминала/пользователяcat\lessпросмотр содержимого файлаmvпереместить файл\переименоватьcpкопиро ать файлnano\vimконсольные текстовые редакторыreboot\poweroffПерезагр зка\Выключение ПКsudoВыполение команды с высокими правамиchmodУстановить параметры доступа к файлам\директориямtouchСозда ть файл

Права доступа в Linux
В правах доступа для файлов и каталогов применяется одинаковый принцип. В целях упрощения права доступа разделены на три категории:

Код:

r - чтение: 4;
Код:

w - запись: 2;
Код:

x - исполнение: 1;
Для установки прав доступа используется такой шаблон:

Код:

[User:r/w/x] [Group:r/w/x] [All:r/w/x]
Для просмотра прав для файла\директории\скрипта используйте команду:

Код:

ls -la | grep '[ИМЯ ФАЙЛА\ДИРЕКТОРИИ\СКРИПТА]'
https://forum.antichat.xyz/attachmen...3698065289.png

Редактировать права можо командой chmod:

Код:

chmod 774 [ИМЯ ФАЙЛА\ДИРЕКТОРИИ\СКРИПТА]
Цитата:


Почему 774? Ответ: Мы прибегли с следующей формуле User/Group/All:4+2+1, где 4 - чтение, 2 - запись, 1 - исполнение. 4+2+1=7


Поиск файлов в Linux
Существует несколько способов поиска файлов в Linux. Три основых - это команды locate, find и which.
Команда locate хранит свои данные в базе данных, потому при поиске работает быстрее.
Для начала нужно её обновить:

Код:

updatedb
https://forum.antichat.xyz/attachmen...3698145512.png

Теперь можем использовать команду locate:

Код:

locate [ИМЯ ФАЙЛА]
https://forum.antichat.xyz/attachmen...3698164081.png

Если результатов слишком много, используйте ключ -n для того, чтобы ограничить вывод. Комбинируйте это с командой grep.

https://forum.antichat.xyz/attachmen...3698177297.png

Чтобы найти путь к файлу, введите команду which. Она использует переменную среды $PATH для поиска результатов.
Преимущество команды find является её возможность добавлять более детальные фильтры, что найти что-то.
Например, чтобы найти файл в корневом каталоге, можно использовать:

Код:

find /home/user/ -name "file.txt"
https://forum.antichat.xyz/attachmen...3698226679.png

Или, если вы хотите найти большие файлы, то можно воспользоваться ключом -size:

Код:

find / -size +1G 2> /dev/null
https://forum.antichat.xyz/attachmen...3698252502.png

Цитата:


2> /dev/null очистит вывод и отфильтрует ошибки


Можно также найти файлы setuid в Linux для повышения привелегий:

Код:

find / -perm -u=s -type f 2>/dev/null
SSH
Запуск SSH и добавление его в автозагрузку делается следующими командами:

Код:

sudo systemctl enable ssh --now
https://forum.antichat.xyz/attachmen...3698303500.png

Для остановки демона замените start на stop, для перезапуска restart, для вывода статуса - status.
По умолчанию порт работы SSH - 22.
По умолчанию, все пользователи, кроме root, могут удалённо осуществлять вход по SSH:

Код:

ssh username@IP -p 22
https://forum.antichat.xyz/attachmen...3698328040.png

Пока что мне некуда подключаться

Как пользоваться SSH без пароля?
С помощью открытого и закрытого ключей удалённый пользователь может войти в систему по SSH. Это более безопасно, чем использовать пароль, так как никто не сможет использовать метод брутфорс.
Сначала мы генерируем открытый и закрытый кллюч на нашей клиентской ОС:

Код:

shh-keygen -t rsa -b 4096
https://forum.antichat.xyz/attachmen...3698406302.png

Цитата:


где, -t rsa - обозначает тип ключа, который нужно сгенерировать. RSA наиболее распространённый алгоритм. -b 4096 - этот ключ, указывает кол-во бит в создаваемом ключе.


При выполнении этих шагов у нас запросили ввести кодовую фразу. Эта фраза будет использована для повышения безопасности при удалённом входе по SSH.
Проверим директорию, в которой эти файлы были сохранены (/home//.ssh/).
Теперь нужно отправить копию файла открытого ключа id_rsa.pub на kali.
В этом примере мы будем использовать имя пользователя и пароль root для копирования файла открытого ключа:

Код:

ssh-copy-id root@148.85.5.228
https://forum.antichat.xyz/attachmen...3698453091.png

Проверить, что ключ действительно был добавлен можно в файле authorized_keys.

https://forum.antichat.xyz/attachmen...3698493663.png

Затем мы можем отредактировать файл конфигурации SSH(/etc/ssh/sshd_config) в Kali, чтобы разрешить аутентификацию с открытым ключом:

Bash:


Код:

PubkeyAuthentication
yes
PasswordAuthentication no

Перезапустим ssh демона и можем подключаться!

Git
Как настоящий специалист, мы обязаны уметь пользоваться git, хотя бы создавать и загружать и клонировать репозитории.
Начнём с создания файла с кодом:

Код:

touch script.py
и инициализируем git

Код:

git init
https://forum.antichat.xyz/attachmen...3699127707.png

Далее добавляем файлы которые мы хотим загрузить:

Код:

git add script.py
https://forum.antichat.xyz/attachmen...3699183542.png

Комментируем наше изменение:

Код:

git commit -m "First version"
https://forum.antichat.xyz/attachmen...3699228653.png

Теперь добавим ветку мастер в нашу директорию чтобы он сразу загружался туда:

Код:

git remote add origin https:/exmaple.org/Delifer313/some_code.git
https://forum.antichat.xyz/attachmen...3699335828.png

и делаем пуш нашего кода на сервер.

https://forum.antichat.xyz/attachmen...3699372284.png

Готово, теперь научимся клонировать репозитории:

Код:

git clone https://github.com/nmap/nmap
https://forum.antichat.xyz/attachmen...3699515988.png

На этом всё, код клонирован и можно изучать, менять, запускать.

Работа с архивами
Мы часто будем обмениваться какими-то файлами, будто с основной машино, будто с сервером и т.д. Поэтому для экономии места и нервов, мы будем осваивать архивы. Итак, как создать архив с какими-то файлами?

Код:

tar -cvf archive.tar file1.txt file2.c
Для просмотра содержимого внутри архива используем команду:

Код:

tar -tf archive.tar
Ну и распаковываем:

Код:

tar -xvf archive.tar
Для того, чтобы распаковать файлы в определённую директорию используйте ключ -С:

Код:

tar -xvf archive.tar -С /home/delifer/Desktop
Но это обычные архивы, а мы собираемся отправлять эти файлы по сети, нам нужно их сжать, и gzip с этим отлично справится.

Код:

tar -czvf archive.tar.gz file1.txt file2.c
Ну и распаковка:

Код:

tar -xzvf archive.tar.gz
Заключение
Данная статья начальный путь, толчок в мир Linux и Пентеста для совсем уж новеньких ребят. Я надеюсь что для кого-то она будет полезной. Раздел Работы с архивами остался без картинок ибо я превысил лимит по картинкам =(. Больше о Linux и крутых утилитах для пентеста в сообществе античат в Telegram!!!
Всем пока!


Время: 07:17