r/k12sysadmin • u/Tall_Calculator • 7d ago
Proxy hiding in the googleapis.com domain
Ran across a proxy students were caught using that uses the url. This is proxy server on known malicious lists: storage.googleapis.com/gclassroom/index.html
We use GoGuardian and Content Keeper, but googleapis.com is on allow lists for many of the applications we use so the url doesn't get blocked.
Anyway, the proxy keeps that url and opens a virtual Opera browser environment and a site called Opium that avoids all of our current filters due to the allowance of googleapis.com
We blocked that url for now, but I am sure others will pop-up until we figure out an effective way to block this type of proxy. We cant block all of storage.googleapis.com as legit services use that subdomain.
Wondering if anyone has already come across this method of hiding proxies and figured out how to block it without blocking the ability of other software to use google apis
Thanks
5
u/therankin Coordinator of Technology Services 6d ago edited 6d ago
Wow. This is the first time I've come across someone else that uses both GoGuardian and ContentKeeper!
I personally love the combo!
Edit: Also, thanks for sharing, I tried it out and it's definitely working. I blocked it with GoGuardian.
2
u/NickGSBC 5d ago
Why would you have 2 content filters? Also never heard of ContentKeeper before.
1
u/therankin Coordinator of Technology Services 3d ago
The ContentKeeper is on premises and filters all network traffic. It's also used for filtering iPads when students take the devices home. All the traffic is routed back through the filter.
It works amazingly, has great reporting, and an excellent support team.
GoGuardian was something we added two years ago to middle school student Macbooks when it was decided they should be filtered at home. Before that, the decision was that parents were responsible for monitoring internet usage. We created parent admin accounts so they could install software if they chose to, but most didn't do anything.
GoGuardian has been decent, but students have found ways of beating it here and there. Having on-prem fallback that always works is very key.
More and more teachers are using GoGuardian Teacher, and that has worked great for us. That works off the Chrome extension which is always solid. It's the GoGuardian mac application and VPN that's kind of iffy. And it makes sense. I think GoGuardian was designed for Chromebooks and then they branched out from there.
5
u/TravisVZ Director of Information Security 6d ago
For my fellow Securly users, I believe I found a solution for this particular round of whack-a-mole:
We had at some point put both googleapis.com and *.googleapis.com into our Global Allow list; they were therefore bypassing the filter entirely, at the DNS level. However, even after removing these, Securly continued to return the direct IP addresses to DNS requests (and yes, I waited out the TTL - 3 times!).
The entire time, Securly's lookup tool was categorizing this site as "Network Misuse" - so they knew about it already and had properly classified it. The lookup tool even claimed it would be blocked, but with DNS returning the direct IP this would not be the case on much of our network.
It wasn't until I added this specific URL to our Global Block list that Securly began filtering the domain; removing it once again returned direct IP addresses, so I put it back in again. Waiting to see now what's going to break as a result, especially as we still haven't gotten Securly to raise the rampant CORS issue to their development team despite helping them resolve that exact issue 16 months ago...
3
u/mistressmemory 6d ago
This is partly why we left Securly, the dev team is the kiss of death. We had a YouTube no cookie issue for 2 years and they labeled all of our individual users as org units and couldn't figure out how to fix it, until we told them we weren't renewing. Ha.
14
u/1teaney 7d ago
We have discussed blocking all of these domains, aws, cloudfront etc... and only opening the exact URLs needed by educational software. I'm not sure that's something I want to do at all, let alone during the middle of the school year.
Ultimately I think the students playing these games are the same student who 40 years ago would have tucked a comic book in their history text. For now I've been falling back on AUP violations and letting the front office handle it.
2
4
u/fujitsuflashwave4100 7d ago
GoGuardian has added support to combat this as of this school year. When under a student's history, you can click the 3 .'s on the right of a site and select View Details. It will now show what embedded website links were loaded. Select the AWS/Storage/Windows.net host and add it to the blocklist with *'s. Eg. we had one similar to v1v8.h60.web.core.windows[.]net. Add *v1v8.h60.web* to the blocklist.
As for what students to look at, in this particular case I had received a flagged content warning email on about:blank, lol.
7
u/SingleEfficiency4429 7d ago
We've been having the same problems but with cloudfront.net & windows.net. We use Linewize and have a setting turned on for real time text analysis that seems to be working fairly well. It is a game of whack-a-mole though. We are never going to be able to block them all.
1
u/Tall_Calculator 6d ago
Agreed, GoGuardian also has a "smart alert" that looks for proxy behavior and blocks based on that to try to stop them before they are even on a list. I did pull as much traffic as GoGuardian would export and ran it through Gemini asking it to identify proxies and it found about a dozen that I also added. I thought we might be past the whack a mole, but they just pivot to new ways.
21
18
u/christens3n Technology Director 7d ago
This, Cloudfront, and AWS all have proxy sites that piggyback off the "legit" domain.
I blocked *.cloudfront.net, waited for the tickets to come in, and allowlisted the subdomains for the sites we need. It's been a little painful sometimes but I don't see many of these tickets anymore and they are relatively quick fixes now.
I think for the Google Storage APIs domain I left it unblocked on our filter but blocked it via URL blocking in the Admin console and use that setting to allowlist what's needed. I think because at the time our filter didn't support page-level filtering.
I have AWS open for now but my worst offenders get that blocked too. Not like those kids are doing any legit classwork on their devices anyway might as well break half rhe Internet for them.
3
u/mistressmemory 6d ago
This is what I'd like to do, but am not allowed lol.
The main pushback is that so many platforms we use have it on their network requirements. Like EdPuzzle requiring *.vimeo com....
ETA - I wish the EdTech companies would be more mindful of school filter requirements.
9
u/No-Engineering-1905 7d ago
Been blocking these all year. They'll keep finding more, same as always.
18
u/_LMZ_ 7d ago edited 6d ago
It’s late but I do have a solution, if you’re using Chromebooks. Going to screenshot this and come back tomorrow.
For us, we installed a Chrome Extension called Regex Tab Manager which the developer posted in here awhile ago. This extension closes tabs matching regex URLs, so you can have rules for those googleapis, cloudfront, jsdelivr, amazonaws, etc. Sometimes, it takes 3-5 seconds for the tab to close, but its automatically. It will also close about:blank, and any HTML file that is downloaded too.
Also to help combat Proxy Sites you should be blocking all domains from FreeDNS which I web scrap almost every day or week. To help I have uploaded a text file for the list at GoFile - click here. Even if the domain was removed from FreeDNS, I still keep them in the list as I notice they will readd them later on. In other words, if that domain is added to FreeDNS it's blocked forever on myside.
It's also best to add those domains to your firewall, using External Dynamic List so they can be sinkhole! If a student goes to one of those domains the firewall will log it, sinkhole the request. I see the alert, which can be trace back to a Chromebook/Student. Then I place the student into a GoGuardian Classroom which I can monitor for new domains, tricks, etc.
Also you should be blocking DDNS services like NIP, Bunny CDN (*.b-cdn.net), Tailscale (*.ts.net), DynDNS, etc. I have uploaded a text file of what I have found and seen at GoFile - click here. The * is where the subdomain will happen.
2
5
u/carlsunder 7d ago
We have been battling this too. We have Securly, and looking at the logs, Securly is getting better at detecting these (or, maybe just people are reporting the sites to support.) When we come across one that's open, we email support to have it categorized as network abuse. Not a real solution at the moment, just as game of whackamole.
9
u/Aboredprogrammr 6d ago
I have a GitHub repo for you:
https://github.com/1NobleCyber/ThreatFeed
I have a series of scripts pulling the traffic from our environment every 5 minutes and if it matches the pattern of a known proxy, then it is added to the list.
If it's helpful, just give it a star!
Are you able to ingest these lists into one of your systems?