monero-project / monero

Monero: the secure, private, untraceable cryptocurrency
https://getmonero.org
Other
8.89k stars 3.1k forks source link

Wrong hashes (from getmonero.org) #6151

Closed nikitasius closed 4 years ago

nikitasius commented 4 years ago

I downloaded:

website say: image

Check sha256 and see this (only github's matches hashsum):

I look inside:

monero-linux-x64-v0.15.0.0-github

monero-linux-x64-v0.15.0.0-site

Why monero-wallet-cli are different in those 2 releases?

selsta commented 4 years ago

I can confirm, hash doesn’t match.

TheCharlatan commented 4 years ago

The 53d9d... hash was verified independently in the gitian sigs repo and seems to be the correct one: https://github.com/monero-project/gitian.sigs/blob/master/v0.15.0.0-linux/hyc/monero-linux-0.15-build.assert#L6 .

selsta commented 4 years ago

Issue should be fixed now, hyc is looking at the bad binary.

nikitasius commented 4 years ago

yep it's correct now.

trasherdk commented 4 years ago

So. Do I need to do a recompile/redeploy while waiting for 15.0.1 ? My version is Monero Carbon Chamaeleon' (v0.15.0.0-69c488a47)

selsta commented 4 years ago

My version is Monero Carbon Chamaeleon' (v0.15.0.0-69c488a47)

Looks good, no need to recompile.

trasherdk commented 4 years ago

Well. Compared, something changed:

A few minutes ago

$ sha1sum monero-v0.15.0.0/monerod 
e32220114d0c57886d16e50ac858edf9b1b22872  monero-v0.15.0.0/monerod

Compared to: 2-3 days ago

$ sha1sum ../build-monero-pool/usr/bin/monerod 
801706e2396d1a88475b5535247155ec147ae25c  ../build-monero-pool/usr/bin/monerod

Both are off clean git clone. Why are they not the same?

selsta commented 4 years ago

Normal builds are not guaranteed to be deterministic. This issue here is about the getmonero.org download, not self compiled binaries.

nikitasius commented 4 years ago

@trasherdk @selsta so.. still an issue (for old users), i keep it open?

trasherdk commented 4 years ago

I do realize that, your deterministic build environment, is very different from mine. Doing a new clone/build of the pool version, tells me that I have to take another look at the build scripts. Rebuilding both still yields different (same as before) results. At least they match the previous results :)

$ sha1sum monero-v0.15.0.0/monerod             
e32220114d0c57886d16e50ac858edf9b1b22872  monero-v0.15.0.0/monerod
$ sha1sum ../build-monero-pool/usr/bin/monerod 
801706e2396d1a88475b5535247155ec147ae25c  ../build-monero-pool/usr/bin/monerod
selsta commented 4 years ago

@trasherdk monero does support reproducible builds, see https://github.com/monero-project/monero/tree/master/contrib/gitian

trasherdk commented 4 years ago

@selsta Yes, I know. But I'm not about to change my servers to Debian, just to build a Monero. All my servers are running Slackware x64 14.2. I know. Old school, but that's what I like.

scottAnselmo commented 4 years ago

Is there a copy of the bad binary somewhere for anyone else to investigate by downloading onto a VM and decompiling?

selsta commented 4 years ago

https://reddit.com/r/Monero/comments/dyfozs/security_warning_cli_binaries_available_on/

scottAnselmo commented 4 years ago

Per u/gingeropolous's Reddit comment which is basically a pastebin of a userpost not going through on Reddit from u/moneromanz, old binary is indeed malicious and not just a fluke of the build process or some bad copy/paste of the checksum onto the website. serhack, a professional investigator, is looking into it. Paste bin:

I can confirm that the malicious binary is stealing coins. Roughly 9 hours after I ran the binary a single transaction drained the wallet. I downloaded the build yesterday around 6pm Pacific time.

$ sha256sum 'monero_wallet_cli' produces:

7ab9afbc5f9a1df687558d570192fbfe9e085712657d2cfa5524f2c8caccca31

$ monero_wallet_cli --version produces:

Monero 'Carbon Chamaeleon' (v0.15.0.0-f07c326f1)

