Independent research by Krishanu โ€” not affiliated with tronify.rent ยท verified active 2026-09-20 ยท view evidence โ†’

๐Ÿšจ TRONIFY.RENT - WALLET DRAINER ANALYSIS

Executive Summary Report

THREAT LEVEL: CRITICAL MALICIOUS

tronify.rent is a wallet draining service disguised as a legitimate TRON energy rental platform. It systematically extracts cryptocurrency assets from connected wallets through token approval exploitation and TRX sweeping.

Quick Facts

Attribute Details
Domain tronify.rent
Registered Company Tronify Energy Solutions LLC (Florida, EIN: 87-2945163)
Malicious Payload greenbid.js (150KB minified JavaScript)
Payload Host https://lending.fhogu.pw/greenbid.js?v=1
Attack Method Token approval + TRX sweep + backend exfiltration
Targeted Wallets Trust Wallet, TronLink, OKX Wallet, TokenPocket, Bitget, SafePal, WalletConnect (verified from the live payload's wallet array โ€” not MetaMask, contrary to an earlier draft of this report)
Blockchain TRON Network (TRC-20 tokens, TRX native)
Current attacker addresses tronSpender: TV6n8cCLmX5mRCMMNvcE1K1i87Yo9Ys5rv ยท tronSweepAddress: TLv3iSnZxWghEmadLDzuAK2p5GkAwg7tpJ (fetched live from C&C on 2026-09-20; attacker can rotate these โ€” see IoCs doc)
Status Verified active and currently exploiting victims as of 2026-09-20 โ€” confirmed by pulling the live payload, live C&C config, and on-chain transaction history for the attacker's own addresses (see "On-Chain Confirmation" below)

What Happened?

The Attack in 3 Steps:

  1. Social Engineering: Users visit tronify.rent believing it's a legitimate energy rental service. The site claims to save 97% on transaction fees.
  2. Wallet Connection: Users click "Connect Wallet" and approve connection through TronLink, WalletConnect, or other TRON wallets.
  3. Automated Draining: The greenbid.js payload runs in the browser, automatically:
    • Analyzes all TRC-20 tokens in the wallet
    • Requests approval (token spending permission) from the user
    • Transfers all approved tokens to attacker-controlled addresses
    • Sweeps remaining TRX balance to attacker address
    • Logs all activity to backend servers for attacker tracking

Key Evidence

1. Explicit Draining Code References

The greenbid.js payload contains 8 explicit logging statements for "drain" functionality. These are the exact strings, byte-for-byte, extracted from the live payload we downloaded and hashed (SHA-256 0f6d64472d6369a098f403db117b1285e79b0fdac79caaa639fc0e50e5bf4416):

Y("drain","no tron spender configured") Y("drain",`found ${n.length} tokens`) Y("drain",`${r.symbol}: already approved`) Y("drain",`TRX balance: ${B} sun, min: ${h} sun`) Y("drain",`sweeping ${u} sun TRX`) Y("drain",`TRX sweep result: ${JSON.stringify(v)`) Y("drain",`TRX sweep error: ${E==null?void 0:E.message}`) Y("drain","TRX sweep timed out โ€” skipping")

Note the approval mechanism specifically calls the TRC-20 increaseApproval(spender, amount) method (not the more commonly documented approve()) โ€” confirmed directly in the payload as B.increaseApproval(e.tronSpender,"11579208923...639935").

2. Backend Command & Control Infrastructure

The script communicates with attacker-controlled servers via 12 distinct endpoints (all extracted directly from the live payload โ€” 4 more than an earlier draft of this report found):

/tron/config // Fetch spender address & sweep config /tron/balances/{address} // Fetch victim's token balances (attacker's own backend, not TronGrid directly) /tron/notify/wallet-connected // Log victim wallet connection /tron/notify/visit // Log page visit (even before wallet connect) /tron/approve/notify // Log token approvals /tron/notify/sweep // Log TRX sweep transaction /tron/notify/approve-rejected // Track failed approvals /tron/notify/tx-proposed // Log a proposed transaction before signing /tron/funding/initiate // Attacker sends victim TRX for gas โ€” see "Gas-Funding" below /tron/funding/status/{address} // Poll whether that gas funding has landed /tron/client-log // General-purpose telemetry: ships every console-style log, not just "drain"-tagged ones /tron/walletconnect // Proxies WalletConnect session handling through the attacker's backend
New finding โ€” attacker-funded gas ("priming"): If a victim's wallet holds valuable USDT but has less than 30 TRX (not enough to pay approval/transfer fees), the payload calls /tron/funding/initiate and the attacker's backend sends the victim ~15 TRX directly, then polls /tron/funding/status until it lands, before continuing the drain. The attacker is willing to front real money to unlock a high-value wallet that would otherwise be stuck. This is a stronger and more specific on-chain signal than a generic "cascading transfer" pattern โ€” see the IoCs document.

3. Multi-Wallet Support

The drainer's wallet-detection array, extracted verbatim from the live payload, lists these 7 providers in this exact order:

Wallet Provider Detection Method Status
Trust Wallet window.trustwallet OR window.ethereum.isTrust First in array
TronLink window.tronLink object Primary target (16 references in payload)
OKX Wallet window.okxwallet Supported
TokenPocket window.tokenpocket OR window.ethereum.isTokenPocket Supported
Bitget (formerly BitKeep) window.ethereum.isBitKeep Supported
SafePal window.safepalProvider OR window.ethereum.isSafePal Supported
WalletConnect WalletConnect protocol (proxied via /tron/walletconnect) Supported

Correction: an earlier draft of this report listed "MetaMask (TRON chain)" as a target, attributing the window.ethereum.isTrust check to it. That check is actually part of Trust Wallet's detection (Trust Wallet's injected provider sets isTrust=true). MetaMask does not appear anywhere in the live payload (0 matches).

