TellYouThePass Ransomware Analysis Reveals a Modern Reinterpretation Using Golang

Analysts, first, focused on the binary for the “Go build id” string to identify the Golang build used for compiling it.
In recent campaigns of Go-written malware, especially in ransomware cases, attackers patch the binary to remove this string, making it difficult for researchers to use string-based signatures to detect the binary as Go.

Going through the two samples –

460b096aaf535b0b8f0224da0f04c7f7997c62bf715839a8012c1e1154a38984 (Windows)

5c8710638fad8eeac382b0323461892a3e1a8865da3625403769a4378622077e (Linux)

– analysts noticed that more than 85% of code in the Windows and Linux versions are almost the same
Analysts notice in this case that the malware authors have left only one main function and changed the other functions to random names.
The sample checks the existence of the files “showkey.txt” and “public.txt” with the help of OS.Getenv, using “ALLUSERSPROFILE” and “HOMEDRIVE” as keys in Windows and Home and /tmp/ in Linux. If it is present, it means encryption occurred, and it exists using runtime_gopanic; otherwise, it creates them.

For Windows, the return is “C:\ProgramData” and /root/ directory in Linux. Using path.join to join “showkey.txt” and “public.txt” with the directories results in:
Windows:
“C:\ProgramData/showkey.txt”

“C:\ProgramData/public.txt”

Linux:
“/root/showkey.txt”

“/root/public.txt”

The sample uses the Golang Crypto Packages for RSA key – some of them are crypto_x509_MarshalPKCS1PublicKey, crypto_x509_MarshalPKCS1PrivateKey, encoding_pem_EncodeToMemory and crypto_rsa_GenerateMultiPrimeKey.
crypto_x509_ MarshalPKCS1PrivateKey converts the RSA private key to PKCS #1, ASN.1 DER form.
Then, the encoding_pem_EncodeToMemory returns the PEM (Privacy Enhanced Mail) encoding, and after that, runtime_slicebytetostring converts bytes to string, resulting in the conversion of bytes to string.txt”

TellYouThePass ransomware tries to kill some tasks and services before initiating the encryption routine, as shown in Table 2 below. However, in Linux, it requires root privilege to do that. Targeted applications include various email clients, database applications, web servers and document editors.

It runs various commands using cmd.exe to kill tasks in Windows, and in Linux, it takes the os_exec_command Go package to execute different commands using /bin/bash/:

Windows:

“taskkill /f /im msftesql.exe ”

“schtasks /delete /tn WM /F ”

“taskkill /f /im sqlagent.exe ”

“taskkill /f /im sqlbrowser.exe ”

“taskkill /f /im sqlservr.exe ”

“taskkill /f /im sqlwriter.exe ”

“taskkill /f /im oracle.exe ”

“taskkill /f /im ocssd.exe ”

“taskkill /f /im dbsnmp.exe ”

“taskkill /f /im synctime.exe ”

“taskkill /f /im mydesktopqos.exe ”

“taskkill /f /im agntsvc.exeisqlplussvc.”

“taskkill /f /im xfssvccon.exe ”

“taskkill /f /im mydesktopservice.exe ”

“taskkill /f /im ocautoupds.exe ”

“taskkill /f /im agntsvc.exeagntsvc.exe ”

“taskkill /f /im agntsvc.exeencsvc.exe ”

“taskkill /f /im firefoxconfig.exe ”

“taskkill /f /im tbirdconfig.exe ”

“taskkill /f /im ocomm.exe ”

“taskkill /f /im mysqld.exe ”

“taskkill /f /im mysqld-nt.exe ”

“taskkill /f /im mysqld-opt.exe ”

“taskkill /f /im dbeng50.exe ”

“taskkill /f /im sqbcoreservice.exe ”

“taskkill /f /im excel.exe ”

“taskkill /f /im infopath.exe ”

“taskkill /f /im msaccess.exe ”

“taskkill /f /im mspub.exe ”

“taskkill /f /im onenote.exe ”

“taskkill /f /im outlook.exe ”

“taskkill /f /im powerpnt.exe ”

“taskkill /f /im steam.exe ”

“taskkill /f /im sqlservr.exe ”

