Glupteba използва почти всеки трик за киберпрестъпления, за който някога сте чували, а вероятно и още няколко

Glupteba е зловреден код от тип зомби или бот. Дотук нищо необичайно – той се управлява чрез команди от престъпниците (оператори на command & control инфраструктура).

Интересното при него е, че освен да бъде инструмент за отдалечен контрол , Gluptebа включва в себе си следните “екстри”:

Но това не е всичко

Най-интересната част, описана в репорта, е именно начина на комуникация на Glupteba с управляващите го хакери: блокчейн технологията Bitcoin. Както вероятно сте запознати, зомбитата или ботовете не са много полезни, ако не могат да направят т.нар. „call home” (обратна връзка към контролирания от хакерите сървър), за да получат следващата си вълна от инструкции.

Подробно описание и списък от вградени злонамерени команди, които хакерите могат да задействат, например update-data и upload-file, може да откриете в доклада на Sophos. Но също така, както при повечето ботове са включени и общи команди за изтегляне и стартиране на нов зловреден софтуер.

Това означава, че дори да знаете всички трикове , на които е способен Glupteba, не можете да се предвиди какъв друг зловреден код може да бъде изтеглен и стартиран. Сървърите за управление и контрол (command & control) на заразените машини (ботове), по-известни като C2 сървъри или CnC, могат да бъдат открити и блокирани във всеки един момент, така че зомби-зловредният софтуер често съдържа в себе си резервен метод за свързване отново към CnC инфраструктурата, който в повечето случаи изглежда като “невинен” източник на обновления (updates).

За да се превключи от един CnC съврър към други, принципно не се изискват много усилия, необходимо е само да се изпратят новите домейни и/или IP адреси. Престъпниците са доста креативни и използват услуги като Twitter, Reddit и Pastebin, както и други публично достъпни услуги за съхранение на съобщения.

Време е за блокчейн!

Glupteba се възползва от факта, че всяка една Bitcoin транзакция се записва именно в Bitcoin блокчейна, който е публичнодостъпен списък на всички транзакции и е достъпен през повечето публични мрежи.

Всъщност, една транзакция на Bitcoin може да бъде не само финансова, защото може да съдържа поле наречено “RETURN” или по-известно като “OP_RETURN”, което на практика е коментар с дължина до 80 знака.

Нека започнем със списък на всички хешове за транзакции на биткойн (леко редактирани), свързани с един от биткойн портфейлите, използвани като скрит източник на съобщения от Glupteba.

Показаният тук номер на портфейла е извлечен от зловредния софтуер от SophosLabs.

Командния ред съдържащ bx по-долу е популярен и полезен инструмент за изследване на Bitcoin блокчейн-а:

$ bx fetch-history 15y7...qNHXRtu5wzBpXdY5mT4RZNC6 | awk '$1 == "hash" { print $2 }'
dfef43552fc953ff14ca7b7bb....b79e8409b5638d4f83b1c5cec0abc3d
98987c05277c97b06edfc030c....07e74334c203075ec27b44b3cc458bf
717da8bea87d02ef62b1806cf....7e01f0267718f0351f9ae1592e02703
20b37b655133491b94a8021ab....0266d15331a14caf10570b6623a86e4
fa9cd0622535cf6c9ff449510....c5d526d5794d9d98ba5d6469a97be2c
0d83cbc74a12a9f130fcead23....d5d56cf769c6c0a4cf1cebbf9e97e4a
a7fb3bb04b82922923e8359f8....3db69bd2863ec88b98f9c69a37212ad
52ee10617c1fc3e25922b146a....7daefdc3c3d5421b0387a737e46b396
f29cbbb96de80dbc7e5236c98....3da6f8118bb356f537ce0317f7ab10c
6a3a720ab97511528309fbf64....f37bc25d95d45d3408540174daad786
8bf7acc56aab4b87d73a85b46....1486f0a764fd0a5f13e2d79e0a14625
3bd54c0832cc411f5299064e4....c11ab05c1a4aff62fa323c068e88945
1e1c0249bb22d1fcfb596e4fb....df7ab3bf627e25a2fe9530eb3dce476
51899ffeadf5d0d605d5122c3....5b82baa15a4fa6b203abf59731c158f
8a7c43d0bbf01cdf3bb28de48....6e339a063251fce30cb83ae50c2096a
55e8fe62bcc41ec465c3f1f28....f5d82443a15a30d88fefc3f55ad2f29

