Сисадмин В Kernel Panic
31 subscribers
230 photos
25 videos
1 file
107 links
Небольшой канал, злого сисадмина. Личные заметки и решения, мемы, интересные утилиты.
Download Telegram
Это лучшая заглушка на 500 ошибку, которую я только видел :)

#meme
🤡 Самый тупой взлом года. Элита даркнета не осилила chmod, админы BreachForums выложили users.sql в корень веб-сервера.

Случилось прекрасное. Главная цифровая помойка планеты, форум BreachForums, где обычно торгуют нашими с вами базами данных, сама оказалась в роли потерпевшей. В паблик выложили свежий дамп, содержащий данные 325 000 пользователей этой площадки. В утечке полный набор для деанонимизации... никнеймы, email-адреса, хеши паролей (тут хотя бы Argon2, а не MD5 😎) и, что самое неприятное (или для кого-то приятное) IP-адреса и личные сообщения. Теперь мамкины хакеры, которые вчера покупали логи с вашего взломанного RDP, сегодня ищут себя в базе Have I Been Pwned. Карма работает?

Особого внимания заслуживает причина провала. Текущий администратор форума (под ником N/A) выступил с объяснением, за которое в приличной компании увольняют одним днём. Оказывается, дамп утек еще в августе 2025 года во время миграции движка. Админы просто временно оставили таблицу пользователей в незащищенной папке на веб-сервере. 😗 Представьте уровень иронии... люди, которые называют себя элитой киберпреступности и продают доступы ко всяким Пентагонам, совершили ошибку эникея-стажера, который впервые выкладывает сайт на хостинг и забывает убрать лишнее из корня сайта.

Слив оформил персонаж под ником James, выложив манифест и базу на домене ShinyHunters. Для сообщества безопасников это настоящий подарок... перекрестный анализ этих данных позволит связать виртуальные ники с реальными людьми, которые годами портили жизнь. Получается, если даже параноики с даркнет-форумов не могут нормально настроить права доступа при бэкапе, то безопасность это действительно миф 😱

Типичный 🥸 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
Как выяснить, какие файлы недавно изменялись в системе?

Периодически возникает задача понять, что именно было затронуто - после апдейта, крэша или подозрительных действий.

Показать все файлы, которые были изменены или созданы за последние 10 минут:
find /data -xdev \( -path /kernel -o -path /hardware -o -path /runtime -o -path /devices \) -prune -o \
-type f -mmin -10 -print 2>/dev/null


Проверить, что трогали в каталоге конфигураций за последние сутки:
find /config -type f -mtime -1


Определить, какие исполняемые файлы обновлялись недавно:
find /apps -type f -perm /111 -mtime -1

Флаг /111 означает поиск файлов, у которых выставлен хотя бы один бит исполнения.

Посмотреть, какие конфигурационные файлы редактировались последними с точным временем:
find /config -type f -printf '%T@ %p\n' 2>/dev/null | sort -nr | head


Для локального разбора файловых логов:
ls -lt /logs | head

Метод применим только к файловым логам - журналы journald сюда не входят.

Для анализа системного журнала:
journalctl --since "10 min ago"


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

#learn
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🦕 Самый долгий тикет в истории закрыт. Altair 8800 включился спустя 52 года

В далеком 1974 году один энтузиаст купил себе легендарный Altair 8800 (на базе Intel 8080) в виде набора сделай сам. Отдал он за это удовольствие $439, что по тем временам было серьезной суммой. Но, как это часто бывает, мануал оказался сложным, а паяльник слишком горячим. Владелец допустил ошибки при сборке, ПК не запустился, и он отложил его до выходных

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

Чтобы отпраздновать закрытие тикета, на нем сыграли в игру (Kill the Bit), написанную в 1975г. Геймплей - чистый киберспорт 70х, тут только ты, тумблер и тайминг, чтобы физически потушить бегущий по регистрам бит 😗

Уровень прокрастинации, к которому я стремлюсь.

Типичный
🎄 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
😱3
🐸 Cloudflare молча сменил сертификаты и отключил интернеты владельцам MikroTik.

Тут cлучилась классическая драма на стыке гигантов и вендоров. Cloudflare, особо никого не предупреждая, решил сменить удостоверяющий центр для своих DoH-эндпоинтов (1.1.1.1). Они переехали с DigiCert на SSL.com

Казалось бы, рутина, но есть нюанс. Выяснилось, что в дефолтном хранилище корневых сертификатов MikroTik RouterOS (начиная с версий 7.19 и выше) доверия к SSL.com нет. Вообще. Как результат, у тысяч людей по всему миру DoH-соединения отвалились с ошибкой SSL: no trusted CA certificate found 🎩

