• Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.

[PERL] wyd.pl (алатка за креирање на листа на зборови = wordlist)

  • Ја почнал/а темата
  • #1

LiquidWorm

Администратор
26 март 2007
2,667
183
www.zeroscience.mk
Вака сега... оваа алатка беше презентирана во некој од броевите на ИТСЕК, незнам кој број точно...и алатката служи за креирање на зборови од даден фајл или фолдер. Значи сите зборови во некој фајл што постојат, wyd.pl ги зема и ги става во посебен фајл спрецифициран од ваша страна со нов ред за секој збор, било тоа да е од фајл, фајлови или фолдер.

Официјална страна и преземање: http://www.remote-exploit.org/codes_wyd.html

Стар е текстот па затоа е на латиница... ;)
Za koristenje na povekjeto od ovie odnosno za dobivanje pobrzi rezultati e potrebna golema I dovolno dobra lista na zborovi. Tuka ke vi prezentirame I alatka so cija pomos moze da se sozdade solidna lista od zborovi.
Prvata e narecena Wyd a nejzini avtori se Max Moser & Martin J. Muench.
Idejata za ovaa alatka dosla po nekolku neuspesni obidini za vreme na pen-test da probijat lozinka so vekje postoeckite, gotovi listi na zborovi i so idejata deka za vreme forenzicka istraga, ednostavno nekoi fajlovi mora da se otvorat, a za toa treba da se pogodi lozinkata so koja se zastiteni.
Alatkata e napisana vo Perl sto znaci za da ja startuvate ke vi treba perl interpreter. Kodot e ednostaven i cist, alatkata raboi dovolno brzo odnosno ima dobri performansi.
Kako vsusnost raboti I sto raboti skriptata? Alatkata cita tekst od obicen (plain) tekst, .html, .doc, .pdf, .ppt, .mp3 fajlovi. I gi zapisuva tie zborovi vo nov fajl. Koga prvpat go vidov vednas pomsliv deka ima golema mana i deka zapisuva site zborovi koisto ke gi najde bez razlika dali tie se vece zapisani vo listata, no po testot vidov deka takvo nesto ne postoi I deka vo noviot fajl se zapisuvaat site zborovi po ednas bez povtoruvanja.

[[email protected] wyd] wyd.pl

*
* wyd.pl 0.1 by Max Moser and Martin J. Muench
*

Usage: wyd.pl [OPTIONS] <file(s)|directory>

Options:

-o <file> = Write wordlist to <file>
-t = Separate wordlist files by type, e.g. '<file>.doc'
-s <min-len> = Use 'strings' for unsupported files
-b = Disable removal of non-alpha chars at beginning of word
-e = Disable removal of non-alpha chars at end of word
-f = Disable inclusion of filenames in wordlist
-v = Show debug / verbose output



Znaci komandata bi izlgedala: perl wyd.pl –o pass.txt [folder] , so ova skriptata proadja niz site tekst fajlovi vo folderot i zborovnata lista pass.txt ja zapisuva vo folderot kade sto se naodja wyd.pl fajlot. Po startuvanjeto ke dobiete nekolku poraki so greski no samo pritisnete enter I bi trebalo se da e vo red I na kraj da ja dobiete vasata zborovna lista.

Mozebi ke sakate da gi instalirate perl modulite koi doadjaat zaedno vo tarball-ot vo /lib folderot na perl direktoriumot.
Извор: www.itsec.com.mk

За преземање на Perl за Windows: www.activestate.com/store/activeperl/download/

За Linux мислам дека веќе треба да е вградено во сите дистроа, доколку не е... www.perl.com/download.csp

:bravo:
 
  • Ја почнал/а темата
  • #2

LiquidWorm

Администратор
26 март 2007
2,667
183
www.zeroscience.mk
Кодот(wyd.pl):

Код:
#!/usr/bin/perl
#
# wyd.pl by Max Moser and Martin J. Muench
#
#  [ Licence ]
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
#  See 'docs/gpl.txt' for more information.

use strict;
use FileHandle;
use File::Find;
use File::Basename;
use Getopt::Long;

my   = "0.2";  # version

