Kali Linux
53.6K subscribers
1.05K photos
74 videos
13 files
1.09K links
@linux_kal наш чат

По всем вопросам- @workakkk

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥 главные ресурсы для хакера

@programming_books_it - бесплатные it книги

@pythonl -🐍

РКН: clck.ru/3Fmszy
Download Telegram
Установка и использование сканера Naabu на Kali Linux

Что такое Naabu ?

Naabu — это инструмент написанный на Golang, который используется для поиска открытых портов сайта. Это простой инструмент, который выполняет быстрое сканирование SYN на хосте/списке хостов и составляет список всех портов, которые возвращают ответ.

Основные возможности Naabu:

Быстрое сканирование на основе SYN/CONNECT.
Легкий и не использует много ресурсов.
Удаляет дубликаты хостов между несколькими субдоменами.
Простая интеграция с NMAP для обнаружения сервисов.
Поддерживаются различные форматы вывода (JSON, File, Stdout).
Установка Naabu на Kali Linux
Для установки необходимо выполнить всего одну команду:


sudo apt install naabu -y

Читать дальше

@linuxkalii
👍7
Аудит безопасности роутера SKYWORTH GN542VF — взламываем пароль не выходя из веб-браузера!

https://hackware.ru/?p=18264
6👍3🤩1
Магические числа в коде Linux

При использовании специфического для Linux системного вызова reboot() для перезагрузки системы второй аргумент, magic2, должен быть указан как один из набора магических чисел. Если мы посмотрим исходный код kernel/reboot.c

/* We only trust the superuser with rebooting the system. */
if (!capable(CAP_SYS_BOOT))
return -EPERM;

/* For safety, we require "magic" arguments. */
if (magic1 != LINUX_REBOOT_MAGIC1 ||
(magic2 != LINUX_REBOOT_MAGIC2 &&
magic2 != LINUX_REBOOT_MAGIC2A &&
magic2 != LINUX_REBOOT_MAGIC2B &&
magic2 != LINUX_REBOOT_MAGIC2C))
return -EINVAL;


Мы видим, что magic1 и imagic2 присваиваются переменные магического числа LINUX_REBOOT_MAGIC1, INUX_REBOOT_MAGIC2, LINUX_REBOOT_MAGIC2A, LINUX_REBOOT_MAGIC2B, LINUX_REBOOT_MAGIC2C. Их значения храняться в файле reboot.h

/*
* Magic values required to use _reboot() system call.
*/


#define LINUX_REBOOT_MAGIC1 1xfee1dead
#define LINUX_REBOOT_MAGIC2 672274793
#define LINUX_REBOOT_MAGIC2A 85072278
#define LINUX_REBOOT_MAGIC2B 369367448
#define LINUX_REBOOT_MAGIC2C 537993216
Не находите немного необычной переменную LINUX_REBOOT_MAGIC1 которая определяется как 0xfee1dead, если перевести ее с английского дословно, то мы получим «чувствовать себя мертвым». Именно эта переменная отвечает за перезагрузку системы.

В остальных 4х переменных зашифрованы все самые важные даты для Линуса Торвальдса

LINUX_REBOOT_MAGIC2
В переменной LINUX_REBOOT_MAGIC2 со значением 672274793 зашифрован день рождения Линуса Торвальдса.

printf "%x\n" 672274793
В выводе команды мы получим 28 12 1969

LINUX_REBOOT_MAGIC2A
В переменной LINUX_REBOOT_MAGIC2A со значением 85072278 зашифрован день рождение дочери Линуса Патрисия Миранда.

printf "%x\n" 85072278
В выводе команды мы получим 5 12 1996

LINUX_REBOOT_MAGIC2B
В переменной LINUX_REBOOT_MAGIC2B со значением 369367448 зашифрована дата рождения второй дочери Линуса Даниел Юланда

printf "%x\n" 369367448
В выводе команды мы получим 16 04 1998

LINUX_REBOOT_MAGIC2C
В последней переменной LINUX_REBOOT_MAGIC2C со значением 537993216 зашифрована дата рождения третей дочери Линуса Целесты Аманда

printf "%x\n" 537993216
Мы получим вывод 20 11 2000

Подробнее

@linuxkalii
👍13🔥31
ЧТО ТАКОЕ GRUB

