We vervolgen onze reeks artikelen over malware-analyse. IN
Agent Tesla is modulaire spionagesoftware die wordt gedistribueerd met behulp van een malware-as-a-service-model onder het mom van een legitiem keylogger-product. Agent Tesla kan gebruikersgegevens uit browsers, e-mailclients en FTP-clients extraheren en naar de server verzenden naar aanvallers, klembordgegevens opnemen en het scherm van het apparaat vastleggen. Op het moment van analyse was de officiële website van de ontwikkelaars niet beschikbaar.
Configuratiebestand
In de onderstaande tabel wordt vermeld welke functionaliteit van toepassing is op het voorbeeld dat u gebruikt:
beschrijving | Waarde |
KeyLogger-gebruiksvlag | waar |
ScreenLogger-gebruiksvlag | vals |
KeyLogger logt verzendinterval in minuten | 20 |
ScreenLogger log verzendinterval in minuten | 20 |
Vlag voor backspace-sleutelafhandeling. Niet waar – alleen loggen. Waar – wist de vorige sleutel | vals |
CNC-type. Opties: smtp, webpaneel, ftp | smtp |
Thread-activeringsvlag voor het beëindigen van processen uit de lijst “%filter_list%” | vals |
UAC-uitschakelvlag | vals |
Vlag voor uitschakelen van Taakbeheer | vals |
CMD-uitschakelvlag | vals |
Voer de vlag voor vensteruitschakeling uit | vals |
Registerviewer Vlag uitschakelen | vals |
Schakel de vlag voor systeemherstelpunten uit | waar |
Vlag voor uitschakelen van het bedieningspaneel | vals |
MSCONFIG-uitschakelvlag | vals |
Markeer om het contextmenu in Explorer uit te schakelen | vals |
Vlag vastzetten | vals |
Pad voor het kopiëren van de hoofdmodule bij het vastzetten op het systeem | %startmap% %insmap%%insnaam% |
Vlag voor het instellen van de attributen “Systeem” en “Verborgen” voor de hoofdmodule die aan het systeem is toegewezen | vals |
Vlag om opnieuw op te starten wanneer deze aan het systeem is vastgemaakt | vals |
Vlag voor het verplaatsen van de hoofdmodule naar een tijdelijke map | vals |
UAC-bypass-vlag | vals |
Datum- en tijdformaat voor loggen | jjjj-MM-dd UU:mm:ss |
Vlag voor het gebruik van een programmafilter voor KeyLogger | waar |
Type programmafiltering. 1 – de programmanaam wordt gezocht in de venstertitels 2 – de programmanaam wordt gezocht in de procesnaam van het venster |
1 |
Programmafilter | "facebook" "twitteren" "gmail" "instagram" "film" "skypen" "porno" "hacken" "whatsappen" "meningsverschil" |
De hoofdmodule aan het systeem bevestigen
Als de overeenkomstige vlag is ingesteld, wordt de hoofdmodule gekopieerd naar het pad dat in de configuratie is opgegeven als het pad dat aan het systeem moet worden toegewezen.
Afhankelijk van de waarde uit de configuratie krijgt het bestand de attributen “Hidden” en “System”.
Autorun wordt verzorgd door twee registervertakkingen:
- HKCU-softwareMicrosoftWindowsHuidige versieRun%insregname%
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerOpstartenGoedgekeurdUitvoeren %insregname%
Omdat de bootloader in het proces injecteert RegAsm, leidt het instellen van de persistente vlag voor de hoofdmodule tot behoorlijk interessante gevolgen. In plaats van zichzelf te kopiëren, heeft de malware het originele bestand aan het systeem toegevoegd RegAsm.exe, waarbij de injectie werd uitgevoerd.
Interactie met C&C
Ongeacht de gebruikte methode begint netwerkcommunicatie met het verkrijgen van het externe IP-adres van het slachtoffer dat de bron gebruikt
Hieronder worden de netwerkinteractiemethoden beschreven die in de software worden gepresenteerd.
webpaneel
De interactie vindt plaats via het HTTP-protocol. De malware voert een POST-verzoek uit met de volgende headers:
- User-agent: Mozilla/5.0 (Windows U Windows NT 6.1 ru rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)
- Verbinding: Keep-Alive
- Inhoudstype: application / x-www-form-urlencoded
Het serveradres wordt gespecificeerd door de waarde %PostURL%. Het gecodeerde bericht wordt verzonden in de parameter «P». Het versleutelingsmechanisme wordt in sectie beschreven "Coderingalgoritmen" (methode 2).
Het verzonden bericht ziet er als volgt uit:
type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nclient={8}nlink={9}nusername={10}npassword={11}nscreen_link={12}
Parameter type dan: geeft het berichttype aan:
hoog — er wordt een MD5-hash geregistreerd op basis van de waarden van het serienummer van het moederbord en de processor-ID. Waarschijnlijk gebruikt als gebruikers-ID.
niet de tijd of — dient voor het doorgeven van de huidige tijd en datum.
pcnaam - gedefinieerd als /.
loggegevens — loggegevens.
Bij het verzenden van wachtwoorden ziet het bericht er als volgt uit:
type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nscreen_link={8}n[passwords]
Hieronder volgen beschrijvingen van de gestolen gegevens in het formaat nclient[]={0}nlink[]={1}gebruikersnaam[]={2}nwachtwoord[]={3}.
smtp
De interactie vindt plaats via het SMTP-protocol. De verzonden brief is in HTML-formaat. Parameter LICHAAM heeft de vorm:
De kop van de brief heeft de algemene vorm: / . De inhoud van de brief, evenals de bijlagen, zijn niet gecodeerd.
De interactie vindt plaats via het FTP-protocol. Een bestand met de naam wordt overgebracht naar de opgegeven server _-_.html. De inhoud van het bestand is niet gecodeerd.
Encryptie-algoritmen
In dit geval worden de volgende versleutelingsmethoden gebruikt:
De 1-methode
Deze methode wordt gebruikt om strings in de hoofdmodule te coderen. Het algoritme dat wordt gebruikt voor de codering is AES.
De invoer is een decimaal getal van zes cijfers. De volgende transformatie wordt erop uitgevoerd:
f(x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3
De resulterende waarde is de index voor de ingebedde gegevensarray.
Elk array-element is een reeks DWORD. Bij het samenvoegen DWORD er wordt een array van bytes verkregen: de eerste 32 bytes zijn de encryptiesleutel, gevolgd door 16 bytes van de initialisatievector, en de overige bytes zijn de gecodeerde gegevens.
De 2-methode
Gebruikt algoritme 3DES in de modus ECB met opvulling in hele bytes (PKCS7).
De sleutel wordt gespecificeerd door de parameter %urlsleutel%codering maakt echter gebruik van de MD5-hash.
Schadelijke functionaliteit
Het onderzochte voorbeeld gebruikt de volgende programma's om de kwaadaardige functie ervan te implementeren:
KeyLogger
Als er een overeenkomstige malware-vlag is die de WinAPI-functie gebruikt Stel WindowsHookEx wijst zijn eigen handler toe voor toetsaanslaggebeurtenissen op het toetsenbord. De handlerfunctie begint met het ophalen van de titel van het actieve venster.
Als de applicatiefiltervlag is ingesteld, wordt er gefilterd afhankelijk van het opgegeven type:
- de programmanaam wordt gezocht in de venstertitels
- de programmanaam wordt opgezocht in de procesnaam van het venster
Vervolgens wordt een record aan het logboek toegevoegd met informatie over het actieve venster in het formaat:
Vervolgens wordt informatie over de ingedrukte toets vastgelegd:
sleutel | Record |
Backspace | Afhankelijk van de Backspace-sleutelverwerkingsvlag: False – {BACK} Waar – wist de vorige sleutel |
CAPS LOCK | {CAPS LOCK} |
ESC | {ESC} |
PageUp | {Pagina omhoog} |
Beneden | ↓ |
VERWIJDEREN | {DEL} |
" | " |
F5 | {F5} |
& | & |
F10 | {F10} |
TAB | {TAB} |
< | < |
> | > |
Spatiebalk | |
F8 | {F8} |
F12 | {F12} |
F9 | {F9} |
ALT + TAB | {ALT+TAB} |
EINDE | {EINDE} |
F4 | {F4} |
F2 | {F2} |
CTRL | {CTRL} |
F6 | {F6} |
Rechts | → |
Up | ↑ |
F1 | {F1} |
Links | ← |
PageDown | {PageDown} |
Invoegen | {Invoegen} |
overwinning | {Winnen} |
NumLock | {NumLock} |
F11 | {F11} |
F3 | {F3} |
HOME | {THUIS} |
ENTER | {BINNENKOMEN} |
ALT + F4 | {ALT+F4} |
F7 | {F7} |
Andere sleutel | Het teken is in hoofdletters of kleine letters, afhankelijk van de positie van de CapsLock- en Shift-toetsen |
Met een bepaalde frequentie wordt het verzamelde logboek naar de server verzonden. Als de overdracht mislukt, wordt het logboek in een bestand opgeslagen %TEMP%log.tmp in formaat:
Wanneer de timer afgaat, wordt het bestand naar de server overgebracht.
ScreenLogger
Op een bepaalde frequentie maakt de malware een screenshot in het formaat Jpeg met betekenis Kwaliteit gelijk aan 50 en slaat het op in een bestand %APPDATA %.jpg. Na de overdracht wordt het bestand verwijderd.
KlembordLogger
Als de juiste vlag is ingesteld, worden vervangingen in de onderschepte tekst uitgevoerd volgens de onderstaande tabel.
Hierna wordt de tekst in het log ingevoegd:
WachtwoordStealer
De malware kan wachtwoorden downloaden van de volgende applicaties:
Browsers | Mail-clients | FTP-clients |
Chrome | Outlook | FileZilla |
Firefox | Thunderbird | WS_FTP |
IE/Edge | Foxmail | WinSCP |
Safari | Opera Mail | KernFTP |
Opera Browser | IncrediMail | FTP-navigator |
Yandex | Pocomail | FlashFXP |
Comodo | Eudora | SmartFTP |
ChromePlus | De vleermuis | FTPCommander |
Chromium | Brievenbus | |
Fakkel | KlauwenMail | |
7Star | ||
Amigo | ||
BraveSoftware | Jabber-klanten | VPN-clients |
CentBrowser | Psi/Psi+ | Open VPN |
Chedot | ||
CocCoc | ||
Elementenbrowser | Beheerders downloaden | |
Epische privacybrowser | Internet Download Manager | |
Komeet | JDownloader | |
orbitum | ||
Spoetnik | ||
uCozMedia | ||
Vivaldi | ||
SeaMonkey | ||
Flock browser | ||
UC Browser | ||
Zwarte havik | ||
Cyber Fox | ||
K-Meleon | ||
ijs kat | ||
Icedragon | ||
Flauwe maan | ||
Watervos | ||
Falkon-browser |
Tegenreactie op dynamische analyse
- De functie gebruiken Slaap. Hiermee kunt u bepaalde sandboxen omzeilen door een time-out
- Een draad vernietigen Zone.Identificatie. Hiermee kunt u het feit verbergen dat u een bestand van internet downloadt
- In de parameter %filterlijst% specificeert een lijst met processen die de malware met tussenpozen van één seconde zal beëindigen
- ontkoppeling UAC
- Taakbeheer uitschakelen
- ontkoppeling CMD
- Een venster uitschakelen "Loop"
- Het Configuratiescherm uitschakelen
- Een hulpmiddel uitschakelen RegEdit
- Systeemherstelpunten uitschakelen
- Schakel het contextmenu in Verkenner uit
- ontkoppeling MSCONFIG
- Bypass UAC:
Inactieve functies van de hoofdmodule
Tijdens de analyse van de hoofdmodule werden functies geïdentificeerd die verantwoordelijk waren voor de verspreiding over het netwerk en het volgen van de positie van de muis.
Worm
Gebeurtenissen voor het verbinden van verwisselbare media worden in een aparte thread gevolgd. Bij verbinding wordt de malware met de naam gekopieerd naar de hoofdmap van het bestandssysteem scr.exe, waarna het zoekt naar bestanden met de extensie lnk. Ieders team lnk veranderd naar cmd.exe /c start scr.exe&start & afsluit.
Elke map in de root van de media krijgt een attribuut "Verborgen" en er wordt een bestand gemaakt met de extensie lnk met de naam van de verborgen map en de opdracht cmd.exe /c start scr.exe&explorer /root,"%CD%" en sluit af.
MuisTracker
De methode voor het uitvoeren van onderschepping is vergelijkbaar met die voor het toetsenbord. Deze functionaliteit is nog in ontwikkeling.
Bestandsactiviteit
Pad | beschrijving |
%Temp%temp.tmp | Bevat een teller voor UAC-bypass-pogingen |
%startmap%%insmap%%insnaam% | Pad dat moet worden toegewezen aan het HPE-systeem |
%Temp%tmpG{Huidige tijd in milliseconden}.tmp | Pad voor back-up van de hoofdmodule |
%Temp%log.tmp | Logbestand |
%AppData%{Een willekeurige reeks van 10 tekens}.jpeg | Schermafbeeldingen |
C:UsersPublic{Een willekeurige reeks van 10 tekens}.vbs | Pad naar een vbs-bestand dat de bootloader kan gebruiken om aan het systeem te koppelen |
%Temp%{Aangepaste mapnaam}{Bestandsnaam} | Pad dat door de bootloader wordt gebruikt om zichzelf aan het systeem te koppelen |
Aanvaller profiel
Dankzij hardgecodeerde authenticatiegegevens konden we toegang krijgen tot het commandocentrum.
Hierdoor konden we de laatste e-mail van de aanvallers identificeren:
junaid[.]in***@gmail[.]com.
De domeinnaam van het commandocentrum is geregistreerd op de post sg***@gmail[.]com.
Conclusie
Tijdens een gedetailleerde analyse van de malware die bij de aanval werd gebruikt, konden we de functionaliteit ervan vaststellen en de meest complete lijst met indicatoren van compromissen verkrijgen die relevant zijn voor deze zaak. Inzicht in de mechanismen van netwerkinteractie tussen malware maakte het mogelijk om aanbevelingen te doen voor het aanpassen van de werking van informatiebeveiligingstools, en om stabiele IDS-regels te schrijven.
belangrijkste gevaar: Agent Tesla net als DataStealer omdat het zich niet aan het systeem hoeft te binden of op een besturingscommando hoeft te wachten om zijn taken uit te voeren. Eenmaal op de machine begint het onmiddellijk privé-informatie te verzamelen en deze over te dragen aan CnC. Dit agressieve gedrag is in sommige opzichten vergelijkbaar met het gedrag van ransomware, met als enige verschil dat deze laatste niet eens een netwerkverbinding vereisen. Als u deze familie tegenkomt, moet u, nadat u het geïnfecteerde systeem van de malware zelf heeft gereinigd, zeker alle wachtwoorden wijzigen die, althans theoretisch, kunnen worden opgeslagen in een van de hierboven genoemde applicaties.
Laten we voor de toekomst zeggen dat aanvallers verzenden Agent Tesla, wordt de initiële bootloader heel vaak gewijzigd. Hierdoor kunt u onopgemerkt blijven door statische scanners en heuristische analysatoren op het moment van een aanval. En de neiging van deze familie om onmiddellijk met hun activiteiten te beginnen, maakt systeemmonitors nutteloos. De beste manier om AgentTesla te bestrijden is een voorlopige analyse in een sandbox.
In het derde artikel van deze serie zullen we kijken naar andere gebruikte bootloaders Agent Tesla, en bestudeer ook het proces van hun semi-automatische uitpakken. Mis niet!
Hachee
SHA1 |
A8C2765B3D655BA23886D663D22BDD8EF6E8E894 |
8010CC2AF398F9F951555F7D481CE13DF60BBECF |
79B445DE923C92BF378B19D12A309C0E9C5851BF |
15839B7AB0417FA35F2858722F0BD47BDF840D62 |
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
C&C
URL |
sina-c0m[.]icu |
smtp[.]sina-c0m[.]icu |
RegKey
register |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Scriptnaam} |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname% |
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname% |
mutex
Er zijn geen indicatoren.
Bestanden
Bestandsactiviteit |
%Temp%temp.tmp |
%startmap%%insmap%%insnaam% |
%Temp%tmpG{Huidige tijd in milliseconden}.tmp |
%Temp%log.tmp |
%AppData%{Een willekeurige reeks van 10 tekens}.jpeg |
C:UsersPublic{Een willekeurige reeks van 10 tekens}.vbs |
%Temp%{Aangepaste mapnaam}{Bestandsnaam} |
Monsters Info
Naam | Onbekend |
MD5 | F7722DD8660B261EA13B710062B59C43 |
SHA1 | 15839B7AB0417FA35F2858722F0BD47BDF840D62 |
SHA256 | 41DC0D5459F25E2FDCF8797948A7B315D3CB0753 98D808D1772CACCC726AF6E9 |
Type | PE (.NET) |
Maat | 327680 |
Originele naam | AZZRIDKGGSLTYFUUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe |
Datumstempel | 01.07.2019 |
Compiler | VB.NET |
Naam | IELibrary.dll |
MD5 | BFB160A89F4A607A60464631ED3ED9FD |
SHA1 | 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
SHA256 | D55800A825792F55999ABDAD199DFA54F3184417 215A298910F2C12CD9CC31EE |
Type | PE (.NET DLL) |
Maat | 16896 |
Originele naam | IELibrary.dll |
Datumstempel | 11.10.2016 |
Compiler | Microsoft Linker(48.0*) |
Bron: www.habr.com