my @listoffiles;       # The list of files to process
my  = undef;  # scalar that is filled with 'file' program

# Module hash containing module name and supported file extensions
# Multiple extensions are seperated using ';'
my %wlgmods = (
	       'wlgmod::strings', '',           # only used with command-line switch
	       'wlgmod::plain'  , '.txt',       # used for all MIME text/plain as well
	       'wlgmod::html'   , '.html;.htm;.php;.php3;.php4',
	       'wlgmod::doc'    , '.doc',
	       'wlgmod::pdf'    , '.pdf',
	       'wlgmod::mp3'    , '.mp3',
	       'wlgmod::ppt'    , '.ppt',
	       'wlgmod::jpeg'   , '.jpeg;.jpg;.JPG;.JPEG',
	       'wlgmod::odt'    , '.odt;.ods;.odp'
	       );

# Hash that will be filled dynamically with filehandles (if -t is used)
my %file_handle = ();

#### Begin main ####

# Print Header
print STDERR "n*n* $0  by Max Moser and Martin J. Muenchn*nn";

# Check command line options
my %opts;
my   = undef;
my     = undef;
my  = undef;
my    = undef;
my           = undef;      # set to "1" for debugprints -v will do this on command line
my     = undef;
my    = undef;
my   = undef;

# Parse command line
&usage if !GetOptions ('s=i' => , 
		       'o=s' => ,
		       'v+'  => ,
		       'e+'  => ,
		       'b+'  =>  , 
		       't+'  => , 
		       'f+'  => ,
		       'n+'  => );


# -t used without -o
&usage if( && !);