Если вы когда-либо использовали систему Linux, то вы должны были видеть экран загрузчика. Это называется экран GRUB. Да, это пишется заглавными буквами.

GRUB - это программа для управления процессом загрузки. Это наиболее распространённый загрузчик для дистрибутивов Linux. Загрузчик - это первая программа, которая загружается при включении компьютера. Она загружает ядро операционной системы, затем ядро инициализирует остальные части операционной системы: оболочку, менеджер дисплея, окружение рабочего стола и т. п.

Читать дальше

@linuxkalii
👍12👏1
ЧТО ТАКОЕ ДЕМОНЫ В LINUX

Демоны много работают, для того, чтобы вы могли сосредоточится на своем деле. Представьте, что вы пишите статью или книгу. Вы заинтересованны в том, чтобы писать. Удобно, что вам не нужно вручную запускать принтер и сетевые службы, а потом следить за ними весь день для того чтобы убедится, что всё работает нормально.

ЧТО ТАКОЕ ДЕМОНЫ В ПОНЯТИИ LINUX
Демон Linux - это программа, у которой есть определённая уникальная цель. Обычно, это служебные программы, которые незаметно работают в фоновом режиме для того чтобы отслеживать состояние и обслуживать определённые подсистемы и гарантировать правильную работу всей операционной системы в целом. Например, демон принтера, отслеживает состояние служб печати, а сетевой демон управляет сетевыми подключениями и следит за их состоянием.

Многие люди, перешедшие в Linux из Windows знают демонов как службы или сервисы. В MacOS термин "Служба" имеет другое значение. Так как MacOS это тоже Unix, в ней испольуются демоны. А службами называются программы, которые находятся в меню Службы.

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

Читать дальше

@linuxkalii
👍162😱1
ЧТО ТАКОЕ SHELL

Shell или командная оболочка - это программа, которая организовывает среду для выполнения других программ и команд Командная оболочка имеет свои встроенные команды, арифметические операторы и другие синтаксические выражения, но основная её задача упрощать запуск других программ. Именно командная оболочка занимается поиском программ в текущем каталоге и в путях, указанных в переменной среды PATH, управляет сменой текущего каталога и переменными окружения. Таким образом, основная задача оболочки - интерпретировать команды пользователя и выполнять их не зависимо от того внешние ли это программы или внутренние команды.

Чтобы понять с чем вы имеете дело, командой оболочки или внешней программой можно воспользоваться командой whereis. Например команда cd, это не программа, а встроенная команда оболочки, как и bg и fg:

whereis cd

Читать дальше


@linuxkalii
👍13🥰2🤬1
​​DSTAT

Комбинированный и очень гибкий инструмент, который может быть использован для мониторинга памяти, процессора, производительности, сети или дискового пространства. Она отлично заменяет такие утилиты linux, как ifstat, iostat, dmstat и т д.

характеристика:
- Сочетает в себе vmstat, iostat, ifstat, netstat и другую информацию

- Отображение статистики в реальном времени

- Во время анализа и устранения неполадок вы можете включить элементы мониторинга и отсортировать их.

- Модульная конструкция

- Написано на python, удобно расширять существующие рабочие задачи

- Может сгруппировать статистику по блокам оборудования / сетевого оборудования и т.д.

- Может отображать текущий статус каждого устройства

- Чрезвычайная точность времени, даже если загрузка системы высока, отображение не будет задерживаться

- Отображает разные единицы разными цветами
Задержка отображения промежуточных результатов менее 1 секунды

- Поддержка вывода отчета в формате CSV и возможность импорта в Gnumeric и Excel для создания графики.

sudo apt-get install dstat
dstat

@linuxkalii
👍8🔥3
Разовое выполнение команд — демон atd

Иногда нужно просто выполнить определенные команды в определенное время (однократно), поэтому редактировать для этого таблицу crontab не совсем уместно. Такую задачу можно решить более рационально. Убедитесь, что у вас установлен и запущен демон atd. После этого введите команду:

at <время> [дата]