Attack Timeline

  1. User visits tronify.rent โ†’ Legitimate-looking energy rental interface loads
  2. Clicks "Connect Wallet" โ†’ TronLink/WalletConnect dialog appears
  3. Approves wallet connection โ†’ Site gains access to wallet address & signing capabilities
  4. greenbid.js executes in browser โ†’ Payload initialized with attacker config
  5. Wallet analysis โ†’ Script enumerates all TRC-20 tokens & TRX balance
  6. Token approvals โ†’ User sees wallet notifications requesting token spending approvals
  7. User confirms โ†’ Each confirmation grants spender contract unlimited access
  8. Automated transfer โ†’ Tokens transferred to attacker address (tronSweepAddress)
  9. TRX sweep โ†’ Remaining native TRX sent to attacker (with 2 TRX fee kept for next victim)
  10. Logging & tracking โ†’ All activity reported to C&C servers via /tron/* endpoints

Why This Works

Confirmed Indicators

Impact Assessment

Impact Category Severity Details
Asset Theft CRITICAL 100% of approved token value + all TRX balance transferred
Wallet Compromise CRITICAL Attacker gains spender permissions on all TRC-20 tokens
User Data Exfiltration HIGH Wallet addresses, IP, user-agent, transaction history logged
Account Takeover MEDIUM If wallet is connected to centralized exchanges, downstream risk
Financial Loss Scale CONFIRMED (lower bound), true total unknown On 2026-09-20 we found the current sweep address's 30 most recent USDT inflows alone total ~$32,560, from ~25 distinct sender wallets, spanning 2026-08-27 to 2026-09-19. That address and the spender address together currently hold ~46,900 USDT + ~4,089 TRX unspent. This is a floor, not a ceiling โ€” older transfers exist beyond this page of history, and the spender/sweep addresses have already sent ~30,500 USDT onward (two transfers of 24,000 and 6,000 USDT) to other addresses we did not trace further.

On-Chain Confirmation (New โ€” 2026-09-20)

Because the C&C's /tron/config endpoint is live and unauthenticated, we retrieved the attacker's actual current addresses and checked them directly on TronGrid/TronScan. Raw API responses are preserved in evidence/onchain/ and evidence/cnc/ with checksums in evidence/SHA256SUMS.txt. Key findings:

Next Steps for Users

If you connected your wallet to tronify.rent:
  1. Check your wallet's "token approvals" and revoke any suspicious contracts
  2. Review your TRON transaction history (tronscan.org) for any unauthorized transfers
  3. If unauthorized transfers are found, move remaining assets to a new wallet
  4. Report the incident to your wallet provider
  5. See Defense & Remediation guide for detailed steps

For Security Researchers

Continue to:

Attribution Notes

As of September 2026, the attacker identity is unknown. The registered company "Tronify Energy Solutions LLC" (EIN 87-2945163, Orlando FL) shown on tronify.rent could not be confirmed or refuted against Florida's Sunbiz registry in this pass โ€” that specific claim remains unverified, not proven stolen or proven genuine.

Brand-squatting angle (new finding): "Tronify" is a real, actively-used brand name in the TRON energy-rental space โ€” a service by that name is reported (via a third-party crypto news article) to be integrated with Trust Wallet, and live product/documentation sites exist at tronify.io/tronify.ai and a GitBook. Several other tronify-named domains we checked (tronify.app, tronify.llc, tronified.com) currently return no DNS record at all, and tronify.pro resolves but 302-redirects to google.com โ€” i.e. dead/abandoned. tronify.rent is not impersonating one specific still-live competitor; it's squatting on a busy, partly-abandoned brand namespace where "is Tronify legit" searches surface genuinely positive signals that don't distinguish between TLDs. This materially increases the effectiveness of the social-engineering angle beyond "professional-sounding fake name."

Infrastructure: the frontend (tronify.rent) is fronted by DDoS-Guard; the payload host (lending.fhogu.pw) is fronted by Cloudflare โ€” two different reverse-proxy providers for the two tiers of infrastructure, both of which obscure the true origin server IP.

โ† Previous
Home
Next โ†’
Technical Architecture