DO NOT RUN THE BINARY TO CHECK THE VERSION

It seems the attacker forked from commit f07c326f1 in the public repo.

I cross checked the individual binaries in the malicious tar file to a newly downloaded tar file (linux x64), and only the binary monero_wallet_cli has a different hash. I've uploaded the binary here.

https://anonfile.com/bbq8h9Bdn7/monero-wallet-cli

I have not completed any malware analysis as of yet, but I'd like to get to the bottom of whether the binary is limited to stealing xmr, or also tries to compromise the machine as a whole or any of its files. Any assistance analyzing he binary above would be appreciated!
jindouyunz commented 4 years ago

There is a Monero community member from China suggests that networks cause this problem. He tried downloading CLI with 2 computers yesterday, but all found that the hashes don't match. Then he relay the file with a Hongkong server host, the hash matches. So he think it's about network, and not only monero, some other softwares have the similar problem. He suggests uploading the file directly to Github, instead of linking Github download address to getmonero.org. update: there is an attack causing $7000 loss, so I think this is not a network problem.

fluffypony commented 4 years ago

@jindouyunz a network problem wouldn’t have caused a malicious binary to be placed on the download server. We’ve discussed using GitHub as the primary download location, but that just shifts the boundaries as if someone’s GitHub account is compromised they can be replaced.

jindouyunz commented 4 years ago

@fluffypony agree, it's not a network problem. What you said makes sense, things would turned worse if we do so and the Github account is compromised. Thank you.

slowmistio commented 4 years ago

It may be because the official Monero official account on Github has been stolen or a security hole has been replaced on Monero's official website...

nikitasius commented 4 years ago

@sanecito @1522402210 @iphelix

Here they are (compare sha256 with hashes i shared in 1st message):

MaxXor commented 4 years ago

I'm analyzing the malicious binaries. Luckily debug symbols are included which makes it easier. Here's my progress so far:

nikitasius commented 4 years ago

@MaxXor fresh domain:

Domain Name: xmrsupport.co
Registry Domain ID: D9E3AC179ACA44FE4B81F274517F8F47E-NSR
Registrar WHOIS Server: whois.opensrs.net
Registrar URL: www.opensrs.com
Updated Date: 2019-11-14T16:02:52Z
Creation Date: 2019-11-14T16:02:51Z

mean, all those was planned before and they got access much before.

So, XMR team need to check unusual access logs for 60 days.

serhack commented 4 years ago

I've found another IP (hxxs://91.210.104.245:18081 that redirects to web page https://monerohash.com/?r=from_node [not involved] - as specified earlier the SSL is self-signed node.hashmonero.com) doing dynamical analysis (e.g. identifying packets via ngrep and tcpdump). Interesting. I'm writing a blog post collecting all the possible analysis.

The domain xmrsupport.co was bought using Njalla , a privacy-aware domain and VPS service.

MaxXor commented 4 years ago

@serhack Both IPs redirect on port 18081 to https://monerohash.com/?r=from_node and have a certificate with CN=node.hashmonero.com which is self-signed.

serhack commented 4 years ago

I specified that "redirects" :) that does not mean they're involved.

nikitasius commented 4 years ago

@serhack

% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Note: this output has been filtered.
%       To receive output for a database update, use the "-B" flag.

% Information related to '91.210.104.0 - 91.210.107.255'

% Abuse contact for '91.210.104.0 - 91.210.107.255' is 'abuse@hostkey.ru'

inetnum:        91.210.104.0 - 91.210.107.255
netname:        RU-SERVER-V-ARENDY
country:        RU
org:            ORG-LVA15-RIPE
admin-c:        AS36383-RIPE
tech-c:         AS36383-RIPE
status:         ASSIGNED PI
mnt-by:     

Russians. Well, i will call this hoster tomorrow :+1: By russian law they must keep logs 6 months minimum. Payment papers much longer.

They offer servers in russia and netherlands. xmrsupport ip's from netherlands.

serhack commented 4 years ago

% Abuse contact for '91.210.104.0 - 91.210.107.255' is 'abuse@hostkey.ru'