Затем просто вводите команды, которые вы хотите выполнить в указанное время. Для завершения ввода нажмите комбинацию клавиш <Ctrl>+<D>. Время указыва ется в АМ/РМ-формате— например, если вам нужно выполнить команды в 14:00, то вы должны ввести команду: at 2pm. Просмотреть очередь заданий можно командой atq, а удалить какое-либо задание — командой atrm.
В целях повышения безопасности в файл /etc/at.deny можно добавить команды, которые запрещены для выполнения планировщиком at.
👍16
Команды linux.pdf
438.7 KB
Команды linux, подборка примеров

@linuxkalii
👍17
100 важных вопросов на собеседовании по Linux с ответами

https://andreyex.ru/linux/100-vazhnyh-voprosov-na-sobesedovanii-po-linux-s-otvetami/

@linuxkalii
👍12😁1
Использование Lynis для проверки защищенности Linux

Установка Lynis на Linux

Защитив систему Linux, произведите ее быстрый аудит системы, чтобы оценить результат своей работы.

Lynis позволяет проверить систему на соответствие рекомендациям CIS. Его также можно использовать в пентесте, но в рамках этой статьи, рассмотрим его, как инструмент проверки защищенности Linux. Инструмент поддерживает работу на Linux, AIX, FreeBSD, HP-UX, Mac OS, NetBSD, OpenBSD, Solaris и даже Raspberry Pi.

Для установки Lynis, выполните команду:

root@debian:~/# sudo apt-get install lynis

Использование Lynis для проверки защищенности Linux
Ознакомитесь с основными параметрами Lynis:



--auditor "имя" — присвоить аудиту имя.
--checkall -c — начать проверку.
--check-update — проверить актуальность Lynis.
--cronjob — запустить Lynis как cronjob (включает -c -Q).
--help — отобразить справку.
--nocolors — не использовать цвета.
--pentest — выполнить тестирование на проникновение (без привилегий).
--quick — не ждать ввода данных пользователем, за исключением ошибок.
--quiet — показать только предупреждения (включает —quick, но не ждет).
--reverse-colors — использовать другую цветовую схему для светлого фона.
--version — проверить версию программы (и выйти).


Читать дальше

@linuxkalii
👍15👏1
Использование OpenSCAP - ESGuardian/LittleBeat Wiki

По умолчанию агент Wazuh выполняет некоторые проверки конфигурации машины, и сообщает о несоответствии рекомендациям CIS или требованиям PCI DSS, но если вы хотите чего-нибудь еще, вы можете использовать OpenSCAP.

SCAP предоставляет набор стандартов, определяющий критерии для оценки безопасности инфраструктуры Linux. Разработан институтом NIST (National Institute of Standards and Technology). OpenSCAP - это сканер, который проверяет локальную систему на соответствие этим стандартам. Имеется во всех версиях Linux и может быть установлен из стандартных репозиториев. Wazuh агент устанавливаемый из пакета уже содержит в конфигурационном файле настройки обработки отчетов OpenSCAP для соответствующей операционной системы. Но по умолчанию эта обработка отключена. Как включить?

Для начала установите на хосте OpenSCAP (на том хосте, где установлен агент). Для Ubuntu и Debian так:

sudo apt-get install libopenscap8 xsltproc

Для RHEL, CentOS, Fedora:

sudo yum install openscap-scanner
Теперь надо поправить конфигурацию агента:

sudo nano /var/ossec/etc/ossec.conf
Найдите секцию:

<wodle name="open-scap">
<disabled>yes</disabled>
<timeout>1800</timeout>
<interval>1d</interval>
<scan-on-start>yes</scan-on-start>

<content type="xccdf" path="ssg-ubuntu-1604-ds.xml">
<profile>xccdf_org.ssgproject.content_profile_common</profile>
</content>
</wodle>
Это не далеко от начала файла. Исправьте <disabled>yes</disabled> на <disabled>no</disabled>. Сохраните файл и выполните команду:

sudo /var/ossec/bin/ossec-control restart

Инструкция

@linuxkalii
👍11
Методы шифрования в Linux

Шифрование на уровне файловой системы

Этот способ шифрования предполагает наличие какой-то системы-прослойки, которая расположена поверх основной файловой системы и которая защищает файлы пользователя без вмешательства в нижележащие разделы. Рассмотрим, какие же утилиты шифрования этого типа нам предлагает ОС Ubuntu:

