PhantomSync: Fonosana Crypto npm manafina mpangalatra poketra

PhantomSync: fonosana npm valo an'ny mpamorona crypto no manafina dropper miadana sy maharitra ho azy

TL, DR

Mpamoaka npm tokana no nandefa fonosana kely valo izay toy ny singa fototra andavanandro ho an'ny fampivoarana blockchain sy poketra ny anarany, base58-utils, abi-encode, eth-dev, arb-kit, layer2-sdk, solana-key-utils, eth-wallet-helpers, ary crypto-validate-libSamy misy fitaovana miasa avokoa izy rehetra.  Aorian'io fitaovana io anefa dia misy andian-kaody miantso ho azy izay miasa rehefa ampidirina ny môdioly.

Eo amin'ny 37 segondra eo ho eo aorian'ny fanafarana, io bloc io dia mamaky ny payload izay alefa ao anatin'ny fonosana mody miseho ho toy ny fitaovana fitsapana, manoratra izany amin'ny rakitra miafina ao ambanin'ny lahatahiry an-tranon'ny mpampiasa, misoratra anarana mba hanomboka indray isaky ny login manerana ny Windows, macOS, ary Linux, ary manomboka ny script voadika ho toy ny dingana misaraka. Tsy misy momba ity miasa mandritra ny fametrahana npm; miandry ny fampidirana sy ny fampiasana ny kaody izy io, izay fotoana mangina kokoa noho ny fametrahana.

Tsy manjavozavo ny entana alefa. Alefa amin'ny endrika base64 tsotra izy io, ka ny famaha ny "test fixture" dia mamerina tanteraka ny dingana faharoa: a poketra crypto sy mpangalatra tsiambaratelo izay miandry ny milina hijanona tsy miasa, maka ireo fanalahidy manokana sy andian-teny fototra, manafina ny zavatra hita tsirairay amin'ny alàlan'ny fanalahidy RSA-4096 voaaro, ary manala izany amin'ny alàlan'ny fametahana azy amin'ny fitahirizana IPFS ho an'ny daholobe, ary mamerina izany isaky ny 12 ora.

Manara-maso ny cluster izahay toy ny PhantomSyncTao amin'ny rejisitra npm avokoa ireo fonosana valo tamin'ny fotoana nanaovana ny fanadihadiana, navoaka tao ambanin'ny kaonty tokana.

tontolo iainananpm
Packagesbase58-utils, abi-encode, eth-dev, arb-kit, layer2-sdk, solana-key-utils, eth-wallet-helpers, crypto-validate-lib
Sehatra nokendrenaWindows, Macos, Linux
Fitondran-tena fototraNafenina ho fitaovana fitsapana ny "import-time dropper" tara; mametraka "persistence" miampita sehatra
entanaMpangalatra poketra sy tsiambaratelo crypto, fanafenana RSA-4096, fanesorana amin'ny alàlan'ny pinning IPFS ho an'ny daholobe

Anatomy fanafihana

Toa tsy dia miavaka loatra ny fonosana tsirairay amin'ny famakiana voalohany. base58-utils, ohatra, dia kaody mpanampy Base58 / Bitcoin-WIF tsy miankina amin'ny zero kilobytes vitsivitsy — izay tena ampanantenain'ny anarana. Ny kaody mifandraika amin'izany dia mipetraka rehefa ny môdioly module.exports, izay tsy azo inoana fa hojeren'ny mpamaky mijery haingana ny tampon'ny rakitra: fiasa miantso ho azy izay mandamina ny tenany amin'ny alàlan'ny famantaranandro.

Ny rojo fiasana, izay naverina namboarina avy amin'ny loharanon'ny fonosana, dia toy izao manaraka izao:

1. Package is required() by the host project
2. A self-invoking function schedules a callback ~37,000 ms later (setTimeout)
3. On fire, the callback reads test/fixtures/keypairs.dat (a base64 blob)
4. It base64-decodes that blob into a Node.js script
5. It writes the script to ~/.cache-db/.node-sync/syncd.js (mode 0o700)
6. It installs login-persistence for that script (see below)
7. It spawns "node syncd.js" as a detached process

Misy safidy roa amin'ny endrika miavaka.

