Observed being distributed via BunnyCDN and Cloudfront.
-
https://voldffgkdsllkjthlkjt.b-cdn.net/safe/safe.js
-
https://d1hnzacu959ev8.cloudfront.net/app.min.js
Hitting either domain with an non existing file results in
Cannot GET /catapult/[something]. For the latter domain it's
catapult/iliffe for the former it's
catapult/adblockrelief
The name
Catapult appears within the codebase as well.
The BunnyCDN based domain uses the flawed approach previously observed with Admiral - claiming that "circumvention" of the code is a violation of DMCA.
Activity
2020-12-07 15:18:26
if (this.google_analytics_manager = e, this.ADBLOCKER_DETECTED = !1, !document.SAFERELIEF) return console.log("We have been unable to download the SAFERELIEF sentinel. Bailing."), void(this.ADBLOCKER_DETECTED = !1);However, this domain is clearly only intended to serve tracking code, so it makes more sense to block both anyway.
e.DownloadCanaryPair("//d35eux0j7ldw19.cloudfront.net", "/ads/ads.js") : 1 == t ? e.DownloadCanaryPair("//fjhsjkfhwqeirusdfjkh.azureedge.net", "/ads/ads.js") : 2 == t ? e.DownloadCanaryPair("//fjhsjkfhwqeirusdfjkh.azureedge.net", "/adv/ads.js") : 3 == t ? e.DownloadCanaryPair("//wejhrtlhjkltvicuiuyd.b-cdn.net", "/adv/ads.js") : 4 == t ? e.DownloadCanaryPair("//wejhrtlhjkltvicuiuyd.b-cdn.net", "/ads/ads.js") : 5 == t ? e.DownloadCanaryPair("//voldffgkdsllkjthlkjt.b-cdn.net", "/ads/ads.js") : e.DownloadCanaryPair("//d35eux0j7ldw19.cloudfront.net", "/ads/ads.js")Giving us the following
Again, probably better to just block the entire domains so that they can't later be used to serve the anti-adblock stuff (while whitelisting those files would nobble the canary, you're then at the mercy of whatever their code is doing)
2020-12-07 15:25:26
Ahhh iliffe is a news publisher - they're obviously the customer.
Which means that
2020-12-07 15:29:54
2020-12-07 15:49:45
This time the page loads
- https://d3mrx7ldhjaklg.cloudfront.net/app.min.js (account name seemingly
It bailed out because the "sentinel" (
The canary pages in that are exactly the same as for the other - most likely the Cloudfront distribution sends a custom request header upstream to indicate which customer/publisher the requests are being served for.
So, the currently committed blocks work - but, if they move their sentinel to a new domain it may start triggering again.
2020-12-07 15:50:50
2020-12-07 15:54:55
Webhook User-Agent
View Commit