“taskkill /f /im thebat.exe ”

“taskkill /f /im thebat64.exe ”

“taskkill /f /im thunderbird.exe ”

“taskkill /f /im visio.exe ”

“taskkill /f /im winword.exe ”

“taskkill /f /im wordpad.exe”

“taskkill /f /im tnslsnr.exe”

Linux:

“service mysql stop”

“/etc/init.d/mysqld stop”

“service oracle stop”

“systemctl disable “postgresql*””

“systemctl disable “mysql*””

“systemctl disable “oracle*””

Both the Windows and the Linux versions have a list of directory exclusions for encryption

Windows:

EFI.Boot

EFI.Microsoft

Windows

Program Files

All Users

Boot

IEidcache

ProgramData

desktop.ini

autorun.inf

netuser.dat

iconcache.db

thumbs.db

Local Settings

bootfont.bin

System Volume Information

AppData

Recycle.Bin

Recovery

Linux:

/bin

/boot

/sbin

/tmp

/etc

/lib

/proc

/dev

/sys

/usr/include

/usr/java

The TellYouThePass ransomware focuses on encrypting popular media and file extensions, saving their paths in the “encfile.txt” text file, located in the same folder as “public.txt” and “showkey.txt”.

Below is the full list of targeted extensions for encryption:

1cd, 3dm, 3ds, 3fr, 3g2, 3gp, 3pr, 602, 7z, ps1, 7zip, aac, ab4, accdb, accde, accdr, accdt, ach, acr, act, adb, adp, ads, aes, agdl, ai, aiff, ait, al, aoi, apj, arc, arw, asc, asf, asm, asp, aspx, asx, avi, awg, back, backup, backupdb, bak, bank, bat, bay, bdb, bgt, bik, bin, bkp, blend, bmp, bpw, brd, c, cdf, cdr, cdr3, cdr4, cdr5, cdr6, cdrw, cdx, ce1, ce2, cer, cfg, cgm, cib, class, cls, cmd, cmt, conf, config, contact, cpi, cpp, cr2, craw, crt, crw, cs, csh, csl, csr, css, csv, dac, dat, db, db3, db_journal, dbf, dbx, dc2, dch, dcr, dcs, ddd, ddoc, ddrw, dds, der, des, design, dgc, dif, dip, dit, djv, djvu, dng, doc, docb, docm, docx, dot, dotm, dotx, drf, drw, dtd, dwg, dxb, dxf, dxg, edb, eml, eps, erbsql, erf, exf, fdb, ffd, fff, fh, fhd, fla, flac, flf, flv, flvv, fpx, frm, fxg, gif, gpg, gray, grey, groups, gry, gz, h, hbk, hdd, hpp, html, hwp, ibank, ibd, ibz, idx, iif, iiq, incpas, indd, jar, java, jnt, jpe, jpeg, jpg, jsp, jspx, ashx, js, kc2, kdbx, kdc, key, kpdx, kwm, laccdb, lay, lay6, ldf, lit, log, lua, m, m2ts, m3u, m4p, m4u, m4v, mapimail, max, mbx, md, mdb, mdc, mdf, mef, mfw, mid, mkv, mlb, mml, mmw, mny, moneywell, mos, mov, mp3, mp4, mpeg, mpg, mrw, ms11, msg, myd, myi, nd, ndd, ndf, nef, nk2, nop, nrw, ns2, ns3, ns4, nsd, nsf, nsg, nsh, nvram, nwb, nx2, nxl, nyf, oab, obj, odb, odc, odf, odg, odm, odp, ods, odt, ogg, oil, orf, ost, otg, oth, otp, ots, ott, p12, p7b, p7c, pab, pages, paq, pas, pat, pcd, pct, pdb, pdd, pdf, pef, pem, pfx, php, pif, pl, plc, plus_muhd, png, pot, potm, potx, ppam, pps, ppsm, ppsx, ppt, pptm, pptx, prf, ps, psafe3, psd, pspimage, pst, ptx, pwm, py, qba, qbb, qbm, qbr, qbw, qbx, qby, qcow, qcow2, qed, r3d, raf, rar, rat, raw, rb, rdb, rm, rtf, rvt, rw2, rwl, rwz, s3db, safe, sas7bdat, sav, save, say, sch, sd0, sda, sdf, sh, sldm, sldx, slk, sql, sqlite, sqlite3, sqlitedb, sr2, srf, srt, srw, st4, st5, st6, st7, so, st8, stc, std, sti, stm, stw, stx, svg, swf, sxc, sxd, sxg, sxi, sxm, sxw, tar, tar.bz2, tbk, tex, tga, tgz, thm, tif, tiff, tlg, txt, uop, uot, vb, vbox, vbs, vdi, vhd, vhdx, vmdk, vmsd, vmx, vmxf, vob, wab, wad, wallet, war, wav, wb2, wk1, wks, wma, wmv, wpd, wps, x11, x3f, xis, xla, xlam, xlc, xlk, xlm, xlr, xls, xlsb, xlsm, xlsx, xlt, xltm, xltx, xlw, xml, ycbcra, yuv, zip.

