Голосуй если тебе не сложно 👾
https://t.me/boost/HelloHackingTeam
https://t.me/boost/HelloHackingTeam
Telegram
Fsecurity | HH
Проголосуйте за канал, чтобы он получил больше возможностей.
Forwarded from REDtalk (Alexey)
Представим ситуацию — Вы сидите, проводите пентест, и в какой-то момент к вам приходит злой заказчик и говорит, что вы положили его инфру. Вы опешили, всё отрицаете, ведь во время тестирования атаки не было деструктивных методов. Но заказчик всё не успокаивается, показывает логи, мол, вот, в это время на нас упало куча трафика.
И в этот момент очень пригодились бы логи всех действий во время проведения тестирования. Поэтому вот простой лайфхак, который автоматически будет записывать 90% действий и поможет понять, были ли пентестеры причастны к инциденту или нет.
Тут ничего сложного, открываем rc файл и меняем соотсутсвующую переменную.
zsh (kali linux): Заменить PROMPT в ~/.zsh_rc
PROMPT=$'%F{%(#.blue.green)}┌──%{$fg[yellow]%}[%D{%d.%m.%y} %D{%H:%M}]\n%F{%(#.blue.green)}├──${debian_chroot:+($debian_chroot)─}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))─}(%B%F{%(#.red.blue)}%n'$prompt_symbol$'%m%b%F{%(#.blue.green)})-[%B%F{reset}%(6~.%-1~/…/%4~.%5~)%b%F{%(#.blue.green)}]\n└─%B%(#.%F{red}#.%F{blue}$)%b%F{reset} ' bash (kali linux): Заменить PS1 в ~/.bash_rc
PS1=$prompt_color'┌──[\D{%d.%m.%Y %H:%M}]\n'$prompt_color'├──${debian_chroot:+($debian_chroot)──}${VIRTUAL_ENV:+(\[\033[0;1m\]$(basename $VIRTUAL_ENV)'$prompt_color')}('$info_color'\u'$prompt_symbol'\h'$prompt_color')-[\[\033[0;1m\]\w'$prompt_color']\n'$prompt_color'└─'$info_color'\$\[\033[0m\] ';; Теперь в листинге каждая команда будет иметь дату и время начала и конца выполнения (как на скриншоте к посту)
Для записи истории команд нужно установить плагин и добавить конфигурацию при каждом запуске tmux.
$> git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# Конфиг должен выглядить так
$> cat .tmux.conf
# Список плагинов
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-logging'
set -g history-limit 500000
# Запуск Tmux Plugin Manager
run '~/.tmux/plugins/tpm/tpm'
$> tmux source ~/.tmux.conf
Осталось зайти в tmux и нажать CTRL + b и SHIFT + i. Теперь при каждом запуске tmux можно начать запись с помощью CTRL + b, SHIFT + p и сразу после выхода из терминала запись будет сохранена в домашнюю директорию в виде текстового файла.
Теперь мы точно будем уверены, что во время инцидента со стороны пентестеров активности не было и мы не в чем не виноваты. Конечно, листинг команд работает только для CLI. С GUI нужно разбираться отдельно.
#redteam #ToolTricks
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Forwarded from HaHacking
adb, appcache, avi, awk, bat, bf, bmp, bpg, bz2, c, chicken, chm, class, clj, cljc, cljs, clp, cob, coffee, com, cpp, cr, cs, css, dcm, dol, e, ex, exe, f, f90, flv, gif, go, groovy, gz, h, heif, hs, html, i, i7x, icc, ico, inf, java, jp2, jpg, js, json, jsonp, jxl, lua, m, macho, macho-ml, malbolge, md, ml, mng, mp3, mp4, ni, nim, o, opa, pas, pbm, pdf, pgm, php, pl, pml, png, ppm, py, rar, rb, rs, rtf, scala, sh, svg, swf, swift, t, tar, tga, tif, toml, ts, vs, wasm, wav, webm, webp, wmf, wmv, ws, xbm, xhtml, xml, yml, zip
ada.adb, manifest.appcache, AudioVideoInterleave.avi, awk.awk, batch.bat, brainfuck.bf, bmp.bmp, bpg.bpg, bzip2.bz2, c.c, chicken.chicken, compiledhtml.chm, java-class.class, clojure.clj, clojure.cljc, clojurescript.cljs, jess.clp, cobol.cob, coffeescript.coffee, doscommand-empty.com, doscommand.com, cpp.cpp, crystal.cr, csharp.cs, css.css, dicom.dcm, dolphin.dol, eiffel.e, elixir.ex, dosexecutable.exe, linearexecutable.exe, newexecutable.exe, portableexecutable-xp.exe, portableexecutable.exe, fortran-77.f, fortran-90.f90, FlashVideo.flv, gif-transparent.gif, gif.gif, go.go, groovy.groovy, gzip-name.gz, gzip.gz, c.h, heif.heif, haskell_loop.hs, haskell_term.hs, html-2.0.html, html-3.2.html, html-4.0-strict.html, html-4.01-frameset.html, html-4.01-strict.html, html-4.01-transitional.html, html5.html, iso-html.html, xhtml-1.0-frameset.html, intercal.i, i.i7x, icc.icc, ico.ico, inform-6.inf, java.java, jpeg2.jp2, jpeg.jpg, javascript.js, json.json, json-p.jsonp, jxl.jxl, lua.lua, objective-c.m, macho, macho-ml, malbolge.malbolge, markdown.md, ocaml.ml, mng.mng, mp3.mp3, Mpeg4.mp4, mp4-with-audio.mp4, story.ni, nim.nim, elf.o, opa.opa, pascal.pas, pbm.pbm, pbmb.pbm, pdf.pdf, pgm.pgm, pgmb.pgm, php.php, perl.pl, promela.pml, png-transparent.png, png-truncated.png, ppm.ppm, ppmb.ppm, python.py, rar14.rar, rar4.rar, rar5.rar, ruby.rb, rust.rs, rtf.rtf, scala.scala, shell.sh, svg.svg, flash.swf, swift.swift, tads-3.t, tar.tar, targa.tga, tiff.tif, toml.toml, typescript.ts, vertex-shader.vs, webassembly.wasm, wav.wav, webm.webm, webp.webp, WindowsMetafile.wmf, WindowsMediaVideo.wmv, whitespace.ws, x-bitmap.xbm, xhtml-1.0-strict.xhtml, xhtml-1.1.xhtml, xhtml-basic-1.0.xhtml, xhtml-basic-1.1.xhtml, xhtml5.xhtml, xml-1.0-valid.xml, xml-1.0.xml, xml-1.1-valid.xml, xml-1.1.xml, yaml.yml, zip.zipPNG формата минимального размера;▪️ PNG изображение6_132_534байта (5.8 Мб)▪️ 225_000×225_000пикселей▪️ при представлении в качестве буфера пикселей по 3 байта / пиксель➡️ 141.4 Гб
@HaHacking
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from haxx
🛠 Как-то незаметно прошел релиз NetExec 1.3.0, а туда тем временем добавили несколько интересных вещей.
Вывод инфы по доступным интерфейсам, так что поиск пивота стал гораздо приятнее.
Проверка на всякие Coerce штуки (PetitPotam, DFSCoerce, PrinterBug, MSEven, ShadowCoerce). Подробнее тут
Энум SCCM через LDAP (RECON-1) . Подробнее тут
Извлечение паролей из истории команд PowerShell
Статус Bitlocker по дискам
В общем, есть с чем поиграться. Более подробно можно посмотреть тут или тут
Вывод инфы по доступным интерфейсам, так что поиск пивота стал гораздо приятнее.
nxc smb 192.168.13.37 -u 'USERNAME' -p 'LOLKEKPOHEK' --interfaces
Проверка на всякие Coerce штуки (PetitPotam, DFSCoerce, PrinterBug, MSEven, ShadowCoerce). Подробнее тут
nxc smb 192.168.13.37 -u 'USERNAME' -p 'LOLKEKPOHEK' -M coerce_plus
Энум SCCM через LDAP (RECON-1) . Подробнее тут
nxc ldap 192.168.13.37 -u 'USERNAME' -p 'LOLKEKPOHEK' -M sccm -o REC_RESOLVE=TRUE
Извлечение паролей из истории команд PowerShell
nxc smb 192.168.13.37 -u 'USERNAME' -p 'LOLKEKPOHEK' -M powershell_history -o export=True
Статус Bitlocker по дискам
nxc smb 192.168.13.37 -u 'USERNAME' -p 'LOLKEKPOHEK' -M bitlocker
nxc wmi 192.168.13.37 -u 'USERNAME' -p 'LOLKEKPOHEK' -M bitlocker
В общем, есть с чем поиграться. Более подробно можно посмотреть тут или тут
Наш Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
Forwarded from AP Security
👍1
Forwarded from Хатка бобра
В этом посте кратко познакомимся с инструментом atexec-pro (https://github.com/Ridter/atexec-pro). Позволяет выполнять команды (в том числе powershell), загружать-скачивать файлы и выполнять .NET в памяти. Для последних трех ограничение в размере - 1 МБ.
Atexec-pro под капотом использует сервис TSCH против привычного ATSVC и работает через TCP (т.е. пайпы не используем). На мой взгляд примечательно то, что в своей работе он файловую систему практически не трогает (кроме создания самой таски), но при этом позволяет получать нам вывод. Обычно подобные инструменты для этих целей используют промежуточный файл на диске, который затем удаляют (atexec, smbexec, wmiexec). AtExec-pro же для хранения вывода команды использует описание задачи :)
Давайте разберем принцип выполнения отдельной произвольной команды в этом инструменте:
1) Формируются рандомное имя задачи (состоит из 8 символов [A-Za-z]) и рандомный ключ
2) Команда, которую мы хотим исполнить шифруется этим ключом (AES) и в дальнейшем будет записана в описание задачи, думаю этим и вызван максимальный размер.
3) Далее берется шаблон PS скрипта, в нём мы указываем ключ из шага 1, который предварительно конвертировали в base64, и указываем имя задачи. В случае обычной команды это будет https://github.com/Ridter/atexec-pro/blob/main/libs/powershells/cmd.ps1. Сам скрипт по имени задачи дергает описание, расшифровывает его, выполняет команду и далее обновляет описание с выводом этой команды.
4) Далее полученный PS скрипт переводим в base64. Этот скрипт будем выполнять в самой задаче при выполнении через
5) Создаём задачу и запускаем её.
6) Далее в цикле дергаем задачу, ждём её остановки и забираем результат.
7) Удаляем задачу.
Что в итоге имеем на хосте?
Событие 4698 на создание задачи (будет в Action команда powershell.exe -NonInteractive -enc <...>)
События 4688 на запуск процесса
Событие 4104 на выполнение скрипта powershell
Событие 4702 на обновление задачи после выполнения команды (запись вывода)
Событие 4699 на удаление задачи
Наибольшую ценность в плане детекта имеют события 4698 и 4104.
4698 содержит описание созданной задачи, в ней мы можем зацепиться за фиксированное для atexec и atexec-pro строку
4104 в данном случае будет содержать переведенную из Base64 строку (то есть не обфусцированную), именно в ней можно увидеть ранее рассмотренный выше шаблон с заполненными полями. 4104 включается через Script Block Logging, если явно он не включен, то будет логироваться через AMSI (будет логировать только подозрительные на своё усмотрение в журнал Powershell/Operational). На основе этого события можно надергать ключевых элементов для детекта из поля script_block_text.
Если у вас используются RPC-фильтры, то действуем аналогично SCShell (https://t.me/beaverdreamer/169), в данном случае у сервиса UUID 86D35949-83C9-4044-B424-DB363231FD0C.
#rpc #atexec #schtasks
Atexec-pro под капотом использует сервис TSCH против привычного ATSVC и работает через TCP (т.е. пайпы не используем). На мой взгляд примечательно то, что в своей работе он файловую систему практически не трогает (кроме создания самой таски), но при этом позволяет получать нам вывод. Обычно подобные инструменты для этих целей используют промежуточный файл на диске, который затем удаляют (atexec, smbexec, wmiexec). AtExec-pro же для хранения вывода команды использует описание задачи :)
Давайте разберем принцип выполнения отдельной произвольной команды в этом инструменте:
1) Формируются рандомное имя задачи (состоит из 8 символов [A-Za-z]) и рандомный ключ
2) Команда, которую мы хотим исполнить шифруется этим ключом (AES) и в дальнейшем будет записана в описание задачи, думаю этим и вызван максимальный размер.
3) Далее берется шаблон PS скрипта, в нём мы указываем ключ из шага 1, который предварительно конвертировали в base64, и указываем имя задачи. В случае обычной команды это будет https://github.com/Ridter/atexec-pro/blob/main/libs/powershells/cmd.ps1. Сам скрипт по имени задачи дергает описание, расшифровывает его, выполняет команду и далее обновляет описание с выводом этой команды.
4) Далее полученный PS скрипт переводим в base64. Этот скрипт будем выполнять в самой задаче при выполнении через
powershell -enc.5) Создаём задачу и запускаем её.
6) Далее в цикле дергаем задачу, ждём её остановки и забираем результат.
7) Удаляем задачу.
Что в итоге имеем на хосте?
Событие 4698 на создание задачи (будет в Action команда powershell.exe -NonInteractive -enc <...>)
События 4688 на запуск процесса
Событие 4104 на выполнение скрипта powershell
Событие 4702 на обновление задачи после выполнения команды (запись вывода)
Событие 4699 на удаление задачи
Наибольшую ценность в плане детекта имеют события 4698 и 4104.
4698 содержит описание созданной задачи, в ней мы можем зацепиться за фиксированное для atexec и atexec-pro строку
<StartBoundary>2015-07-15T20:35:13.2757294</StartBoundary> в поле TaskContent.4104 в данном случае будет содержать переведенную из Base64 строку (то есть не обфусцированную), именно в ней можно увидеть ранее рассмотренный выше шаблон с заполненными полями. 4104 включается через Script Block Logging, если явно он не включен, то будет логироваться через AMSI (будет логировать только подозрительные на своё усмотрение в журнал Powershell/Operational). На основе этого события можно надергать ключевых элементов для детекта из поля script_block_text.
Если у вас используются RPC-фильтры, то действуем аналогично SCShell (https://t.me/beaverdreamer/169), в данном случае у сервиса UUID 86D35949-83C9-4044-B424-DB363231FD0C.
#rpc #atexec #schtasks
GitHub
GitHub - Ridter/atexec-pro: Fileless atexec, no more need for port 445
Fileless atexec, no more need for port 445. Contribute to Ridter/atexec-pro development by creating an account on GitHub.
Forwarded from Заметки Слонсера (Slonser)
HTML Universal Identifier
На VK Security Confab анонсировал свою тулзу для идентификации Html
Вот собственно и она:
https://github.com/Slonser/hui
Что можно делать сейчас:
- Идентифицировать flattening
- Находить неправильный mutation payloads
- Смотреть на разрешенные атрибуты и теги
- Идентифицировать библиотеку которая работает с html на бекенде
Нужно ещё много доработать но можно пользоваться уже сейчас
P.S. массово прописываем
На VK Security Confab анонсировал свою тулзу для идентификации Html
Вот собственно и она:
https://github.com/Slonser/hui
Что можно делать сейчас:
- Идентифицировать flattening
- Находить неправильный mutation payloads
- Смотреть на разрешенные атрибуты и теги
- Идентифицировать библиотеку которая работает с html на бекенде
Нужно ещё много доработать но можно пользоваться уже сейчас
P.S. массово прописываем
python -m pip install hui
GitHub
GitHub - Slonser/hui: HTML Universal Identifier
HTML Universal Identifier. Contribute to Slonser/hui development by creating an account on GitHub.
Наш Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
👆🏻Тут можно пообщаться и найти много полезной информации 🦈