TRΓ„W🀟 Profile picture
Nov 15, 2021 β€’ 21 tweets β€’ 7 min read β€’ Read on X
BEGINNERπŸ‘¦ LINUX PRIVILEGE πŸ”ESCALATION⬆️
Abusing SUDO rights and popping r00t shells

A thread🧡
#infosec #CyberSecurity #bugbountytips Image
In this thread🧡, I will be discussing how you can pop a root shell by abusing SUDO rights misconfiguration and will be demonstrating this using this box: tryhackme.com/room/linuxpriv…
First things first, let’s start with theoretical concepts!!πŸ˜„
What is SUDOπŸ‘‘?
Sudo (Superuser Do) - is a Unix and Linux based utility that gives users permissions to run commands at the `root` level (most powerful user).
The `Sudo -l` Command
This command list the programs/binaries which `sudo` allows a user to run with root privileeges and without being asked the `root` password. For long listing use `sudo -ll` Image
- From the above snippet you can see user `traw` can all run all the commands as root without being asked root password but only traw's password. That's a security issue because we can easily abuse this to escalate to the root user by simply issuing the following command(sudo su) Image
Alright let's look at another example, in this example will be using the @RealTryHackMe box. I have provided the link above. Image
From the above snippet you can see that the user `user` can be able to run quite a number of programs with root level permissions. We can abuse those binaries to escalate our privileges to root,
there is cool website with some instructions on how to gain root shell using the above listed programs. Visit GTFOBins(gtfobins.github.io) and search for some of the program names.
If the program is listed with `sudo` as a function, you can use it to elevate privileges, usually via an escape sequence. Let’s take a look at all binary one by one and try to gain a root shell, using the instructions from GTFOBins.
1. Using AWK from the above snippet Image
2. Using VIM Command Image
3. Using FIND command Image
4. Using NMAP command Image
5. Using MAN command Image
6. Using MORE/LESS commands Image
7. Using FTP Image
8 Abusing Intended Functionality

Let's say we run `sudo -l` and found that we can run apache2 or wget with root level permissions. Sadly, with these binaries you can't get `shell` and you can't also even edit system files too,
but using these binaries we abuse their functionality to view `important` systems files.

8a. Abusing Apache2 Image
From the above snippet you can clearly see that we able to view the contents of the `/etc/shadow` file.
Sadly no Shell. But we have manage to extract root hash that means we can crack the harsh using online methods (`crackstation.net`) or some tools like hashcat, john etc
8b. Abusing WGET
With `wget` we can dump some important system files like the `/etc/shadow`, `/etc/passwd` file, root ssh keys etc. To do this you have to setup a netcat listener on the attacker machine: Image
That's it! Thank you for reading today's threadπŸ˜‡. If you have other privilege escalation vectors I have missed, feel free to add them in the comments. Would love to know them as well. And be sure to rtπŸ”„ , likeπŸ’Œ and followπŸ‘¨β€πŸ‘¨β€πŸ‘§β€πŸ‘§ me (@xtremepentest) for more future Linux content.

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with TRΓ„W🀟

TRΓ„W🀟 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @thatstraw

Jul 11
Linux filesystem and directory structure🐧