Теперь, чтобы оживить DoH на Микротах, нужно вручную скормить ему корневой сертификат.

Временно отключаем проверку серта и ставим резерв:
ip dns set verify-doh-cert=no servers=1.1.1.1


Тянем сертификат с сайта SSL.com:
/tool fetch url="https://ssl.com/repo/certs/SSLcomRootCertificationAuthorityECC.pem"
/certificate import file-name=SSLcomRootCertificationAuthorityECC.pem


Возвращаем всё как было, но уже с рабочим трастом:
ip dns set verify-doh-cert=yes servers=""


Типичный
💊 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
Как диагностировать процесс, который занимает слишком много ресурсов ЦП, памяти или I/O в Linux

Если сервер начинает тормозить, а причина неочевидна, на помощь приходят стандартные инструменты диагностики.

vmstat
Показывает общую картину состояния системы:
- количество процессов
- использование памяти
- swap
- загрузку CPU
Подходит для быстрого понимания, в каком месте возникает проблема.

iostat
Инструмент для анализа дисковой подсистемы:
- загрузка CPU
- задержки
- операции чтения и записи по устройствам
Полезен при подозрениях на проблемы с дисками или I/O.

netstat
Статистика сетевого стека:
- TCP / UDP / IP / ICMP
- активные соединения
- состояние портов
Помогает выявить сетевые узкие места.

lsof
Список открытых файлов в системе:
- файлы
- сокеты
- устройства
Незаменим, если процесс удерживает ресурс или файл.

pidstat
Детальная статистика по процессам:
- использование CPU
- память
- I/O
- контекстные переключения
Идеален для анализа конкретного процесса по PID.

#learn
⌨️ Telnet снова дарит root-права без пароля (CVE-2026-24061)

Казалось бы, в 2026 году порт 23 должен быть закрыт не просто фаерволом, а залит бетоном. Но если в вашей инфре (или на старых железках) крутится GNU InetUtils telnetd, у меня для вас плохие новости.

В демоне нашли критическую уязвимость (CVSS 9.8), которая позволяет получить root-доступ, просто грамотно попросив. Дыра жила в коде 11 лет (с 2015 года), и никто её не замечал.

Демон telnetd принимает от клиента переменную окружения USER и, не особо задумываясь, передает её как аргумент утилите /bin/login. А что будет, если хацкер передаст значение -f root? Системный компонент видит флаг принудительного входа, который исторически использовался для доверенных сессий, и решает, что этот пользователь уже аутентифицирован и впускает под рутом 🎩

ИБшные компании уже фиксируют, что с IP-адресов Китая, США и Нидерландов начали активно сканить интернет в поисках мамонтов с открытым телнетом.

Если вы используете Telnet в 2026 году... то, во-первых, зачем? 🤡 А во-вторых, обновляйте пакет inetutils или наконец-то переходите на SSH.

Типичный
🥸 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
lnav - инструмент для просмотра логов.

Что умеет:

Слияние всех логов в один поток
Не нужно прыгать между файлами и сверять таймстемпы. Запустил lnav ./ и все логи из текущей директории сразу перед тобой, аккуратно отсортированные по времени.

Чтение сжатых логов
gzip и другие форматы lnav читает без проблем. Очень удобно, когда старые логи лежат в архиве.

Поиск ошибок и быстрый переход между ними
lnav сам распознаёт ошибки (!) и позволяет перемещаться между ними одной кнопкой e. Нажал и сразу на следующей ошибке.

Фильтрация логов, включая RegExp
Хочешь видеть только 4xx ошибки nginx?
filter-in "4\d\d"
Если нужен ещё фильтр , просто добавляешь такой же. Удалить или временно выключить фильтр? Нажал TAB - и управляешь ими прямо в интерфейсе.

Автоматическая раскраска логов
Вместо однотонного текста - разные части строк и символы подсвечены, чтобы быстро отделять важное от мусора. Аналог эффекта "Матрицы", но для логов.

#utility
👨‍🦳 Хроники одной моей подсети

Иногда я чувствую себя не сисадмином, а кем-то, кто проводит социальный эксперимент. Я намеренно урезаю пул DHCP до 4 адресов, запускаю в сеть 30 голодных хостов и наливаю себе кофе.

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

