Сисадмин В Kernel Panic
31 subscribers
231 photos
25 videos
1 file
107 links
Небольшой канал, злого сисадмина. Личные заметки и решения, мемы, интересные утилиты.
Download Telegram
🐧 Microsoft - лучший маркетолог Linux.

В западных интернетах на полном серьезе обсуждают, что 2025 год стал годом Linux на десктопе, потому что Windows стала слишком дорогой и переходит на подписки. Нам, конечно, не то пальто читать про дороговизну софта, который активируется одной командой в PowerShell (спасибо KMSAuto и MAS 👍), но суть они уловили верно. Microsoft делает всё, чтобы даже трофейная версия Windows вызывала рвотный рефлекс у любого адекватного.

Проблема современной Windows у нас не в том, что ее нельзя напрямую купить (кому надо - тот купит на торрентах), а в том, что она превратилась в разжиревшего шпиона. 41 уязвимость нулевого дня за год это цветочки. Ягодки это Microsoft Recall и Copilot, которые невозможно нормально выпилить. Раньше мы боролись с телеметрией правкой реестра, а теперь ОС буквально скринит твой рабочий стол и отправляет данные для анализа в облако, к которому даже доступа официального нет. Плюс искусственное устаревание железа... Windows 11 плюет в лицо владельцам вполне бодрых процессоров 3-5 летней давности, которые в текущих экономических реалиях менять никто не собирается.

В итоге мы пришли к парадоксальной ситуации. В корпоративном секторе нас пересаживают на Astra и RedOS (Debian/RHEL с нюансами), а дома люди потихоньку уходят на Linux. Windows превращается в терминал для показа рекламы и сбора данных, и даже народная лицензия 👨‍🦳 не спасает от того факта, что система живет своей жизнью, нагружая ресурсы бесполезным ИИ-мусором.

Даже пиратская Windows становится невыносимой 🏴‍☠️

Типичный
🎄 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
💯3
Краткая памятка по tcpdump.

-nn - отключаем DNS-резолвинг.
-i - сетевой интерфейс - всегда указывай текущий, а не оставляй по умолчанию.

Снятие трафика конкретного сервиса (порт 443)
tcpdump -nn -i eth0 tcp port 443 -w /tmp/api443.pcap

Фиксируется только нужное соединение. Подходит для разбора SYN, RST и сетевых задержек.

Отлов SNI (когда сайт открывается нестабильно)
tcpdump -nn -i eth0 -vvv -s 0 -A port 443 | grep -i "server_name"

Отображает фактический SNI, который отправляет клиент. Критично при диагностике SSL.

DNS и типовые ошибки (NXDOMAIN / SERVFAIL)

Все DNS-запросы:
tcpdump -nn -i eth0 udp port 53 or tcp port 53


Только ошибки:
tcpdump -nn -i eth0 -vv udp port 53 | grep -Ei "ServFail|NXDomain"


Поиск оборванных TCP-сессий (RST)
tcpdump -nn -i eth0 'tcp[tcpflags] & tcp-rst != 0'

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

Проверка асимметрии трафика или ECMP
tcpdump -nn -i eth0 'tcp[tcpflags] == tcp-syn'

Позволяет увидеть только попытки установления соединений.

Снятие трафика вокруг конкретного хоста
tcpdump -nn -i eth0 host 10.10.22.15 -w /tmp/host.pcap

Минимальный дамп строго по одному IP.

Ротация дампов (чтобы не положить диск)
tcpdump -nn -i eth0 -s 0 -w trace-%F-%H%M%S.pcap -G 60 -W 5


#learn
👍1
Подстановка последнего аргумента без копипасты

Сколько раз было так: выполнили команду вида
cp report.txt /var/tmp/workdir/

а через пару секунд понадобилось:
cd /var/tmp/workdir/


Можно не повторять. Bash уже помнит последний аргумент.

Alt + . - вставка последнего аргумента

В любой момент нажмите Alt + . и bash подставит последний аргумент из предыдущей команды.
cp report.txt /var/tmp/workdir/
cd <Alt+.>


Результат:
cd /var/tmp/workdir/

Нажимайте Alt + . несколько раз подряд, чтобы перебрать аргументы из истории - bash листает их назад.

Альтернатива через history: !$ и !.
То же самое, но в виде подстановки из истории:

cd !$
или
cd !.


!$ - последний аргумент предыдущей команды.
!. - тот же эффект, но безопаснее, так как разные шеллы могут по-разному интерпретировать $.

Практические примеры
Удалить каталог, который только что создали:
mkdir cache_dir
rm -r !$


Скопировали и сразу перешли внутрь:
cp -r app_source /srv/apps/
cd !$


Переместили файл и тут же открыли его:
mv access.log /var/log/old/
vim !$


Копирование в несколько мест подряд:
cp archive.tar.zst /mnt/storage/
cp !$ /srv/archives/


Меньше ручного ввода, меньше опечаток, выше скорость работы в shell.

#learn
🤡 Даже создатель JavaScript в шоке от того, во что превратилась Windows 11

Есть такой бородатый анекдот про то, что Windows скоро превратится в загрузчик для браузера. В 2025 году это перестало быть шуткой. Брендан Айк, человек-легенда, создавший язык JavaScript и основавший Mozilla/Brave, публично раскритиковал Microsoft за тотальное засилье веб-технологий в десктопной ОС. По его словам, главная проблема Windows 11 - это банальная лень разработчиков, которые вместо нативного кода везде пихают жирный WebView2 и Electron. Айк знает, о чем говорит, т.к. он видел смерть FirefoxOS, которая тоже пыталась строить интерфейс на вебе.