Mandeha toy ny fitaovana fitsapana ny entana. Ny dingana faharoa dia tsy voasoratra ho toy ny kaody miharihary. Miaina ao anatin'ny fitsapana/fifanarahana/keypairs.dat, rakitra base64 izay mifangaro amin'ny fonosana iray izay milaza fa mikarakara ireo lakile roa. Ho an'ny olombelona mijery ny tarball, dia toa angon-drakitra santionany izany; ho an'ny kaody miampy, dia script iray hovakiana sy hampandehanana. Ny dropper mihitsy dia tsy misy adiresy tambajotra — ireo dia mipetraka amin'ny dingana faharoa — fa tsy misy fanafenana fanampiny: ny fixture dia sosona tokana amin'ny base64, ka mamaha izany (base64 -d) mamerina ny fahafenoana syncd.js ary ny fihetsiky ny tambajotra ao aminy. Ny fizarana manaraka dia manazava ny asan'io dingana io.

Tara ny fipoahana ary mifamatotra amin'ny fanafarana, fa tsy amin'ny fametrahana. Satria ny trigger dia mitaky () miampy famantaranandro ~37 segondra fa tsy "install hook", ny fitondran-tena dia misoroka ny fanamarinana izay mijery fotsiny ny npm install dingana iray, ary maharitra ela kokoa noho ny sandbox sy CI maro vetivety ny fahatarana. Amin'ny fotoana anatanterahana ny zavatra rehetra, dia efa vita ela ny fametrahana izay nisintona ny fonosana.

Rehefa tafiditra ao anaty kapila ny script voadika amin'ny ~/.cache-db/.node-sync/syncd.js — lalana nofidiana hovakiana toy ny lahatahiry cache mahazatra — ny dropper dia mahatonga azy ho velona rehefa averina ampiasaina amin'ny sehatra telo lehibe:

  • Linux: fidirana cron izay mamerina mandefa ny script. Ny fidirana dia apetraka amin'ny alàlan'ny fanivanana ny crontab efa misy amin'ny alàlan'ny grep -v syncd, izay misy ny voka-dratsiny amin'ny fanesorana ilay fidirana vaovao amin'ny lisitra tsotra izay maka ilay anarana mitovy.
  • Windows: asa voalahatra nomena anarana WinNodeSync, naverina natao isaky ny 12 minitra.
  • macOS: asa fanombohana nomena anarana hoe com.apple.syncd, hita ao anatin'ny fonosana maromaro — marika iray izay maka tahaka ny serivisy rafitra Apple ara-dalàna.

Avy eo dia atomboka avy hatrany ho toy ny dingana misaraka ny script, ka manohy miasa izy rehefa miala ny programa fanafarana.

Inona no ataon'ny dingana faharoa