Четверо счастливчиков получают заветный IP. Теперь они новая элита, они мой сетевой золотой миллиард 🤴 У них есть доступ к Интернетам, к общим папкам, к жизни. Но их счастье отравлено страхом. Время аренды... их Lease Time тикает. Они помнят, что их статус временный или стоит им уйти в ребут - их место займет кто-то другой, более голодный и быстрый 🏃‍♂️

Остальные 26 маргиналов сваливаются в цифровое гетто 169.254.x.x. Они получают бесполезные APIPA-адреса. Они вроде бы существуют, лампочки мигают, но они отрезаны от большого мира. Они могут общаться только друг с другом в своей локальной безысходности, не имея возможности выйти за пределы своего болота 👹

Но самое забавное в этой трагедии то, о чем не знают ни те, ни другие. В моей сети есть Статическая Аристократия 🪄

Мои нужные домашние устройства, которым я прописал IP вручную. Они не участвуют в этой крысиной беготне. Им плевать на суету с DHCP, они не участвуют в крысиных бегах за ресурс и с презрением наблюдают за возней динамических плебеев. Они выше правил, потому что их право на существование прописано в конфиге - в самой структуре мироздания сети.

Они просто молча наблюдают с высоты своих статичных IP, как динамическая биомасса внизу рвет друг другу глотки за право получить доступ к шлюзу на следующие 60 минут.

... но перед лицом обесточивания все пакеты равны. И тьма примет их всех.

Типичный 🥸 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🥸 10 миллисекунд до шелла. Черти из BSD снова показали, как надо писать код

На FOSDEM 2026 разработчики NetBSD🥸 показали, что происходит, когда инженеры с 30-летним стажем решают убрать вообще всё, что мешает процессору работать. Выкатив проект smolBSD... максимально переосмыслив то, как виртуальная машина должна общаться с гипервизором.

Инженеры пошли путем радикального минимализма. Они выкинули всю шелуху вроде GRUB и BIOS, заставив гипервизор грузить ядро напрямую, без лишних прелюдий и инициализации виртуального железа. Но этого показалось мало. Оказалось, что даже эмуляция обычного Serial-порта слишком медленная, потому что печать каждого символа вызывает VM Exit. Поэтому они выпилили эмуляцию серийника и внедрили нативный драйвер viocon (VirtIO Console). Теперь консоль работает напрямую через память, не дергая гипервизор по пустякам👍

Второй уровень оптимизации... отказ от сканирования шины PCI. Вместо того чтобы ядро при загрузке опрашивало устройства, они передают адреса VirtIO-устройств (диск, сеть, консоль) жестко через MMIO прямо в командной строке ядра. Драйверам не нужно ничего искать, они сразу знают адреса в памяти. А чтобы не ждать инициализации сети и DHCP (это же целые секунды!), они использовали механизм QEMU fw_cfg. Это интерфейс, который обычно используется для передачи конфигов в BIOS, но здесь через него пробрасывают файлы и скрипты прямо в память гостя. В демо они показали, как с хоста через обычный сокет отправляют команды внутрь микро-VM, и она отвечает мгновенно, работая по сути как обычный процесс, но с полной изоляцией ядра.

Еще они запилили сборку этих микро-образов через обычный Dockerfile. Вы пишете FROM base, добавляете пакеты через pkgin, и на выходе получаете загрузочный образ, который стартует за 10 мс. Глядя на это, хочется стереть все эти тяжелые кубернетесы и вернуться к инженерным истокам... без лишних слоев абстракции, на чистом ассемблере и Си 😎

Типичный 🥸 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
Шпаргалка по горячим клавишам в терминале.

Ctrl + A - переход в начало строки
Ctrl + E - переход в конец строки
Ctrl + U - удаление от курсора до начала строки
Ctrl + K - удаление от курсора до конца строки
Ctrl + W - удаление слова перед курсором
Ctrl + L - очистка экрана терминала
Ctrl + C - принудительная остановка текущего процесса или команды
Ctrl + D - завершение сессии ввода, выход из оболочки
Ctrl + Z - приостановка текущего процесса с возможностью дальнейшего продолжения
Ctrl + R - поиск по истории выполненных команд
Стрелка вверх - переход к предыдущей команде из истории
Стрелка вниз - переход к следующей команде из истории
!! - повтор последней выполненной команды
!n - повтор команды с номером n из истории
Tab - автодополнение команд, файлов и каталогов
Ctrl + Shift + C - копирование выделенного текста
Ctrl + Shift + V - вставка текста из буфера обмена
Ctrl + Shift + N - открытие нового окна терминала
Ctrl + Shift + T - открытие новой вкладки в терминале
Ctrl + Tab - переключение между вкладками терминала

