News for hackers. Stuff that matters.
Re:$36k Google App Engine RCE by haldean on Monday May 21, 2018 @02:01PM (#17120354)
Same; I worked on GAE in 2013 and it's so funny to read the story of someone exploring, discovering, and being so close to breaking something you know really well. There's a few moments in here where I thought "oh man, you could have done XXXX and that would have been so bad!". Definitely understand why they gave them the big bucks for this one.
Re:$36k Google App Engine RCE by TomV1971 on Monday May 21, 2018 @04:35PM (#17121615)
I’ve been on the receiving end where hobbyists were trying (and eventually succeeded) to hack our DRM scheme.

It was really fun to read the forums and see how, day by day, they managed to get closer. Since it wasn’t really crucial IP to begin with, we were rooting for the little guys to see how close they would get, secure in the knowledge that our algorithm was solid. :-)

The final exploit that granted them access was due to a supplier who replaced an earlier validated random generator with something not quite as random, which enabled replay attacks.

Re:$36k Google App Engine RCE by puzzle on Monday May 21, 2018 @05:47PM (#17122129)
I didn't work on GAE, but I know a fair amount about how it ran and, as I read, too, I could think of quite a few things I would have done, had I been a malicious actor. Denial of service is the first to come to mind. I'm sure a real security person could do a lot more.
Re:$36k Google App Engine RCE by eyeareque on Monday May 21, 2018 @05:33PM (#17122022)
XXXX == what types of things?

I’m curious why there was no auth required for his calls.

Re:$36k Google App Engine RCE by londons_explore on Monday May 21, 2018 @05:54PM (#17122182)
* Grab nearly all of googles source code (no extra auth required for that, since so many libraries read config etc from the source code repo)

* Make the right requests to one endpoint he found and retrieve company financials, number of hits to every google service, the name of every application running in every datacenter, etc.

* With the above two things, you know the location of services and every RPC endpoint on them, and all access control configs. You can take your sweet time to audit the 10's of millions of lines of code to find vulnerabilities and get to attack as an authenticated (albeit low privilege) user. A lot of stuff is open to all authenticated internal users.

* For example, you could take down any google service by quitting all the application servers at the same time by calling the right debugging RPC. You'd be caught obviously tho.

Re:$36k Google App Engine RCE by puzzle on Monday May 21, 2018 @08:41PM (#17122973)
Production code has no unauthenticated access to source. In all the cases I know, there was a data push for dynamic configurations from source to production, usually adding access control, auditing, validation, etc. Static configurations would be baked into the container image.

That said, it looks like in this case he would been able to turn on access to google3, through a special flag that is probably meant for internal GAE apps that work on source code. Presumably, the flag allows the app to use a GAE proxy that authenticates to Piper and provides a filesystem-like interface. It's not clear what would have happened at this point, because it is likely there exists a finer grained quota for source access than just all of GAE. These kinds of new RPC traffic would have been visible in Dapper and Census data, plus there are booby traps everywhere aka defense in depth.

Re:$36k Google App Engine RCE by girvo on Monday May 21, 2018 @09:00PM (#17123064)
Right, but he wasn’t doing this in a production environment, so I wonder if he could’ve got access to source still.. thoughts?
Re:$36k Google App Engine RCE by puzzle on Monday May 21, 2018 @09:20PM (#17123124)
At the end of the day, even a non-production GAE environment runs on Borg, talks to GFS and Bigtable, etc. They're not going to run the entire stack on bare metal. The environments will have different configurations, will be backed by different Borg jobs, hopefully will run under different Borg identities, etc.

The articles about Piper and co. have made it clear that it ran on top of Bigtable first and then Spanner, i.e. in the production network, spread over ten locations. There's file level auditing and access control. It would be very dumb of them not to have intrusion and anomaly detection in place.

Re:$36k Google App Engine RCE by eyeareque on Monday May 21, 2018 @06:46PM (#17122480)
Wow, that is quite significant.

36k is not a small bounty for an RCE, but I feel like this is more critical to Google than the highest Android payout, for which they pay up to 200k for: https://www.google.com/about/appsecurity/android-rewards/

Re:$36k Google App Engine RCE by lathiat on Monday May 21, 2018 @10:40PM (#17123382)
Android is probably one of those markets that are more liquid than most for "black market" sources (as talked about elsewhere in the comments for this)
Re:$36k Google App Engine RCE by londons_explore on Tuesday May 22, 2018 @06:49AM (#17124993)
Android is wormable, and potentially not repairable by google.

For example, with a decent remote android exploit, I could distribute a patched Google Play Services to all vulnerable handsets which disables updates and then listens to my own command and control infrastructure for further actions.

I can now hold the phones hostage and extort google for money to regain control of them.

Re:$36k Google App Engine RCE by eyeareque on Tuesday May 22, 2018 @11:06AM (#17126399)
That would be pretty brutal and cause people to quit trusting android phones.

But I think the same could be accomplished with the access he had, or worse, but would have taken a lot more work. He also would have needed to avoid detection too. His access sounds more troubling than the Aroura attacks they had years ago.

Re:$36k Google App Engine RCE by bryandollery on Tuesday May 22, 2018 @07:54AM (#17125244)
Software architecture isn't like that. Nobody has a list of all the software running in every datacenter -- not in any large corporation anywhere in the world, and an API isn't going to change that.

And, you can't quit all application servers at the same time. These are distributed, self-healing, and highly-redundant -- meaning that there are thousands of copies of each service, and the system will bring up new copies to replace the ones you kill, without loosing service (though you could, potentially, affect quality of service).

Even the control mechanisms that allow all this magic to happen are run on the same platform, meaning that you can't affect the managers in this way either.

The sort of things you can do are: affect billing and reporting, find sensitive company data, and, potentially, execute code remotely (though that will probably be in a container, and not have access to much else).

Grabbing source code is problematic. There is more than one repo -- in an org this size there are probably millions. The code is huge, so downloading it will take forever, and then you'd have to read it. Finally, it's written in dozens of programming languages, some, like Golang, are unreadable to anyone but experts.

Re:$36k Google App Engine RCE by ponyfleisch on Tuesday May 22, 2018 @08:41AM (#17125468)
> Grabbing source code is problematic. There is more than one repo -- in an org this size there are probably millions.

Google is using a monorepo.

Re:$36k Google App Engine RCE by z3t4 on Tuesday May 22, 2018 @02:01AM (#17124012)
Google API Auth/Access is extremely tedious, so I guess someone just didn't bother. Basically you have to get an token, format it, make a couple of http posts, and finally you will have a token to make an access-token-token ... Now image all the steps you would have to make to create a new type of access to some internal API, that should not have public access anyway. Probably saved six months work. And the libraries are probably hiding all the obscurity so no-one did notice until this guy started digging.
Re:$36k Google App Engine RCE by eyeareque on Tuesday May 22, 2018 @11:12AM (#17126443)
Sounds plausible. Now I’m curious how much extra work this finding has caused teams at Google. There are probably many other similar insecure paths that need to be cleaned up.