Записки потомственного it'шника
275 subscribers
509 photos
40 videos
204 files
1.65K links
Краткость — сестра таланта.
Автоматизация — мать порядка.
Ransomware'щики — боги.
Батя — программист over 80+ level.
Мать — бухгалтер, соскачившая с цифр на контдитерские изделия.
Ну а я — бакалавр ИБ по собственной воле.
Update: уже магистр.
Download Telegram
Centos в закрытом контуре.
Выкачиваем
приложение со всеми зависимостями.

Ненавижу закрытый контур.
Это какая-та хрень, спасающая от лохов,
Кому надо, тот пройдет.
А вот для админа это просто адская боль.

Например, попробуйте поставить на centos в закрытом контуре какой-нибудь пакет,
А еще представьте, что у вас есть только ssh доступ к этому серверу.
Что будете делать?
Пытаться подгрузить только нужный пакет?

Почти наверняка центось пошлет вас куда подальше,
И разродиться громный перечнем зависимостей, от которого у вас закружится голова.

Для себя нашел следующий костыль:
Ставим CentOs нужной верси в виртуалку,
Туда ставим yumdownloader:

yum install yumdownloader

Далее

yumdownloader --resolve --alldeps --arch x86_64 --enablerepo elasticsearch --destdir ./ elasticsearch

Запаковыаем пачку, перекидываем на нужную тачку,
Распаковываем, инсталим из распаковванной папки.

sudo yum --skip-broken --disablerepo=* localinstall *


#centos #закрытыйКонтур #linux
Full Packet Capture Arkime

Кстати к чему это я,
Пытаюсь написать документ по работе,
"Анализ скрытых каналов и угроз"
Для этого необходимо отснифить трафик на нескольких нодах одного приложения в течение опеределенного времени.
Решил попробовать для целей снятия трафика и дальнешего анализа софт Arkime.

В одном пакете webUi и сниффер написанный на C.
Можно запускать по отдельности, они не зависят друг от друга.
И то и другое может работает поверх elasticsearch, так что для работы его необходимо настроить на работающую заранее мигрированную под этот софт ноду elstic'а.

https://arkime.com/
https://github.com/arkime/arkime

Установка производится следующим образом:

Для машины сборщика-анализатора:

1. Скачайте собранный пакет arkime версии 2.7.1 под свою операционную систему с https://arkime.com/downloads.

2. Установите пакет на машину с предустановленным ПО elasticsearch версии >= 7.11

3. Сконфигурируйте elasticsearch.

В файле настроек /etc/elasticsearch/elasticsearch.yaml следующим образом:

network.host: 0.0.0.0
http.port: 9200
node.name: node1
cluster.initial_master_nodes: node1
cluster.routing.allocation.disk.watermark.low: 97%
cluster.routing.allocation.disk.watermark.high: 97%
cluster.routing.allocation.disk.watermark.flood_stage: 97%

Запустите скрипт инициализации хранилища Elasticsearch для работы с Arkime:

/data/moloch/db/db.pl http://localhost:9200 init

Перезапустите elasticsearch:

systemctl restart elasticsearch.service

4. Сконфигурируйте Arkime:

sudo /data/moloch/bin/Configure

Ответьте на вопросы следующим образом:

Интерфейс: оставить пустым.
Установка Elasticsearch: Нет.
Elasticsearch url: оставить не тронутым.
Пароль: укажите пароль.
Загрузить гео фалы: да.

Сконфигурируйте arkime WEB-ui для работы на всех интерфейсах в файле /data/moloch/etc/config.ini:

viewHost = 0.0.0.0

Создайте пользователя администратора:

/data/moloch/bin/moloch_add_user.sh admin "Admin User" THEPASSWORD --admin

Запустите Arkime web-ui:

systemctl start molochviewer.service


Для машины сниффера-отправителя:

1. Скачайте собранный пакет arkime версии 2.7.1 под свою операционную систему с https://arkime.com/downloads.

