this post was submitted on 22 Mar 2024
19 points (91.3% liked)

cybersecurity

3262 readers
6 users here now

An umbrella community for all things cybersecurity / infosec. News, research, questions, are all welcome!

Community Rules

Enjoy!

founded 1 year ago
MODERATORS
 

An HTML-only email from a gov agency has a logo referencing an URL that looks like this:

https://1wy1y.mjt.lu/tplimg/1wy1y/f/l9hl7/g3q3v.png

It’s not exactly that (apart from the domain) but of course it’s rather unique looking. They send email routinely. The initial emails had an obviously non-suspicious basic logo, like “(their office domain)/files/logo.png”. But then later they switched and every message from them is the URL in the mjt.lu domain. It’s not unique per message but it could be unique to the user, perhaps to keep tabs on when each person reads their messages.

The output of torsocks curl -LI looks like this:

HTTP/2 200
date: (exactly now)
content-type: image/png
accept-ranges: bytes

That’s it. It’s the shortest HTTP header I’ve seen. There’s no content-length. I find that suspicious because if this is a service that facilitates tracker pixels, then they would want to withhold the length in order to dodge detection. Although from its usage in my case it wouldn’t just be a pixel -- it’s a logo.

The date is also suspect. Shouldn’t the date be the date of the object, not the current time this second?

Are there any other checks to investigate this?

top 17 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 8 months ago* (last edited 8 months ago) (1 children)

Mailjet's documentation indicates they use an explicit pixel image for tracking email open status and that can be turned on or off in account settings. However it also indicates they put all images included in an email template through the same infrastructure as tracking links. So most likely they record the view but whether that usage data is retained and available to the gov agency is hard to say without making an account with Mailjet and testing.

If you're concerned, just turn off images for untrusted senders in your email client.

[–] [email protected] 2 points 8 months ago

I was imagining how a well-designed mail client might detect likely tracker pixels and signal the user. If MUAs were sufficiently evolved, that kind of convenience/sloppiness of transmitting tracker pixels but then putting the switch somewhere on the server wouldn’t fly. Anyway, I appreciate the insight. It certainly raises a transparency issue.

[–] [email protected] 4 points 8 months ago (1 children)

Honestly without a copy of the email file with all the information included I’m not sure what’s going on here based off your description. You say they have a logo “referencing” this oddball url (btw it’s a hosting company, seems they’re owned by OVH in France)

What does referencing mean exactly? Are you saying this url is the source listed in the email of the logo/tracking image?

It’s possible thats the logo is used for tracking but I wouldn’t go drawing any conclusions outside of that hypothesis. Tracking pixels are pretty commonplace in emails both by businesses and by govts. Why? Because the communications and outreach folk care about metrics like how long you read an email and if you made it to the bottom or not, etc.

Based off what I do see here/understand in your case, this does seem to be a tracking pixel, but I can’t stress enough not to let your mind run off and start making further assumptions based off this singular fact.

Don’t let worry/anxiety blur any lines in your head between what you know and what you suspect/predict.

- An infosec guy who has talked to waaaaaaaay too many people struggling with schizophrenia/paranoid delusions/etc

[–] [email protected] 4 points 8 months ago* (last edited 8 months ago) (1 children)

What does referencing mean exactly?

Sometimes HTML email comes with the logos and objects needed to render it, sometimes not. When the objects are included it’s possible to render the message while offline. In the case at hand, the logo was not included and the HTML body defined a logo with that unique URL inside img tags.

In the very least, if we assume the tracking is appropriate and that it’s consistent with the privacy policy and ToS I agreed to, I would still find it objectionable that a government would conceal the fact that they are using a tracker pixel/image by withholding the content-length header. The gov should be transparent about what they are doing. They should even disclose in each such message “we have a tracker pixel in here”, for transparency which should not be an issue if it’s legit. I personally need the content-length header because I’m on a shit internet connection and have a need to know how big something is before I fetch it. So I’m disturbed that all Cloudflare sites (which is like ½ the web now) withhold the content-length header. The agency at hand is sloppy with privacy and probably sloppy with everything. It’s not necessarily malicious but nonetheless I’m not going to lower the standard by which they should be held to.

[–] [email protected] 2 points 8 months ago

Right right, I know how html tags and all that works just wanted to make sure we were for sure both talking about the same thing that’s all. Wasn’t verbiage I normally see so I verified quick

And this 2nd part you have here makes total sense with me and I fully agree, just wanted to make sure I wouldn’t be inadvertently causing any harm to you if you were struggling with paranoia or anything like that, that’s all. Hope I wasn’t coming off as too dismissive!!

[–] [email protected] 3 points 8 months ago* (last edited 8 months ago) (1 children)

if you run a whois on the domain, it turns out it belongs to mailjet. they are a big service provider for bulk emails, notifications, stuff like that.

my guess is this is their cdn or something similar. you can see the "1wy1y" string in the URL path as well as a sub-domain. that's most likely the customer ID or "tenant id" for the gov agency inside the mailjet cloud. also guessing that "tplimg" could stand for "template image" or similar, indicating that they have an email template with this image always being there. which makes sense if it's a logo.

as for the curl call, i tried to open the url in a browser, but it just sends an empty response, that's why you don't see a content-length header. i guess mailjet checks where the url is being called from, either with user-agent or some custom headers or whatever, so it only loads if you actually open the email. this prevents unnecessary traffic costs for them.

i don't think there is anything wrong here, just laziness on the gov agency's side. they could have created some sub-domain that is an alias pointing to this mess. it wouldn't cost anything.

[–] [email protected] 3 points 8 months ago* (last edited 8 months ago)

as for the curl call, i tried to open the url in a browser,

I scrambled it for my own privacy… so that would not work. But I preserved the structure well enough that your insight was helpful.

[–] [email protected] 2 points 8 months ago (1 children)

Make another account to see if a different user/email address gets a different URL, which would indicate that it is used to track users.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago)

That’s cheating. I wish it were that easy but I really can’t create another account for this. I will ask around if anyone else has an account so we can compare notes. But I was just wondering if there is anything else I can do in a solo investigation to get more clues. It would generally be a useful skill to detect messages from other senders as well. ~~I did a search on the domain to see if it’s a known service that sells tracking capability but that came up dry.~~ nvm.. it seems mailjet.com is behind this and they appear to be pitching analytics services.

[–] [email protected] 1 points 8 months ago (2 children)

No idea what you put here, can’t see it on my app. Could you try a screen shot instead?

[–] [email protected] 5 points 8 months ago (1 children)

Not op but here you go mate.

[–] [email protected] 2 points 8 months ago (1 children)

You’re a rock star thanks

[–] [email protected] 2 points 8 months ago (1 children)

Given the post is about tracking via an image I thought you were making a joke by asking for the post as an image 😆

[–] [email protected] 1 points 8 months ago
[–] [email protected] 4 points 8 months ago (1 children)

I would ditch an app that can’t handle text. You want a screenshot of what, curl’s output? I’m on a shitty connection with images disabled so it’s a bit of a hassle and uses my allowance.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (1 children)

It’s lazy input sanitization, and until someone makes a better app, this is what I got unfortunately.

Can’t you ditch your poor connection to benefit my ass and my busted ass app? 😂😜 (laughing emoji, tongue sticking out emoji in case you can’t see em)

[–] [email protected] 3 points 8 months ago

emoji works, just not pics. But thankfully someone on a proper connection handled it.