Introducere
Check Point Research a descoperit o noua campanie impotriva sectorului public mongol, care profita de spaima actuala Coronavirus, pentru a livra un obiect malware anterior necunoscut tintei.
O privire mai atenta la aceasta campanie ne-a permis sa o legam de alte operatiuni efectuate de acelasi grup anonim, care dateaza cel putin din 2016. De-a lungul anilor, aceste operatiuni au vizat sectoare diferite din mai multe tari, cum ar fi Ucraina, Rusia, si Belarus.
In acest raport, vom oferi o analiza completa a TTP-urilor utilizate pe parcursul acestei campanii, a infrastructurii si a noilor instrumente pe care le-am descoperit in timpul cercetarii noastre, despre ceea ce credem a fi un actor de amenintare din China.
Documente ademenite
Ancheta a inceput atunci cand am identificat doua documente suspecte ale RTF trimise sectorului public mongol. Documentele au fost redactate in limba mongola, cu unul dintre ei presupus de la Ministerul Afacerilor Externe al Mongoliei:
Document 1: Informatii despre prevalenta noilor infectii cu Coronavirus
Document 2: Achizitii pentru cladiri in proiecte documentare
Aceste fisiere RTF au fost armate folosind versiunea 7.x a unui instrument numit RoyalRoad (aka 8.t).
Acest instrument, care este utilizat in mod obisnuit de diversi actori de amenintare chinezi, permite atacatorului sa creeze documente personalizate cu obiecte incorporate care exploateaza vulnerabilitatile Editorului de ecuatii ale Microsoft Word.
Lant de infectie
Dupa ce victima deschide documentul RTF special conceput si vulnerabilitatea Microsoft Word este exploatata, un fisier numit intel.wll este introdus in folderul de pornire Word:% APPDATA% \ Microsoft \ Word \ STARTUP.
Aceasta tehnica de persistenta este adesea folosita de versiunile mai noi ale asa-numitului RoyalRoad. De fiecare data cand se lanseaza aplicatia Microsoft Word, toate fisierele DLL cu o extensie WLL in folderul Start Start vor fi lansate, declansand lantul de infectii pe care il descriu mai jos:
Diagrama lantului infectiei
Aceasta nu numai ca serveste ca o tehnica de persistenta, ci si impiedica lantul de infectie sa se „detoneze” complet daca este rulat intr-o cutie de nisip, deoarece este necesara o relansare de Microsoft Word pentru executarea completa a programelor malware.
Dupa ce este incarcat, DLL intel.wll daunator va continua sa descarce si sa decripteze urmatoarea etapa a lantului de infectie, de pe unul dintre serverele actorului amenintator: 95.179.242 [.] 6.
Urmatoarea etapa descarcata este de asemenea un fisier DLL si serveste ca principal incarcator al cadrului malware dezvoltat de atacatori. Este executat folosind Rundll32 si comunica cu un alt dintre serverele C&C ale actorului amenintator (95.179.242 [.] 27) pentru a primi functionalitate suplimentara.
Actorul amenintator opereaza serverul C&C intr-o fereastra zilnica limitata, mergand online doar cateva ore in fiecare zi, ceea ce face mai dificila analiza si accesul la partile avansate ale lantului de infectie.
In faza finala a lantului de infectie, dupa ce se primeste comanda corespunzatoare, incarcatorul rau descarca si decripteaza un modul RAT, de asemenea sub forma unui fisier DLL, si il incarca in memorie. Aceasta arhitectura de tip plug-in poate sugera existenta altor module, pe langa sarcina utila pe care am primit-o.
Modulul RAT pare a fi un malware personalizat si unic, desi include si unele functii de baza destul de comune, enumerate mai jos:
- Faceti o captura de ecran
- Lista fisiere si directoare
- Creati si stergeti directoare
- Mutati si stergeti fisierele
- Descarcati un fisier
- Executa un proces nou
- Obtineti o lista cu toate serviciile
Deschide fereastra
La inceputul cercetarii noastre, unul dintre serverele atacatorului, care a servit urmatoarea etapa malware, a activat lista de directoare pentru o perioada limitata de timp. Acest lucru ne-a permis sa descarcam toate fisierele gazduite, precum si sa obtinem informatii despre calendarul de operare si orele de lucru ale atacatorilor.
Deschideti directorul la 95.179.242 [.] 6
Chiar daca erau disponibile pentru descarcare, toate fisierele de pe server au fost criptate.
Din fericire, folosind aceeasi schema de criptare vazuta in lantul nostru de infectii, am putut decripta majoritatea fisierelor stocate pe server.
key = “VkvX7CK7X7 * t $ x & hssLR6fOyFSaKrFJKx & @ # AK * [email protected] $ nsCNKPe” def decrypt (enc, offset): decrypted = “” for i in range (len (enc)): decrypted + = chr (ord (ord (off)) enc [i]) ^ ord (cheia [(i + decalare) & 0x3f]))) returnare decriptata
Schema de decriptare derivata din „intel.wll”
Zeci de fisiere pe care am reusit sa le decriptam pot fi impartite in patru grupuri principale de familii de incarcatoare malware. Numele interne incorporate si functionalitatea principala sunt descrise mai jos:
http_dll.dll (Intel.wll) Primul incarcator descris mai sus. Decripteaza adresa C&C, apoi descarca si decripteaza urmatoarea etapa DLL si o executa prin Rundll32.
ppdown.dll
Functioneaza ca descarcator si decriptor pentru fisierele .rar stocate pe serverul atacatorilor. Citeste un fisier access.txt de pe server, il decripteaza si imparte rezultatul in 3 parti:
1) Numele urmatoarei etape de descarcare.
2) Urmatoarea etapa functia de export la care sa apelati.
3) Cheia de decriptare pentru urmatoarea etapa. Rundll32Templete.dll Aceasta varianta serveste ca incarcator si decriptor pentru sarcina utila in urmatoarea etapa. Sarcina utila este criptata in sectiunea .sect. Minisdllpub.dll Incarcatorul din a doua etapa, complet descris mai jos. Incarca pluginuri DLL suplimentare. O versiune similara a acestei sarcini utile, numita minisdllpublog.dll, contine cateva functii suplimentare de imprimare de depanare.
Tipuri de sarcina utila gasite pe server
Conexiune la alte probe
Dupa ce am obtinut acces la fisierele decriptate suplimentare, am putut vana probe similare.
Cautarea de fisiere similare cu nume interne (http_dll, Rundll32Templete si minisdllpub), functii unice exportate (Engdic, WSSet si MSCheck) si asemanari de cod (metode de decriptare, modele de comunicare etc.), ne-au permis sa gasim mai multe probe legate de atacator. :
5560644578a6bcf1ba79f380ca8bdb2f9a4b40b7 http_dll.dll 207477076d069999533e0150be06a20ba74d5378 http_dll.dll b942e1d1a0b5f0e66da3aa9bbd0fb46b8e16d71d http_dll.dll 9ef97f90dcdfe123ccb7d9b45e6fa9eceb2446f0 hcc_dll.dll cf5fb4017483cdf1d5eb659ebc9cd7d19588d935 Rundll32Templete.dll 92de0a807cfb1a332aa0d886a6981e7dee16d621 Rundll32Templete.dll cde40c325fcf179242831a145fd918ca7288d9dc minisdllpublog.dll 2426f9db2d962a444391aa3ddf75882faad0b67c IrmonSvc.dll 9eda00aae384b2f9509fa48945ae820903912a90 IrmonSvc.dll 2e50c075343ab20228a8c0c094722bbff71c4a2a IrmonSvc.dll 2f80f51188dc9aea697868864d88925d64c26abc NWCWorkstation.dll
Probele conexe descoperite recent
Unul dintre esantioanele gasite (92de0a807cfb1a332aa0d886a6981e7dee16d621) ne-a dus la un articol care acopera un lant initial de infectie similar, care pare sa fie dupa tintele ucrainene.
Un alt esantion (9ef97f90dcdfe123ccb7d9b45e6fa9eceb2446f0) a fost abandonat initial de un document RTF care pare sa tinteasca entitati din Federatia Rusa, pana la sfarsitul anului 2018.
Infrastructura
Analiza probelor recent descoperite ne-a introdus intr-o parte mai mare a infrastructurii utilizate de catre actorul amenintator si un TTP comun: Toate serverele C&C au fost gazduite pe serverele Vultr, iar domeniile au fost inregistrate prin intermediul registratorului GoDaddy.
Privire de ansamblu asupra infrastructurii
Pe masura ce am analizat aceasta campanie, pe langa infrastructura folosita, am observat si un comportament interesant al atacatorilor
La un moment dat, serverul C&C 95.179.242 [.] 6 a oprit difuzarea listei de directoare deschise. Cateva zile mai tarziu dw.adyboh [.] Com a devenit un director deschis:
Deschideti lista de directoare la adresa dw.adyboh [.]
Acest lucru ar putea indica faptul ca atacatorii permit listarea directoarelor, cand unul dintre serverele de livrare a sarcinilor lor utile este activ.
Atribuire
Din perspectiva documentelor nocive, consideram ca schema de denumire pentru intel.wll – care este abandonata de versiunea 7.x a RoyalRoad nu este suficienta pentru a face o atributie clara, intrucat am observat acelasi nume folosit de diversi actori de amenintare care se incadreaza diferit. familii malware, cum ar fi Bisonal si Poison Ivy.
Din perspectiva sarcinii utile, pe de alta parte, dupa ce am gasit probele suplimentare aferente mentionate in sectiunea Vanatoare de mai sus, am putut sa o conectam la un grup de amenintari cunoscut. In exemplul NWCWorkstation.dll mentionat mai sus, am observat un sir unic ca parte a functionalitatii de logare: „V09SS0lO”. Acest lucru ne-a dus la un articol din 2017 de Palo Alto Networks, intitulat Threat Actors Government Target of Belarus, care descrie un atac care utilizeaza un RAT numit BYEBY.
Articolul in sine se conecteaza si la un articol anterior care dateaza din 2016, unde aceleasi instrumente au fost folosite intr-un atac care vizeaza guvernul mongol. Articolul exploreaza si conexiunile dintre aceste atacuri si atacurile anterioare legate de troianul Enfal.
Comparand COI din atacul din 2017 cu campania noastra, am observat mai multe asemanari:
Asemanari ale infrastructurii
Serverele din publicatia din 2017 au fost setate pe aceeasi infrastructura ca toate celelalte probe gasite in timpul investigatiei noastre si utilizeaza serviciile Vultr si GoDaddy.
Asemanari de cod
Cand analizam unul dintre fisierele din directorul deschis (bf9ef96b9dc8bdbc6996491d8167a8e1e63283fe), am observat ca decripteaza si incarca un DLL numit wincore.dll. Cercetand acest fisier abandonat, am putut realiza mai multe corelatii cu proba BYEBY din 2017:
- Asemanare cu sir:
Siruri „BYEBY”
Siruri „wincore.dll”
- Asemanarea functiei – Functiile importante atat in BYEBY cat si in wincore.dll au aproape aceeasi implementare. O astfel de functie este functia principala a filetelor utile.
Asemanari cu implementarea programelor malware
- Global Call-Graph si X-Ref Graph – Desi exista o oarecare ofusca in ambele probe, am putut verifica daca au grafice de apel si referinte similare, ceea ce inseamna ca functionalitatea principala a executabililor este aceeasi.
Sarcina utila – Analiza adancimii
De recapitulat, sarcina utila din a doua etapa in lantul de atac, este un fisier DLL criptat numit minisdllpub.dll. DLL, descarcat din 95.179.242 [.] 6, este un descarcator pentru o sarcina utila suplimentara. In sectiunea urmatoare, trecem peste implementarea acesteia si evidentiem caracteristicile unice acestei sarcini utile.
Minisdllpub.dll incepe prin crearea unui mutex cu numele Afx: DV3ControlHost. Acesta este un indicator unic care poate fi ulterior folosit pentru a vana mai multe probe in salbaticie. Apoi, defineste o structura cu dimensiunea 0x5f8 pentru a stoca informatii despre sistem si mediu, cum ar fi numele computerului care ruleaza, adresele IP, numele de utilizator si versiunea OS. In continuare, este creata o alta structura cu dimensiunea 0x3FC, de data aceasta pentru a stoca indicatoarele la DLL-urile incarcate si functiile API, precum si adresa IP de comanda si control (95.179.242 [.] 27) si portul (443).
Dupa configurarea acestor structuri, fluxul continua si se creeaza un fir nou. In primul rand, aduce mai multe liste de functii API si le incarca dinamic. Dupa cum se poate vedea in imaginea urmatoare, fiecare lista este alcatuita din numele unei biblioteci urmata de o secventa de functii API de incarcat din aceasta biblioteca. Punctele pentru aceste functii sunt apoi adaugate la structura anterioara care sunt utilizate pentru a le invoca dinamic atunci cand este nevoie.
Listele de functii API separate de virgule, pre-trimise cu numele bibliotecii
Incarcarea utila din a doua etapa seteaza apoi comunicarea HTTP sau HTTPS, depinde de mai multe verificari si incepe comunicarea cu telecomanda sa in thread-uri noi. Cand serverul raspunde, trimite DLL codat XOR catre malware, cu cheia 0x51. Apoi, Minisdllpub.dll decodeaza sarcina utila data si incarca dinamic noul PE in memorie.
Cand este incarcat, el cauta o functie de export cu numele e. Programul malware continua sa asculte comenzile de la server, iar atunci cand acestea sunt primite, le transmite functiei „e” a incarcarii noi incarcate. Facand acest lucru, etapa a doua functioneaza ca un mijloc de mijloc intre C&C si sarcina utila finala – un instrument de acces la distanta.
Programul malware cauta functia de export „e”, pentru a o invoca
In acest moment, avem un aspect unic de module incarcate pe computerul victimei. In primul rand, Minisdllpub.dll a fost incarcat initial folosind Rundll32 de catre http_dll.dll (intel.wll) cand a fost executata o aplicatie Microsoft Office. In continuare, avem sarcina utila RAT care primeste comenzile sale de control nu direct de la C&C, ci prin Minisdllpub.dll care actioneaza ca mediator.
Fluxul de executie al incarcatorului
Interesant este ca, pe langa comenzile de executat, Minisdllpub.dll trece de asemenea mai multe structuri la sarcina finala. Structurile care au fost construite si completate anterior, sunt acum utilizate de RAT pentru a invoca dinamic functiile API si a furniza date serverului C&C. Aceasta abordare unica de reutilizare a indicatoarelor functionale care au fost incarcate in modulul anterior face ca analiza RAT sa fie cu greu posibila fara a avea si stadiul anterior.
Functionalitatile acceptate ale sarcinii utile finale, precum si comenzile respective pe care le primeste si le trimite sunt descrise in tabelul din apendicele A.
Concluzie
In aceasta campanie, am observat cea mai recenta iteratie a ceea ce pare a fi o operatiune de lunga durata, bazata pe China, impotriva unei varietati de guverne si organizatii din intreaga lume. Aceasta campanie specifica foloseste pandemia COVID-19 pentru a atrage victimele pentru a declansa lantul de infectie.
Atacatorii si-au actualizat setul de instrumente din documente cu macro-uri si exploatari RTF mai vechi pana la cea mai recenta varianta a „RoyalRoad” exploatator-constructor RTF observat in salbaticie.
Intentia deplina a acestui grup APT chinez este inca un mister, dar este clar ca sunt aici pentru a ramane si isi vor actualiza instrumentele si vor face tot ce este necesar pentru a atrage noi victime in reteaua lor.
Check Point SandBlast Agent protejeaza impotriva acestui atac APT si il impiedica inca de la primii pasi.
Apendicele A: Modul RAT – Comenzi acceptate
ID de comanda (Trimis de la C&C) Sub ID de comanda (Trimis de la C&C) Descriere ID de raspuns (Trimis de la Bot) 0x21 Scrieti un fisier pe o cale specificata. Setati timestamp-ul fisierului scris la momentul de referinta al kernel32.dll local. 0x22 0x23 Obtineti continutul unui fisier.
paradisehill porno http://playercard.com/__media__/js/netsoltrademark.php?d=adult66.net/
porno cu femei grase http://mysalescoach.mobi/__media__/js/netsoltrademark.php?d=adult66.net/
porno pising http://testmasterspsatprep.com/__media__/js/netsoltrademark.php?d=adult66.net/
porno dp http://theapachejunctionprocessserver.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/amatori
budoar filme porno http://whysoangry.net/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/anal
filme de actiune porno http://ufcphysiques.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/asiatice
clipuri porno romanesti http://liverhealthtoday.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/beeg
porno incest romanesti http://ontariobusinessfunder.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/blonde
filme porno cu negri cu pula mare http://westplainsbank.biz/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/brazzers
filme porno 2017 hd http://marshfield-clinic.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/brunete
filme porno cu brunete sexi http://smokesalmon.net/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/chaturbate
porno autobuz http://cpaassist.net/__media__/js/netsoltrademark.php?d=adult66.net/fratele-mai-mare-ii-baga-pula-pe-gat-surorii-mai-mici
zoofili porno http://screamrumors.com/__media__/js/netsoltrademark.php?d=adult66.net/isi-fute-iubita-in-camera-de-camin-apoi-ejaculeaza-pe-sani
porno czech http://valoandaily.com/__media__/js/netsoltrademark.php?d=adult66.net/o-papusa-blonda-face-un-sex-oral-senzual-prietenului-ei
site-uri porno romanesti http://h360mediagroup.net/__media__/js/netsoltrademark.php?d=adult66.net/pustoaica-de-17-ani-e-fututa-de-un-coleg-mai-mare-de-la-scoala-in-camera-ei
filme porno kk http://alexancrossroads.net/__media__/js/netsoltrademark.php?d=adult66.net/hentai-gang-bang-filme-pono-hardcore-filme-porno-hentai
video porno hub http://znehome.net/__media__/js/netsoltrademark.php?d=adult66.net/doua-pustoaice-de-16-ani-futute-de-doi-mosi
porno cu bunicute http://cheveux-frises.com/__media__/js/netsoltrademark.php?d=adult66.net/minora-fututa-grav-in-gura-dupa-care-inghite-sperma
porno mature tube http://transportationaccessories.com/__media__/js/netsoltrademark.php?d=adult66.net/negresa-fututa-tare-de-unu-mai-tanar-care-ejaculeaza-intre-sanii-ei
porno you http://adcouture.com/__media__/js/netsoltrademark.php?d=adult66.net/minora-excitata-fututa-in-curtea-scolii-de-unul-dintre-profesori
0x24 0x25 Listeaza fisierele dintr-un director. 0x26 0x2E Executati comanda intr-un nou thread. 0x31 0x2F Executati o comanda. 0x30 0x32 0x00 Creati un director al unei cai date. 0x33 0x32 0x01 Stergeti un director dintr-o cale data. 0x33 0x32 0x02 Mutati un fisier dintr-o cale data catre un anumit director. 0x33 0x32 0x03 Stergeti un fisier dintr-o cale data. 0x33 0x32 0x04 Mutati un fisier dintr-o cale data intr-un director dat. (La fel ca subcomandul 0x02) 0x33 0x34 0x07 Obtineti o lista cu toate serviciile. 0x35 0x34 0x08 Executa un nou proces folosind WinExec. 0x35 0x34 0x09 Executa un nou proces. (La fel ca subcomanda 0x08) 0x35 0x34 0x0A Realizati o captura de ecran. 0x35 0x34 0x15 Setati valorile cheii de registru. 0x35 0x34 0x16 Descarcati fisierul de pe URL. 0x3A sau 0x3B 0x34 0x17 Descarcati fisierul de la URL. (La fel ca subcomandul 0x16) 0x3A sau 0x3B 0x34 0x18 Creati conducte si executati un nou proces. 0x3D sau 0x3B 0x34 0x19 Creati conducte si executati un nou proces (acelasi ca 0x18). 0x3D sau 0x3B 0x36 Copiati fisierul procesului curent cu o extensie „.t” si modificati registrul. 0x37 t ”extinderea si modificarea registrului. 0x37 t ”extinderea si modificarea registrului. 0x37
Apendicele B: Fisiere pe server
Fisier intern Exporturile Nume SHA-1 Server Localizare http_dll.dll dde7dd81eb9527b7ef99ebeefa821b11581b98e0 img \ 0115 \ WRql7X Engdic http_dll.dll fc9c38718e4d2c75a8ba894352fa2b3c9348c3d7 bin \ 0612wy3 \ KFuGrS-cod MSCheck ppdown.dll 601a08e77ccb83ffcd4a3914286bb00e9b192cd6 bin \ 0612wy3 \ KFuGrS MSCheck ppdown.dll 27a029c864bb39910304d7ff2ca1396f22aa32a2 bin \ 0612wy3 \ KFuGrS -ppd-Bak MSCheck Rundll32Templete.dll 8b121bc5bd9382dfdf1431987a5131576321aefb img \ 0115 \ CYMi0Y-Bak
img \ 0115 \ R7pEFv WSSet Rundll32Templete.dll (x64) bin bf9ef96b9dc8bdbc6996491d8167a8e1e63283fe \ test0625 \ CmlN0i MSCheck minisdllpub.dll fcf75e7cad45099bf977fe719a8a5fc245bd66b8 img \ 0115 \ CYMi0Y
img \ 0120 \ VIdALQ
img \ 1224 \ AF9i1i WSSet minisdllpublog.dll bin 0bedd80bf62417760d25ce87dea0ce9a084c163c \ 0612wy3 \ KFuGrS-www
bin \ 0617wy3 \ LX5sG1 MSCheck gg.dll 5eee7a65ae5b5171bf29c329683aacc7eb99ee0c bin \ 0612wy3 \ TTXk1U.rar MSCheck minisdllpub.dll 3900054580bd4155b4b72ccf7144c6188987cd31 scazut cu
8b121bc5bd9382dfdf1431987a5131576321aefb WSSet wincore.dll e7826f5d9a9b08e758224ef34e2212d7a8f1b728 scazut cu
bf9ef96b9dc8bdbc6996491d8167a8e1e63283fe LoadKernel
Apendicele C: COI suplimentare
Servere:
95.179.242 [.] 6 95.179.242 [.] 27 199.247.25 [.] 102 95.179.210 [.] 61 95.179.156 [.] 97 dw.adyboh [.] Com wy.adyboh [.] Com feb .kkooppt [.] com compdate.my03 [.] com jocoly.esvnpe [.] com bmy.hqoohoa [.] com bur.vueleslie [.] com wind.windmilldrops [.] com
RTFs:
234a10e432e0939820b2f40bf612eda9229db720 751155c42e01837f0b17e3b8615be2a9189c997a ae042ec91ac661fdc0230bdddaafdc386fb442a3 d7f69f7bd7fc96d842fcac544
DLL-uri:
0e0b006e85e905555c90dfc0c00b306bca062e7b dde7dd81eb9527b7ef99ebeefa821b11581b98e0 fc9c38718e4d2c75a8ba894352fa2b3c9348c3d7 601a08e77ccb83ffcd4a3914286bb00e9b192cd6 27a029c864bb39910304d7ff2ca1396f22aa32a2 8b121bc5bd9382dfdf1431987a5131576321aefb bf9ef96b9dc8bdbc6996491d8167a8e1e63283fe fcf75e7cad45099bf977fe719a8a5fc245bd66b8 0bedd80bf62417760d25ce87dea0ce9a084c163c 5eee7a65ae5b5171bf29c329683aacc7eb99ee0c 3900054580bd4155b4b72ccf7144c6188987cd31 e7826f5d9a9b08e758224ef34e2212d7a8f1b728 a93ae61ce57db88be52593fc3f1565a442c34679 5ff9ecc1184c9952a16b9941b311d1a038fcab56 36e302e6751cc1a141d3a243ca19ec74bec9226a 080baf77c96ee71131b8ce4b057c126686c0c696 c945c9f4a56fd1057cac66fbc8b3e021974b1ec6 5560644578a6bcf1ba79f380ca8bdb2f9a4b40b7 207477076d069999533e0150be06a20ba74d5378 b942e1d1a0b5f0e66da3aa9bbd0fb46b8e16d71d9ef97f90dcdfe123ccb7d9b45e6fa9eceb2446f0 cf5fb4017483cdf1d5eb659ebc9cd7d19588d935 92de0a807cfb1a332aa0d886a6981e7dee16d621 cde40c325fcf179242831a145fd918ca7288d9dc 2426f9db2d962a444391aa3ddf75882faad0b67c 9eda00aae384b2f9509fa48945ae820903912a90 2e50c075343ab20228a8c0c094722bbff71c4a2a 2f80f51188dc9aea697868864d88925d64c26abc
SOBOLAN:
238a1d2be44b684f5fe848081ba4c3e6ff821917








