This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| docu:tutos:android:adb_root_reverse_shell_openssl [2024/01/06 20:45] – admin | docu:tutos:android:adb_root_reverse_shell_openssl [2024/01/06 21:17] (current) – admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ==== Spawn a usable root shell on your Android, without su, using "ADB as Root" developer option and Termux with openssl ==== | ==== Spawn a usable root shell on your Android, without su, using "ADB as Root" developer option and Termux with openssl ==== | ||
| - | First, we need to have Termux installed and the "Run ADB as Root" developer option enabled on your Android " | + | First, we need to have **Termux** installed and the "**Run ADB as Root"** developer option enabled on your Android " |
| + | |||
| + | This method creates a secure connection (using TLS/SSL) to your root shell and does not have compatibility problems on the tool used (**openssl**) as it happens, for example, when using netcat for reverse shell spawning. | ||
| \\ | \\ | ||
| Line 8: | Line 10: | ||
| pkg update | pkg update | ||
| pkg install openssl | pkg install openssl | ||
| + | pkg install openssl-tool | ||
| + | pkg install python3 | ||
| </ | </ | ||
| Line 16: | Line 20: | ||
| </ | </ | ||
| - | Save this scripts in your Termux home and give them execution permissions (chmod +x) | + | Save this scripts in your Termux home (**~**) |
| <file bash " | <file bash " | ||
| export LHOST=" | export LHOST=" | ||
| Line 38: | Line 42: | ||
| \\ | \\ | ||
| - | Once you run `adb shell` on your Android, from any other device connected by usb to it, make sure you are root, otherwise you might need to run `adb root` first, but sometimes you only need to enable the "ADB as Root" option in developer options. | + | Once you run **adb shell** on your Android, from any other device connected by usb to it, make sure you are root (run **whoami**, **id** or similar), otherwise you might need to run **adb root** first, but sometimes you only need to enable the "ADB as Root" option in developer options. |
| + | |||
| + | As it is a reverse shell, we need to bind the " | ||
| + | < | ||
| + | ~ $ ./ | ||
| + | |||
| + | # (nothing will show up at first, until we run the next steps) | ||
| + | </ | ||
| + | |||
| + | Now, do as follows on your **host device** (the ones running adb to the Android system) | ||
| + | < | ||
| + | $ adb shell | ||
| + | devname:/ # cd / | ||
| + | devname:/ | ||
| + | # (now you can exit the adb shell. If " | ||
| + | </ | ||
| + | |||
| + | Return again to the Termux Android terminal and run the following things to have a neat and usable shell (capture ctrl+c, enable tab completion, use bash... etc) | ||
| + | < | ||
| + | # (something like this should show up in your Termux terminal after previous adb shell commands) | ||
| + | devname:/ | ||
| + | |||
| + | # Run the following commands: | ||
| + | devname:/ | ||
| + | .../ | ||
| + | # now ctrl+z the terminal (stop the job) | ||
| + | ~ $ stty raw -echo | ||
| + | ~ $ fg | ||
| + | # now terminal seems unusable, but press " | ||
| + | .../ | ||
| + | root | ||
| + | </ | ||
| + | |||
| + | To run the Termux apps as root on your new fancy root shell, you will need to add **usr/bin** of the Termux installation on your **PATH** variable on the shell. | ||
| + | <code bash> | ||
| + | $ export PATH=$PATH:/ | ||
| + | </ | ||
| + | |||
| + | Enjoy! | ||
| + | |||
| + | Sources: | ||
| + | * (Usable fancy shell on reverse shell) https:// | ||
| + | * (Openssl PKI-based reverse shell and other useful stuff) https:// | ||