Loess.ru

having fun

Streamripper+nginx+TGBot in docker

Продолжаем улучшать StreamRipper https://loess.ru/установка-streamripper/
На этот раз — используя Docker-compose и Bash https://github.com/Loess/streamripper-nginx
Получаем всё тот же https://t.me/FriskyChill, но с красивым листингом записей и быстрым-простым запуском одной командой:
git clone https://github.com/Loess/streamripper-nginx.git . && docker-compose up --build

MiTM on jabber.ru

Прекрасная подробная статья о хорошо продуманной атаке на соединение до jabber.ru. Показывает, насколько важно мониторить свои сертификаты и сервера
https://notes.valdikss.org.ru/jabber.ru-mitm/ (pdf)

As of 20 Oct 2023, we’re still waiting for the adequate reply from Hetzner and Linode to our inquiries.

p.s. Обширное дополнение (https://www.devever.net/~hl/xmpp-incident) про перехват в механизме выпуска сертификатов от автора RFC8657 (https://www.rfc-editor.org/rfc/rfc8657.txt) и много чего ещё Hugo Landau. Плюсы, минусы, дыры, что произошло и что ещё может произойти, как защищаться или как минимум усложнить жизнь атакующей стороне.

Istio

Что ждать от внедрения Istio? (Андрей Половов, Флант, Kuber Conf 2021)

Istio в разрезе: что умеет и не умеет самый популярный Service Mesh (А. Половов, DevOpsConf 2023)

Istio: распределенное приложение (Алексей Колосков Hilbert Team, DevOpsConf 2023)
(позже)

Pyinstaller+Alembic

При упаковке работающего Py-кода с миграциями alembic возникает множество проблем, с ходу погуглив которые — не решить:

Для нормальной компиляции в Venv и вывода проблем при запуске бинарника — необходимо запускать Pyinstaller модулем прям там:
./venv/bin/python3 -m PyInstaller -d bootloader [other args]

«Can't find Python file env.py» лечится добавлением папки миграций к бинарнику --add-data — файлы распаковываются в /tmp/ вместе с остальными исполняемыми файлами (https://ru.stackoverflow.com/questions/1360697/%D0%9A%D0%B0%D0%BA-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D0%BA-exe-add-data)

env.py должен быть совместимым с целевой ОС: «No module named 'logging.config'» при запуске собранного бинарника — не лечится добавлением --hidden-import, но лечится закомменчиванием строк fileConfig() в env.py и добавлением опций из alembic.ini в скрипт: alembic_cfg.set_main_option(…)
«Warning When using programmatic configuration, make sure the env.py file in use is compatible with the target configuration; including that the call to Python logging.fileConfig() is omitted if the programmatic configuration doesn’t actually include logging directives.»
(WARNING at https://alembic.sqlalchemy.org/en/latest/api/config.html)

Пути в скрипте миграций должны иметь явное указание или на директорию, откуда запускается бинарник, или на /tmp/_MEI…, второе можно сделать с sys._MEIPASS (https://stackoverflow.com/questions/51060894/adding-a-data-file-in-pyinstaller-using-the-onefile-option , example)

«Path ... is not represented in current version locations» чинится указанием:
alembic_cfg.set_main_option('script_location','relative/folder')
alembic_cfg.set_main_option('version_locations','same as script_location param[/subdir]')

Flipper Zero unlocked region tx firmware

По-умолчанию Флиппер умеет читать все частоты, но передавать — только по фиксированным после прошивки (https://docs.flipperzero.one/sub-ghz/read).
При обновлении прошивки через qFlipper (https://docs.flipperzero.one/basics/firmware-update) регион детектируется вероятнее всего, по ip, с которого скачивается прошивка, но говорят, что по совокупности показателей. Устанавливается соответствующий регион, который написан примерно как «HW: R1, provisioned R2».

Нашёл последнюю кастомную прошивку со всеми разлоченными частотами и дополнительными плюшками: https://github.com/DarkFlippers/unleashed-firmware/tags -> https://github.com/UberGuidoZ/unleashed-firmware/tags, можно сразу брать и заливать файлом через qFlipper
Ещё инструменты: https://flippermaker.github.io/
Ещё приложения под прошивку unleashed: https://github.com/RogueMaster/flipperzero-firmware-wPlugins

Эксперимент Базермана: Боязнь потерять и её эксплуатация

Очередное когнитивное искажение: Мы теряем постоянно драгоценные секунды жизни в попытках удержать то. что уже есть

Правила аукциона
У эксперимента простые правила:
Профессор проводит аукцион, на котором продаёт банкноту в 20 долларов.
Начальная стоимость банкноты — 1 доллар.
Участники по классическим правилам любого аукциона называют свои ставки. Шаг ставок — 1 доллар. Ставки можно поднимать сколь угодно долго. Банкнота достанется тому, кто сделал самую большую, никем не перебитую ставку. Победитель выплачивает профессору сумму своей ставки.
Важное условие: участник, который оказался вторым, — последним предлагал свою ставку перед итоговым победителем, — должен выплатить профессору сумму своей итоговой ставки.

…эксперимент обычно завершается, когда у одного из участников заканчиваются деньги.

https://habr.com/ru/post/596543/

Пиринговые войны, или как получить повышение на службе

Обратите внимание, древние все эту тактику и стратегию «провайдерских» отношений давным давно разработали и применяли в структуре устройства императорских дворов, министерств, госкорпораций и других иерархически устроенных бизнесов и предприятий. Любая иерархия крепнет, если в ней устанавливаются и вверх, и вниз связи через одно звено. Иерархия становится «ватной», если связи непосредственные. Организация превращается в стальную крепко склепанную конструкцию, не способную на гибкость и развитие, если иерархия построена на сквозной «вертикали власти». В подтверждение этого шашечного принципа «хождения» через один уровень есть много профессиональных управленческих заветов. Например, «разделяй и властвуй» или «заместитель никогда не должен становиться первым». Именно поэтому, настоящий функционер приобретает неуязвимость лишь тогда, когда налаживает устойчивую связь с начальником своего начальника, а себя от подчиненных отгораживает замами. А вот когда в иерархии уже видна вершина, то надо считать уровни, чтоб не оказаться на четном. В противном случае, при росте угодишь на уровень 2, т.е. на уровень замов и обнулишь вероятность попаданя на место №1. В лучшем случае – вечный зам. Поэтому на подходах иногда выгоднее отступить на ступеньку вниз или надоумить шефа создать себе институт замов и, тем самым, сформировать условия для обустройства засады на перспективном нечетном уровне :))

http://kipchatov.ru/blog/-p=202.htm(pdf)