[+] URL: http://internal.thm/blog/wp-login.php/ [10.10.213.152]
[+] Started: Thu Aug 29 20:25:20 2024
Interesting Finding(s):
[+] Headers
| Interesting Entry: Server: Apache/2.4.29 (Ubuntu)
| Found By: Headers (Passive Detection)
| Confidence: 100%
[+] WordPress readme found: http://internal.thm/blog/wp-login.php/readme.html
| Found By: Direct Access (Aggressive Detection)
| Confidence: 100%
[+] This site seems to be a multisite
| Found By: Direct Access (Aggressive Detection)
| Confidence: 100%
| Reference: http://codex.wordpress.org/Glossary#Multisite
[+] The external WP-Cron seems to be enabled: http://internal.thm/blog/wp-login.php/wp-cron.php
| Found By: Direct Access (Aggressive Detection)
| Confidence: 60%
| References:
| - https://www.iplocation.net/defend-wordpress-from-ddos
| - https://github.com/wpscanteam/wpscan/issues/1299
[+] WordPress version 5.4.2 identified (Insecure, released on 2020-06-10).
| Found By: Most Common Wp Includes Query Parameter In Homepage (Passive Detection)
| - http://internal.thm/blog/wp-includes/css/dashicons.min.css?ver=5.4.2
| Confirmed By:
| Common Wp Includes Query Parameter In Homepage (Passive Detection)
| - http://internal.thm/blog/wp-includes/css/buttons.min.css?ver=5.4.2
| - http://internal.thm/blog/wp-includes/js/wp-util.min.js?ver=5.4.2
| Query Parameter In Install Page (Aggressive Detection)
| - http://internal.thm/blog/wp-includes/css/dashicons.min.css?ver=5.4.2
| - http://internal.thm/blog/wp-includes/css/buttons.min.css?ver=5.4.2
| - http://internal.thm/blog/wp-admin/css/forms.min.css?ver=5.4.2
| - http://internal.thm/blog/wp-admin/css/l10n.min.css?ver=5.4.2
[i] The main theme could not be detected.
[+] Enumerating All Plugins (via Passive Methods)[i] No plugins Found.
[+] Enumerating Config Backups (via Passive and Aggressive Methods)
Checking Config Backups - Time: 00:00:33 <=============================================================================================================================================================>(137 / 137) 100.00% Time: 00:00:33
[i] No Config Backups Found.
[!] No WPScan API Token given, as a result vulnerability data has not been output.
[!] You can get a free API token with 25 daily requests by registering at https://wpscan.com/register
[+] Finished: Thu Aug 29 20:26:08 2024
[+] Requests Done: 334
[+] Cached Requests: 4
[+] Data Sent: 92.668 KB
[+] Data Received: 22.31 MB
[+] Memory used: 261.414 MB
[+] Elapsed time: 00:00:48
┌──(kali㉿kali)-[~]
└─$
╔══════════╣ Readable files belonging to root and readable by me but not world readable
-rw-r----- 1 root www-data 68 Aug 3 2020 /var/lib/phpmyadmin/blowfish_secret.inc.php
-rw-r----- 1 root www-data 0 Aug 3 2020 /var/lib/phpmyadmin/config.inc.php
-rw-r----- 1 root www-data 527 Aug 3 2020 /etc/phpmyadmin/config-db.php
-rw-r----- 1 root www-data 8 Aug 3 2020 /etc/phpmyadmin/htpasswd.setup
A penetration test on INTERNAL corp on September 3th 2024 on an environment due to be released to production in three weeks. A security penetration test is a simulated cyber-attack on a computer system or network. The goal of this test is to identify and exploit vulnerabilities in the system in order to assess the system’s security posture. Penetration tests are an important part of a comprehensive security strategy and can help organizations identify and fix vulnerabilities before they are exploited by attackers.
Key Finding:
Initially we gain access of Apache 2 Ubuntu default page, but after doing directory busting we can access to the login page for Wordpress.
Wordpress is susceptible to information disclosure vulnerability by show a valid account of admin, when doing brute forcing attempt. The admin account has a weak credential.
Wordpress is also susceptible to Remote Code Execution, that enable attacker to successfully launch a reverse shell and access the web account.
After enumerating through the account, there is a valid user credential stored, and accessible to pivot to using secure shell (SSH). Which allow attacker to retrieve the first flag.
A text document inform that a service (Jenkins) is running on another service called Docker.
Attacker pivot to the service by using the user credential stored in the system.
Jenkins account has a weak credential that allows attacker to brute force the password. The service allows attacker to run a arbitrary code to pivot and find another credential to escalate privilege to gain root access and retrieve the second flag.
Remediation Suggestion:
Strong Password policy - Implementing minimum character to at least 16 character and a mix of letter, number and symbol which can discourage attacker from brute forcing the credential.
Attempt Limit policy - time out multiple fail login attempt, keeping attacker from brute forcing attack.
Multi Factor Authentication - an authentication process should be enable when account being access on services like WordPress and Jenkins.
Stored Credential - sensitive credential should not be store in plaintext file. Should implement a password manager.
Sensitive Information Disclosure - critical document such as service information, credentials should not be a store and accessible on the system.