Potentially Unsafe 2WIRE and Clear 4G Modems

Your modem is probably not safe. 

This was just something I ran across while scanning my own servers. I own an AT&T 2WIRE gateway/modem/router and a wireless Clear 4G modem for mobile use.  I have seen some questions regarding the open ports on forums, I thought I would dig deeper and provide a detailed analysis. AT&T customers using the standard 2WIRE modem/routers will find that port 443 (HTTPS) is open by default on the modem (to the internet) despite not being added in any port forwarding rule. I found no option or setting in the firmware to modify this or close the port.

Using a /24 subnet, I was able to discover port 443 open on 55 different hosts from the subnet. Extensive testing was done on my own device using default firmware. IP addresses are withheld.


FYI : In these instances I’m using the Nmap flags -sV to determine service and version info, the –script=banner flag to grab additional banner information from the service, the –open flag is handy for only returning hosts with the open port, and the -p for port number.

nmap -sV –script=banner –open xx.xx.xx.1/24 -p 443

Nmap scan report for x-x-x-4.lightspeed.hstntx.sbcglobal.net (x.x.x.4)
Host is up (0.041s latency).
443/tcp open ssl/http mini_httpd 1.19 19dec2003

Nmap scan report for x-x-x-5.lightspeed.hstntx.sbcglobal.net (x.x.x.5)
Host is up (0.0077s latency).
443/tcp open ssl/http mini_httpd 1.19 19dec2003

Nmap scan report for x-x-x-41.lightspeed.hstntx.sbcglobal.net (x.x.x.41)
Host is up (0.048s latency).
443/tcp open ssl/http mini_httpd 1.19 19dec2003

All hosts appear to be running Mini_httpd 1.19 which is the latest and LAST version of the software. Several vulnerabilities are available for version 1.19.
Vulnerability Summary for CVE-2009-4490 : Mini_httpd 1.19 writes data to a log file without sanitizing non-printable characters, which might allow remote attackers to modify a window’s title, or possibly execute arbitrary commands or overwrite files, via an HTTP request containing an escape sequence for a terminal emulator.


  • The host returned nothing when accessing it via web browser “Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.”  Several of the hosts, (not all of them) returned a 501 Not implemented response code with additional data in the Nmap scan, indicating the web server does not understand or support the current methods being sent to it.
  • Definition : “This error should be very rare in any Web browser. It is more likely if the client is not a Web browser – particularly if the Web server is old. In either case if the client has specified a valid request type, then the Web server is either responding incorrectly or simply needs to be upgraded.”

Host is up (0.080s latency).
443/tcp open ssl/sip mini_httpd/1.19/bhoc 23sep2004 (Status: 501 Not Implemented)
SF:n:\x20close\r\n\r\n\n501\x20Not\x20Implemented</<span class=”hiddenSpellError” pre=””>TITL</span>

The Vulnerability scan results returned 8 Medium Vulnerabilities and 2 Low, all for port 443 HTTPS.

Vulnerabilities By Plugin
15901 (1) – SSL Certificate Expiry
20007 (1) – SSL Version 2 (v2) Protocol Detection
26928 (1) – SSL Weak Cipher Suites Supported
42873 (1) – SSL Medium Strength Cipher Suites Supported
51192 (1) – SSL Certificate Cannot Be Trusted
57582 (1) – SSL Self-Signed Certificate
42880 (1) – SSL / TLS Renegotiation Handshakes MiTM Plaintext Data Injection
65821 (1) – SSL RC4 Cipher Suites Supported
11219 (2) – Nessus SYN scanner
22964 (2) – Service Detection
10107 (1) – HTTP Server Type and Version
10287 (1) – Traceroute Information
10863 (1) – SSL Certificate Information
11936 (1) – OS Identification
12053 (1) – Host Fully Qualified Domain Name (FQDN) Resolution
19506 (1) – Nessus Scan Information
21643 (1) – SSL Cipher Suites Supported
24260 (1) – HyperText Transfer Protocol (HTTP) Information
25220 (1) – TCP/IP Timestamps Supported
31422 (1) – Reverse NAT/Intercepting Proxy Detection
45590 (1) – Common Platform Enumeration (CPE)
50845 (1) – OpenSSL Detection
54615 (1) – Device Type
56984 (1) – SSL / TLS Versions Supported
62563 (1) – SSL Compression Methods Supported


