Sytuacje takie jak ta należą do wyjątków. Na palcach jednej ręki możemy policzyć wyrafinowane szkodliwe oprogramowanie napisane w innym języku niż Java, infekujące Windowsa oraz Linuxa.

WellMess to wirus opracowany w językach Go (Golang) i .NET Framework. Dwie znalezione próbki wskazują na wykorzystywanie malware w atakach na organizacje w tym samym kraju (w Japonii). WellMess posiada dwie wersje: pliku wykonywalnego PE dla Windowsa oraz pliku ELF dla Linuksa. Jako że zawiera w sobie wiele wymaganych bibliotek dla obu systemów jest wirusem „uniwersalnym”. Jego dokładne możliwości zdradzają poniższe zaimplementowane funkcje:

_/home/ubuntu/GoProject/src/bot/botlib.EncryptText
_/home/ubuntu/GoProject/src/bot/botlib.encrypt
_/home/ubuntu/GoProject/src/bot/botlib.Command
_/home/ubuntu/GoProject/src/bot/botlib.reply
_/home/ubuntu/GoProject/src/bot/botlib.Service
_/home/ubuntu/GoProject/src/bot/botlib.saveFile
_/home/ubuntu/GoProject/src/bot/botlib.UDFile
_/home/ubuntu/GoProject/src/bot/botlib.Download
_/home/ubuntu/GoProject/src/bot/botlib.Send
_/home/ubuntu/GoProject/src/bot/botlib.Work
_/home/ubuntu/GoProject/src/bot/botlib.chunksM
_/home/ubuntu/GoProject/src/bot/botlib.Join
_/home/ubuntu/GoProject/src/bot/botlib.wellMess
_/home/ubuntu/GoProject/src/bot/botlib.RandStringBytes
_/home/ubuntu/GoProject/src/bot/botlib.GetRandomBytes
_/home/ubuntu/GoProject/src/bot/botlib.Key
_/home/ubuntu/GoProject/src/bot/botlib.GenerateSymmKey
_/home/ubuntu/GoProject/src/bot/botlib.CalculateMD5Hash
_/home/ubuntu/GoProject/src/bot/botlib.Parse
_/home/ubuntu/GoProject/src/bot/botlib.Pack
_/home/ubuntu/GoProject/src/bot/botlib.Unpack
_/home/ubuntu/GoProject/src/bot/botlib.UnpackB
_/home/ubuntu/GoProject/src/bot/botlib.FromNormalToBase64
_/home/ubuntu/GoProject/src/bot/botlib.RandInt
_/home/ubuntu/GoProject/src/bot/botlib.Base64ToNormal
_/home/ubuntu/GoProject/src/bot/botlib.KeySizeError.Error
_/home/ubuntu/GoProject/src/bot/botlib.New
_/home/ubuntu/GoProject/src/bot/botlib.(*rc6cipher).BlockSize
_/home/ubuntu/GoProject/src/bot/botlib.convertFromString
_/home/ubuntu/GoProject/src/bot/botlib.(*rc6cipher).Encrypt
_/home/ubuntu/GoProject/src/bot/botlib.(*rc6cipher).Decrypt
_/home/ubuntu/GoProject/src/bot/botlib.Split
_/home/ubuntu/GoProject/src/bot/botlib.Cipher
_/home/ubuntu/GoProject/src/bot/botlib.Decipher
_/home/ubuntu/GoProject/src/bot/botlib.Pad
_/home/ubuntu/GoProject/src/bot/botlib.AES_Encrypt
_/home/ubuntu/GoProject/src/bot/botlib.AES_Decrypt
_/home/ubuntu/GoProject/src/bot/botlib.generateRandomString
_/home/ubuntu/GoProject/src/bot/botlib.deleteFile
_/home/ubuntu/GoProject/src/bot/botlib.Post
_/home/ubuntu/GoProject/src/bot/botlib.SendMessage
_/home/ubuntu/GoProject/src/bot/botlib.ReceiveMessage
_/home/ubuntu/GoProject/src/bot/botlib.Send.func1
_/home/ubuntu/GoProject/src/bot/botlib.init
_/home/ubuntu/GoProject/src/bot/botlib.(*KeySizeError).Error

W konkretnym ataku na organizacje w Japonii i po przeanalizowaniu próbki wirusa okazało się, że szkodliwe oprogramowanie komunikuje się z serwerem C&C za pomocą zaszyfrowanych żądań HTTP i wykonuje jedną z posiadanych funkcji na podstawie odebranego polecenia. 

WellMess może być używany do pobierania bardziej wyrafinowanego szkodliwego oprogramowania, na co zwracają uwagę badacze, podając za konkretny przykład ransomware Cerber.

WellMess malware

Oryginalna analiza znajduje się w tym pliku PDF w języku japońskim. Gdyby japoński sprawiał komuś „trochę” problemów, to zjadliwa przetłumaczona wersja przez Shusei Tomonagę dostępna jest na tej stronie.

Dodatkowe informacje o sumach kontrolnych wykrytych próbek wirusa WellMess:

  • 0b8e6a11adaa3df120ec15846bb966d674724b6b92eae34d63b665e0698e0193 (Golang&ELF)
  • bec1981e422c1e01c14511d384a33c9bcc66456c1274bbbac073da825a3f537d (Golang&PE)
  • 2285a264ffab59ab5a1eb4e2b9bcab9baf26750b6c551ee3094af56a4442ac41 (.Net&PE)

Adresy IP serwerów C&C, z którymi komunikował się wirus:

  • 45.123.190.168
  • 103.13.240.46
  • 101.201.53.27
  • 185.217.92.171
  • 93.113.45.101
  • 191.101.180.78
AUTOR:

Adrian Ścibor

Podziel się

Dodaj komentarz