ldif2passwd.pl
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ldif2passwd.pl [2006/11/09 17:50] – 209.8.40.21 | ldif2passwd.pl [2006/11/13 13:50] (current) – old revision restored andi | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== ldif2passwd.pl ====== | ||
+ | This Perl-Script helps you to build a passwd file from your LDAP data. This is useful to feed it into a password cracker (like [[http:// | ||
+ | |||
+ | It's just a quick hack. Only passwords are Base64 decoded to decode other fields as well hacke the source. | ||
+ | |||
+ | <code perl> | ||
+ | # | ||
+ | use MIME:: | ||
+ | |||
+ | my %user; | ||
+ | while (<>){ | ||
+ | $line = $_; | ||
+ | |||
+ | #skip comments | ||
+ | next if($line =~ m/^#/); | ||
+ | |||
+ | #trim whitespaces | ||
+ | $line =~ s/\s*$//; | ||
+ | $line =~ s/^\s*//; | ||
+ | |||
+ | if($line eq '' | ||
+ | # print old user | ||
+ | if($user{' | ||
+ | print join(':', | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | print " | ||
+ | } | ||
+ | # initialize new user | ||
+ | %user = (); | ||
+ | next | ||
+ | } | ||
+ | |||
+ | if($line =~ m/ | ||
+ | $user{' | ||
+ | }if($line =~ m/ | ||
+ | if($1 eq '::' | ||
+ | $user{' | ||
+ | $user{' | ||
+ | }else{ | ||
+ | $user{' | ||
+ | } | ||
+ | }elsif($line =~ m/^uid(::?) (.*)/i){ | ||
+ | $user{' | ||
+ | }elsif($line =~ m/ | ||
+ | $user{' | ||
+ | }elsif($line =~ m/ | ||
+ | $user{' | ||
+ | }elsif($line =~ m/ | ||
+ | $user{' | ||
+ | }elsif($line =~ m/ | ||
+ | $user{' | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | **Usage:** | ||
+ | |||
+ | $> ldapsearch -L -D ' | ||
+ | perl ldif2passwd.pl > passwd.1 |