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

Реклама — @cyberJohnny

Заявление в РКН: https://knd.gov.ru/license?id=6784bbba96de59064dc32602&registryType=bloggersPermission
Download Telegram
Дикая фишка Linux 🐧

Можно запустить отдельное ядро Linux прямо внутри процесса - без root и без виртуалок.

Это называется User-Mode Linux (UML) - специальный порт ядра, который работает как обычное приложение в userspace.

Вместо обращения к железу он общается с вашей ОС:
файл становится жёстким диском, а терминал - консолью.
Можно загрузить систему, войти и запускать программы — всё как в VM, но одной командой.

Идеально для тестов и отладки ядра без риска сломать систему.

Подробнее: popovicu.com/posts/linux-vm-without-vm-software-user-mode

@linux_education
⚙️ Маленький, но мощный Linux совет

Ядро Linux ведёт свой собственный «дневник» всего, что происходит в системе: загрузка, инициализация драйверов, новые устройства. Этот журнал называется dmesg, и это главный инструмент, чтобы понять, почему железо не работает.

Большинство смотрит dmesg только когда уже всё сломалось. Но максимальная польза - наблюдать лог в реальном времени.

Попробуй так:


dmesg -WH


- -H включает человекочитаемые таймстемпы
- -W выводит новые сообщения по мере появления (как tail -f, но для ядра)

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

Это лучший способ «увидеть» работу Linux под капотом.

@linux_education
👍15🔥4
⚡️ Полезный совет по Linux:

Быстро найти, какой процесс держит порт

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


sudo lsof -i :PORT


Например, порт 5432:


sudo lsof -i :5432


Вывод покажет процесс, PID и путь к бинарю. Дальше можно решить - перезапустить, убить или перенастроить.

Дополнительно:

sudo netstat -tulpn | grep :5432


или современная альтернатива:

sudo ss -tulpn | grep :5432

Зачем это нужно: когда что-то "стоит на порту", ты сразу видишь виновника и не тратишь время на угадывания.

@linux_education
👍7🔥2
🧱 Что такое 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