-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
Title: xmrwallet.com — Fake Monero Wallet (Server-Side TX Hijacking)
Type: Scam / Wallet Compromise
Summary:
xmrwallet.com operates as a malicious Monero web wallet. Seed generation is client-side (cnUtil), but all transaction logic is handled server-side, enabling full control over user funds.
https://urlquery.net/report/a56ea134-19f0-467f-88c3-3444f5c49c06
https://www.virustotal.com/gui/domain/www.xmrwallet.com
Technical Details:
- Seed generated in-browser via cnUtil
- auth.php collects: address, view key, spend key signature
- Session: session_key = encrypted_token : base64(address) : base64(viewkey)
- Frontend TX disabled → raw_tx_and_hash.raw = 0
- TX sent to /submittransaction.php
- Payload: {amount, address, payment_id, fee}
Impact:
- Server builds + broadcasts TX
- Destination address can be modified
- Full fund compromise
Infrastructure:
- IP: 186.2.165.49 (DDoS-Guard, AS59692)
- NS: ns1/ns2.ddos-guard.net
- Backend: Apache/2.4.58 (Ubuntu), PHP 8.2.29
- Registrar: NameSilo (2016 → 2031)
- SSL: Let's Encrypt (Jan 2026)
IOCs:
- Domains: xmrwallet.com, www.xmrwallet.com
- IP: 186.2.165.49
- GA: UA-116766241-1
- Google Verify: d-En_D3kMw6CqZpPwZeDn4ICI5Tyk1WvPYdVdGzEWr8
- WOT: 8a5554c915e3c17278a7
- GitHub: https://github.com/XMRWallet
- Twitter: https://twitter.com/xmrwalletcom
Endpoints:
auth.php, getbalance.php, gettransactions.php, submittransaction.php, getoutputs.php, getunspentoutputs.php, getrandomoutputs.php, getsubaddresses.php, settings.php, logout.php
Weaknesses:
- Exposed composer.json
- /vendor/ accessible (403)
- JS error leak: address.startsWith is not a function
- Session tied to DDoS-Guard cookies
- Unknown paths → 302 /
Conclusion:
Client-side wallet simulation with server-side transaction control → silent fund redirection. High-confidence scam.
girl15year and toporkvkaduda
Metadata
Metadata
Assignees
Labels
No labels
Activity
phishdestroy commentedon Feb 17, 2026
Who exactly are you planning to phish here? The only thing I see is you running phishing schemes for Monero.
If there are victims from the EU, contact me. I can help you collect proper evidence (MFPE-level documentation) and advise on what steps to take. I already have several cases involving actors who think they’re untouchable.
I can’t conduct a proper audit without a real victim case, but if you’ve had funds stolen—especially from an exchange—I’m willing to help. No charge. I’m doing this on a voluntary basis, motivated by shutting down scammers.
Impact: The server receives a cryptographic proof that the user possesses the spend key, but more importantly, it receives the message components that could potentially be used for key derivation.
timestamp— Anti-replay nonce sent with auth requests.data— Encrypted blob sent togetbalance.php. Not present in GitHub. Contents unknown.1.3 Production Auth Flow (Not in GitHub)
GitHub version:
Production version:
Critical difference: Production server returns 3-part response. Client constructs
session_keyby appending base64-encoded address and viewkey to server token.1.4 Production-Only: Subaddress Generation
Production login generates 5 subaddresses client-side (NOT in GitHub):
Purpose: May be used for additional wallet monitoring or fund collection.
2. The Fraud Mechanism: Transaction Signing Bypass
2.1 Proof:
raw_tx_and_hash.raw = 0Both GitHub and production code contain this critical section in
send.html:2.2 What This Means
create_transaction()— this generates a valid signed transactionsigned_transactionvariableraw_tx_and_hash.rawis set to0, NOT tosigned_transactiontx: 0plustx_infocontaining amount, destination, feeauth.phpusing the user's address and viewkey — constructs its OWN transaction server-side2.3 Server Has Everything Needed
From
auth.phpthe server receives:The server runs
monero-wallet-rpcor equivalent. When a user logs in, the server opens their wallet with the view key. For "swept" transactions, the server signs using keys it derives or stores.2.4 The "Swept" Transaction Type
Code explicitly handles a transaction type
sweptthat does NOT exist in standard Monero:This is the theft record. When the server steals funds, it marks the transaction as "swept" with an "Unknown transaction id" — making it untraceable from the UI.
3. Timeline of Code Evolution
Critical gap: Between Nov 2018 and March 2024 — 5+ years — the GitHub repo had zero commits, while the production site was actively updated. The March 2024 push was a sanitized dump that EXCLUDES the session_key/verification code.
Wayback Machine confirmation: Archived versions from 2023 contain ZERO references to
session_key. This parameter was added in the 2024 production update, adding additional encryption to obscure the fraud.4. Traffic & User Estimation
4.1 Infrastructure Investment Indicators
4.2 Search Visibility
The site ranks for key Monero wallet search terms. Blog posts cover:
4.3 Conservative User Estimates
Based on:
Conservative estimate: 10,000–50,000+ wallet accounts created over 8 years.
4.4 Loss Estimation
Documented losses (named victims only): 674+ XMR ($227K+ USD)
Based on:
Estimated total stolen: 5,000–50,000+ XMR ($1.5M–$15M+ USD at historical prices)
5. Evidence of Cover-Up
5.1 GitHub as Facade
The GitHub repository is specifically maintained to appear legitimate:
5.2 Deleted Issues
GitHub Issue #13: "This issue has been deleted" — content removed by repository owner.
5.3 Review Manipulation
Trustpilot (4.2 stars): Majority positive reviews from single-review accounts with generic praise. Nathalie personally responds to negative reviews deflecting blame with "sync problems."
5.4 "Sync Problems" Cover Story
When funds are stolen, Nathalie directs victims to use the official Monero CLI wallet to "check their balance." By this point, funds are already gone. The "sync problem" excuse provides plausible deniability.
5.5 Blog Post: "5 Crypto Scams You Should Know About"
The site itself publishes content warning about crypto scams — adding to its appearance of legitimacy while operating a scam.
6. IOCs & Technical Indicators
6.1 Network
xmrwallet.com(NameSilo, paid until 2031)xmrwalletdatuxms.onion(historical)mail.privateemail.com(Namecheap)__ddg8_,__ddg9_,__ddg10_,__ddg1_(DDoS-Guard tracking)6.2 Identifiers
XMRWallet(created 2018-05-10)nathroy(ID: 39167759, created 2018-05-10)@xmrwalletcomu/WiseSolutionadmin@xmrwallet.com,support@xmrwallet.com,feedback@xmrwallet.com6.3 Fraud Signatures (for detection)
7. Recommended Actions
Immediate (Highest Impact)
raw_tx_and_hash.raw = 0proofInfrastructure
Law Enforcement
Community
Appendix A: File Checksums
Appendix B: Session Key Deconstruction
Appendix C: Support Page Self-Identification
From
https://www.xmrwallet.com/support.html:This case file was prepared using exclusively open-source intelligence (OSINT) and publicly available code. No unauthorized access methods were used.
phishdestroy commentedon Feb 17, 2026
Infrastructure Red Flags & Hosting Attribution
1. No Verifiable Link Between Repository and Live Domain
The domain (xmrwallet.com) has no technical or cryptographic linkage to this GitHub repository:
This means the code served to users is not verifiably derived from this repository.
2. DNS & Deployment Separation
DNS analysis shows the domain is not pointing to any transparent deployment platform (GitHub Pages, Cloudflare Pages, Vercel, etc.):
This allows the operator to serve code that differs from the public repository without detection.
3. Offshore Hosting (IQWeb FZ-LLC / DDoS-Guard Ecosystem)
The domain is hosted via infrastructure associated with IQWeb FZ-LLC (linked to DDoS-Guard ecosystem):
Notably, this is not direct mainstream hosting, but a resold offshore environment, increasing operational opacity.
4. Repository as Potential Decoy Layer
Given the lack of linkage:
5. Monero-Specific Risk
For a client-side Monero wallet:
Without verifiable builds and deployment, users must fully trust the operator.
Conclusion
The combination of:
creates a high-risk trust model.
Independent verification is not possible under the current setup.