inetnum: 91.210.104.0 - 91.210.107.255 netname: RU-SERVER-V-ARENDY country: RU org: ORG-LVA15-RIPE admin-c: AS36383-RIPE tech-c: AS36383-RIPE status: ASSIGNED PI mnt-by:



Russians. Well, i will call this hoster tomorrow 👍
By russian law they must keep logs 6 months minimum. Payment papers much longer.

* https://www.ripe.net/membership/indices/data/ru.server-v-arendy.html

They offer servers in russia and netherlands. xmrsupport ip's from netherlands.

I've already filled the ABUSE report for hostkey.

serhack commented 4 years ago

IP HISTORY for hashmonero.com

  • 45.9.148.65 from 2019-11-15 to 2019-11-17
  • 91.210.104.245 from 2019-11-19 to 2019-11-19
Shinoa-Fores commented 4 years ago

@selsta Yes, I know. But I'm not about to change my servers to Debian, just to build a Monero. All my servers are running Slackware x64 14.2. I know. Old school, but that's what I like.

Is using sha1 for checksums part of your "old school" approach? Because it's really kind of useless.

bartblaze commented 4 years ago

I was having a look at this earlier as well. Adding onto @MaxXor's analysis, I wrote a brief blog post including how to detect the malicious files: https://bartblaze.blogspot.com/2019/11/monero-project-compromised.html Hope this can help someone.

AbdelhamidGamal commented 4 years ago

Oh my Lord , Thats nasty , anybody lost his funds???

krtschmr commented 4 years ago

Funds are #safu

arch-btw commented 4 years ago

What about the other ip?

IP Address 45.9.148.65

% Abuse contact for '45.9.148.0 - 45.9.148.255' is abuse@as49447.net ''

inetnum: 45.9.148.0 - 45.9.148.255 netname: NiceIT-NL descr: Nice IT Customers Network country: NL admin-c: KS10518-RIPE tech-c: KS10518-RIPE status: LIR-PARTITIONED PA mnt-by: niceit-mnt created: 2019-04-22T16:41:37Z last-modified: 2019-09-30T15:47:30Z source: RIPE

person: Kimon S. address: 28 Cork Street phone: +17672677496 nic-hdl: KS10518-RIPE mnt-by: niceit-mnt created: 2019-04-20T21:28:19Z last-modified: 2019-04-20T21:28:19Z source: RIPE

route: 45.9.148.0/24 origin: AS49447 mnt-by: niceit-mnt created: 2019-07-04T10:42:15Z last-modified: 2019-07-04T10:42:15Z source: RIPE

nikitasius commented 4 years ago

@arch-btw i advice to send an abuse to

Due datacencer in Moscow offers some servers in netherlands too. So probably they are belong to same contracter.

fluffypony commented 4 years ago

Deleted a post that linked to mobile apps that claim to be “offline wallets”, but clearly cannot be so. Don’t install random bits of software linked on GitHub, folks.

fluffypony commented 4 years ago

You can undelete my post :)

This is the wrong place to shill your product. You’re welcome to go post about it elsewhere, like Reddit.

krtschmr commented 4 years ago

@bogdan4o yes, there are wrong places indeed. this is a serious security issue and it's not necessarily about monero but about the bigger picture. electrum had similar attacks iirc, myetherwallet had dns attacks. in the money business, where we are all our own bank, you need to learn how to verify that what you're doing is correct.

clicking on links in a discussion about a security breach isn't helpful. feel free to shill your stuff any day of the year, everywhere, but here and today is not the right place. if it's so good, we would have read on reddit about it, prior this incident. no disrespect against you, but somebody with a blank github profile gets not even zero trust but -1.

thanks.

serhack commented 4 years ago

91.210.104.245 has been blocked by the hosting provider. Good work guys!

nikitasius commented 4 years ago

@bogdan4o i do not PR startups where i'm working btw

I agree with @fluffypony , this issue related to technical problem. It does not related to "tell us in 60 seconds about your product".

Same time about apple store or android store: you can simply have online backup feature. Nobody knows till your code isn't opensource.

arch-btw commented 4 years ago

@bogdan4o

I represent my company CRYPall Ltd.

Nobody cares, stop shilling CryBawl Ltd...., you've been warned by @fluffypony already.

