
PoC für cve-2021-4034
PoC für cve-2021-4034
Basiert auf dem PoC von https://haxx.in: https://haxx.in/files/blasty-vs-pkexec.c. Wahrscheinlich ist er https://github.com/blasty?! Ich weiß es nicht.
Mit ein wenig Hilfe von https://github.com/daimoniac
gcc -Wall cve-2021-4034.c -o cve-2021-4034-exploit
Ändern Sie die Variable hosts in asses_CVE-2021-4034.yml entsprechend Ihrem Anwendungsfall!
ansible-playbook -i </path/to/inventory.yml> </path/to/playbooks/>asses_CVE-2021-4034.yml
Das Playbook kopiert den Exploit auf den Host, führt ihn aus, wertet whoami mehrfach aus und prüft, ob der Rückgabewert des Exploits "root" ist.
Auf Hosts, bei denen die Aufgabe Check result of privilege escalation fehlschlägt, war eine Privilege Escalation erfolgreich.
In der Play-ReCap sind Hosts, die nicht failed=0 haben, verwundbar.
Tief im Inneren? Ich habe keine Ahnung. Wahrscheinlich verrückte Speicher-Mashups.
Entscheidend für die Funktionsfähigkeit dieses Ansible-Playbooks ist https://github.com/mike-artemis/cve-2021-4034/blob/main/cve-2021-4034.c#L50. Der einfache Exploit von https://haxx.in/files/blasty-vs-pkexec.c öffnet nur eine Root-Shell, und das Ansible-Playbook bleibt darin hängen. Das Ändern des Payloads des Exploits zu
" static char *a_argv[] = { \"bash\", \"-c\", \"whoami\", NULL };\n"
gibt den aktuellen Benutzer zurück. Das Playbook prüft den Benutzer auf Privilege Escalation und schlägt fehl, wenn diese eingetreten ist.