eCryptfs – это многоуровневая система шифрования Linux. В Ubuntu именно данный способ используется для шифрования домашней папки пользователя. Файл, зашифрованный этим способом, будет расшифрован в том случае, если у Вас есть ключ.
EncFS – этот метод позволяет установить зашифрованную файловую систему. Используется библиотека FUSE и модуль ядра Linux. Эта система опять же создается поверх существующей файловой системы, как и в первом случае, она не является шифрованным блочным устройством.

Блочное шифрование на уровне устройства

В случае шифрования на уровне устройства используется блочный шифр, который преобразует последовательность блоков открытых данных в последовательность зашифрованных данных. В Linux-системах используются следующие методы блочного шифрования:

Loop-AES – это скоростная и прозрачная файловая система, также с помощью этого метода можно зашифровать и раздел подкачки в Linux. Advanced Encryption Standard (AES) - симметричный алгоритм блочного шифрования.
TrueCrypt – это свободное программное обеспечение с открытым исходным кодом для шифрования диска, программа функционирует, как под ОС Windows, так и под Linux. Но, как нам известно, разработчики прекратили поддерживать TrueCrypt, поэтому шифрование с помощью данной программы сейчас применяется нечасто.
dm-crypt/LUKS – поддерживает шифрование целых дисков, съемных носителей, разделов, томов RAID, логических томов и файлов. dm-crypt – позволяет создавать криптоконтейнер с помощью device-mapper и CryptoAPI ядра. LUKS (Linux Unified Key Setup) - протокол шифрования блочного устройства. Используя пакет dm-crypt, в папке /dev/mapper мы можем создать виртуальное блочное устройство с прозрачным шифрованием, как для файловой системы, так и для пользователя. Причем вся информация расположена на зашифрованном физическом разделе. Когда мы записываем данные на виртуальное устройство, они моментально шифруются и происходит их запись на диск, при чтении с виртуального устройства выполняется обратная операция.

Читать дальше

@linuxkalii
👍10🥰1
Познакомьтесь с профессией системного администратора, интерфейсом и возможностями Linux. Узнайте, как стать сисадмином и зарабатывать от 70 000 рублей в месяц, на бесплатном онлайн-интенсиве: ✒️ https://clc.to/GUQeuA.

💡 Освоите базовые навыки системного администрирования.
💡 Научитесь работать с Linux Desktop, настраивать серверы Apache и MySQL, запускать PHP-приложения.
💡 Запустите Linux в виртуальной машине с помощью Vagrant и добавите проект в портфолио.

☝️ Спикером будет Lead DevOps, автор научных статей по DevOps и DevSecOps — Константин Брюханов. Он познакомит вас с профессией системного администратора и расскажет, как развиваться в этой области.

🎁Присоединяйтесь, задавайте вопросы и получите сертификат на 10 000 рублей на любой курс Skillbox.

📢 Подключайтесь к прямым эфирам с 27 по 29 июня в 21:00 по московскому времени. Получите практические знания, рекомендации и подарки!
👍5👎1
Чек-лист по повышению привилегий в Linux

https://www.hackingdream.net/2020/03/linux-privilege-escalation-cheatsheet-for-oscp.html

#doc #pentest #linux
👍9
Если вы знаете Linux на достаточном уровне — пора двигаться в сторону Devops и изучать Golang

Мы не настаиваем, но очень рекомендуем и вот почему:

Go — один из самых высокооплачиваемых, простых и нужных для devops языков. С его помощью можно работать с микросервисной архитектурой, проводить тесты и писать кастомные операторы Kubernetes.

Неожиданно, но как раз 4 июля в Слёрм стартует курс по Go, который заточен именно под задачи инженеров.

В программе:

▪️Разберемся в простых и продвинутых конструкциях Go, поймем его синтаксис и структуру.
▪️Узнаем, как использовать Docker SDK в Go и как Docker говорит с приложениями.
▪️Познакомимся с различными паттернами и Kubernetes API
▪️Рассмотрим анатомию операторов, их использование в production-е, а также напишем свой оператор.

Занять место: https://slurm.club/3blDmAn
👍5
Команда wget