@nikitasius

Thank you friend, I will email them.

arch-btw commented 4 years ago

Ok I have sent the email.

If anyone wants to copy mine, that's totally fine:

To: abuse@hostkey.com abuse@as49447.net

Hello,

This abuse report is in regards to ip address: 45.9.148.65
Recently (November 18, 2019), we have found this ip address to be embedded in malware.

To be more specific, it was found in a maliciously modified version of the open source project: Monero.

One of our community members (MaxXor) did analysis on the malicious binaries and found that the modified version steals cryptocurrency seeds and sends them off to 45.9.148.65.

This specific event has been documented in this github comment:
https://github.com/monero-project/monero/issues/6151#issuecomment-555694443

We would like to ask you to terminate the current server and account associated with the above mentioned ip address.

Further reading regarding this event can be found here:

https://github.com/monero-project/monero/issues/6151
https://web.getmonero.org/2019/11/19/warning-compromised-binaries.html
https://old.reddit.com/r/Monero/comments/dyfozs/security_warning_cli_binaries_available_on/
https://thehackernews.com/2019/11/hacking-monero-cryptocurrency.html

Thank you for your time.
skironDotNet commented 4 years ago

The signatures still don't match. I just downloaded linux cli from the website with header

Current Version: 0.15.0.1 Carbon Chamaeleon

The actual download is monero-linux-x64-v0.15.0.0.tar.bz2

So you have wrong version to start, and SHA256 is 53d9da55137f83b1e7571aef090b0784d9f04a980115b5c391455374729393f3

While in downloaded and verified signature hashed.txt monero-linux-x64-v0.15.0.1.tar.bz2, 8d61f992a7e2dbc3d753470b4928b5bb9134ea14cf6f2973ba11d1600c0ce9ad

So the binary on the getmonero website haven't been updated :(

UPDATE: Seems like all the binaries has been updated to 0.15.0.1 except linux 64 cli but if you take the download link and change version you can actually download latest wget https://dlsrc.getmonero.org/cli/monero-linux-x64-v0.15.0.1.tar.bz2 so it seems like the link has not been updated.

Signature match: 8d61f992a7e2dbc3d753470b4928b5bb9134ea14cf6f2973ba11d1600c0ce9ad

The question is if this clean binary :)

selsta commented 4 years ago

@skironDotNet Try a different browser / private window. The old file is still cached.

skironDotNet commented 4 years ago

Cached or not, it's good link now, all that matters

nikitasius commented 4 years ago

yep, looks fine and legit :heart:

# sha256sum monero-linux-x64-v0.15.0.1.tar.bz2
8d61f992a7e2dbc3d753470b4928b5bb9134ea14cf6f2973ba11d1600c0ce9ad  monero-linux-x64-v0.15.0.1.tar.bz2
# gpg --verify v.15.0.1.txt
gpg: Signature made Sat 23 Nov 2019 01:34:14 PM UTC
gpg:                using RSA key 94B738DD350132F5ACBEEA1D55432DF31CCD4FCD
gpg: Good signature from "Riccardo Spagni <ric@spagni.net>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: BDA6 BD70 42B7 21C4 67A9  759D 7455 C5E3 C0CD CEB9
     Subkey fingerprint: 94B7 38DD 3501 32F5 ACBE  EA1D 5543 2DF3 1CCD 4FCD
lmiranda commented 4 years ago

monero-gui-v0.14.1.0 points to a new version with the following msg, when i start it:

https://downloads.getmonero.org/gui/monero-gui-mac-x64-v0.15.0.1.tar.bz2 SHA256 Hash: 260edb14b1614e5b862b761eccd6259c1f0914d978016b227a9f4558059e4866

But when i check the hash, it's the same from the site "c8994781510e234985e24f465761355e4ae7bd58ef686bd8b0ce4401c2314d51". Is version 0.14.1.0 compromissed at any point, or the site still compromised, or just a bug in v0.14.1.0?

selsta commented 4 years ago

It’s a bug that got fixed here: https://github.com/monero-project/monero-gui/pull/2485

v0.14 is not compromised and was never compromised.

moneromooo-monero commented 4 years ago

+resolved