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

98 points
*

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 server. 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

Edit: ups sorry for not answering the question. I don’t know which client they are targeting. They might or might not be targeting wefwef. But they target you, the user, too. And it is probably for Webbrowser users, so chances are wefwef or other web clients.

Edit edit: some people pointed out that it is not the username but basically the admin status of the account.

permalink
report
reply
45 points
*

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 😓

permalink
report
parent
reply
39 points

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

permalink
report
parent
reply
20 points

Google Domains, creating new ways to exploit users right before being sold off to Squarespace.

permalink
report
parent
reply
15 points

Lemmy.zip is cool!

permalink
report
parent
reply

Good to know, will look into adding it to the kill-it lists out there. Generally more inclined to rely on dynamic naughty lists but sometimes you just need to cut off the limb if it’s 90% rotten.

permalink
report
parent
reply
7 points

Can we just hit that domain with junk data and crash their shit?

permalink
report
parent
reply
4 points

Yo thanks for the obfuscation. Makes a lot of sense.

permalink
report
parent
reply

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

permalink
report
parent
reply
14 points

Also, strict CSP would prevent it entirely.

permalink
report
parent
reply

out of curiosity, what CSP options would fix this?

permalink
report
parent
reply
4 points

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.

permalink
report
parent
reply
4 points

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).

permalink
report
parent
reply
9 points

so does this run automatically ? without the user doing anything ?

permalink
report
parent
reply
10 points

If it would work, which it seems like it doesn’t. Yes, it is intended to be automatical.

permalink
report
parent
reply
7 points

The encoded strings are https://zelensky(dot)zip/save/ and navAdmin

permalink
report
parent
reply
3 points

Thanks!

permalink
report
parent
reply
96 points

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.

permalink
report
reply
42 points

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.

permalink
report
parent
reply
36 points

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.

permalink
report
parent
reply
13 points

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.

permalink
report
parent
reply
7 points

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

permalink
report
parent
reply
4 points
*

Here’s the one where it uses epoch time (better randomization) and also hides the output of curl

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

permalink
report
parent
reply
18 points

You seem to be correct. Some sort of drive by login token scraper. Changing your password won’t help, because they still have an authorized copy of your login token. And I don’t think Lemmy has any sort of “Log out of all devices” button, (which deauthorizes all of the account’s login tokens) so there’s not much that a compromised account holder can do to stop it once the hacker has that token.

It’s the same thing that got Linus Tech Tips a few weeks back. Their entire YouTube account got hacked and turned into a fake “buy into our crypto and Elon Musk will give you a bunch of money” scam a few weeks back. And Linus quickly discovered that changing their passwords didn’t help, because the hackers were able to simply continue using the token they already had.

This was likely going on for a while, and only recently got activated because they finally snagged an admin account. Shit like this can lurk for a long time, simply waiting for the right target to stumble into it. They don’t really care about the individual accounts, except for helping spread the hack farther. But once they grabbed that admin account, they had what they wanted.

permalink
report
parent
reply
21 points

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

permalink
report
parent
reply
3 points

I thought I had forgotten about it all. Now they’re all back. I can even hear the piano from 2g1c slowly playing out. Help.

permalink
report
parent
reply
17 points

Another instance was hacked too: https://lemmy.blahaj.zone/

permalink
report
parent
reply
7 points

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.

permalink
report
parent
reply
14 points

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.

permalink
report
parent
reply
6 points

Resetting federation to threads.net is even stronger proof that this was done by a ‘holds sporks so randum’ type of script kiddies.

permalink
report
parent
reply
5 points

I can’t log into my account on lemmy.world, but I guess this is what they mean by federation and different instances continuing to work.

permalink
report
parent
reply
1 point

Do you think the accounts posting this have been hacked or are just bots or something.

permalink
report
parent
reply
51 points

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.

permalink
report
reply
44 points

A few minutes ago Ruud posted that there was a hack, i wonder if it has something to do with that?

https://lemmy.world/post/1290412

permalink
report
reply
34 points

Yes, these comments are JavaScript code, intended to run in the browser of anyone viewing them. Best to stay clear of the webapp for now (native mobile apps should not be vulnerable).

permalink
report
parent
reply
36 points

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

permalink
report
reply
22 points

Definitely seems to be trying to exploit the same thing

permalink
report
parent
reply
8 points
*

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

permalink
report
parent
reply
9 points

Asklemmy

!asklemmy@lemmy.ml

Create post

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

Community stats

  • 9.6K

    Monthly active users

  • 4.9K

    Posts

  • 275K

    Comments