Новости GoffLoader: головная боль или новый фаворит пентестеров?

NewsMaker

I'm just a script
Премиум
12,454
18
8 Ноя 2022
Praetorian выпустила инструмент, упрощающий выполнение вредоносного кода.


h14zdlhye2vxx9km23peei44yr22lxmo.jpg


Для просмотра ссылки Войди или Зарегистрируйся , занимающаяся безопасностью, выпустила GoffLoader — инструмент, упрощающий выполнение файлов BOF и неуправляемых PE Cobalt Strike непосредственно в памяти без записи каких-либо файлов на диск.

GoffLoader представляет собой чистую реализацию на Go в памяти загрузчика COFF и PE. Этот инструмент призван сделать функциональность, традиционно относящуюся к сфере C/C++, легкодоступной для инструментов безопасности на Golang .

Разработчики GoffLoader стремились расширить возможности Go в области безопасности. Теперь целые репозитории полезного функционала становятся доступными через эту библиотеку. Кроме того, GoffLoader позволяет избежать сложностей, связанных с использованием CGO при интеграции C -кода с Go.

Одним из преимуществ GoffLoader является его потенциал для обхода статических сигнатур. Разработчики успешно запустили встроенную версию Mimikatz без необходимости применения сложных методов обхода.

GoffLoader разработан для максимально простой загрузки BOF или PE-файлов с использованием тега go:embed. Вот пример кода для запуска встроенного исполняемого файла и отображения его консольного вывода:

<span style="font-family: "Courier New";">import "github.com/praetorian-inc/goffloader/src/pe"</span>
<span style="font-family: "Courier New";"> </span>
<span style="font-family: "Courier New";"> //go:embed hello.exe</span>
<span style="font-family: "Courier New";"> </span>
<span style="font-family: "Courier New";"> var helloBytes []byte</span>
<span style="font-family: "Courier New";"> </span>
<span style="font-family: "Courier New";"> func main() {</span>
<span style="font-family: "Courier New";"> output, _ := pe.RunExecutable(helloBytes, []string{"Arg1", "Arg2", "Arg3"})</span>
<span style="font-family: "Courier New";"> fmt.Println(output)</span>
<span style="font-family: "Courier New";"> }</span>

Полные примеры запуска BOF или PE-файлов можно найти в папке cmd репозитория GitHub. Возможность запуска PE-файлов реализована с помощью No-Consolation BOF.

Несмотря на свои преимущества, GoffLoader имеет ряд ограничений. На данный момент реализация COFFLoader поддерживает только архитектуру x64, но поддержка 32-битных систем планируется в ближайшем будущем. Выполнение PE в настоящее время включает загрузку BOF с жестко закодированными аргументами, однако в будущих обновлениях будут поддерживаться более гибкие подходы.

Реализация API Beacon* является частичной. Хотя большинство BOF используют только базовые функции, такие как разбор аргументов и вывод, некоторые части beacon.h еще предстоит реализовать.

Praetorian открыла исходный код GoffLoader в поддержку своего продукта Chariot BAS (Breach & Attack Simulation). Компания надеется, что новый инструмент станет бесценным ресурсом для профессионалов в области безопасности и энтузиастов.

Разработчики выражают благодарность ряду проектов и отдельных лиц, чья работа сыграла важную роль в создании нового продукта. Среди них проект go-coff от Ne0nD0g, блог-посты о COFFLoader от TrustedSec и OtterHacker, No-Consolation BOF от Fortra и разработчики архивной библиотеки Go pecoff.
 
Источник новости
www.securitylab.ru