2. Установите пакет на машину, с которой необходимо производить запись трафика.

3. Сконфигурируйте Arkime:

sudo /data/moloch/bin/Configure

Ответьте на вопросы следующим образом:

Интерфейс: укажите все найденные интерфейсы.
Установка Elasticsearch: Нет.
Elasticsearch url: введите
http://ip:port (машины сборщика-анализатора).
Пароль: укажите пароль.
Загрузить гео фалы: да.

Запустите Arkime-сниффер:

systemctl start molochcapture.service

Заметка: Для авторизации в elasticsearch необходимо указать урл следующим образом: http://user:pass@primaryNodeHost:9200

#OpenSource #IDS #IPS #FPC #БПО #tools
Сюда так же буду скидывать и пересылать все что покажется интересным на темы it/sec/dev/ops с других смежных каналов/найденного в сети.
Арсенал тру фаззера.
Part
1.

Нашел неплохую статейка на тему ипользования ffuf.
Крайне шустрый фаззер на go.
https://danielmiessler.com/study/ffuf/

Впомнил, что "Кавычка" скидывал немного текста по вспомогательным инструментам фаззинга.
Еще тогда были мысли дополнить тот пост несколькими своими мыслями.
Переслал пост следующим сообщением.

#fuzz #OpenSource #go #tools #БПО
Forwarded from Кавычка (Bo0oM)
Когда нужно фаззить веб-приложения не только кавычками, на помощь приходят мутирующие фаззеры. На вход они получают пользовательские данные, а на выходе измененные, заведомо некорректные. Это позволяет найти различного рода уязвимости и проверить веб-приложение и используемые там библиотеки на различные исключительные ситуации.

Первый и самый известный, Radamsa

Radamsa производит манипуляции с входными данными множеством разных неожиданных способов, включая чрезмерное повторение, инвертирование разрядов, вставку управляющих символов и т. д. Причем он годится для фаззинга как отдельных строк, так и заголовков, HTTP-запросов.

Второй, это jdam

Создан он для мутации именно json строк, когда нужно сохранить структуру, чтобы пройти валидацию данных. Помимо мутаций данных (по большей части позаимствованных у radamsa) он подмешивает различную полезную нагрузку именно для поиска веб-уязвимостей - вставляет лексемы NoSQL, нагрузку для шаблонизаторов, различные функции и операторы.
Арсенал тру фаззера.
Part
2. Ffuz | radamsa | jdam

Соответвенно в продолжении относительно ffuf, для тех кто не знаком:

Основной инструмент, чем отправлять запросы (фаззить). Идеально работает с предыдущими описанными инструментами.
Весьма шустрый, встроенная функция счётчиков, которую можно легко настраивать на возвращаемые ответы.
Например, статус коды, размер контента и собственные шаблоны...
https://github.com/ffuf/ffuf

Подробная инструкция по самому Ffuf:
https://codingo.io/tools/ffuf/bounty/2020/09/17/everything-you-need-to-know-about-ffuf.html#what-is-ffuf--and-what-is-it-used-for-

Чтобы не быть голословным,
Пара инструкций, как сварить между собой jdam + ffuf || radamsa + ffuf:

У jadm прям на гитхаб страничке есть пример:
https://gitlab.com/michenriksen/jdam#using-jdam-with-ffuf

Для radamsa есть следующий пример:
https://hakin9.org/ffuf-a-fast-web-fuzzer-written-in-go/

Если кому-то так сильно противен go,
Можете воспользоваться аналогмо Ffuf на python,
Производителем заявлено, что по скорости не уступает родителю)
https://github.com/ElSicarius/SuperTruder

#OpenSource #fuzz #go #python #tools #БПО
Background video ai-based changing

На прошедших выходных Младшая Сестра готовилась к конкурсу чтецов. По скольку он проходит на дистанционке, надо было записать видос, как она читает. Читала она отрывок из произведения Булгакова "Записки юного врача".

