Linux Education – Telegram
Linux Education
11.7K subscribers
1.06K photos
47 videos
8 files
923 links
🐧 Гайды, тесты и обучающие материалы по Linux.

Реклама — @cyberJohnny

Заявление в РКН: https://knd.gov.ru/license?id=6784bbba96de59064dc32602&registryType=bloggersPermission
Download Telegram
🧱 Что такое Linux namespaces

По умолчанию процессы в Linux видят один и тот же мир: общий список процессов, сетевые интерфейсы, файловую систему.

Namespaces меняют это.
Они дают каждому процессу собственную «реальность»: свой сетевой стек, свой список процессов, свою файловую иерархию — всё это работает на одном ядре, без отдельной виртуальной машины.

Так Linux создаёт базу для контейнеров: изоляция без лишней нагрузки и полноценного гипервизора.

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

#Linux #Containers #DevOps

blog.sysxplore.com/p/part-1-what-are-linux-namespaces

@linux_education
👍41
🔍 Как посмотреть запущенные сервисы в Linux (#systemd)

Хочешь быстро выяснить, какие службы активны, какие включены при старте и что вообще работает на сервере? Вот несколько команд с :contentReference, которые помогут в мониторинге, отладке и защите системы.

Основные команды:
- systemctl list-units --type=service — список всех сервисов и их состояния
- systemctl list-units --type=service --state=running — только запущенные
- systemctl list-unit-files --type=service — какие сервисы и как настроены (enabled/disabled)
- systemctl is-enabled — проверить, включен ли сервис при старте
- systemctl status — детали по конкретному сервису

Когда это полезно:
- После установки или изменения сервиса — проверить, что всё правильно
- При отладке, когда что-то не работает — найти, был ли сервис запущен
- В целях безопасности — отключить нежелательные или неиспользуемые сервисы, которые могут стать уязвимостью

Используй эти команды, чтобы держать руку на пульсе системы.

👉 Полное руководство — tecmint: https://tecmint.com/list-all-running-services-under-systemd-in-linux/

@linux_education
👍1
⚠️ Уязвимость CVE-2025-59287 в WSUS

Этот репозиторий демонстрирует уязвимость удаленного выполнения кода в Microsoft Windows Server Update Services, вызванную небезопасной десериализацией данных. Атакующий может отправить специально подготовленные SOAP-запросы для выполнения произвольного кода с правами SYSTEM.

🚀Основные моменты:
- Доказательство концепции уязвимости.
- Использует .NET BinaryFormatter для создания полезной нагрузки.
- Поддерживает Windows и Linux.
- Предоставляет пример с безвредным калькулятором.
- Образовательное использование только в контролируемых средах.

📌 GitHub: https://github.com/th1n0/CVE-2025-59287

#python

@linux_education
👍3
⚡️ Google сообщает о новом типе киберугроз: малварь начала использовать LLM во время выполнения

Google Threat Intelligence фиксирует серьёзные изменения в : вредоносные программы больше не просто пишутся с помощью ИИ - они подключают LLM прямо во время работы.

Что это меняет:

- Поведение вируса перестаёт быть статичным - он адаптируется к окружению в реальном времени.
- Код может переписываться или запутываться динамически, усложняя разбор и реверс.
- Логика атаки меняется на лету, что помогает обходить сигнатуры и классические детекторы.
- Вредоносная программа фактически получает “мозги”, способные анализировать ситуацию и подбирать оптимальную тактику уклонения.

По сути, ИИ перестал быть только инструментом разработчиков малвари -
он стал частью самой атаки, превращая вредоносный код в систему, которая учится и подстраивается в процессе выполнения.

Это качественно новый уровень угроз, к которому традиционные методы защиты оказались не готовы.


https://www.pcgamer.com/software/ai/great-now-even-malware-is-using-llms-to-rewrite-its-code-says-google-as-it-documents-new-phase-of-ai-abuse/

@linux_education
👍31
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Linux: совет дня

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

Это помогает при отладке, поиске подозрительной активности и отслеживании свежих изменений в проекте. Подписывайся, больше фишек каждый день !


Быстрый совет по Linux

файлы, изменённые за последние 10 минут
find . -type f -mmin -10

изменённые за последний час
find /var/log -type f -mmin -60

изменённые за последние 24 часа
find . -type f -mtime -1

только директории, изменённые за последние 30 минут
find . -type d -mmin -30

показывать время изменения вместе с результатами
find . -type f -mmin -15 -exec ls -lh {} \;

@linux_education
🔥71👍1
✔️Детектор движения на Wi-Fi, который можно собрать из хлама

Гики нашли способ сделать детектор движения без камер- на одних только Wi-Fi волнах. Такой датчик реагирует на малейшие изменения сигнала от роутера и срабатывает, когда в комнате появляется движение. Работает даже сквозь стены. И главное — схема в открытом доступе на GitHub, собрать можно за копейки.

Где пригодится:
- автоматическое включение света или отопления при появлении человека
- экономия энергии — устройства отключаются, если помещение пустое
- контроль за детьми: придёт уведомление, если ребёнок вышел из комнаты ночью
- точный климат-контроль
- уход за пожилыми: оповещение, если нет активности слишком долго

Такой DIY-датчик легко сделать из подручных деталей - полный гайд уже лежит на GitHub (https://github.com/francescopace/espectre).

https://github.com/francescopace/espectre

@linux_education
👍41
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Linux-совет: изолируй любую команду в одноразовой файловой системе

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

Быстро, безопасно, без Docker.

Пример: заменить /tmp/testdir на пустой tmpfs и запускать всё внутри него, не трогая реальные файлы.


Изоляция через tmpfs - мини-песочница без Docker

создаём каталог и подменяем его на чистый tmpfs

sudo mkdir -p /tmp/safezone
sudo mount -t tmpfs -o size=100M tmpfs /tmp/safezone

запускаем тестируемую команду в изоляции

cd /tmp/safezone
bash suspicious_noscript.sh

снимаем изоляцию

cd /
sudo umount /tmp/safezone

@linux_education
7
🧠 Как точно измерить использование памяти процессом в Linux

Когда система начинает «тормозить» или неожиданно заканчивается память, первое, что стоит проверить - какие процессы её съедают. Команды ps и top помогают получить общее представление, но цифры там часто обманчивы.

Процесс может выглядеть как прожорливый монстр, хотя значительная часть его памяти 0 shared, то есть разделяется с другими процессами. А наоборот, «лёгкий» процесс может скрытно потреблять больше через общие библиотеки и кэш.

Чтобы понять реальную картину, нужно копнуть глубже — в файловую систему /proc, а именно в файл smaps, где хранится подробная карта памяти каждого процесса.

Перед этим важно разобраться в трёх ключевых метриках:
- VSZ (Virtual Memory Size) — общий объём виртуальной памяти;
- RSS (Resident Set Size) — реальный объём памяти в RAM;
- PSS (Proportional Set Size) — точная оценка «реального» потребления с учётом разделяемых страниц.

💡 Эти метрики показывают, сколько памяти процесс действительно использует — и где она делится с другими.
Полный разбор и примеры смотри в оригинальном материале: blog.sysxplore.com/p/how-to-accurately-check-process-memory-usage-in-linux

@linux_education
🔥3
💀Безопасники опубликовали список самых популярных — и самых опасных — паролей 2025 года. Картина знакомая:

123456
12345678
123456789
admin
1234
Aa123456
12345
password
123
1234567890

Ничего не меняется

Полный список: https://www.comparitech.com/news/minecraft-qwerty-and-india123-among-2025s-most-common-passwords-report/

@linux_education
Пишите в комментариях

@linux_education
🐍 Linux-совет, о котором знает очень мало людей

Когда вы пытаетесь размонтировать файловую систему (NFS, SSHFS, FTP, CIFS) и получаете вечное:

device is busy

часто lsof или fuser не показывают настоящий процесс, который держит монтирование.

Есть трюк, который почти никто не использует — прямой поиск через файловые дескрипторы процессов.

Вот команда, которая находит любой процесс, реально удерживающий путь:


for pid in /proc/[0-9]*; do
grep -q "your/mount/path" "$pid/fd"/* 2>/dev/null \
&& echo "PID: ${pid#/proc/}"
done


Что делает этот приём:

- перебирает каждый процесс в системе
- просматривает его открытые файловые дескрипторы
- находит тех, кто удерживает нужный путь
- работает даже в ситуациях, где lsof «слепой»
- позволяет точно определить виновника ошибки “device is busy”

Где полезно:

- зависший NFS после сетевого лага
- SSHFS, который удерживает сессию “наполовину”
- удалённый каталог, который держит старый процесс
- случаи, когда файловая система размонтировалась логически, но процесс всё ещё держит дескриптор

Этот метод - настоящий рентген Linux, спасает там, где все остальные инструменты бессильны.

@linux_education
👍7🔥31
👣 Rust for Malware Development

В этом репозитории содержатся исходный код различных методов, используемых авторами вредоносных программ, участниками Red Team, злоумышленниками, спонсируемыми государством хакерскими группами и т. д.

Эти методы хорошо исследованы и реализованы на Rust.

Отличный материал для погружения в кибербез.

🟠Github: https://github.com/Whitecat18/Rust-for-Malware-Development

@linux_education
1
🛡️ Продвинутый Linux-совет по защите: включи AppArmor/SELinux профайлы для изоляции сетевых инструментов

Большинство атак начинается с получения минимального доступа к системе через пользовательский процесс.
Чтобы даже с доступом злоумышленник не смог двигаться дальше, усиливай изоляцию ключевых CLI-инструментов (curl, wget, ssh, netcat), создавая для них ограниченные профайлы AppArmor или SELinux.

Что это даёт:
• запрет на выполнение произвольных системных вызовов
• запрет на доступ к файловой системе вне разрешённого диапазона
• недоступность /proc и /sys → сложнее собрать информацию об окружении
• ограничение сетевых направлений (например, только outbound HTTPS)
• невозможность запускать подпроцессы или загружать модули ядра

🛡️ Как быстро включить защиту команд в Linux (AppArmor)

1) Проверить, что AppArmor активен


sudo aa-status

Создать профиль для команды (пример: curl)


sudo nano /etc/apparmor.d/usr.bin.curl


Загрузить профиль


sudo apparmor_parser -r /etc/apparmor.d/usr.bin.curl

Включить режим enforcing


sudo aa-enforce /etc/apparmor.d/usr.bin.curl
Теперь команда работает в изолированном профиле.


Итог: даже если вредонос получил shell, он буквально «ходит по клетке» — минимальный damage, невозможность lateral movement и быстрый детект.

Если хочешь — напишу готовый шаблон AppArmor-профайла для конкретных утилит.

@linux_education
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
✔️ Усиление ядра через sysctl

Продвинутый совет по Linux: включи контроль целостности системных конфигов через fs.protected_symlinks и fs.protected_hardlinks.

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



# Включаем защиту симлинков
echo 1 | sudo tee /proc/sys/fs/protected_symlinks

# Включаем защиту хардлинков
echo 1 | sudo tee /proc/sys/fs/protected_hardlinks

# Делаем постоянным
sudo sh -c 'cat >> /etc/sysctl.d/99-hardening.conf

@linux_education
👍6
IP-сабнеттинг можно свести к одной простой шпаргалке

На картинке — таблица, которая помогает мгновенно понять:
- размер группы
- подходящую маску
- значение для каждого октета в CIDR
- как быстро вычислять подсети без калькулятора

Столбцы 128 64 32 16 8 4 2 1 — это двоичные веса восьми бит одного октета.
С их помощью можно за секунду определить любую маску сети (например, /20, /27, /29) и понять, как разбить адреса на подсети.

Если ты работаешь с сетями, DevOps или инфраструктурой — эта таблица реально заменяет любые длинные объяснения CIDR и subnet mask.

Минимальная, понятная и рабочая шпаргалка — больше и не нужно.

@linux_education
🔥21
🔥 Linux-совет: ищи по **процессам**, а не по файлам

В Linux можно использовать grep для поиска прямо по аргументам запущенных процессов — это помогает быстро понять, какой сервис работает, какой конфиг загружен или какой порт слушается.


ps aux | grep --color=auto pattern


Примеры:

Найти процессы Nginx


ps aux | grep nginx


Проверить, какой конфиг использует Python-приложение


ps aux | grep config.yaml

Узнать, какой процесс слушает порт



ps aux | grep 8080


Хитрый трюк: добавь пробел перед шаблоном, чтобы не ловить в вывод сам grep.



ps aux | grep " nginx"

@linux_education
👍5🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый Linux совет 🐧💡

Если нужно найти все файлы, которые содержат определённую строку, используй:

grep -rl string .

• -r выполняет рекурсивный поиск
• -l выводит только список файлов, где найдено совпадение

Изучай Linux с удовольствием 😎

@linux_education
👍6