@linux_kal наш чат По всем вопросам- @workakkk @ai_machinelearning_big_data - машинное обучение @itchannels_telegram - 🔥 главные ресурсы для хакера @programming_books_it - бесплатные it книги @pythonl -🐍 РКН: clck.ru/3Fmszy
👾 Новые атаки Spectre-v2: Training Solo обходит защиту Intel. Исследователи из Амстердамского свободного университета обнаружили серию уязвимостей в процессорах Intel, связанных с атаками Spectre-v2. Метод, получивший название Training Solo, позволяет обходить механизмы изоляции памяти, такие как IBPB и eIBRS, и извлекать данные из ядра или гипервизора со скоростью до 17 КБ/с**.
В отличие от классических атак Spectre, Training Solo использует не подконтрольный злоумышленнику код, а уже существующие фрагменты в привилегированных областях. Эксплуатация возможна благодаря аппаратным уязвимостям CVE-2024-28956 и CVE-2025-24495, затрагивающим процессоры Intel от Coffee Lake до Lunar Lake.
Intel уже выпустила обновление микрокода с новой инструкцией IBHF, а в Linux добавлены патчи для блокировки атак через cBPF. AMD и ARM заявили, что их современные процессоры не подвержены угрозе.
🔗 Ссылка - *клик*
@linuxkalii
🕵️♂️ API-s-for-OSINT — каталог API для разведки по открытым источникам
Если ты занимаешься OSINT, кибербезопасностью или просто хочешь автоматизировать сбор данных — этот репозиторий станет для тебя настоящей сокровищницей.
📦 Что внутри:
Каталог разбит по тематикам, в каждой — список полезных API с описанием и ссылками. Вот лишь малая часть:
• Поиск устройств и IP: Shodan, Censys, Netlas
• Проверка email и доменов: WhoisXML, Kickbox
• Телефонные API: Numverify, Twilio
• Геолокация: Google Geocoding, Zipcodebase
• Даркнет и утечки: Onion Lookup, Darksearch
• Социальные сети, блокчейн, хэши, Wi-Fi и многое другое
🧠 Как использовать:
• Автоматизация с Python, Bash, Telegram-ботами
• Проверка подозрительных email и IP
• Интеграция в OSINT-дашборды или Google Sheets
• Быстрый доступ к API через curl или Postman
📎 Полезно каждому, кто хочет собирать, проверять и кросс-референсить данные в интернете — от хактивиста до журналиста.
🔗 Ссылка
@linuxkalii
🫡 Без обид, Линус Торвальдс… но этот человек — величайший гик современности.
📟 В 1971 году, в 28 лет, он создал UNIX — систему, на которой построен весь современный интернет.
🦫 В 2009 году, уже в 66 лет, он стал соавтором языка Go — одного из самых популярных языков в мире DevOps и микросервисов.
💥 Но это только начало:
▪ Он разработал язык B, который стал основой для языка C
▪ Создал UTF-8 — кодировку, благодаря которой мы видим текст на любом языке в интернете
▪ Придумал grep — команду, без которой не обходится ни один разработчик
▪ Работал над Multics, Plan 9, Inferno — это четыре операционные системы, созданные одним человеком
🧠 Большинство людей в жизни не используют и двух ОС. А он — создал четыре.
И при этом...
О нём почти никто не знает.
Запомни имя: Кен Томпсон.
🛠 Один из тех, кто буквально построил цифровой мир, в котором мы живём.
🏛 Рим не за один день строился... а вот grep — почти что за одну ночь 😎
История создания grep — действительно захватывающая.
Один из создателей операционной системы UNIX, Кен Томпсон, разработал grep буквально «за ночь».
На самом деле, у него уже был личный инструмент для поиска текста в файлах.
Однажды его начальник, Дуг МакИлрой, подошёл и сказал:
«Знаешь, было бы здорово — уметь искать нужное в файлах».
Томпсон ответил:
«Хорошо, подумаю об этом ночью.»
Он пришёл домой, доработал свой старый код, пофиксил баги — и всё это заняло не больше часа.
На следующий день он показал результат МакИлрою.
Тот воскликнул:
«Это именно то, что мне было нужно!»
А дальше — это уже история.
🤔 Если ты задаёшься вопросом, почему инструмент называется grep, а не просто search — на это есть вполне логичное объяснение 👇
❤️ Ставьте лайк и я напишу пост про историю названия Grep.
@linuxkalii
🚀 Linux прощается с эпохой 486-х процессоров: мэйнтейнеры ядра Linux готовятся к историческому изменению — полному удалению поддержки данной линейки из кодовой базы. Инициатива исходит от самого Линуса Торвальдса, который считает, что поддержка 30-летних чипов давно стала обузой для разработчиков.
Удаление 14 тысяч строк кода упростит архитектуру ядра и снизит нагрузку на сопровождающих. Интересно, что встраиваемые системы на базе Quark не пострадают — они используют модернизированные 486-совместимые ядра с поддержкой современных инструкций.
🔗 Ссылка - *клик*
@linuxkalii
🧩 Задача для Linux-администраторов: "Исчезающий процесс"
📖 Описание задачи
В системе неожиданно появилась служба, которая запускается автоматически через 10 минут после удаления её бинарного файла и убийства процесса.
Особенности:
- Бинарный файл процесса каждый раз появляется в разной директории внутри /tmp
.
- Имя процесса каждый раз разное (например, a1b2c3
, `d4e5f6`).
- При запуске процесс слушает TCP-порт на случайном высоком порту (>=1024).
- Порт каждый раз динамически выбирается и кодируется в base64, чтобы затруднить прямую идентификацию.
- Бинарный файл зашифрован и расшифровывается процессом в оперативной памяти перед запуском.
- После удаления файла и убийства процесса через 10 минут процесс появляется снова.
📝 Ваша задача:
1. Определить источник "реинкарнации" процесса.
2. Найти механизм автозапуска и зашифрованного хранения бинарника.
3. Остановить автоматический запуск навсегда без перезагрузки системы.
4. Задокументировать шаги поиска и устранения проблемы.
🕵️ Решение (разбор шаг за шагом)
1️⃣ Найти процесс и порт
Поскольку порт зашифрован (base64), стандартный ss
или netstat
покажут только открытый порт, но не под каким именем он должен быть:
ss -tulpn | grep LISTEN
echo <порт> | base64
lsof -p <pid>
/tmp/
, /dev/shm/
, /proc/self/fd/
./proc/<pid>/exe
:
cp /proc/<pid>/exe ./restored_binary
ps -o pid,ppid,cmd -p <pid>
pstree -p <ppid>
auditd
или inotifywait
, чтобы зафиксировать момент создания:
auditctl -w /tmp -p wa
ausearch -f /tmp
inotifywait -m /tmp
lsof | grep /tmp/<имя_файла>
crontab -l
cat /etc/crontab
ls -l /etc/cron.*
systemctl list-timers --all
systemctl list-units --type=service
systemctl list-units --type=timer
ls -l /etc/init.d/
cat /etc/rc.local
ls -l /etc/profile.d/
ps aux
strace
для перехвата системных вызовов:
strace -f -p <pid>
memfd_create
, shm_open
, mmap
(бинарник в памяти):
lsof -p <pid> | grep memfd
/tmp
kill -9 <pid>
systemctl disable <название_сервиса>
/etc/systemd/system/
, /etc/init.d/
, /etc/rc.d/
.
find / -type f -name '*.bin' -exec file {} \; | grep 'data'
find / -type f -mtime -1
# 🔐 Современный алгоритм шифрования: AES
В современном мире данных шифрование — это не роскошь, а необходимость. От защиты банковских транзакций до хранения паролей — всё держится на надёжных алгоритмах.
Один из самых популярных и надёжных стандартов сегодня — AES (Advanced Encryption Standard).
💡 Что такое AES?
AES — симметричный алгоритм блочного шифрования.
- Один и тот же ключ используется для шифрования и дешифрования.
- Данные обрабатываются блоками фиксированной длины (обычно **128 бит**).
AES стал стандартом в 2001 году и до сих пор считается устойчивым к атакам при правильной реализации.
📏 Длина ключа
AES поддерживает ключи длиной:
- 128 бит (16 байт)
- 192 бит (24 байта)
- 256 бит (32 байта)
Чем длиннее ключ, тем выше стойкость к атакам.
Как работает AES?
1. Данные разбиваются на блоки по 128 бит.
2. Каждый блок проходит через несколько раундов шифрования:
- Подстановки байтов
- Перемешивания строк
- Перемешивания столбцов
- Наложения ключа
3. Количество раундов зависит от длины ключа:
- 128 бит → 10 раундов
- 192 бит → 12 раундов
- 256 бит → 14 раундов
В отличие от DES, AES не использует перестановки бит — он работает на уровне байтов и матриц.
🐍 Пример использования AES на Python
Для работы с AES используем библиотеку PyCryptodome:
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad
# Генерируем случайный 16-байтовый ключ
key = get_random_bytes(16)
# Создаём объект AES в режиме CBC (Cipher Block Chaining)
cipher = AES.new(key, AES.MODE_CBC)
# Данные для шифрования
data = b"Hello, this is a secret message!"
# Дополняем данные до кратности 16
padded_data = pad(data, AES.block_size)
# Шифруем
encrypted_data = cipher.encrypt(padded_data)
print("Зашифрованные данные:", encrypted_data)
# Для расшифровки нужно сохранить IV (инициализационный вектор)
iv = cipher.iv
# Дешифрование
cipher_dec = AES.new(key, AES.MODE_CBC, iv)
decrypted_data = unpad(cipher_dec.decrypt(encrypted_data), AES.block_size)
print("Расшифрованные данные:", decrypted_data.decode())
📌 Задача: «Загадочный рост нагрузки в полночь»
Каждую ночь, ровно в 00:00, сервер на Linux (Ubuntu 22.04 LTS) начинает внезапно потреблять повышенное количество ресурсов (CPU и RAM).
Через 5-10 минут нагрузка сама возвращается в норму, не оставляя очевидных следов. В течение дня ситуация стабильная и не проявляется.
📌 Администратору поступила задача:
- Определить причину еженощного кратковременного всплеска нагрузки.
- Выявить конкретный процесс или задачи, которые запускаются.
- Предложить решение для оптимизации или полного устранения проблемы.
🧩 Ограничения и подсказки:
Логи системного планировщика (cron) почему-то пусты или очищаются.
На сервере включена система мониторинга systemd.
Возможны скрытые задачи в системных директориях (/etc/cron.*, /var/spool/cron).
Используются контейнеры Docker (возможно, что-то происходит в контейнерах).
Пользовательские процессы не явно обозначают себя в списке ps aux.
🛠️ Какие команды и подходы следует использовать?
Шаг 1: Анализ нагрузки
htop
vmstat 1
sar -q
ps aux --sort=-%cpu | head -n 20
ps aux --sort=-%mem | head -n 20
pidstat -u 1 10
journalctl --since "23:59" --until "00:10"
systemctl list-timers
grep -rnw '/etc/' -e '00:00'
docker stats
docker ps -a --format "{{.ID}} {{.Image}} {{.Command}} {{.RunningFor}}"
docker inspect $(docker ps -q) --format '{{ .Id }}: {{ .State.StartedAt }}'
iftop -nNP
iotop -oPa
🚨 Уязвимость в ядре Linux: повышение привилегий через VSOCK (CVE-2025-21756)
Что случилось?
Обнаружена уязвимость «use-after-free» в реализации AF_VSOCK (виртуальных сокетов) ядра Linux, которая позволяет локальному злоумышленнику получить права root.
🔜 Ключевые факты
- Идентификатор: CVE-2025-21756
- Тип уязвимости: Use-After-Free в функции удаления сокета VSOCK
- Влияние: выполнение произвольного кода с правами root на уязвимых системах
- Рабочий эксплоит: доказан на ядре 6.6.75 (для других версий требуется правка кода эксплоита)
Затронутые версии
- Все ядра Linux до 6.14 (включительно)
- Стабильные ветки 6.12.16, 6.6.79, 6.1.131 и ранее
- Корпоративные сборки: RHEL, SUSE/openSUSE, Ubuntu, Debian 12 (уже исправлены)
- Debian 11 — до сих пор уязвим
Механизм уязвимости
1. При переназначении транспорта для AF_VSOCK вызывается vsock_remove_sock().
2. Далее vsock_remove_bound() неправильно уменьшает счётчик ссылок на объект сокета.
3. Счётчик становится равным нулю, ядро освобождает память, хотя объект ещё используется.
4. Локальный пользователь получает доступ к освобождённой памяти и может выполнить произвольный код с привилегиями ядра.
👽 Как защититься
1. Обновите ядро до версии 6.14 или выше.
2. Установите последние февральские/мартовские патчи для веток 6.12.16, 6.6.79 и 6.1.131.
3. На дистрибутивах RHEL, SUSE/openSUSE, Ubuntu и Debian 12 убедитесь, что установлены свежие пакеты ядра.
4. В Debian 11 — либо обновитесь до Debian 12, либо вручную соберите патченный пакет ядра.
❗ **Важно:** если на системе используются контейнеры или виртуальные машины с VSOCK, немедленно примените обновления — эксплоит работает локально и не требует дополнительных разрешений.
⚫️ Эксплоит
@linuxkalii
🔥 Полезный совет: Мониторинг Linux в реальном времени — не жди, пока будет поздно!
🔜 Почему важно?
Если система начинает тормозить или странно себя вести, быстрое выявление проблем (нагрузка на CPU, память, диск, сеть) может спасти сервер или рабочую машину от падения.
---
**Топ-5 инструментов для реального мониторинга в Linux:**
▪️ htop
— улучшенная версия top
- Красивое цветное отображение процессов.
- Быстрая сортировка по нагрузке на CPU, память.
- Можно убивать или приостанавливать процессы прямо из интерфейса.
sudo apt install htop
htop
iotop
— мониторинг ввода-вывода дисков
sudo apt install iotop
sudo iotop
iftop
— сетевой мониторинг в реальном времени
sudo apt install iftop
sudo iftop
glances
— комплексный мониторинг системы
sudo apt install glances
glances
dstat
— мониторинг ресурсов по категориям
sudo apt install dstat
dstat
netdata
:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
✔️ Задача: "Найди ошибку в скрипте запуска сервиса на Linux"
🧩 Условие:
Перед вами скрипт start_server.sh
, который должен запускать серверное приложение в фоне и писать логи.
Вот его код:
#!/bin/bash
APP_PATH="/opt/myapp/server"
LOG_PATH="/var/log/myapp/server.log"
nohup $APP_PATH > $LOG_PATH 2>&1 &
echo $! > /var/run/myapp.pid
nohup
, выводы в лог, управление путями, записи PID, обработку ошибок./var/log
и /var/run
.$APP_PATH
$APP_PATH
не существует или не имеет права на исполнение, nohup
запустится, но процесс быстро "умрет".$!
в PID-файл, не проверяя, действительно ли процесс стартовал корректно.nohup
/var/log/myapp
не существует или нет прав на запись, то перенаправление в $LOG_PATH
вызовет мгновенный крах nohup
./var/run/myapp
не существует, команда echo $! > /var/run/myapp.pid
провалится молча, PID будет потерян.
#!/bin/bash
APP_PATH="/opt/myapp/server"
LOG_DIR="/var/log/myapp"
RUN_DIR="/var/run/myapp"
LOG_PATH="$LOG_DIR/server.log"
PID_FILE="$RUN_DIR/myapp.pid"
# Проверяем наличие исполняемого файла
if [ ! -x "$APP_PATH" ]; then
echo "Ошибка: приложение $APP_PATH не найдено или не имеет права на исполнение."
exit 1
fi
# Создаём каталоги при необходимости
mkdir -p "$LOG_DIR" "$RUN_DIR"
# Запускаем приложение
nohup "$APP_PATH" >> "$LOG_PATH" 2>&1 &
APP_PID=$!
# Небольшая пауза для стабильного старта
sleep 1
# Проверяем, жив ли процесс
if ps -p $APP_PID > /dev/null; then
echo $APP_PID > "$PID_FILE"
echo "Сервер успешно запущен с PID $APP_PID."
else
echo "Ошибка: процесс не запустился корректно. См. лог $LOG_PATH."
exit 1
fi
exec
в скриптах демонизации?nohup
от запуска через systemd
?🖥 20 полезных команд Linux
В арсенале любого опытного Linux‑администратора есть набор проверенных временем утилит: ls, cd, grep, find, ps, top и другие. Однако за пределами этой стандартной десятки скрываются настоящие «скрытые жемчужины» — мощные, но менее известные инструменты, способные упростить диагностику, автоматизацию и управление системой.
1️⃣ mtr (My Traceroute)
📋 Что делает: объединяет ping и traceroute, постоянно опрашивая каждый хоп и показывая статистику потерь и времени отклика.
💡 Пример:
mtr example.com
2️⃣ ss (Socket Statistics)
📋 Что делает: современная замена netstat. Быстро показывает TCP/UDP/RAW/UNIX‑сокеты и их состояние.
💡 Пример:
ss -tulnp
3️⃣ iotop
📋 Что делает: мониторинг дискового I/O в реальном времени, показывает процессы, активно читающие или пишущие на диск.
💡 Пример:
sudo iotop -o
4️⃣ nethogs
📋 Что делает: группирует сетевой трафик по процессам, позволяет быстро найти «трафик‑хищников».
💡 Пример:
sudo nethogs eth0
5️⃣ lsof (List Open Files)
📋 Что делает: показывает, какие файлы (включая сокеты и устройства) открыты процессами.
💡 Пример:
sudo lsof -i :80
sudo lsof /var/log/syslog
6️⃣ pgrep / pkill
📋 Что делает: ищет или убивает процессы по именам/атрибутам без парсинга ps | grep.
💡 Пример:
pgrep -u nginx
pkill -f "python my_script.py"
7️⃣ pstree
📋 Что делает: отображает дерево процессов с PID и связями «родитель → дочерний».
💡 Пример:
pstree -p
8️⃣ dstat
📋 Что делает: универсальный генератор статистики CPU, диска, сети, памяти, I/O в реальном времени.
💡 Пример:
dstat -tcdmn
9️⃣ atop
📋 Что делает: продвинутый мониторинг производительности с возможностью записи истории метрик.
💡 Пример:
atop
atop -r /var/log/atop/atop_20250418
🔟 multitail
📋 Что делает: позволяет «tail -f» сразу несколько лог‑файлов в одном терминале с разделёнными панелями.
💡 Пример:
multitail /var/log/nginx/access.log /var/log/nginx/error.log
1️⃣1️⃣ parallel (GNU Parallel)
📋 Что делает: выполняет команды параллельно, альтернатива xargs для многоядерных систем.
💡 Пример:
find . -name "*.jpg" | parallel convert {} {.}.png
1️⃣2️⃣ watch
📋 Что делает: периодически запускает команду и обновляет её вывод в реальном времени.
💡 Пример:watch -n 1 'ss -an | grep ESTABLISHED | wc -l'
1️⃣3️⃣ script / scriptreplay
📋 Что делает: записывает терминальную сессию (ввод/вывод) в файл; scriptreplay воспроизводит её.
💡 Пример:script my_session.log
exit
scriptreplay my_session.log
1️⃣4️⃣ lsblk
📋 Что делает: показывает блочные устройства (диски, разделы, LVM) в древовидном формате.
💡 Пример:lsblk -f
1️⃣5️⃣ getent
📋 Что делает: получает записи из NSS‑источников (passwd, group, hosts и т.д.), включая LDAP/NIS.
💡 Пример:getent passwd username
getent hosts google.com
1️⃣6️⃣ chage
📋 Что делает: управляет политиками устаревания паролей пользователей.
💡 Пример:sudo chage -l username
sudo chage -M 90 username
1️⃣7️⃣ column
📋 Что делает: форматирует текстовый ввод в аккуратные колонки.
💡 Пример:mount | column -t
1️⃣8️⃣ dig (Domain Information Groper)
📋 Что делает: мощный DNS‑клиент для гибких запросов к DNS‑серверам.
💡 Пример:dig google.com MX +short
dig @8.8.8.8 example.org A1️⃣9️⃣ dpkg -L / rpm -ql
📋 Что делает: показывает файлы, установленные пакетом (Debian/Ubuntu или RHEL/CentOS).
💡 Пример:dpkg -L nginx-core
rpm -ql httpd
2️⃣0️⃣ journalctl
📋 Что делает: запрашивает логи из systemd‑журнала с гибкими фильтрами по юнитам, времени и приоритетам.
💡 Пример:
journalctl -u nginx.service -f
journalctl --since "1 hour ago"
✔️ Подробнее
@linuxkalii
🤖 Исследователи обнаружили тревожный тренд: ИИ-ассистенты вроде ChatGPT и Gemini всё чаще предлагают код с несуществующими зависимостями. Злоумышленники быстро адаптировались — они регистрируют эти галлюцинированные названия в PyPI и NPM, наполняя их вредоносным кодом.
Под особой угрозой разработчики, практикующие vibe-coding — бездумное копирование ИИ-подсказок. Некоторые фейковые пакеты выглядят убедительно: имеют документацию, GitHub-репозитории и даже блоги-однодневки.
‼️ Фонд Python называет эту тактику «слопсквоттинг» (от *slop* — «мусорный вывод ИИ») и усиливает защиту репозиториев. Пока главная рекомендация — вручную проверять каждую зависимость, даже если её рекомендует ИИ.
🔗 Ссылка - *клик*
@linuxkalii
🌐 Tor Browser 14.5 — крупное обновление для мобильных и десктоп-платформ. После полугода разработки выпущена новая версия любимого всеми анонимного браузера на базе Firefox 128 ESR.
Особенность релиза — усиленная защита от цифрового фингерпринтинга. Браузер не просто блокирует трекеры, но и камуфлирует системные параметры, нейтрализуя 15+ Web-API. При этом улучшена диагностика подключений — теперь лог операций обновляется в реальном времени без перезагрузки интерфейса.
🔗 Ссылка - *клик*
@linuxkalii
🛡️ CVE обретает стабильность: возобновление финансирования и создание независимого фонда
После недели неопределённости Министерство внутренней безопасности США продлило контракт с MITRE на поддержку базы CVE — фундаментальной системы идентификации уязвимостей, используемой всеми от Apache до Google. Но главная новость — анонс CVE Foundation, некоммерческой организации, которая возьмёт на себя долгосрочное управление проектом, устранив зависимость от государственного финансирования.
Этот шаг стал результатом годовой работы коалиции членов CVE Board (включая представителей Linux Foundation, Google и Red Hat), обеспокоенных глобальной зависимостью инфраструктуры кибербезопасности от единственного источника. Фонд сохранит существующую систему с 453 CNA-участниками, но добавит прозрачности в процесс управления.
🔗 Ссылка - *клик*
@linuxkalii
❓ Задача: "Исчезающие процессы"
На сервере с Linux (Ubuntu 22.04) установлен некий демон (например, mydaemon
), который запускается через systemd unit и, согласно логам, должен работать постоянно.
❓ Но вот странность:systemctl
status mydaemon
показывает, что сервис активен.
Однако при выполнении ps aux | grep mydaemon
— процесса в списке нет.top, htop, pgrep, pidof
— тоже ничего не показывают.
Но при перезапуске systemd-сервиса (systemctl restart mydaemon)
— в логах появляется запись о запуске, ошибок нет, а поведение не меняется.
Вопрос:
что происходит и как найти реальный процесс?
.
systemctl show -p MainPID mydaemon?💥 В даркнете появилась база с данными 89 млн аккаунтов Steam — возможная утечка из Twilio
На одной из даркнет-площадок выставлен на продажу файл, содержащий якобы 89 миллионов записей пользователей Steam — это около двух третей всех аккаунтов на платформе.
Продавец с ником Machine1337 запросил $5000 за доступ к базе и опубликовал примерку из 3000 строк в качестве доказательства.
Содержимое файла включает:
- SMS-сообщения с одноразовыми кодами Steam Guard
- номера телефонов, на которые были отправлены эти коды
По оценкам экспертов, утечка вряд ли произошла со стороны Valve — куда более вероятной выглядит компрометация облачного провайдера Twilio, который занимается отправкой SMS для двухфакторной аутентификации.
📌 Если у вас включён Steam Guard через мобильное приложение, серьёзных причин для беспокойства нет — коды, отправленные по SMS, считаются менее защищённым методом.
@linuxkalii
🧠 Задача для продвинутых Linux-администраторов: “Служба-зомби и ловушка systemd”
📘 Условие
У тебя есть systemd unit-файл /etc/systemd/system/fake-backup.service
:
[Unit]
Description=Fake Backup Daemon
After=network.target
[Service]
ExecStart=/usr/local/bin/fake-backup.sh
Type=forking
PIDFile=/var/run/fake-backup.pid
Restart=always
[Install]
WantedBy=multi-user.target
fake-backup.sh
:
#!/bin/bash
echo $$ > /var/run/fake-backup.pid
sleep 300
systemctl daemon-reload
systemctl enable fake-backup
systemctl start fake-backup
systemctl status fake-backup
active (exited)
Main PID exited, but service still running.
Type=forking
требует форкаType=forking
говорит systemd: ExecStart
форкнется, и его родитель завершится. Я буду отслеживать дочерний PID.»fake-backup.sh
не форкается, а просто пишет свой PID и спит.PIDFile
не спасаетPIDFile
, systemd не может точно отследить процесс, если:setsid
simple
— безопасный тип для большинства скриптов 🐧 Задача-ловушка: Почему служба не видит обновлённый файл?
Условие:
Вы обновили конфигурационный файл для популярного сервиса (например, `nginx`), изменив несколько параметров. Затем вы перезапустили сервис:
systemctl restart nginx
cat /etc/nginx/nginx.conf
mv /tmp/new_nginx.conf /etc/nginx/nginx.conf
cat
показывает новый файл (новый inode по тому же имени). mv
рекомендуется не просто перезапустить сервис, а полностью остановить и запустить заново:reload
, если поддерживается:mv
не заменяет содержимое «на лету» для уже работающих процессов. restart
systemd или скрипты могут не освободить старый дескриптор, если используются специфические модули, overlayfs или другие хитрости.tail -f /etc/nginx/nginx.conf
после mv
может перестать работать корректно, и как сделать так, чтобы отслеживание файла продолжалось после замены?🔍 Linkook — инструмент OSINT для поиска связанных аккаунтов
Linkook — это мощный инструмент для автоматического поиска связанных аккаунтов в соцсетях и связанных email по одному username
. Полезен для OSINT-расследований, аудита и мониторинга цифрового следа.
▪ Основные возможности
• Поиск аккаунтов по заданному username
на множестве популярных платформ
• Рекурсивное обнаружение альтернативных никнеймов и связанных аккаунтов
• Проверка email на утечки через HudsonRock’s Cybercrime Intelligence Database или API Have I Been Pwned
• Экспорт данных в JSON (совместим с Neo4j для визуализации графа связей)
▪ Установка
# Быстрая установка через pipx
pipx install linkook
# Или установка из исходников
git clone https://github.com/JackJuly/linkook
cd linkook
python setup.py install
linkook <username>
• --show-summary — вывод сводки после завершения сканирования
• --concise — компактный вывод
• --check-breach — проверка email через HudsonRock DB (отмечает «(breach detected)»)
• --hibp — проверка через Have I Been Pwned (API-ключ обязателен)
• --neo4j — экспорт в neo4j_export.json для Neo4j
• Другие: --silent, --scan-all, --print-all, --no-color, --browse, --debug, --output, --local, --version, --update
🥷 OnionGPT — бесплатный ИИ на основе Llama в сети Tor и без цензуры!
🔗 Ссылка: *клик* (не работает в обычном браузере)
@linuxkalii
👾 Опубликованы новые релизы свободных загрузочных прошивок Libreboot 25.04 и Canoeboot 25.04. Эти проекты предлагают полностью открытую замену проприетарным BIOS/UEFI, удаляя закрытые компоненты вроде Intel ME.
В новом релизе Libreboot добавлена поддержка плат Acer Q45T-AM/G43T-AM3, обновлены инструменты сборки (Debian 12.10, GCC 15) и компоненты. Canoeboot, как более строгая версия, исключает все бинарные вставки, сохраняя совместимость лишь с ограниченным набором устройств — от старых ThinkPad до PlayStation 1.
🔗 Ссылка - *клик*
@linuxkalii
😂 Это вышка - один из сотрудников xAI случайно разместил на GitHub приватный API-ключ.
Два месяца подряд любой мог получить доступ к более чем 60 внутренним моделям xAI, в том числе неанонсированным версиям Grok. Ключ работал до 30 апреля.
Похоже, xAI таким образом решили стать open source 😁
@linuxkalii
🔒 Microsoft ограничила работу своего C/C++ расширения в форках VS Code
Пользователи альтернативных редакторов на базе VS Code столкнулись с блокировкой проприетарного расширения для C/C++ от Microsoft. После обновления до версии 1.24.5 плагин начал выдавать ошибку, сообщая о возможности работы только в официальных продуктах Microsoft — VS Code, Visual Studio и связанных сервисах.
Ситуация вновь поднимает вопрос о зависимости open-source проектов от проприетарных дополнений. Пока единственное решение для тех, кому критично расширение от Microsoft — откат на старую версию и отключение автообновлений.
🔗 Ссылка - *клик*
@linuxkalii
⚠️ Критическая уязвимость в NPM-пакете xrpl.js: бэкдор для кражи криптоключей.
Официальная библиотека для работы с криптовалютой XRP оказалась скомпрометирована — злоумышленники внедрили вредоносный код в версии 2.14.2 и 4.2.1-4.2.4. Под видом функции проверки ключей checkValidityOfSeed
пакет тайно отправлял приватные ключи кошельков на внешний сервер.
Атака длилась менее суток (21-22 апреля), но за это время уязвимые версии успели скачать 165 тысяч раз. Подозревается компрометация аккаунта мейнтейнера через фишинг. Разработчики XRP Ledger оперативно выпустили патч в версиях 4.2.5 и 2.14.3.
🔗 Ссылка - *клик*
@linuxkalii
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
Нерйросети t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: /channel/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: /channel/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy
✔️ Эскейп в «клетке» ограниченной оболочки: два классических приёма
Когда система кажется неприступной и администратор «залочил» вас в белом списке оболочек, не спешите сдаваться. Если среди разрешённых утилит есть vi/vim или less, они могут стать вашим ключом к свободе.
✨ 1. Волшебная интерактивная оболочка через Vim
Представьте, что у вас есть доступ к бинарям с SUID/GUID — и что в списке одобренных приложений значится сам Vim. Запустите его так:vim -c ':!/bin/sh'
илиvim --cmd ':set shell=/bin/sh|:shell'
И вот, вы уже держите в руках полноценную интерактивную $-оболочку. Гуляйте по файловой системе, исследуйте /root и другие запретные зоны — всё это будет доступно, пока Vim остаётся в вашем распоряжении. 🥳
🌟 2. Плавный выход через Less
Укажем недостатков меньше, чем возможностей у less. Откройте любой файл, например:less /etc/passwd
Затем просто наберите в самом less:diff
!sh
После этого — вуаля! — перед вами окажется полноценная sh-оболочка. Этот трюк срабатывает везде, где допускается вызов less.
📌 Бонус: Python-эскейп
Если же в окружении есть Python, и вы мечтаете о ещё одном пути к свободе, выполните:python -c 'import pty; pty.spawn("/bin/sh")'
Или, чтобы обойтись без интерактивного ввода:python - <<<'import os; os.system("/bin/sh")'
Эти приёмы давно и прочно обосновались в арсенале пентестеров.
Сохраняйте их, добавляйте в свои бэклоги и применяйте на тестовых стендах!
@linuxkalii
🎫 Не пропусти крупнейший международный киберфестиваль Positive Hack Days!
PHDays Fest пройдет 22–24 мая в «Лужниках». Здесь раскрывают секреты технологий и их роль в повседневной жизни каждого из нас.
Мероприятие будет разделено на две зоны: закрытую конференцию для технических специалистов и представителей бизнеса, а также открытую бесплатную часть для всех желающих.
🤟 В программе — 270 докладов, 26 треков и выступления более 500 спикеров — от начинающих специалистов до именитых экспертов со всего мира, CIO и CISO крупных IT-компаний. А также кибербитва Standoff.
Получить билет на закрытую конференцию можно за пожертвование в благотворительный фонд на сумму от 1500 рублей.
😏 Приобрести билет
🔐 TLS-сертификаты станут скоропортящимися: введение новых правил CA/Browser Forum.
Крупнейшие игроки интернет-индустрии договорились о радикальном сокращении срока жизни TLS-сертификатов — с нынешних 13 месяцев до всего 47 дней к 2029 году.
Это решение, поддержанное 29 участниками ассоциации, направлено на борьбу с последствиями утечек и ускорение перехода на новые криптостандарты. Особое внимание уделено SAN-сертификатам: их валидация теперь будет действительна лишь 10 дней.
🔗 Ссылка - *клик*
@linuxkalii
Получи грант на обучение в Центральном университете
Центральный университет выдает гранты на 4 года обучения в бакалавриате.
Грант покрывает до 100% стоимости обучения. Участвуй в отборе, чтобы получить грант.
Получи доступ к уникальным активностям для абитуриентов. Для выпускников 10-х, 11-х классов и колледжей.
Узнать больше
#реклама
apply.centraluniversity.ru
О рекламодателе
👽 Проведи выходные с пользой, Игры которые прокачают знание команд в терминале весело и эффективно:
Terminus
Текстовая RPG от MIT: вы — новобранец Академии Магии, и каждое заклинание здесь — это команда Linux. Пройдите обучение, разгадайте тайны подземелий и отточите навык работы в консоли.
GameShell
Минималистичная головоломка прямо в терминале от Университета Савойи (Savoie Mont Blanc). Управляйте героем, применяя команды для решения задачек и прокладывая путь к победе.
Bashcrawl
Консольный рогалик: исследуйте процедурно генерируемые подземелья, сражайтесь с монстрами-мимиками и осваивайте базовые и продвинутые команды Bash, чтобы выжить и выбраться на поверхность.
Попробуйте всё — и изучение терминала превратится в настоящее приключение!