Отец вместе с ней решили немного покреативить, записали видос и захотели сменить фон. На какой-нибудь морг\реанимационную палату.

Первой попыткой было захромакеить задний фон с помощью sony vegas pro 13. Однако результат оставлял желать лучшего, видео сильно артифактило.

Тут врываюсь я и говорю:
Ща все будет, дай мне 10 минут.
Лезу на github.com, и нахожу сие чудо:

https://github.com/ZHKKKe/MODNet
Is a Green Screen Really Necessary for Real-Time Portrait Matting?
Не уже ли зеленый экран правда так сильно нужен для замены заднего фона налету?
Нет, и не нужен вовсе))
Это репо — обертка вокруг предтренированной модели-AI для замены заднего фона в видосах\картинках\вебкам-потоках.
Сильно вникать не стал, нужны были быстрые результаты.

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

Качаем репо:
git clone https://github.com/ZHKKKe/MODNet.git

Переходим скачаное репо, в папку /pretrained
И скачиваем предренированную модель modnet_webcam_portrait_matting.ckpt из
https://drive.google.com/drive/folders/1umYmlCulvIFNaqPjwod1SayFmSRHziyR

Создаем виртуальное окружение, venv
(мы же не хотим поломать питон, что у нас на системе)))
python3 -m venv env

Активируем установленное вирутальное окружение.
source env/bin/activate

Устанавливаем зависисмости (мы же в виртуальном окружении, верно?)):
pip install -r demo/video_matting/custom/requirements.txt

Запускаем скрипт с путем до вашего видео:
python -m demo.video_matting.custom.run --video YOUR_VIDEO_PATH

Заарифактило только маленький кусочек внизу,
За все четыре минуты видоса косяков больше не было,
На конечном результате просто опустили Мелкую пониже, чтобы этого куска не было видно))

#OpenSource #AI #python #tools
Небольшое упражние-гинастика с systemd-targets 🤸‍♀️🏃🤾

На хабре есть отличная статья на тему:
Systemd: пишем собственные .service и .target

Вкратце,
.target — особый тип unit'ов,
Позволяющий управлять другими юнитами, как группой.
Юнит такого типа должен распологаться в каталоге "/usr/lib/systemd/system" или "/etc/systemd/system" и быть доступным на чтение))
note: юниты, лежащие в "/etc/*" имеют приоритет.

Получение информации о текущем target.
Для этого выполните команду:
systemctl get-default

Вывод списока всех загруженных юнитов
systemctl list-units --type target

Изменение target по умолчанию
systemctl set-default multi-user.target

Проверка результата:
systemctl get-default

Возвращение первоначальной настройки (для десктопа)
systemctl set-default graphical.target

Переключение системы в multi-user.target
systemctl isolate multi-user.target

Переключение системы назад в graphical.target
systemctl isolate graphical.target

#systemd #linux #unix #administration
Debian build tools

Занимаясь перепиливанием всех этих ваших линуксов наткнулся на удивительную ссылочку с потрясающей интерактивной презентацией на тему
"Инструменты сборок debian образа".

Там обзор ~5-ти лучших инструментов с примером запуска,
А так же сравнительная табличка что на чём написано.

Отдельно хотел бы разобрать live-build в следующих постах, инструмент, которым вроде собирают собственно debian.

#linux #debian #build #live
JSON Interoperability

Интересный вектор тестирования приложения, я бы сказал, как один из видов фаззинга, который никогда не приходил мне в голову 🧐

Json формат данных имеет следующий вид:

{ "someVar" : "value", "someVar1" : 1.0, "someVar2" : 9999 }

Вот отправляете вы на какой-нибудь сервак по api подобный payload в штатном режиме.

А как поведет себя тот же сервак, если вдруг ему прийдёт payload следующего вида?)

{ "someVar" : "value", "someVar1" : 1.0, "someVar2" : 9999, "someVar" : "value1", "someVar1" : -1.0 }

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

#fuzz #go #OpenSource #БПО