Satria sosona base64 tokana ny fitaovana, dia voavaha tsara ny dingana faharoa ary azo vakiana tanteraka. Ireo fonosana valo rehetra dia mitondra iray amin'ireo karazany telo amin'ny script iray ihany, izay mamaritra ny tenany ao amin'ny fanehoan-kevitra lohateny hoe phantom syncd v3 — topo durmiente ("taolana matory"). Ny asany dia ny mangalatra ny fitaovan'ny poketra cryptocurrency sy ny tsiambaratelon'ny mpamorona ary mandefa izany avy amin'ny milina. Ireto dingana ireto no ataony:

  • 1. Andraso mandra-pahatongan'ny milina tsy miasa intsony. Alohan'ny hanaovana na inona na inona, syncd.js manamarina ny faharetan'ny tsy fiasan'ny mpampiasa ary mihoatra ny fetrany ihany (eo amin'ny 15 minitra eo ho eo) — xprintidle amin'ny Linux, ioreg HIDIdleTime amin'ny macOS, ary PowerShell idle-time query amin'ny Windows. Noho izany, ny harvesting dia mazàna mitranga rehefa tsy misy olona eo amin'ny fitendry.
  • 2. Makà bokotra fampandehanana fehezina lavitraMaka config kely avy amin'ny dead-drop ny script alohan'ny hanaovana zavatra. Ny loharano voalohany dia URL manta avy amin'ny GitHub gist (gist.githubusercontent.com/juang55/…/cfg.txt); miasa ny script raha tsy mamaky izany config izany mavitrika=1Raha tsy misy ny votoatiny, dia miverina amin'ny famantarana votoaty IPFS telo voafehy tsara izy io, izay nalaina tamin'ny alalan'ny vavahady ho an'ny daholobe. vavahady.pinata.cloud, ipfs.io, ary cloudflare-ipfs.comIzany dia manome ny mpampiasa fifehezana ny sandry/fanafoanana ny fitaovam-piadiana aorian'ny zava-misy ary fiarovana tsy mety midina. (Ny karazany kely indrindra, nalefa tany crypto-validate-lib, mpanampy amin'ny poketra ara-eth, ary solana-key-utils, nesorina ny sosona gist ary miantehitra amin'ny famantarana IPFS irery ihany.)
  • 3. Angony ny fitaovana sy ny tsiambaratelon'ny poketra. Mandeha ao amin'ny lahatahiry fonenan'ny mpampiasa ny script — ~/.config/solana, ~/.ethereum/fivarotana fanalahidy, ~/.fanamboarana, ~/.satroka mafy, ~ / .ssh, ary Desktop/Documents/Downloads (anisan'izany ny anaran'ny lahatahiry amin'ny teny Espaniola), miampy ~/.env ary ny rakitra shell rc, ary ny mitovy amin'izany AppData toerana ao amin'ny Windows. Mikendry ny lakile manokana Ethereum, lakile Bitcoin WIF, andian-teny BIP-39, lakile Solana, JSON Ethereum keystore, lakile SSH, ary ireo variables environment-bearing miafina izy io. Ny variana lehibe kokoa (ao amin'ny abi-encode, base58-utils, eth-dev) dia mitondra ny rakibolana BIP-39 feno misy teny 2048 ary mampiasa fiteny mahazatra mba nalaina fanalahidy tsirairay sy andian-teny voamarinina avy amin'ny lahatsoratra rehetra vakiny; ireo karazany roa kely kokoa kosa dia mampifanaraka ireo rakitra amin'ny teny fanalahidy (voa, Manao izany, kitapom-batsy, metamask, phantom, mitadidy, trezor, …) ary ampidiro ireo rakitra manontolo.
  • 4. Manafina sy manala ny angon-drakitra amin'ny alalan'ny serivisy "pinning" ho an'ny daholobe. Ny zavatra hita tsirairay dia miaraka amin'ny dian-tanana mpampiantrano (anarana mpampiasa@anarana mpampiantrano, sehatra, mari-potoana) ary voaaro amin'ny lakile ho an'ny daholobe RSA-4096 voatahiry ao amin'ny script. Avy eo dia ampidirina amin'ny alàlan'ny fametahana azy amin'ny IPFS amin'ny alàlan'ny api.pinata.cloud/pinning/pinJSONToIPFS, voamarina amin'ny alalan'ny fahazoan-dàlana Pinata API voaaro. Tsy misy mpizara C2 namboarina manokana hosamborina: ny angona nangalarina dia apetraka ao amin'ny fitahirizana tsy miankina ho an'ny daholobe, izay azo alaina amin'ny alàlan'ny fampiasana ny hash votoaty vokarina. Ny fandefasana dia misy elanelana segondra vitsy misy jitter kisendrasendra, ary log eo an-toerana mari-potoana | karazana fanalahidy | hash-averina dia tazonina amin'ny ~/.cache-db/.node-sync/.sl.
  • 5. Tohizo ary ampiasao mandritra ny tsingerina 12 ora. Ny dingana faharoa dia mamerina mametraka ny faharetany manokana — fidirana cron amin'ny Linux, a com.apple.syncd launch job amin'ny macOS, ary asa voalahatra antsoina hoe WindowsNodeSync amin'ny Windows — napetraka hiasa indray isaky ny 12 ora. Mariho fa ity dia samy hafa Anaran'ny asa Windows avy amin'ilay napetraky ny dropper (WinNodeSync); samy mendrika ny hotadiavina izy roa ireo.

Timeline

Navoaka tsikelikely ireo fonosana valo tamin'ny 2026-07-13 sy 2026-07-14. Maro amin'izy ireo no mitondra dikan-teny mihoatra ny iray; mitovy ny "dropper" amin'ny dikan-teny rehetra, miaraka amin'ny fiovan'ny tsipika fotsiny rehefa miova ny haben'ny kaody utility tsara eo amboniny.

DateEvent
2026-07-13Ireo fonosana voalohany ao amin'ny vondrona dia miseho eo ambanin'ny mpamoaka iray (solana-key-utils, eth-wallet-helpers, crypto-validate-lib ary ireo dikan-teny voalohany amin'ny ambiny)
2026-07-13 → 07-14Navoaka ny anarana sisa sy ny dikan-teny manaraka; mitovy ihany ny dropper napetraka ao amin'ny tsirairay
2026-07-14Voamarika sy nohadihadiana avokoa ireo valo ireo; mbola azo apetraka avy amin'ny rejisitra ny fonosana rehetra

Nandritra ny fotoana rehetra, niova ho ratsy dia ratsy ny lazan'ny rejisitry ny mpamoaka boky, avy amin'ny tsy dia niandany loatra tamin'ny fiandohan'ny vondrona, rehefa nitombo ny isan'ny tranga hita — voka-dratsy hita maso vokatry ny fanamarihana ireo fonosana, fa tsy endri-javatra noforonina.

Famantarana ny fifanarahana

Voamarina fa nisy avokoa ireo tondro rehetra etsy ambany tamin'ny fotoana nanaovana fanadihadiana — ireo ao amin'ny tabilao "Dingana Faharoa" tamin'ny alàlan'ny famaha ny kaody fitsapana/fifanarahana/keypairs.dat ary mamaky ny zavatra efa voaray syncd.js.

Rakitra sy lalana

famantaranaanjara asa
~/.cache-db/.node-sync/syncd.jsDingana faharoa voavaha, nosoratana tamin'ny fomba 0o700
~/.cache-db/.node-sync/.slTatitra momba ny fanesorana ny fidiran'ny rano eo an-toerana (mari-potoana | karazana fanalahidy | hash IPFS)
test/fixtures/keypairs.datEntana voafaoka Base64 napetraka ao anatin'ny tarball ho toy ny "fitaovana fitsapana"

Fotodrafitrasa tambajotra dingana faharoa (naverina avy amin'ny syncd.js)

famantaranaanjara asa
gist.githubusercontent.com/juang55/b298754cb72942b1cdcf02ccd45cde2f/raw/cfg.txtTsy mandeha ny fampandehanana; miasa ny script raha tsy mamaky ny config ihany active=1
Qmcqz3w8j4qFQXDAXAxnrdc2oSX3nzBT4NqtpTqL8mr1gaFametrahana IPFS (CID)
QmdTXoqVmTHY1i4ZWLdLkoQ9YChp5TXPh5cWXwnAYZt5iFFametrahana IPFS (CID)
QmfJkLU5gdCpqbbqEjWYC2anXW9FmuEeSLLeLiHVJKYUjpFametrahana IPFS (CID)
gateway.pinata.cloud, ipfs.io, cloudflare-ipfs.comVavahady IPFS ampiasaina haka ny fallback config
api.pinata.cloud/pinning/pinJSONToIPFSTeboka farany amin'ny exfiltration, angona nangalarina napetaka tamin'ny IPFS ho an'ny daholobe
Lakile API Pinata13c766575b9270a9825d, fahazoan-dàlana amin'ny fanesorana ny filtration voafehy tsara

Tanjona fanangonana dingana faharoa (naverina avy amin'ny syncd.js)

famantaranaanjara asa
~/.config/solana, ~/.ethereum/keystore, ~/.foundry, ~/.hardhat, ~/.ssh, ~/.env, rakitra shell rcFikarohana fanalahidy sy tsiambaratelo tao amin'ny lahatahiry/rakitra
AppData\Roaming\Solana, AppData\Local\ethereum\keystoreIreo mitovy amin'ny Windows notadiavina
Karazana zavatra artifact voajinjaLakile manokana ETH, Bitcoin WIF, andian-teny fototra BIP-39, Solana keypairs, Ethereum keystore JSON, SSH keys, secret env vars

Zavatra tsy azo ampiasaina amin'ny faharetana

Platformfamantarana
Linuxfanombohana ny fidirana cron syncd.js; napetraka tamin'ny alalan'ny crontab voasivana grep -v syncd
Windowsasa voalahatra WinNodeSync (pipette) ary WindowsNodeSync (dingana faharoa)
macOSmarika fanombohana com.apple.syncd
rehetraMitohy indray ny dingana faharoa amin'ny tsingerina 12 ora

fihetsika

  • Asa miantso tena ampiana aorian'ny module.exports, fandaharam-potoana a setTimeout eo amin'ny ~37,000 ms amin'ny fanafarana.
  • child_process mamoaka ("node", ) miaraka amin'ny andiana safidy misaraka.
  • Fampandehanana tsy misy idirany amin'ny dingana faharoa (xprintidle / ioreg Fotoana tsy fiasana HIDIdleTime / PowerShell; ~15 minitra eo ho eo).
  • Fametrahana ny encryption RSA-4096 isaky ny fitadiavana, avy eo HTTPS POST mankany amin'ny IPFS pinning API ho an'ny daholobe.

Fonosana sy dikan-teny (npm, publisher solbuilder_io)

Packagedikan
base58-utils1.0.0, 1.0.1, 1.0.3
abi-encode1.0.0, 1.0.1, 1.0.2
eth-dev1.0.0, 1.0.1, 1.0.2
arb-kit1.0.0, 1.0.1
layer2-sdk1.0.0, 1.0.1
solana-key-utils1.0.0
eth-wallet-helpers1.0.0
crypto-validate-lib1.0.0

Mpanonta

  • solbuilder_io - angel_lopez89[@]proton[.]me, mailaka tsy voamarina, tsy misy kaonty fanaraha-maso loharano voamarina, tsy misy tahiry mifandray.

Fitondran-tena voamarika sy ny fanomezan-toky

Mizara kaonty mpamoaka iray sy payload iray ireo fonosana valo ireo. Fonosana tsotra fotsiny izy ireo — kilobytes vitsivitsy amin'ny kaody tena izy miaraka amin'ny dropper mitovy — navoaka tsy misy repository mifandray ary eo ambanin'ny mailaka azo ariana tsy voamarina. Izany fitoviana izany, ny lalan'ny drop zaraina, ny marika persistence zaraina, ary ny keypairs.dat staging file no mampiray ny cluster.

Tena tsy mahazatra ny filazana amim-pahatsorana ny fitondran-tenany ireo fonosana ireo. solana-key-utils mitondra fanehoan-kevitra an-tsoratra izay mamaritra ny sakana miampy amin'ny teny tsotra - ny iray dia manome marika azy PHANTOM: fikirizana tsy hita maso, ny iray hafa (amin'ny teny Espaniola) dia mamaky hoe Ejecutar topo en background, "ampandoavina ny mole any ambadika." Ireto ny fanamarihana manokana ao amin'ny kaody momba izay ataony; ny anaran'ny fampielezan-kevitra ato amin'ity lahatsoratra ity dia nalaina avy amin'io marika voalohany io miaraka amin'ny node sandoka "sync daemon" (mifandrindra) izay tahafin'ny milina fikirizana.

Ny zavatra ataon'ny kaody ihany no faritanay. Ny fanomezana anarana ireo fonosana — teny crypto, wallet, ary blockchain-tooling rehetra — dia manondro ny mpihaino mpamorona izay mety indrindra haka ny anarany; tsy mamaritra irery hoe iza no mpamoaka azy. Ny dingana faharoa dia azo averina tanteraka amin'ny alàlan'ny famaha ny kaody base64, ary ny fihetsiny dia voalaza etsy ambony: manangona ny lakilen'ny wallet, andian-teny voa, ary tsiambaratelo izy ary mamoaka azy ireo, voaaro amin'ny RSA, mankany amin'ny fitahirizana IPFS ho an'ny daholobe amin'ny alàlan'ny Pinata. Safidy famolavolana miavaka ny tsy fisian'ny mpizara C2 manokana — ny fikirakirana dia avy amin'ny GitHub gist sy IPFS, ary ny angon-drakitra nangalarina dia apetraka ao amin'ny fitahirizana tsy miankina ho an'ny daholobe voaaro amin'ny alàlan'ny hash votoaty, izay samy sarotra kokoa ny maka azy ireo noho ny mpampiantrano tokana fehezin'ny mpanafika. Tsy nisy tatitra ampahibemaso teo aloha mifanaraka amin'ity vondrona ity hita tamin'ny fotoana nanoratana.

Fiantraikany, fironana ary torolàlana ho an'ny mpiaro

Iza no miharihary. Izay rehetra nanampy iray amin'ireo fonosana ireo tamin'ny tetikasa Node ary avy eo dia nampiasa kaody izay nampiditra azy. Satria ny detonation dia fotoana fanafarana fa tsy fotoana fametrahana, ny fananana fotsiny ny fonosana dia tsy ampy - fa ny fampiasana mahazatra izay mampiditra ny môdely dia mahatratra ny payload. Ny anaran'ny fandrika dia mikendry ireo mpamorona izay miorina amin'ny Ethereum, Solana, Arbitrum, Layer-2, ary fitaovana ankapobeny momba ny poketra/encoding - ny mponina izay azo inoana fa manana ny fananana tadiavin'ny dingana faharoa. Izay rehetra nampiasa iray amin'ireo môdely ireo tamin'ny milina mitazona lakilen'ny poketra, andian-teny voa, keystores, lakilen'ny SSH, na .env tokony hoheverin'ny tsiambaratelo ho toy ny voajirika ireo fahazoan-dalana ireo ary hampifandimby azy ireo.

Lamina roa mendrika horaisina an-tsaina. voalohany, entana-toy-fitaovana: fandefasana ny dingana faharoa amin'ny maha-base64 ao anaty rakitra data azo inoana fa nomena anarana (fitsapana/fifanarahana/keypairs.dat) mitazona ny loharanon'ny fonosana ho madio ary manosika ny votoaty manimba ao anaty rakitra izay matetika raisin'ny fitaovana famerenana sy ny skimps olombelona ho toy ny angon-drakitra tsy miasa. Faharoa, fanatanterahana tara amin'ny fotoana fanafarana miaraka amin'ny faharetana amin'ny sehatra maroNy fanesorana ny "trigger" amin'ny "install hook", ny fanampiana "timer", ary avy eo ny fanohizana ny "cron", ny asa voalahatra, ary ny "launchd" dia dingana iray iniana hialana amin'ireo teknika "install-script" mitabataba kokoa izay arahin'ny fanaraha-maso mandeha ho azy ny rejisitra.

Torolalana ho an'ny mpiaro sy mpikojakoja:

  • Karakarao ny kaody nampiana aorian'ny module.exports ho laharam-pahamehana amin'ny famerenana — matetika ny lojika dropper dia miafina ao ambanin'ny velaran'ny môdely "tena izy".
  • Aza mihevitra fa tsy miasa ny rakitra data. Misy blob base64 eo ambanin'ny fitsapana/lalao/ izay vakiana amin'ny fotoana fanombohana sy fandikana dia mifanakaiky amin'ny azo tanterahina; mariho ny famakiana ny rakitra fixture mandritra ny fotoana fanombohana izay mamahana asa/eval/manoratra-dia-spawn rojo.
  • Mitady ny lalana midina ~/.cache-db/.node-sync/ ary ho an'ny singa faharetana WinNodeSync (asa voalahatra) ary com.apple.syncd (launchd) amin'ny milina mpamorona izay naka ireo anarana ireo.
  • Fanairana momba ny fizotran'ny Node izay mamorona fidirana cron, asa voalahatra, na asa fanombohana — mahalana ny tranomboky ara-dalàna no manao izany rehefa import.
  • Aleo kokoa ireo rakitra mihidy sy ireo dikan-teny voatsindry, ary avereno jerena ny fahasamihafan'ny fiankinan-doha "utility" kely vaovao, indrindra fa fonosana tsy miankina amin'ny hafa navoaka avy amin'ny kaonty tsy voamarina izay tsy misy tahiry mifandray.

Ho an'ireo mpiaro ny rejisitra, ny lesona azo tsoahina dia ilaina ny fanaraha-maso ny "install-hook" saingy tsy ampy: ny "dropper" misy fotoana fanafarana sy fanemorana fotoana napetraka ao anatin'ny rakitra data dia handalo ny fanamarinana fotoana fametrahana ihany, ary ny dingana persistence matetika no famantarana hita mafy indrindra sisa horaisina.

fitaovana-fandrafetana-rindrambaiko-sca-fitaovana-famakafakana-firafitra
Ataovy laharam-pahamehana, amboary ary arovy ny loza mety hitranga amin'ny rindrambaikonao
Alao ny kaontinao maimaim-poana.
Tsy mila carte de crédit.

Arovy ny Famoronana sy ny Fanaterana Rindrambaiko Anao

miaraka amin'ny Xygeni Product Suite