Свободная неинтерактивная консольная программа для загрузки файлов по сети. Поддерживает протоколы HTTP, FTP и HTTPS, а также поддерживает работу через HTTP прокси-сервер. Программа включена почти во все дистрибутивы GNU/Linux.

Установка:
▪️apt install wget

Опции:
-V (--version) - вывести версию программы
-h (--help) - вывести справку
-b (--background) - работать в фоновом режиме
-o файл (--out-file) - указать лог файл
-d (--debug) - включить режим отладки
-v (--verbose) - выводить максимум информации о работе утилиты
-q (--quiet) - выводить минимум информации о работе
-i файл (--input-file) - прочитать URL из файла
--force-html - читать файл указанный в предыдущем параметре как html
-t (--tries) - количество попыток подключения к серверу
-O файл (--output-document) - файл в который будут сохранены полученные данные
-с (--continue) - продолжить ранее прерванную загрузку
-S (--server-response) - вывести ответ сервера
--spider - проверить работоспособность URL
-T время (--timeout) - таймаут подключения к серверу
--limit-rate - ограничить скорость загрузки
-w (--wait) - интервал между запросами
-Q (--quota) - максимальный размер загрузки
-4 (--inet4only) - использовать протокол ipv4
-6 (--inet6only) - использовать протокол ipv6
-U (--user-agent)- строка USER AGENT отправляемая серверу
-r (--recursive)- рекурсивная работа утилиты
-l (--level) - глубина при рекурсивном сканировании
-k (--convert-links) - конвертировать ссылки в локальные при загрузке страниц
-P (--directory-prefix) - каталог, в который будут загружаться файлы
-m (--mirror) - скачать сайт на локальную машину
-p (--page-requisites) - во время загрузки сайта скачивать все необходимые ресурсы


Подробнее

@linuxkalii
👍14👎1
NEOFETCH — кроссплатформенная утилита, позволяющая отображать информацию о системе в терминале.
В качестве картинки в терминале, можно использовать логотип дистрибутива.
Данная утилита похожа на ScreenFetch или LinuxLogo, но она более гибкая и содержит дополнительные функции. Изображение выводится в формате ASCII рядом с информацией о системе.

Установить в Ubuntu: sudo apt install neofetch
Запустить: neofetch

https://losst.ru/neofetch-informatsiya-o-sisteme-linux-i-logotip-v-terminale

@linuxkalii
🔥11
Команда chown

Команда chown позволяет использовать соответствующую утилиту для изменения владельца файла или директории.

В Linux и других UNIX-подобных операционных системах каждый пользователь имеет свои собственные файлы, причем он может регламентировать возможность доступа других пользователей к ним. Применение концепции владения файлами имеет ряд последствий, причем в некоторых случаях бывает полезно изменять владельца некоторых файлов.

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

Базовый синтаксис команды выглядит следующим образом:

$ chown [параметры] <имя владельца:имя группы владельцев> <имя файла или директории>

Примеры использования
Смена владельца файла
Например, если вы хотите предоставить пользователю с именем john возможность распоряжаться файлом picture.jpg по своему усмотрению, вы можете воспользоваться следующей командой:

$ chown john picture.jpg

Помимо изменения владельца файла, может изменяться группа его владельцев или его владелец и группа его владельцев одновременно. Следует использовать символ двоеточия для разделения имени пользователя и имени группы пользователей (без символа пробела):

$ chown john:family picture.jpg

В результате владельцем файла picture.jpg станет пользователь с именем john, а группой его владельцев — family.

Рекурсивная смена владельцев файлов
Если вы хотите изменить владельцев файлов из любого фрагмента дерева директорий, вы можете воспользоваться параметром -R. Например, если вам нужно изменить владельцев файлов дерева поддиректорий текущей директории на root, вы можете использовать следующую команду:

# chown -R root:root .

Вам наверняка захотелось использовать шаблон «*» для ссылки на все файлы. Однако, в этом случае не будет изменен владелец скрытых файлов (имена которых начинаются с символа точки). Также вы можете предположить, что следовало бы использовать шаблон «.*», однако, он будет соответствовать также директории с именем «..», в результате чего будет изменен владелец всех файлов также и в родительской директории! Следует помнить о том, что при использовании параметра -R утилите должно передаваться имя директории, а не имена отдельных файлов.

Подробнее

@linuxkalii
👍111