Finally, the ransom note contains information about the encryption algorithm used to encrypt the files, specifically RSA-1024 and AES-256.
It also includes the personid, used for identifying the victim. Following 0.05 bitcoin transfer into a designated and hardcoded wallet, attackers promise to provide victims with the decryption key to recover all files.

Sign Up For Threat Alerts

Loading...
Threats Icon

Jul 04, 2023

Rhysida Ransomware RaaS Crawls Out of Crimeware...

The Rhysida ransomware-as-a-service (RaaS) group has gone from a dubious newcomer to a fully-fledged ransomware...

Threats Icon

Jun 26, 2023

Operation Magalenha – Long-Running Campaign Pursues Portuguese...

The attackers can steal credentials and exfiltrate users' data and personal information, which can be...

Threats Icon

Apr 24, 2023

Lazarus Group Adds Linux Malware to Arsenal...

Researchers have discovered a new campaign conducted by Lazarus, known as "Operation DreamJob," which targets...

Threats Icon

Apr 23, 2023

Additional IOCs for 3cx breach

Recently an unexpected malicious activity emanating from a legitimate, signed binary, 3CXDesktopApp was observed.

Threats Icon

Apr 23, 2023

Ex-Conti and FIN7 Actors Collaborate with New...

IBM Security X-Force recently discovered a new malware family Analysts have called "Domino," which Analysts...

Threats Icon

Apr 20, 2023

AuKill EDR killer malware abuses Process Explorer...

The AuKill tool abuses an outdated version of the driver used by version 16.32 of...

Threats Icon

Apr 20, 2023

Fake Chrome updates spread malware

A campaign running since the end of last year is using hacked sites to push...

Threats Icon

Apr 20, 2023

QBot using new attack vector in its...

QBot, also known as QakBot, previously operated as a banking trojan and has since transformed...

Threats Icon

Apr 20, 2023

CrossLock Ransomware Emerges: New Golang – Based...

The CrossLock ransomware employs the double extortion technique to increase the likelihood of payment from...

Threats Icon

Apr 20, 2023

Windows Zero-Day Vulnerability CVE-2023-28252 Exploited by Nokoyawa...

A zero-day vulnerability in the Microsoft Windows system, which also affects Windows 11, has been...

Threats Icon

Apr 18, 2023

Additional IOcs for 3cx breach

Recently an unexpected malicious activity emanating from a legitimate, signed binary, 3CXDesktopApp was observed. As...

Threats Icon

Apr 18, 2023

Additional IOcs for 3cx breach

Recently an unexpected malicious activity emanating from a legitimate, signed binary, 3CXDesktopApp was observed. As...

Threats Icon

Apr 18, 2023

APT36 Expands Interest Within Indian Education Sector

Symantec described UPS in 2016 report as Buckeye (also known as APT3 Gothic Panda UPS...

Threats Icon

Apr 17, 2023

ChinaZ DDoS Bot Malware Distributed To Linux...

The ChinaZ DDoS bot malware was discovered targeting Linux systems while a version for Microsoft...

Threats Icon

Apr 16, 2023

Resurgence Of The Mexals Cryptojacking Campaign

The Mexals crypto jacking campaign has been in operation since at least 2021 and continues...