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

leer en español

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

Praetorian выпустила инструмент, упрощающий выполнение вредоносного кода.

image

Компания Praetorian , занимающаяся безопасностью, выпустила 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. Вот пример кода для запуска встроенного исполняемого файла и отображения его консольного вывода:

import "github.com/praetorian-inc/goffloader/src/pe"

//go:embed hello.exe

var helloBytes []byte

func main() {
output, _ := pe.RunExecutable(helloBytes, []string{"Arg1", "Arg2", "Arg3"})
fmt.Println(output)
}

Полные примеры запуска 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.

Невидимка в сети: научим вас исчезать из поля зрения хакеров.

Подпишитесь!