![]() |
https://forum.antichat.xyz/attachmen...4ebf70be86.png
Введение Будучи профессионалами или же учениками в своей сфере, мы используем дистрибутив линукса Kali Linux в качестве арсенала для тестирования на проникновение, поэтому должны знать, как обращаться с данной системой. Мы рассмотрим наиболее распространённые команды а также утилиты для более красивого взаимодействия. Цель данной статьи структуризировать информацию для быстрого понимания, а также сохранить важное на одной странице. Информация о хосте Linux Чтобы отобразить имя хоста Kali Linux, просто введите команду hostname в окне терминала. Bash: Код:
hostnameЕсли вы хотите изменить имя хоста 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: Код:
sudoBash: Код:
sudoУправление запущенными сервисами Сервисы - это серверы, которые могут работать в вашем Linux, такие как SSH, web, FTP и т.д. (я их называю демонами) Есть несколько способов запустить демона: Базовый - Код:
systemctl start sshКод:
service ssh starthttps://forum.antichat.xyz/attachmen...5743604844.png https://forum.antichat.xyz/attachmen...babf1e6b88.png Чтобы получить статус демона, можно ввести следующую команду: Код:
systemctl status sshУбить демона: Код:
systemctl stop sshПерезапустить демона: Код:
systemctl restart sshВключить автоматический запуск демона при старте системы: Код:
systemctl enable sshВыключить автоматический запуск демона при старте системы: Код:
systemctl disable sshИспользуйте ключ --now чтобы не запускать демона после активирования его в автозапуск Управление пакетами Файл конфигурации для репозитория Kali находится по адресу/etc/apt/sources.list. Для того, чтобы обновить нашу систему нужно ввести две команды: Bash: Код:
sudoКод:
sudoBash: Код:
sudoЦитата:
Команда update только обновляет список пакетов последними версиями, но не устанавливает или обновляет сами пакеты. А upgrade обновит и установит последнии версии пакетов, которые были получены с помощью команды update. Также возможно обновление системы полностью: Код:
sudo apt update && sudo apt full-upgrade -yКод:
dpkg -lА как устанавливать пакеты на свой Linux? Есть 2 способа: Первый - с помощью команды apt install, второй - dpkg. Если первый крайне простой: Код:
sudo apt-get install [ИМЯ ПАКЕТА]то, во втором способе немного сложнее: Код:
sudo dpkg -i [ИМЯ ПАКЕТА]Но перед тем как установить данный пакет, его нужно найти в интернете. Файлик с расширением .deb . Удаление происходит практически таким же методом как и установки. Код:
sudo apt remove [ИМЯ ПАКЕТА]В некоторых случаях вам потребуется применить способ установки configure/make, в таком случае используйте эти команды: Код:
./configure && make && make installКак найти пакет? Можно выполнить поиск пакетов репозитория: Код:
sudo apt-cache search keyword [Ключевое слово для поиска]Если вы хотите установить пакет и не уверены, что существует он в репозиториях, используйте эту команду: Код:
sudo apt-cache show [ИМЯ ПАКЕТА]Управление процессами Для управления процессами мы можем использовать предустановленный top. Но как по мне его вывод не очень красив, поэтому мы потратим пару секунд и установим его лучшую версию. Код:
sudo apt install htop -yПосле установки пишем просто htop и теперь мы можем ведить список запущенных процессов. Если вы внимательно читали начало этой статьи, то задались вопросом. На картинке для отображения процессов используют команду ps, мы используем htop и top. Почему? Просто потому что удобнее) Можно также использовать ps с ключами и выводить информацию, а если добавить команду grep, мы сможем находить процессы и убивать их. Код:
ps aux | grep '[ИМЯ ПАКЕТА]'Кстати, а как их убивать? Код:
kill -9 [PID ПАКЕТА]Что-то вроде диспетчера задач windows. Управление пользователями и группами в Linux Понимать команды для управления пользователями и группами важно, поскольку вы будете использовать эту информацию для повышения привилегий в будущем. Пользователи с низким уровнем привилегий должны добавлять к командам sudo для выполнения системных команд(и пользователь с низким уровнем привелегий должен входить в группу sudoдля выполнения sudo). Вам будет предложено ввести пароль вашей учётной записи, если вы захотите использовать команду sudo. Давайте создадим нового пользователя и добавим его в группу sudo(эти команды будут работать только от root или от пользователя уже состоящему в группе sudo): Код:
useradd -m username -G sudo -s /bin/bashПароль: Код:
passwd usernameДля того чтобы понять, с какими вы правами сейчас авторизованы, посмотрите на свой никнейм в терминале, вы увидите похожее на это: Код:
delifer@kali ~$Цитата:
Код:
sudo -lТакже можно посмотреть список пользователей, которые в настоящее время вошли в систему, используйте: Код:
whoЧтобы удалить пользователя: Код:
sudo userdel usernameМожно также посмотреть последних авторизованных пользователей с помощью команды last. Вся информация о пользователях в системе Linux храниться в файле конфигурации /etc/passwd. Используя команду cat, мы можем посмотреть содержимое. Для создания и добавления пользователей в группы используйте следующие команды: Код:
sudo groupadd [ИМЯ ГРУППЫ]Код:
sudo usermod -aG [ИМЯ ГРУППЫ] [ПОЛЬЗОВАТЕЛЬ]Чтобы вывести список всех групп созданных в системе, прочитайте файл/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 '[ИМЯ ФАЙЛА\ДИРЕКТОРИИ\СКРИПТА]'Редактировать права можо командой chmod: Код:
chmod 774 [ИМЯ ФАЙЛА\ДИРЕКТОРИИ\СКРИПТА]Цитата:
Существует несколько способов поиска файлов в Linux. Три основых - это команды locate, find и which. Команда locate хранит свои данные в базе данных, потому при поиске работает быстрее. Для начала нужно её обновить: Код:
updatedbТеперь можем использовать команду locate: Код:
locate [ИМЯ ФАЙЛА]Если результатов слишком много, используйте ключ -n для того, чтобы ограничить вывод. Комбинируйте это с командой grep. https://forum.antichat.xyz/attachmen...3698177297.png Чтобы найти путь к файлу, введите команду which. Она использует переменную среды $PATH для поиска результатов. Преимущество команды find является её возможность добавлять более детальные фильтры, что найти что-то. Например, чтобы найти файл в корневом каталоге, можно использовать: Код:
find /home/user/ -name "file.txt"Или, если вы хотите найти большие файлы, то можно воспользоваться ключом -size: Код:
find / -size +1G 2> /dev/nullЦитата:
Код:
find / -perm -u=s -type f 2>/dev/nullЗапуск SSH и добавление его в автозагрузку делается следующими командами: Код:
sudo systemctl enable ssh --nowДля остановки демона замените start на stop, для перезапуска restart, для вывода статуса - status. По умолчанию порт работы SSH - 22. По умолчанию, все пользователи, кроме root, могут удалённо осуществлять вход по SSH: Код:
ssh username@IP -p 22Пока что мне некуда подключаться Как пользоваться SSH без пароля? С помощью открытого и закрытого ключей удалённый пользователь может войти в систему по SSH. Это более безопасно, чем использовать пароль, так как никто не сможет использовать метод брутфорс. Сначала мы генерируем открытый и закрытый кллюч на нашей клиентской ОС: Код:
shh-keygen -t rsa -b 4096Цитата:
Проверим директорию, в которой эти файлы были сохранены (/home//.ssh/). Теперь нужно отправить копию файла открытого ключа id_rsa.pub на kali. В этом примере мы будем использовать имя пользователя и пароль root для копирования файла открытого ключа: Код:
ssh-copy-id root@148.85.5.228Проверить, что ключ действительно был добавлен можно в файле authorized_keys. https://forum.antichat.xyz/attachmen...3698493663.png Затем мы можем отредактировать файл конфигурации SSH(/etc/ssh/sshd_config) в Kali, чтобы разрешить аутентификацию с открытым ключом: Bash: Код:
PubkeyAuthenticationGit Как настоящий специалист, мы обязаны уметь пользоваться git, хотя бы создавать и загружать и клонировать репозитории. Начнём с создания файла с кодом: Код:
touch script.pyКод:
git initДалее добавляем файлы которые мы хотим загрузить: Код:
git add script.pyКомментируем наше изменение: Код:
git commit -m "First version"Теперь добавим ветку мастер в нашу директорию чтобы он сразу загружался туда: Код:
git remote add origin https:/exmaple.org/Delifer313/some_code.gitи делаем пуш нашего кода на сервер. https://forum.antichat.xyz/attachmen...3699372284.png Готово, теперь научимся клонировать репозитории: Код:
git clone https://github.com/nmap/nmapНа этом всё, код клонирован и можно изучать, менять, запускать. Работа с архивами Мы часто будем обмениваться какими-то файлами, будто с основной машино, будто с сервером и т.д. Поэтому для экономии места и нервов, мы будем осваивать архивы. Итак, как создать архив с какими-то файлами? Код:
tar -cvf archive.tar file1.txt file2.cКод:
tar -tf archive.tarКод:
tar -xvf archive.tarКод:
tar -xvf archive.tar -С /home/delifer/DesktopКод:
tar -czvf archive.tar.gz file1.txt file2.cКод:
tar -xzvf archive.tar.gzДанная статья начальный путь, толчок в мир Linux и Пентеста для совсем уж новеньких ребят. Я надеюсь что для кого-то она будет полезной. Раздел Работы с архивами остался без картинок ибо я превысил лимит по картинкам =(. Больше о Linux и крутых утилитах для пентеста в сообществе античат в Telegram!!! Всем пока! |
| Время: 07:17 |