Ситуация и правда патовая. Microsoft ($3.5 трлн капитализации) не может написать нативный календарь. Новая панель виджетов в Windows 11 это просто веб-страницы. Вы нажимаете на часы в трее, а система в фоне спавнит процессы Edge, отжирая 100+ МБ оперативки ради отображения даты. Зеленый мессенджер недавно деградировал с нативного WinUI обратно на WebView2, и теперь в простое отъедает гигабайт памяти. Teams туда же.

Но чемпионом по оптимизации 🏥 стал Discord. Разработчики официально признали, что их Electron-монстр течет как дырявое ведро, и не придумали ничего лучше, чем внедрить функцию автоматического перезапуска клиента, если он начинает жрать больше 4 ГБ оперативной памяти. Вдумайтесь... чат для геймеров потребляет больше ресурсов, чем игры десятилетней давности, и решение проблемы это выключить и включить 😂

Айк справедливо заметил, что Web UX можно сделать хорошо, но это требует времени и прямых рук. А у современного БигТеча нет ни того, ни другого. Им проще завернуть сайт в exe-шник, заставить пользователя купить 64 ГБ RAM и назвать это современным экспириенсом. Когда даже создатель технологии говорит "остановитесь, вы делаете дичь", это, пожалуй, приговор всей индустрии 😱

Типичный
🎄 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
Минимальный P2P-чат через Netcat

Никакой магии, только Bash и TCP.
Wiki: Netcat

Клиентская сторона

Пишем элементарный Bash-скрипт.

Создаем файл talker.sh
#!/bin/bash

# Отображаемое имя
NICKNAME="$1"
REMOTE_HOST="$2"
REMOTE_PORT="$3"

# Читаем ввод и добавляем подпись
(
while read text; do
echo "[$NICKNAME] $text"
done
) | nc "$REMOTE_HOST" "$REMOTE_PORT"


Выдаём права:
chmod +x talker.sh


Сторона приема

На принимающем узле ничего городить не нужно.
Просто поднимаем прослушивание порта:

nc -lvp 5201

Порт может быть любым, главное чтобы он был открыт в фаерволе и использовался TCP.

Как это выглядит вживую
Терминал отправителя:
./talker.sh alpha 172.16.16.30 5201
Привет всем
Как связь?


Терминал принимающей стороны:
nc -lvp 5201
Listening on 0.0.0.0 5201
Connection received on 172.16.16.31 46656
[alpha] Привет всем
[alpha] Как связь?

Итого:
простейший P2P-чат, который поднимается за минуту и отлично подходит для тестов сети, обучения или просто поиграться с nc.

#learn
Всех с НГ :)
А я продолжу смотреть в мониторинг, и надеяться на спокойную работу, и нормальный аптайм моих серверов.

#meme
🎉4
🏴‍☠️ KMSAuto с сюрпризом

В Южной Корее приняли предпринимателя из Литвы, который преподал индустрии мастер-класс по монетизации человеческой жадности. Он умудрился заразить 2.8 миллиона компьютеров, используя самый популярный софт в мире... активатор KMSAuto. Схема атаки как эталонная социальная инженерия, помноженная на техническую безграмотность пользователей. Жертва сама находит софт, сама скачивает его и, самое главное, сама отключает Defender или добавляет файл в исключения, потому что... ну это же кряк, он всегда детектится 🤔

Софт запускается от имени Админа (иначе службу KMS и драйвер не поставить), и в этот момент вместе с ключом активации в систему залетает Клиппер. Зловред тихо висит в процессах, хукает буфер обмена через WinAPI и ждет своего часа. Как только регулярное выражение (RegEx) детектит строку, похожую на адрес криптокошелька (BTC, ETH, TRC20 и тд), скрипт на лету подменяет её на кошелек злоумышленника 🤑

Заметить подмену глазами практически нереально. Большинство людей проверяют только первые и последние 4 символа адреса, а современные генераторы позволяют хакерам создавать тысячи кошельков с похожими хвостами специально для таких атак. В итоге пользователь копирует адрес, вставляет, жмет Отправить... и деньги улетают в никуда. Таким нехитрым способом автор кряка заработал $1.2 млн, не написав ни строчки сложного эксплойта.

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

☢️ @zeroday_log
Please open Telegram to view this post
VIEW IN TELEGRAM
Полезный Python-трюк для работы с сетями: ipaddress в стандартной библиотеке

Когда нужно быстро проверить IP-адреса, маски подсетей или принадлежность хоста сети, не обязательно тянуть внешние пакеты. Python уже содержит мощный модуль ipaddress.

Чем полезно

Проверка принадлежности адреса подсети
Удобный парсинг IPv4 и IPv6
Генерация диапазонов IP
Всё встроено в Python, сторонние зависимости не нужны

import ipaddress

# Создаем подсеть
net = ipaddress.ip_network("192.168.1.0/24")

# Проверяем, входит ли IP в подсеть
print(ipaddress.ip_address("192.168.1.42") in net) # True
print(ipaddress.ip_address("10.0.0.5") in net) # False

# Перебираем доступные адреса (без network и broadcast)
for ip in net.hosts():
print(ip)
break # выведет первый usable IP

# IPv6 работает точно так же
ipv6 = ipaddress.ip_network("2001:db8::/32")
print(ipaddress.ip_address("2001:db8::1") in ipv6) # True

Что важно понимать

ip_network создаёт объект сети, а не строку
ip_address создаёт числовое представление IP
Проверка через in идёт по диапазону адресов, а не по строковому совпадению
hosts() возвращает только usable адреса
IPv4 и IPv6 используют одинаковый API


Где применять на практике

Проверка trusted-сетей в firewall-скриптах
Фильтрация логов по подсетям
Валидация пользовательского ввода
Генерация ACL и access-листов
DevOps и CI проверки конфигов


#learn
Это лучшая заглушка на 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