Ако извлечем подробностите за всяка от тези транзакции, можем да видим кои включват OP_RETURN данни.

$ bx fetch-tx 55e8fe62bcc41ec465c3f1f28....f5d82443a15a30d88fefc3f55ad2f29
{
  hash 98987c05277c97b06...1ce207e74334c203075ec27b44b3cc458bf
  inputs
  {
    input
    {
[ . . . . . . . . . ] 
    output
    {
      script "return [18fe788a52d7aa57808d801d0f8f7cd39e1a...9f986b877befce0c2f558f0c1a9844833ac702cb3eba6e]"
[ . . . . . . . . . ]     
      value 0
    }
  }
[ . . . . . . . . . ]

Байтовете данни OP_RETURN, показани по-горе, са тайното съобщение.

За да го декриптирате ви е необходим 256-битов ключ за дешифриране AES, който е кодиран в Glupteba (можете да намерите ключовете в подробния репорт, изготвен от SophosLabs) и трябва да знаете, че данните, върнати в blockchain, се състоят от:

First 12 bytes  = AES-256-GCM initialisation vector
Last 16 bytes  = AES-256-GCM authentication tag
Bytes in between = Encrypted message (bytes from 0f8f7cd3.. to ..877befce)

Декриптирайте данните от блоковия код, за да обърнете криптирането AES-256-GCM и ще разкриете скритото съобщение.

Този вид „скриване на информация точно пред очите“ често се нарича стеганография.

Примерни псевдокодове, за да придобиете представа :

> cipher = newcipher('AES-256-GCM')
> cipher.key = d8727a0e..d66503cf        // extracted by SophosLabs
> cipher.iv = 18fe788a52d7aa57808d801d     // GCM mode needs an IV
> cipher.tag = 0c2f558f0c1a9844833ac702cb3eba6e // GCM mode needs a message hash
> plain = cipher:decrypt(0f8f7cd39e1a...9f986b877befce)
> print('secret message is: ',plain)
secret message is: venoco___ol.com        // see report for full IoC list
// this is a new C&C server to move to

По този начин Glupteba прикрива имената на използваните от него CnC сървъри.

Колко е опасен в действителност ?

Лошата новина е, че благодарение на многото и разнообразни модули за самозащита, Glupteba разполага със също толкова трикове, чрез които да прикрие своята активност от системите за сигурност.

От друга страна, тази сложност прави зловредния софтуер по-малко надежден и по ирония на съдбата по-предразположен към задействане на аларми в системи за следене за зловредна дейност и аномалии. Всъщност, някои трикове за програмиране на ниско ниво, които използва, включително rootkits на ниво Windows kernel (ядро), не само не работят на последните версии на Windows, но и често привличат вниманието към себе си от начина, по който се държат, което понякога води дори и до срив на системата – BSOD.

Също така, Glupteba разчита на множество експлойти, за които има излезли патчове от преди месеци или дори години – включително за атаките, които използва срещу рутерите – така че една патчната системата е много по-малко вероятно да се зарази.

И накрая, основният механизъм за заразяване, който е известен към този момент за разпорастренение на Glupteba в една мрежа (ако приемем, че машините имат нужните патчове за предотвратяване на ETERNALBLUE) е използване на т.нар. „кракнат софтуер“.

Например:

Вместо да инсталира и активира Adobe Illustrator, този крак инсталира Glupteba

Вместо да инсталира и активира Adobe Illustrator, този крак инсталира Glupteba.

Как да се предпазим :

Exit mobile version