Port 3479/tcp is also commonly found to be open. It may be used for several services including Remote Procedure Call and trojans.

“The 2Wire protocol associated with the system port 3749 is described as a modified XML based RPC which allows HomePortal devices to create a communication link with the datacenter. This communication foundation is used for receiving of contents, updates and programming of related devices. This protocol intends to mitigate communication issues that may hamper effective transmission interface. ”

nmap -sV –script=banner –open xx.xx.xx.6 -p 3479

3479/tcp open unknown

Results from vulnerability scan inform us that the remote web server type is :2Wire TR-069 , Remote operating system : Linux Kernel 2.4, Linux Kernel 2.6. From the results we are able to obtain the type of modem in use ‘2WIRE’, the architecture  ‘x86_64-unknown-linux-gnu’, and the remote time ‘Date:\20Thu,\ 2011\20Jul\ 20201320,:00:00:18\20GMT’.


 Clear 4G

Clear 4G customers were also found to have port 53 (DNS) and sometimes 49152, 49154 open. If there was a DNS server running, this would be acceptable. Again there is no option to close this port.The only DNS option in the firmware is to enable OpenDNS, which does not require you to run a DNS server.

nmap -sV –script=banner –open -p 53 x.x.x.1/24

Starting Nmap 5.21 ( http://nmap.org ) at 2013-07-10 18:12 CDT
NSE: Script Scanning completed.

Nmap scan report for  x-x-x-13.hou.clearwire-wmx.net (x.x.x.13)
Host is up (0.13s latency).
53/tcp open tcpwrapped

Nmap scan report for  x-x-x-19.hou.clearwire-wmx.net (x.x.x.19)
Host is up (0.13s latency).
53/tcp open tcpwrapped

Nmap scan report for x-x-x-24.hou.clearwire-wmx.net (x.x.x.24)
Host is up (0.13s latency).
53/tcp open tcpwrapped


Port 53 appears to be open on all of the alive hosts indicating its open on every modem, while 49152 and 49154 are open less often and sometimes both open on the same host. Not really a big deal.

Port 49154 – Xsan Filesystem Access  http://www.speedguide.net/port.php?port=49154
Port 49152 – uTorrent, and Azureus/Vuze p2p torrent clients often use this port.  http://www.speedguide.net/port.php?port=49152

Conclusion? These modems are shipping with firmware that discloses system information, possibly running vulnerable software, I’m testing out a few things such as the Mini_httpd vulnerabilities against the 2WIRE, and will throw a few other things at both the Clear4G and AT&T modems to see if direct access is obtainable.  Several local vulnerabilities and authentication bypasses are available for these modems, however Remote Access is what it’s all about.  I will update this post with results when I have time. Additional information and comments are welcome. My only suggestion is if you are truly paranoid, use your own router and set the Gateway/Modem to Bridged-Mode.

Generate 10 Digit Phone Numbers using Crunch in Backtrack

Phone numbers are some of the most commonly used passwords for WEP/WPA encrypted wireless networks. Several ISP’s use them as default passwords for their routers for easy to remember access.  By creating a list of every possible phone number combination with a specific area code, generally your own area code, it will give you quick access to most wireless networks using a dictionary attack. Using crunch built into Backtrack 5R2, you can quickly generate every possible number combination beginning with a specified area code.

Applications > BackTrack > Privilege Escalation > Password Attacks > Offline Attacks > crunch

Use the following command

./crunch 10 10 -t 123%%%%%%% -o /root/123.txt

Explanation of command.  10 refers to the number of characters. The -t command allows you to specify a pattern where only the @’%^ characters will change, in this case the %. The 123 is where the area code will go followed by 7 % characters. The -o is for output and can be saved anywhere. Make sure to save it as a .txt file. This will only take a few seconds and will say 100% when finished. Now you can load these in Gerix and bruteforce WPA.

Note: Most cities have multiple area codes. To combine multiple files into one just do a ‘cat 123.txt 456.txt 789.txt >> all.txt’

WEP Cracking in Backtrack 5 using Gerix

I’m creating several posts at once, and I’ll be adding screen shots shortly, bear with me.

Boot up to Backtrack 5 R2. You’ll need a laptop with a wireless card that supports monitor mode and packet injection.

Applications >BackTrack > Exploitation Tools > Wireless Exploitation Tools > WLAN Exploitation > gerix-wifi-cracker-ng

Note [At the bottom of Gerix, you will see the current actions taking place, so if something goes wrong you can see exactly what it is]

With Gerix open, go to the Configuration Tab.

You should see your interface marked as wlan0. Select it, and click the button below labeled Enable/Disable Monitor Mode.  The card will now be in Monitor mode.

At this point, you can also click the Set random MAC address to spoof your MAC address.

Click on the interface labeled mon0 so it’s highlighted.  Underneath that, you will see a button to Rescan Networks. Click this to search for SSID’s.

Select the desired WEP network SSID.

Click the WEP tab. Click Start Sniffing and Logging. You should see the BSSID MAC loaded as well as the PWR (Signal Strength) and other data.  Keep this window open.

Click Performs a test of injection AP to ensure your card is able to inject packets. You will get a message stating “Injection is working!”. You can close this window.

For this demonstration we will use WEP Attacks (no-client). Click the button labeled as such.

Under Fragmentation attack, click Associate with AP using fake auth. In the bottom data viewer window, you will see it read “Fake authentication with mon0”

Click Fragmentation attack button. Once it finds a packet, it will prompt to “Use this packet ?” Type Y for yes.

Click Create the ARP packet to be injected on the victim access point.

Click Inject the created packet on victim access point. Type Y in this box also.  Keep this window open.

Go to the Cracking tab, and under WEP Cracking, click the Aircrack-ng – Decrypt WEP password button. You will be watching here for the number of IV’s. (got 10,000 IVs)

You will generally need about 10,000 – 20,000 IVs to decrypt the password and sometimes less. This can take 30 seconds to a couple minutes depending on the amount of wireless traffic. You can safely close this window, and click the button again to reopen it when it has enough IV’s.

The key will be displayed in this window when complete.

Damn Vulnerable Web App Install on Fedora 16

Getting DVWA up and running takes some effort if you’ve never installed it before. The documentation is decent, but it’s spread out and not entirely complete. This is a quick install tutorial for installing DVWA with XAMPP on Fedora 16.


Download XAMPP. Open a shell, and su to root.

Extract the downloaded archive file to /opt:

tar xvfz xampp-linux-1.7.7.tar.gz -C /opt

XAMPP is now installed below the /opt/lampp directory.  Use ‘/opt/lampp/lampp start' to start

You should now see something like this on your screen:

Starting XAMPP 1.7.7...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.

Test if it’s working by going to http://localhost.


Download DVWA. Unzip, and place the unzipped files in your public html folder. In this case it will be placed in ‘/opt/lampp/htdocs/’

Navigate to to test if it’s working properly. The default user/pass is admin:password.

Database Setup

To set up the database, simply click on the Setup button in the main menu, then click on the ‘Create / Reset Database’ button. This will create / reset the database for you with some data in.

If you receive an error while trying to create your database, make sure your database credentials are correct within /opt/lampp/htdocs/config/config.inc.php

The variables are set to the following by default:

$_DVWA['db_user']='root'; $_DVWA['db_password']=''; $_DVWA['db_database']='dvwa';

If you are still getting an error message when trying to create the database, it’s most likely due to your $PATH. Follow these instructions to fix it.

export PATH=$PATH:/opt/lampp/bin

ech $PATH (to verify)

mysql -u root

UPDATE mysql.user SET Password=PASSWORD(‘password’) WHERE User=’root’;

flush privileges;


mysql -u root -p [enter password to confim change]


Accessing the DVWA remotely

If you are trying to access the DVWA setup remotely from another computer on the network, you will need to delete or rename the file ‘.htaccess’. It’s located in ‘/opt/lampp/htdocs/dvwa/’. You will need to do an ls -la to view it, as it’s a hidden file. This is a known issue and should be included in future documentation. DVWA: Issue 16