Giter Site home page Giter Site logo

j4nn0 / wordlist-generator Goto Github PK

View Code? Open in Web Editor NEW
27.0 4.0 4.0 230 KB

Generate customised wordlist for penetration testing practice (e.g. brute force attack, dictionary attack, etc.)

Home Page: https://youtu.be/stTbTtPT40s

License: GNU General Public License v3.0

C 98.63% Makefile 0.85% CMake 0.52%
wordlist penetration-testing pentest-tool wordlist-generator wordlist-technique wordlist-processing dictionary-attack dictionary dictionary-tools customized-wordlists

wordlist-generator's Introduction

Wordlist Generator

Make customised wordlist for penetration testing practice (e.g. brute force attack, dictionary attack, etc.). It is possible to generate different wordlist using different methods, choose your favourite one and enjoy your wordlist!

Disclaimer

  • All the information provided on this repo are for educational purposes only. The repo and author of the repo is no way responsible for any misuse of the information.
  • The term "wordlist-generator" just represents the name of the repo and is not a repo that provides any illegal information. This repo is related to Information Security, Computer Security and Penetration Testing and not a repo/site that promotes hacking/cracking/software piracy.
  • This repo is totally meant for providing information on Computer Security, Information Security, Computer Programming, Penetration Testing and other related topics and is no way related towards the terms “CRACKING” or “HACKING” (Unethical).
  • The Software's and Scripts provided by the this repo should only be used for education purposes. The repo or the author can not be held responsible for the misuse of them by the users.

Demo

Watch the video

Tables of Contents

Usage

  1. Clone the repo and change directory

    git clone https://github.com/J4NN0/wordlist-generator.git
    cd wordlist-generator
    
  2. Compile the files

    make
    
  3. Run the program

    make run
    
  4. Choose the method you prefer and create your wordlist

  5. If you want to cleanup all files

    make clean
    

Wordlist

The wordlist will contain strings with length from 1 character to the max size (decided by you). Keep in mind that the higher will be the string size the more will be the time needed in order to generate the wordlist.

Alphabet wordlist

You have to choose only the max size of the strings that will be generated. The strings will be composed by the whole alphabet (lower case, upper case or both).

For instance, with a maximum string size set at 3:

  • Uppercase mode: it will generate a total of 18278 strings.
  • Lowercase mode: it will generate a total of 18278 strings.
  • Both mode: it will generate a total of 143364 strings.

e.g. lowercase mode:

a aa aaa aab aac aad aae aaf aag aah aai aaj aak ... zzo zzp zzq zzr zzs zzt zzu zzv zzw zzx zzy zzz

Digits wordlist

You have to choose only the max size of the strings that will be generated. The strings will be composed by only numbers.

For instance, with a maximum string size set at 3, it will generate a total of 1110 strings:

0 00 000 001 002 003 004 005 006 007 008 009 01 010 011 012 013 ... 988 989 99 990 991 992 993 994 995 996 997 998 999

Custom wordlist

Just insert manually strings, characters and/or numbers that will compose the wordlist. Then choose the max size of the strings that will be generated.

Guided wordlist

It's a guided version to generate your customized wordlist. You can chose, step by step, if you want insert:

  • Some or all characters of the alphabet.
  • Some or all numbers.
  • Some or all special characters.

Dictionary wordlist

Insert the string you want to modify for dictionary attack.

For instance, the word hello as input will generate the following wordlist:

h3llo
h3ll0
hell0

Wordlist from data file

Enter the file's path containing the strings that will be combined for the wordlist.

Info

For more info about methods above and more.

Files

  • main.c: the main menu.
  • More folder: it contains some basic information about WEP, WPA2, developer and more.
  • System folder: it contains system call (based on current OS) to clean (and pause) the screen.
  • Wordlist folder: it contains all the functions to generate the wordlist.

wordlist-generator's People

Contributors

j4nn0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

wordlist-generator's Issues

Error creating wordlist from data file

Hi.

I was just having a play with your program and encountered a problem...

`>> 5
[!] Remember:
[-] Creating a wordlist of large size, probably it will need some hours!
[-] You can put the extensions when insert the filename (.txt, .dat, etc..).
[-] The maximum string size can be 50.

Insert file name: 10m.pwds.txt

Reading file 10m.pwds.txt...
double free or corruption (out)

Received signal 6 (Abort).
Abnormal termination.Impossible to deallocate memory.
Possible Memory Leak.

Exiting...
`

Apart from the SIGABRT, I am not sure what the error message 'double free or corruption' means - Is the file too large? Corrupt memory management?

The list is 8.2MiB and contains 999998 passwords (wc -l ...). No strings are over 50 chars long. Longest in file is 39 chars (wc -L ...).

Thank you.

PS: Are you able to add a munging option for existing wordlists?

stack buffer overflow

To reproduce, on master:

# cc main.c wordlist.c more.c -fsanitize=address -g3 -o wordlist
# ./wordlist
Press enter and then 2


==20524==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fffef5ec1a1 at pc 0x7f32e571814e bp 0x7fffef5ec020 sp 0x7fffef5eb7a8
WRITE of size 2 at 0x7fffef5ec1a1 thread T0
    #0 0x7f32e571814d in scanf_common /tmp/portage/sys-devel/gcc-8.2.0-r6/work/gcc-8.2.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors_format.inc:341
    #1 0x7f32e5719257 in __interceptor___isoc99_vfscanf /tmp/portage/sys-devel/gcc-8.2.0-r6/work/gcc-8.2.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1378
    #2 0x7f32e5719356 in __interceptor___isoc99_fscanf /tmp/portage/sys-devel/gcc-8.2.0-r6/work/gcc-8.2.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1395
    #3 0x5576e5492586 in main /wordlist-master/main.c:45
    #4 0x7f32e553045a in __libc_start_main (/lib64/libc.so.6+0x2445a)
    #5 0x5576e5492339 in _start (/wordlist-master/wordlist-master+0x3339)

Address 0x7fffef5ec1a1 is located in stack of thread T0 at offset 33 in frame
    #0 0x5576e5492404 in main /wordlist-master/main.c:25

  This frame has 1 object(s):
    [32, 33) 'oper' <== Memory access at offset 33 overflows this variable
HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /tmp/portage/sys-devel/gcc-8.2.0-r6/work/gcc-8.2.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors_format.inc:341 in scanf_common
Shadow bytes around the buggy address:
  0x10007deb57e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10007deb57f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10007deb5800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10007deb5810: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10007deb5820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x10007deb5830: f1 f1 f1 f1[01]f2 f2 f2 00 00 00 00 00 00 00 00
  0x10007deb5840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10007deb5850: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10007deb5860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10007deb5870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10007deb5880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==20524==ABORTING

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.