πŸ“ /
β”œβ”€β”€ πŸ“ bin
β”‚ β”œβ”€β”€ βš™οΈ ls
β”‚ └── βš™οΈ bash
β”œβ”€β”€ πŸ“ boot
β”‚ β”œβ”€β”€ πŸ’Ύ vmlinuz
β”‚ └── πŸ’Ύ initrd.img
β”œβ”€β”€ πŸ“ dev
β”‚ β”œβ”€β”€ πŸ’Ώ sda1
β”‚ └── πŸ’Ώ sdb
β”œβ”€β”€ πŸ“ etc
β”‚ β”œβ”€β”€ πŸ› οΈ passwd
β”‚ └── πŸ› οΈ fstab
β”œβ”€β”€ πŸ“ home
β”‚ β”œβ”€β”€ πŸ“ james
β”‚ β”‚ β”œβ”€β”€ πŸ› οΈ .bashrc
β”‚ β”‚ β”œβ”€β”€ πŸ“ documents
β”‚ β”‚ └── πŸ“ .ssh
β”‚ β”‚ β”œβ”€β”€ πŸ” id_rsa
β”‚ β”‚ └── πŸ”‘ authorized_keys
β”‚ └── πŸ“ traw
β”‚ β”œβ”€β”€ πŸ› οΈ .profile
β”‚ β”œβ”€β”€ πŸ“ pictures
β”‚ └── πŸ“ .ssh
β”‚ β”œβ”€β”€ πŸ” id_rsa
β”‚ └── πŸ”‘ authorized_keys
β”œβ”€β”€ πŸ“ lib
β”‚ β”œβ”€β”€ βš™οΈ
β”‚ └── βš™οΈ
β”œβ”€β”€ πŸ“ media
β”‚ β”œβ”€β”€ πŸ“ cdrom
β”‚ └── πŸ“ usb
β”œβ”€β”€ πŸ“ mnt
β”‚ └── πŸ“ mymount
β”œβ”€β”€ πŸ“ opt
β”‚ └── πŸ“ myapp
β”œβ”€β”€ πŸ“ proc
β”‚ β”œβ”€β”€ πŸ“„ cpuinfo
β”‚ └── πŸ“„ meminfo
β”œβ”€β”€ πŸ“ root
β”‚ β”œβ”€β”€ πŸ› οΈ .bash_history
β”‚ └── πŸ“ .ssh
β”‚ β”œβ”€β”€ πŸ” id_rsa
β”‚ └── πŸ”‘ authorized_keys
β”œβ”€β”€ πŸ“ run
β”‚ β”œβ”€β”€ πŸ“„ utmp
β”‚ └── πŸ“„ systemd
β”œβ”€β”€ πŸ“ sbin
β”‚ β”œβ”€β”€ βš™οΈ init
β”‚ └── βš™οΈ reboot
β”œβ”€β”€ πŸ“ srv
β”‚ └── πŸ“ myservice
β”œβ”€β”€ πŸ“ sys
β”‚ β”œβ”€β”€ πŸ“„ devices
β”‚ └── πŸ“„ firmware
β”œβ”€β”€ πŸ“ tmp
β”‚ β”œβ”€β”€ πŸ“„ temp1
β”‚ └── πŸ“„ temp2
β”œβ”€β”€ πŸ“ usr
β”‚ β”œβ”€β”€ πŸ“ bin
β”‚ β”‚ β”œβ”€β”€ βš™οΈ perl
β”‚ β”‚ └── βš™οΈ python
β”‚ β”œβ”€β”€ πŸ“ lib
β”‚ β”‚ β”œβ”€β”€ βš™οΈ
β”‚ β”‚ └── βš™οΈ
β”‚ └── πŸ“ local
β”‚ β”œβ”€β”€ πŸ“ bin
β”‚ β”œβ”€β”€ πŸ“ lib
β”‚ └── πŸ“ share
└── πŸ“ var
β”œβ”€β”€ πŸ“ log
β”‚ β”œβ”€β”€ πŸ“„ syslog
└── πŸ“„ auth.log
β”œβ”€β”€ πŸ“ mail
β”œβ”€β”€ πŸ“ run
β”œβ”€β”€ πŸ“ spool
└── πŸ“ wwwlibc.so
libm.so
libssl.so
libcrypto.so
πŸ“ / (Root Directory)
β€’ The top-level directory of the filesystem. All other directories and files are contained within this directory.

πŸ“ /bin
β€’ Contains essential binary executables (commands like ls, bash). These are the basic commands needed for system operation.
πŸ“ /boot
β€’ Contains the boot loader files and kernel images (e.g., vmlinuz, initrd.img). These files are necessary to start the operating system.

πŸ“ /dev
β€’ Contains device files representing hardware devices (e.g., sda1, tty). These special files allow software to interact with hardware devices.
Read 10 tweets
Jul 9
REST API Design Image
Looking for a tool that simplifies API management? Introducing Apidog

Designing APIs can be complex, but tools like @ApidogHQ simplify the process. Apidog ( is a comprehensive API design-first development platform that offers numerous features to streamline API development. While many API design and management tools are available, Apidog stands out as a comprehensive solution.

You can check out and try Apidog using this link:
apidog.com/?utm_source=th…Image
Here's why Apidog is becoming the go-to platform for API design:

1. REAL API Design-first Development Platform

Apidog offers visual tools for API design, development, testing, and documentation. Its elegant UI and compatibility with OpenAPI Specification (OAS) eliminate the need for manual coding.

The platform also supports multi-branch API development, making it ideal for teams working on complex projects.Image
Read 8 tweets
Jun 4
If you want to learn Linux bash scripting for FREE, open this: Image
1. Getting Started with Bash Scripting

Bash scripts are a series of commands written in a file that can be executed by the Bash shell. This article will cover the basics of creating and running your first Bash script.
sysxplore.com/create-a-bash-…
2. Comments in Bash

Commenting your code is an essential practice in programming, as it helps you and others understand the purpose and functionality of each section.

In Bash scripting, comments are used to annotate your scripts, making them more readable and maintainable. This article will cover the different ways to add comments in your Bash scripts.
sysxplore.com/comments-in-ba…
Read 19 tweets
Dec 29, 2023
Linux hand-written notes:🧡 ↓ Image
[2] Image
[3] Image
Read 80 tweets
Oct 24, 2023
13 Linux tr command practical examples you should know as a system administrator: Image
The tr command short for translate, is one of the most useful command for manipulating text on the command line.
It allows you to perform useful operations such as converting lowercase characters to uppercase characters, uppercase characters to lowercase characters, character replacing, and deleting characters.

It is usually used in conjunction with other commands via piping.
Read 29 tweets
Jul 2, 2023
Linux user management - how to add users in Linux πŸ§΅β†“
The useradd command is the main tool for adding new users to a Linux system. This command allows you to quickly create a new user account and configure the user's $HOME directory structure.
The useradd command creates a user account by combining system default settings and command-line parameters.

To see the system default values on your Linux distribution, use the useradd command with the -D option:

$ useradd -D
Read 18 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(