Kali Linux
42.1K subscribers
699 photos
19 videos
12 files
777 links
@linux_kal наш чат

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

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

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

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

@pythonl - 🐍

@ArtificialIntelligencedl - AI
Download Telegram
🌁 Как скрыть процессы от антивирусов

Скрывать процессы от антивирусов - важ­ная задача не толь­ко создателей вирусов (см. также Как ловят создателей вирусов), но и пен­тесте­ров (этичных хакеров). Для сокрытия процессов сущес­тву­ют раз­личные способы. В этой статье рас­смот­рим два из них: Herpaderping и Ghosting. О дру­гих техниках — Hollowing и Doppelgänging — поговорим в отдельной статье.

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

@linuxkalii
КАК ПОЛЬЗОВАТЬСЯ КОМАНДОЙ MAN В LINUX: ОСНОВЫ И СЕКРЕТЫ

ВСТРОЕННОЕ РУКОВОДСТВО LINUX
Существует старая шутка: единственная команда, которую нужно знать в Linux это man – точка входа в руководство пользователя. Несмотря на то, что тут есть доля правды, но даже сама команда man может ввести в тупик вначале. Вернее, поиск информации с помощью этой команды.

Наверное, у всех был случай, когда знали, что вы хотите сделать, но не знали какая команда поможет выполнить поставленную задачу. Это похоже на то, как искать слово в словаре при том, не зная самого слова.

Итак, как же можно найти, то что нужно? С man можно легко обойти эту сложность.

Цифры - еще одна сложность перед новичками. Что они означают? Вы документации или в просторах Интернета часто можно увидеть такие ссылки, man (2) или man (5). Также можно встретить ссылки на команды, за которыми следуют цифры, такие как mount (2) и mount (8). Конечно, не может быть больше одной команды mount, верно? Как мы увидим, цифры важны и их понять относительно просто.

Проще говоря, вести поиск по man достаточно легко если один раз понять, как это работает. На самом деле, есть несколько способов поиска и навигации в man.

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

@linuxkalii
Примеры команды «diff» в Linux

Синтаксис команды «diff» и ее справочное руководство в Linux
Команда «diff» в Linux может использоваться со следующим синтаксисом:

$ diff [option] File1 File2
Здесь «option» можно заменить параметрами, которые можно использовать с этой командой, тогда как «File1» и «File2» представляют два файла для сравнения.

Вы можете просмотреть все параметры, доступные с помощью этой команды, обратившись к ее справочному руководству с помощью команды, показанной ниже:

$ diff —help

https://bestprogrammer.ru/izuchenie/primery-komandy-diff-v-linux

@linuxkalii
Установка и использование сканера Naabu на Kali Linux

Что такое Naabu ?

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

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

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


sudo apt install naabu -y

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

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

https://hackware.ru/?p=18264
Магические числа в коде 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
ЧТО ТАКОЕ GRUB

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

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

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

@linuxkalii
ЧТО ТАКОЕ ДЕМОНЫ В LINUX

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

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

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

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

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

@linuxkalii
ЧТО ТАКОЕ SHELL

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

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

whereis cd

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


@linuxkalii
​​DSTAT

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

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

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

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

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

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

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

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

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

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

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

sudo apt-get install dstat
dstat

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

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

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

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

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

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

@linuxkalii
Использование 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
Использование 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
Методы шифрования в 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
Познакомьтесь с профессией системного администратора, интерфейсом и возможностями 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 по московскому времени. Получите практические знания, рекомендации и подарки!
Чек-лист по повышению привилегий в Linux

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

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

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

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

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

В программе:

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

Занять место: https://slurm.club/3blDmAn
Команда 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