Может кому-то полезно будет. Хотя многие и меняют дефолтные хоткеи.

#learn
📝Notepad++ работал на китайскую разведку.

Разраб Notepad++ официально подтвердил что инфраструктура обновлений многим любимого редактора была захвачена китайскими государственными хакерами 🐲

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

Атакующие ломанули хостинг проекта и перехватили управление механизмом апдейтов. Поскольку старый модуль обновления WinGUp проверял целостность файлов, мягко говоря, творчески (и использовал самоподписанные сертификаты), хакерам удавалось подсовывать определенным пользователям модифицированные бинарники вместо легального патча. И уже есть инфа, что есть организации, где именно процесс notepad++.exe стал точкой входа для дальнейшего ручного взлома сети 😱

З.Ы. Если у вас версии ниже 8.8.9, то обновляйтесь вручную. В версии 8.8.9 наконец-то прикрутили жесткую проверку подписей. А если вы когда-то ставили корневой самоподписанный сертификат Notepad++, то удалите его из хранилища доверенных.

Типичный 🥸 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
Как запустить процесс в Linux с подменой библиотеки без root (через namespace)

Иногда нужно проверить поведение программы или вмешаться в её работу, не меняя систему и без прав root. Типичные задачи - перехват вызовов open(), подмена getenv(), тестирование своей версии библиотеки.

Обычно для этого используют LD_PRELOAD, но это костыль с кучей ограничений. Более аккуратный вариант - mount namespace и unshare.

Суть подхода простая:
- создаём отдельный mount namespace
- подменяем каталог с библиотеками только внутри него
- запускаем процесс, который ничего не подозревает


Пример:
# Подмена библиотеки без root с помощью mount namespace

mkdir -p /tmp/nsroot/lib

# Кладём свою библиотеку
cp ./hook_lib.so /tmp/nsroot/lib/

# Запускаем процесс в новом namespace с подменённым LD_LIBRARY_PATH
unshare -m -- bash -c '
mount --bind /tmp/nsroot/lib /lib &&
LD_LIBRARY_PATH=/lib ./target_app
'

Что здесь происходит:

- unshare -m создаёт отдельный mount namespace
- mount --bind подменяет /lib только внутри этого namespace
- LD_LIBRARY_PATH указывает загрузчику брать библиотеки из подменённого каталога
- остальная система при этом не затрагивается


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

Полезно для отладки, реверса, тестов и экспериментов, где LD_PRELOAD уже не справляется.

#learn
⌨️ ФСТЭК выпустила гайд по защите VMware. В 2026 году. Похоже, импортозамещение немного затянулось.

Федеральная служба по техническому и экспортному контролю внезапно выкатила рекомендации по безопасной настройке виртуальной инфраструктуры на базе VMware. Тот факт, что на дворе 2026 год, а Broadcom (владелец VMware) ушел из России в марте 2022, уже никого не смущает 👨‍🦳

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

🟢Нужен тотальный логгинг... Необходимо настроить отправку Syslog на удаленный сервер (TCP 514). Хранить логи локально - завязывайте. Прямо указано мониторить /var/log/shell.log и /var/log/auth.log на предмет выполнения команд типа sudo ./encryptor (на чек шифровальщиков).

🟢Запрет на запуск левого кода... Требуется включить режим execInstalledOnly и Secure Boot через TPM. Если VIB-пакет не подписан сертификатом VMware, то он не должен запуститься. Это реально мощная защита от малвари, которая пытается пролезть в гипервизор 👍

🟢Доступ по SSH для root должен быть выпилен (esxcli system ssh set --enabled=false). Если очень надо, то только по ключам и с тайм-аутом сессии.

🟢Правило 3-2-1 теперь закон... Регулятор официально требует хранить три копии данных на двух разных носителях, и одну копию - в изолированном сегменте. Наконец-то здравый смысл победил экономию на дисках 🎩, можно смело показывать это требование руководству.

А на вкусное - самый смешной пункт с требованием осуществлять регулярные обновления ПО. Как именно обновлять ESXi, который нельзя скачать без VPN и действующего контракта, ФСТЭК тактично умалчивает... Видимо, подразумевается метод Parallel Import & Torrent Edition 😂

В общем, если у вас в контуре до сих пор крутится Сфера... ой, простите 😬, vSphere 7.0 или 8.0, то смело забирайте документ в работу. Там есть готовые команды для esxcli, чтобы закрыть периметр.

Типичный
🥸 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM