Web
Nmap discovered a Web server on the port 80
of the target host.
The running service is Apache httpd 2.4.38 ((Debian))
┌──(kali㉿kali)-[~/PEN-200/PG_PLAY/glasgowsmile]
└─$ curl -I -X OPTIONS http://$IP/
HTTP/1.1 200 OK
Date: Wed, 25 Jun 2025 12:30:45 GMT
Server: Apache/2.4.38 (Debian)
Allow: GET,POST,OPTIONS,HEAD
Content-Length: 0
Content-Type: text/html
┌──(kali㉿kali)-[~/PEN-200/PG_PLAY/glasgowsmile]
└─$ curl -I http://$IP/
HTTP/1.1 200 OK
Date: Wed, 25 Jun 2025 12:30:47 GMT
Server: Apache/2.4.38 (Debian)
Last-Modified: Sat, 13 Jun 2020 18:53:52 GMT
ETag: "7d-5a7fbb701d4b6"
Accept-Ranges: bytes
Content-Length: 125
Vary: Accept-Encoding
Content-Type: text/html
Webroot
Fuzzing
┌──(kali㉿kali)-[~/PEN-200/PG_PLAY/glasgowsmile]
└─$ ffuf -c -w /usr/share/wordlists/seclists/Discovery/Web-Content/big.txt -u http://$IP/FUZZ -ic -e .html,.txt,.php
________________________________________________
:: Method : GET
:: URL : http://192.168.210.79/FUZZ
:: Wordlist : FUZZ: /usr/share/wordlists/seclists/Discovery/Web-Content/big.txt
:: Extensions : .html .txt .php
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 40
:: Matcher : Response status: 200-299,301,302,307,401,403,405,500
________________________________________________
.htaccess.html [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 19ms]
.htaccess [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 21ms]
.htaccess.txt [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 19ms]
.htaccess.php [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 21ms]
.htpasswd.html [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 21ms]
.htpasswd [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 21ms]
.htpasswd.txt [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 20ms]
.htpasswd.php [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 20ms]
index.html [Status: 200, Size: 125, Words: 7, Lines: 9, Duration: 21ms]
joomla [Status: 301, Size: 317, Words: 20, Lines: 10, Duration: 21ms]
server-status [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 21ms]
:: Progress: [81912/81912] :: Job [1/1] :: 1600 req/sec :: Duration: [0:00:49] :: Errors: 0 ::
┌──(kali㉿kali)-[~/PEN-200/PG_PLAY/glasgowsmile]
└─$ ffuf -c -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -u http://$IP/FUZZ/ -ic
________________________________________________
:: Method : GET
:: URL : http://192.168.210.79/FUZZ/
:: Wordlist : FUZZ: /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 40
:: Matcher : Response status: 200-299,301,302,307,401,403,405,500
________________________________________________
[Status: 200, Size: 125, Words: 7, Lines: 9, Duration: 23ms]
icons [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 19ms]
joomla [Status: 200, Size: 9992, Words: 501, Lines: 227, Duration: 57ms]
server-status [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 19ms]
:: Progress: [207630/207630] :: Job [1/1] :: 1869 req/sec :: Duration: [0:01:58] :: Errors: 0 ::
/joomla/
Endpoint
There is a Joomla instance present at the
/joomla/
endpoint
joomscan
┌──(kali㉿kali)-[~/PEN-200/PG_PLAY/glasgowsmile]
└─$ joomscan --url http://$IP/joomla/ --enumerate-components --random-agent
____ _____ _____ __ __ ___ ___ __ _ _
(_ _)( _ )( _ )( \/ )/ __) / __) /__\ ( \( )
.-_)( )(_)( )(_)( ) ( \__ \( (__ /(__)\ ) (
\____) (_____)(_____)(_/\/\_)(___/ \___)(__)(__)(_)\_)
(1337.today)
--=[OWASP JoomScan
+---++---==[Version : 0.0.7
+---++---==[Update Date : [2018/09/23]
+---++---==[Authors : Mohammad Reza Espargham , Ali Razmjoo
--=[Code name : Self Challenge
@OWASP_JoomScan , @rezesp , @Ali_Razmjo0 , @OWASP
Processing http://192.168.210.79/joomla/ ...
[+] FireWall Detector
[++] Firewall not detected
[+] Detecting Joomla Version
[++] Joomla 3.7.3rc1
[+] Core Joomla Vulnerability
[++] Target Joomla core is not vulnerable
[+] Checking Directory Listing
[++] directory has directory listing :
http://192.168.210.79/joomla/administrator/components
http://192.168.210.79/joomla/administrator/modules
http://192.168.210.79/joomla/administrator/templates
http://192.168.210.79/joomla/images/banners
[+] Checking apache info/status files
[++] Readable info/status files are not found
[+] admin finder
[++] Admin page : http://192.168.210.79/joomla/administrator/
[+] Checking robots.txt existing
[++] robots.txt is found
path : http://192.168.210.79/joomla/robots.txt
Interesting path found from robots.txt
http://192.168.210.79/joomla/joomla/administrator/
http://192.168.210.79/joomla/administrator/
http://192.168.210.79/joomla/bin/
http://192.168.210.79/joomla/cache/
http://192.168.210.79/joomla/cli/
http://192.168.210.79/joomla/components/
http://192.168.210.79/joomla/includes/
http://192.168.210.79/joomla/installation/
http://192.168.210.79/joomla/language/
http://192.168.210.79/joomla/layouts/
http://192.168.210.79/joomla/libraries/
http://192.168.210.79/joomla/logs/
http://192.168.210.79/joomla/modules/
http://192.168.210.79/joomla/plugins/
http://192.168.210.79/joomla/tmp/
[+] Finding common backup files name
[++] Backup files are not found
[+] Finding common log files name
[++] error log is not found
[+] Checking sensitive config.php.x file
[++] Readable config files are not found
[+] Enumeration component (com_ajax)
[++] Name: com_ajax
Location : http://192.168.210.79/joomla/components/com_ajax/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_ajax/
[+] Enumeration component (com_banners)
[++] Name: com_banners
Location : http://192.168.210.79/joomla/components/com_banners/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_banners/
[+] Enumeration component (com_contact)
[++] Name: com_contact
Location : http://192.168.210.79/joomla/components/com_contact/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_contact/
[+] Enumeration component (com_content)
[++] Name: com_content
Location : http://192.168.210.79/joomla/components/com_content/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_content/
[+] Enumeration component (com_contenthistory)
[++] Name: com_contenthistory
Location : http://192.168.210.79/joomla/components/com_contenthistory/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_contenthistory/
[+] Enumeration component (com_fields)
[++] Name: com_fields
Location : http://192.168.210.79/joomla/components/com_fields/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_fields/
[+] Enumeration component (com_finder)
[++] Name: com_finder
Location : http://192.168.210.79/joomla/components/com_finder/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_finder/
[+] Enumeration component (com_mailto)
[++] Name: com_mailto
Location : http://192.168.210.79/joomla/components/com_mailto/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_mailto/
Installed version : 3.1
[+] Enumeration component (com_media)
[++] Name: com_media
Location : http://192.168.210.79/joomla/components/com_media/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_media/
[+] Enumeration component (com_newsfeeds)
[++] Name: com_newsfeeds
Location : http://192.168.210.79/joomla/components/com_newsfeeds/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_newsfeeds/
[+] Enumeration component (com_search)
[++] Name: com_search
Location : http://192.168.210.79/joomla/components/com_search/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_search/
[+] Enumeration component (com_users)
[++] Name: com_users
Location : http://192.168.210.79/joomla/components/com_users/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_users/
[+] Enumeration component (com_wrapper)
[++] Name: com_wrapper
Location : http://192.168.210.79/joomla/components/com_wrapper/
Directory listing is enabled : http://192.168.210.79/joomla/components/com_wrapper/
Installed version : 3.1
Your Report : reports/192.168.210.79/
The version information has been identified; 3.7.3rc1
┌──(kali㉿kali)-[~/PEN-200/PG_PLAY/glasgowsmile]
└─$ joomscan --url http://$IP/joomla/administrator/ --enumerate-components --random-agent
____ _____ _____ __ __ ___ ___ __ _ _
(_ _)( _ )( _ )( \/ )/ __) / __) /__\ ( \( )
.-_)( )(_)( )(_)( ) ( \__ \( (__ /(__)\ ) (
\____) (_____)(_____)(_/\/\_)(___/ \___)(__)(__)(_)\_)
(1337.today)
--=[OWASP JoomScan
+---++---==[Version : 0.0.7
+---++---==[Update Date : [2018/09/23]
+---++---==[Authors : Mohammad Reza Espargham , Ali Razmjoo
--=[Code name : Self Challenge
@OWASP_JoomScan , @rezesp , @Ali_Razmjo0 , @OWASP
Processing http://192.168.210.79/joomla/administrator/ ...
[+] FireWall Detector
[++] Firewall not detected
[+] Detecting Joomla Version
[++] Joomla 3.7.3
[+] Core Joomla Vulnerability
[++] Target Joomla core is not vulnerable
[+] Checking Directory Listing
[++] directory has directory listing :
http://192.168.210.79/joomla/administrator/components
http://192.168.210.79/joomla/administrator/modules
http://192.168.210.79/joomla/administrator/templates
http://192.168.210.79/joomla/administrator/includes
http://192.168.210.79/joomla/administrator/language
http://192.168.210.79/joomla/administrator/templates
[+] Checking apache info/status files
[++] Readable info/status files are not found
[+] admin finder
[++] Admin page not found
[+] Checking robots.txt existing
[++] robots.txt is not found
[+] Finding common backup files name
[++] Backup files are not found
[+] Finding common log files name
[++] error log is not found
[+] Checking sensitive config.php.x file
[++] Readable config files are not found
[+] Enumeration component (com_admin)
[++] Name: com_admin
Location : http://192.168.210.79/joomla/administrator/components/com_admin/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_admin/
Installed version : 3.1
[+] Enumeration component (com_ajax)
[++] Name: com_ajax
Location : http://192.168.210.79/joomla/administrator/components/com_ajax/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_ajax/
Installed version : 3.2
[+] Enumeration component (com_banners)
[++] Name: com_banners
Location : http://192.168.210.79/joomla/administrator/components/com_banners/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_banners/
Installed version : 3.1
[+] Enumeration component (com_contact)
[++] Name: com_contact
Location : http://192.168.210.79/joomla/administrator/components/com_contact/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_contact/
Installed version : 3.1
[+] Enumeration component (com_content)
[++] Name: com_content
Location : http://192.168.210.79/joomla/administrator/components/com_content/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_content/
Installed version : 3.1
[+] Enumeration component (com_contenthistory)
[++] Name: com_contenthistory
Location : http://192.168.210.79/joomla/administrator/components/com_contenthistory/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_contenthistory/
Installed version : 3.2
[+] Enumeration component (com_fields)
[++] Name: com_fields
Location : http://192.168.210.79/joomla/administrator/components/com_fields/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_fields/
Installed version : 3.7.0
[+] Enumeration component (com_finder)
[++] Name: com_finder
Location : http://192.168.210.79/joomla/administrator/components/com_finder/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_finder/
Installed version : 3.1
[+] Enumeration component (com_installer)
[++] Name: com_installer
Location : http://192.168.210.79/joomla/administrator/components/com_installer/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_installer/
Installed version : 3.1
[+] Enumeration component (com_joomlaupdate)
[++] Name: com_joomlaupdate
Location : http://192.168.210.79/joomla/administrator/components/com_joomlaupdate/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_joomlaupdate/
Installed version : 3.1
[+] Enumeration component (com_media)
[++] Name: com_media
Location : http://192.168.210.79/joomla/administrator/components/com_media/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_media/
Installed version : 3.1
[+] Enumeration component (com_newsfeeds)
[++] Name: com_newsfeeds
Location : http://192.168.210.79/joomla/administrator/components/com_newsfeeds/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_newsfeeds/
Installed version : 3.1
[+] Enumeration component (com_search)
[++] Name: com_search
Location : http://192.168.210.79/joomla/administrator/components/com_search/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_search/
Installed version : 3.1
[+] Enumeration component (com_users)
[++] Name: com_users
Location : http://192.168.210.79/joomla/administrator/components/com_users/
Directory listing is enabled : http://192.168.210.79/joomla/administrator/components/com_users/
Installed version : 3.1
Your Report : reports/192.168.210.79/
Re-running the tool with the administrator endpoint shows the version information of installed components; /joomla/administrator/
Fuzzing /joomla/
┌──(kali㉿kali)-[~/PEN-200/PG_PLAY/glasgowsmile]
└─$ ffuf -c -w /usr/share/wordlists/seclists/Discovery/Web-Content/big.txt -u http://$IP/joomla/FUZZ -ic -e .html,.txt,.php
________________________________________________
:: Method : GET
:: URL : http://192.168.210.79/joomla/FUZZ
:: Wordlist : FUZZ: /usr/share/wordlists/seclists/Discovery/Web-Content/big.txt
:: Extensions : .html .txt .php
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 40
:: Matcher : Response status: 200-299,301,302,307,401,403,405,500
________________________________________________
.htaccess [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 20ms]
.htaccess.txt [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 19ms]
.htpasswd.html [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 19ms]
.htaccess.html [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 20ms]
.htaccess.php [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 20ms]
.htpasswd.txt [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 20ms]
.htpasswd [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 20ms]
.htpasswd.php [Status: 403, Size: 279, Words: 20, Lines: 10, Duration: 20ms]
LICENSE.txt [Status: 200, Size: 18092, Words: 3133, Lines: 340, Duration: 21ms]
README.txt [Status: 200, Size: 4874, Words: 481, Lines: 73, Duration: 21ms]
administrator [Status: 301, Size: 331, Words: 20, Lines: 10, Duration: 19ms]
bin [Status: 301, Size: 321, Words: 20, Lines: 10, Duration: 21ms]
cache [Status: 301, Size: 323, Words: 20, Lines: 10, Duration: 20ms]
cli [Status: 301, Size: 321, Words: 20, Lines: 10, Duration: 20ms]
components [Status: 301, Size: 328, Words: 20, Lines: 10, Duration: 20ms]
configuration.php [Status: 200, Size: 0, Words: 1, Lines: 1, Duration: 19ms]
htaccess.txt [Status: 200, Size: 3005, Words: 438, Lines: 81, Duration: 20ms]
images [Status: 301, Size: 324, Words: 20, Lines: 10, Duration: 22ms]
includes [Status: 301, Size: 326, Words: 20, Lines: 10, Duration: 21ms]
index.php [Status: 200, Size: 10013, Words: 501, Lines: 227, Duration: 71ms]
language [Status: 301, Size: 326, Words: 20, Lines: 10, Duration: 19ms]
layouts [Status: 301, Size: 325, Words: 20, Lines: 10, Duration: 19ms]
libraries [Status: 301, Size: 327, Words: 20, Lines: 10, Duration: 19ms]
media [Status: 301, Size: 323, Words: 20, Lines: 10, Duration: 20ms]
modules [Status: 301, Size: 325, Words: 20, Lines: 10, Duration: 21ms]
plugins [Status: 301, Size: 325, Words: 20, Lines: 10, Duration: 21ms]
robots.txt [Status: 200, Size: 836, Words: 88, Lines: 33, Duration: 19ms]
robots.txt [Status: 200, Size: 836, Words: 88, Lines: 33, Duration: 19ms]
templates [Status: 301, Size: 327, Words: 20, Lines: 10, Duration: 20ms]
tmp [Status: 301, Size: 321, Words: 20, Lines: 10, Duration: 20ms]
:: Progress: [81912/81912] :: Job [1/1] :: 1980 req/sec :: Duration: [0:00:49] :: Errors: 0 ::
┌──(kali㉿kali)-[~/PEN-200/PG_PLAY/glasgowsmile]
└─$ ffuf -c -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -u http://$IP/joomla/FUZZ/ -ic
________________________________________________
:: Method : GET
:: URL : http://192.168.210.79/joomla/FUZZ/
:: Wordlist : FUZZ: /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 40
:: Matcher : Response status: 200-299,301,302,307,401,403,405,500
________________________________________________
[Status: 200, Size: 9993, Words: 501, Lines: 227, Duration: 57ms]
media [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 19ms]
templates [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 19ms]
modules [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 20ms]
bin [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 21ms]
plugins [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 21ms]
includes [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 22ms]
language [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 21ms]
components [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 19ms]
cache [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 21ms]
libraries [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 21ms]
images [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 2173ms]
tmp [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 19ms]
layouts [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 19ms]
administrator [Status: 200, Size: 4929, Words: 214, Lines: 109, Duration: 45ms]
cli [Status: 200, Size: 31, Words: 2, Lines: 2, Duration: 20ms]
:: Progress: [207630/207630] :: Job [1/1] :: 1709 req/sec :: Duration: [0:01:52] :: Errors: 0 ::
N/A
Admin Panel
Login page for the admin panel is available at the
/joomla/administrator/index.php
endpoint
Authentication
Brute force attack was made to gain access to the admin panel
The current user,
joomla
, is a super user
There are many ways to get code execution on the host system once a super user is compromised in a Joomla instance, such as installing a malicious extension and injecting a malicious PHP code into an existing template