# No file(s)/dir(s) given
&usage if($#ARGV < 0);

# Add given file(s)/directories to array
for(my  = 0 ;  <= $#ARGV ; ++) {
    # File/Dir does not exist
    if ( ! -e ) {
	die "nError,  does not exist.nn";	
    }
    # Directory given
    elsif ( -d )
    {
	# Its a directory so we first generate a list of all files with names
	print "n Its a directory n" if ;

	 = qw(.) unless ;

	find sub { 
	    push @listoffiles, ::Find::name if -f 		
	}, ;
	
    }
    # Single File
    elsif (-f )  {
	push @listoffiles, ;
    }
    else {
	die "n* Error:  is not a directory and not a regular file.n* Sorry, for now this is unsupported.nn";
    }
    
}

print "nnThats the list to process: @listoffilesnn" if ;


# Initialize modules
if (!&check_n_init) { 
    die "n* Processing abortednn"; 
}

# Open outputfile if requested
if( && !) {
    open(OUTPUT, ">") || die "n* Cannot open output file: $!n";
}
# Create output files for all types if requested
elsif( && ) {
    foreach (keys %wlgmods) {
	 =~ s/wlgmod:://;
	my  =  new FileHandle ".", "w";
	if(!) {
	    die "n* Cannot create .: $!n";
	}
         = ;
    }
}

# We progress now with processing the files and produce the output
foreach my  (@listoffiles)
{
    # Get words using modules
    my (, @words) = get_words();

    # Print to given output (STDOUT || file)

    my  = @words;
    if( > 0) {
	print "---- Words in  -----nn"  if ;

	foreach my  (unique (@words)) 
	{
	    # Write to single file
	    if( && !) {
		print OUTPUT "n";
	    }
	    # Write to type-specific output files
	    elsif( && ) {
		foreach(keys %file_handle) {
		    if( eq ) {
			my  = ;		
			print  "n";
		    }
		}
	    }
	    else {
		print "n";
	    }
	} 
	
	print "n-----  -----n" if ;
    }
}

# single out
if( && !) {
    close(OUTPUT);
}
# single file for each type
elsif( && ) {
    foreach(keys %file_handle) {
	my  = ;
	close();
	# remove empty files
	my  = ".";
	unlink  if -z ;
    }
}


print STDERR "n** Donenn";

exit(0);

#### End of main ####

# Load needed plugin and extract words
sub get_words {
    my ()     = @_;
    my       = 0;
    my @words      = undef;
    my        = undef;
    my   = undef;
    my    = undef;
    my    = undef;

    (, , ) = fileparse(,'..*');

    # Look for matching module and get words
    foreach(keys %wlgmods) {
	my @ext = split(";", );
	foreach my  (@ext) {
	    if( eq ) {
		 = ;
		@words = ();
		=1;
		last;
	    }
	}
    }

    # If no module is found, do further checks
    if(!) {
	# Check MIME type, if ascii try plain-text module
	open(FILE, " -bi ""|") || die "Cannot execute file: $!n";
	my  = <FILE>;
	close(FILE);
	if( =~ m/^text/plain/) {
	    print "'file' MIME check returned text/plainn" if ;
	     = "wlgmod::plain";
	    @words = wlgmod::plain->get_words();
	}
	# Use strings module
	elsif() {
	    # Check if strings module available
	    foreach(keys %wlgmods) {
		if( eq "wlgmod::strings") {
		     = "wlgmod::strings";
		    @words = wlgmod::strings->get_words(,);
		}
	    }
	}
	# Give up and ignore file
	else {
	    print STDERR "Ignoring file ''n";
	    return (undef, undef);
	}
    }

    # Add filename itself to wordlist (without path/extension)
    if(!) {
	push @words, ;
    }

    # Remove brackets quotes etc.
    my @Cleanedwords;
    foreach (@words) {
	s/^W*(.*)/$1/	unless ;
	s/^(.*)W+$/$1/ unless ;		
	push @Cleanedwords,;
    }

    # Cleanup type for high-level func
     =~ s/wlgmod:://;

    return (, @Cleanedwords);

} # End sub getwords

# Check modules for availability and init or remove them
sub check_n_init {
    my  = undef;

    # Check for 'file'
    open(FILE, "which file|");
    chomp( = <FILE>);
    close(FILE);
    if($?) {
	 = undef;
	 .= "file: Cannot locate 'file', skipping MIME type check on unknown files";
    }

    # Initialize possible modules
    foreach(keys %wlgmods) {
	eval("use ;");
	my  = ();
	# If module failed, add errortext and remove from hash
	if() {
	     .= ": n";
	    delete ;
	     = "";
	}
    }

    # If one or more modules failed, let user decide what to do
    if() {
	print STDERR "n* Error initializing some modules:nnn";
	# prompt user what to do if not disabled
	if(!) {
	    print STDERR "* Press enter to disable them and continue or STRG+C to abortn";
	    <STDIN>;
        }
    }

    return 1;
}


# Make resulting list entries unique
sub unique {
    my  = shift;
    my @uniq    = undef;
    my %seen    = ();
    @uniq = grep { !  ++ } @;
    return @uniq;
}

# print usage and exit
sub usage {
print qq~Usage: $0 [OPTIONS] <file(s)|directory>

       Options: 

       -o <file>     = Write wordlist to <file>
       -t            = Separate wordlist files by type, e.g. '<file>.doc'
       -s <min-len>  = Use 'strings' for unsupported files
       -b            = Disable removal of non-alpha chars at beginning of word
       -e            = Disable removal of non-alpha chars at end of word
       -f            = Disable inclusion of filenames in wordlist        
       -v            = Show debug / verbose output
       -n            = Continue even if programs / modules are missing

~;
exit(1);
}

#### EOF #####
 

GeNeRaToR

Intern
20 јануари 2008
538
7
да cool би била доколку ми објасните како да ја вклучам оваа програма
 

Aleks

Gaining Experience
18 мај 2007
5,748
288
Usage: wyd.pl [OPTIONS] <file(s)|directory>

Options:

-o <file> = Write wordlist to <file>
-t = Separate wordlist files by type, e.g. '<file>.doc'
-s <min-len> = Use 'strings' for unsupported files
-b = Disable removal of non-alpha chars at beginning of word
-e = Disable removal of non-alpha chars at end of word
-f = Disable inclusion of filenames in wordlist
-v = Show debug / verbose output
Eve ti se potrebno
 

Aleks

Gaining Experience
18 мај 2007
5,748
288
Јас сум 8-одд и сум одел 4 години квалитетни курсеви информатика. Дома од 2 годинки сум на компјутер и знам: Design, OS, Office, се за компјутерот, хардвер и софтвер.(се знам)
Ova sve objasnuva
 

hmmm

Gaining Experience
30 ноември 2007
1,242
81
hmmm's setup  
Processor & Cooler
i5 3570k @4.2GHz & CM Hyper 212+
Motherboard
AsRock Z77 Pro3
Storage
Samsung 840 EVO 120GB + WD Black 1TB
PSU
Corsair CX600
RAM
2x4GB G.Skill Sniper 1600MHz
Video card
HD4000
Case
Custom
Mouse
Gigabyte GM-M7000
Keyboard
Generic
Audio
Asus Xonar DG
Monitor
Compaq Q2159
OS
Windows 8 64bit
Воопшто не си сериозен и постираш непотребни и несериозни постови.
И јас се сложувам со AMD_fan, пишуваш, пишуваш... и или е прашање или е нешто за да си го зголемиш бројот на постовите(мислењата).... :ua:
 

AMD_fan

Gaining Experience
10 ноември 2007
3,646
139
Ве молам, да не заминуваме оф топик. Да се вратиме на темата. :bravo:
 

Alexandar

Gaining Experience
21 мај 2007
2,514
90
Оф-топик:

Во последно време забележав дека има многу постови од типот: побарај на Гугл, Гугл знае. Луѓе, доста е вакви постови. Доколку имате нешто корисно да кажете, слободно постирајте, но избегнувајте такви постови. Секој од нас знае дека Гугл знае се, а оној што побарал помош овде најверојатно не нашол одговор на Гугл. Впрочем, затоа сме и сите тука, да си помагаме еден на друг. И Гугл кога пребарува одреден поим, пребарува и низ форумите, па зошто тоа да не биде баш овој форум?
 

AMD_fan

Gaining Experience
10 ноември 2007
3,646
139
Уште еднаш да ве потсетам:
Насловот на темава е [PERL] wyd.pl (алатка за креирање на листа на зборови = wordlist) и потрудете се идните постови да бидат он топик. :bravo:
 

386ka

Gaining Experience
22 декември 2007
2,365
193
Dali nekoj uspeal da napravi word lista preku ovoj program? Jas probuvav, ama nekako ne mi idese... nekakvi errori mi pojavuvase. I stisnav enter i pass.txt mi bese prazna :-( . Koj del od programot od koj sto ke pravam word lista da mu go stavam?
 
  • Ја почнал/а темата
  • #17

LiquidWorm

Администратор
26 март 2007
2,667
183
www.zeroscience.mk
More help...

Одреден тип на фајл или цел фолдер...од кои wyd.pl ги подржува следниве типови на фајлови од кои може да зема зборови:

* plain
* html
* php (partially, as html)
* doc
* pdf
* mp3
* ppt
* jpeg
* odt / ods / odp


Вака, кај мене работи на следниот начин...

1. Ја симнуваш алатката од : http://www.remote-exploit.org/codes/wyd/wyd-0.2.tar.gz

2. Отпакувајте ја алатката во соодветен фолдер по ваш избор

3. Да речеме дека имам .doc фајл или податок. И сакам од тој документ, сите зборови што ги има таму да ги ставам во текст фајл наречен zborovi.txt. Тоа го правам на следниот начин:
- Го префрлувам .doc документот во фолдерот каде што се наоѓа алатката wyd.pl
* За Windows корисници со инсталиран Perl: Отворам: Start > Run > cmd.exe > ENTER, навигирам до фолдерот на wyd.pl и пишувам: wyd.pl -o zborovi.txt DOKUMENT.doc (каде наместо DOKUMENT.doc можете да ставите и некој фолдер со фајлови, откако е префрлен во фолдерот на wyd.pl нормално)
* За Linux корисници со инсталиран Perl: Отворам Terminal > навигирам до фолдерот на wyd.pl и пишувам: perl wyd.pl -o zborovi.txt DOKUMENT.doc
4. Притискам ENTER за да заврши креирањето и толку ;)

Е сега...може да добиваш грешки додека не си во фолдерот на wyd.pl, или си го извадил wyd.pl од неговиот фолдер, што не треба така, затоа што во фолдерот се наоѓаат потребните Perl модули (поточно во фолдерот wlgmod) за да wyd.pl работи како што треба...Или грешки едноставно дека ги немаш инсталирано самите модули...

Повеќе информации за потребните модули:

- catdoc (http://www.45.free.net/~vitus/software/catdoc/)
- OpenOffice::OODoc (http://www.cpan.org/modules/index.html)
- HTML::Entities (http://www.cpan.org/modules/index.html)
- mp3info (http://www.ibiblio.org/mp3info/)
- pdftotext (http://www.foolabs.com/xpdf/)
- jhead (http://www.sentex.net/~mwandel/jhead/)
- catppt (http://www.45.free.net/~vitus/software/catdoc/)

Изглед на такви грешки:
* Error initializing some modules:

wlgmod::doc: Cannot find 'catdoc' (http://www.45.free.net/~vitus/software/catdoc/)
wlgmod::eek:dt: Canont find module OpenOffice::OODoc (http://www.cpan.org/modules/index.html)
wlgmod::html: Canont find module HTML::Entities (http://www.cpan.org/modules/index.html)
wlgmod::mp3: Cannot find 'mp3info' (http://www.ibiblio.org/mp3info/)
wlgmod::pdf: Cannot find 'pdftotext' (http://www.foolabs.com/xpdf/)
wlgmod::jpeg: Cannot find 'jhead' (http://www.sentex.net/~mwandel/jhead/)
wlgmod::ppt: Cannot find 'catppt' (http://www.45.free.net/~vitus/software/catdoc/)

* Press enter to disable them and continue or STRG+C to abort
И тако....и тако....

Благодарам.

:potenje:

P.S. Значи алатката е напишана во Perl програмскиот јазик, така да, за користење на алатки напишани во Perl или инсталирање на модули за Perl, можете да отворите нова тема за тоа, како тоа се имплементира, користи и слично... :bravo:
 

386ka

Gaining Experience
22 декември 2007
2,365
193
napraviv se kako so mi kaza:
-go downloadirav
-go extraktirav na desktop
-otvoriv cmd
-napraviv cd do C:\Documents and Settings\ne e vazno\Desktop\wyd-0.2
-go staviv tamu dokumentot ajnstajn.doc i pisav: wyd.pl -o pass.txt ajnstajn.doc
i pak mi se pojavuvaat tie greski
* Error initializing some modules:
wlgmod::doc: Cannot find 'catdoc' (http://www.45.free.net/~vitus/software/catdoc/)
wlgmod::eek:dt: Canont find module OpenOffice:ODoc (http://www.cpan.org/modules/index.html)
wlgmod::html: Canont find module HTML::Entities (http://www.cpan.org/modules/index.html)
wlgmod::mp3: Cannot find 'mp3info' (http://www.ibiblio.org/mp3info/)
wlgmod::pdf: Cannot find 'pdftotext' (http://www.foolabs.com/xpdf/)
wlgmod::jpeg: Cannot find 'jhead' (http://www.sentex.net/~mwandel/jhead/)
wlgmod::ppt: Cannot find 'catppt' (http://www.45.free.net/~vitus/software/catdoc/)

* Press enter to disable them and continue or STRG+C to abort
i posle mu stiskam enter i pass.txt e prazno!!!:plachko2::plachko2::plachko2:
 

386ka

Gaining Experience
22 декември 2007
2,365
193
Pa instaliranii mi se ama pak mi se pojavuva toj problem. Na primer ako go oznacam folderot na unreal tournament 1 da mi go skenira za wordlista, ke mi ja generira, sto znaci deka modulite mi se instalirani!
 

ddd555

Intern
10 јуни 2010
1
0
Error, DOCUMENT.doc does not exist.
Ми ја дава оваа грешка (неможе да ми го најде документот) иако ми е ставен во папката кај што ми е и wyd.pl :zbunet3:
 

Нови мислења

Последни Теми

Онлајн администрација

Статистика

Теми
43,518
Мислења
822,433
Членови
28,050
Најнов член
mindifislytherin
На врв Дно