Git Product home page Git Product logo

crazyparser's Introduction

CrazyParser

CrazyParser is a python utility to automate the generation of potential typosquatted domain names using URLCrazy and/or dnstwist. CrazyParser takes an input file of domain names, a list of domains previously identified by URLCrazy and/or dnstwist, and generates an email notification indicating whether new typosquatted domains have been identified.

This was originally created to notify security analysts of potential new typosquatted domains that may be used in a phishing attack. Security analysts can use this information to enhance monitoring or place blocking in web proxies to prevent access to the phishing domain.

CrazyParser files

  • crazyParser.py - Python utility for automating URLCrazy and dnstwist queries
  • mydomains.csv - contains all domains you wish to query for typosquatting
  • knowndomains.csv - contains domains previously identified valid or typosquatted domains

mydomains.csv format

mydomains.csv contains a list of one or more domains to monitor for, one per line.

knowndomains.csv

knowndomains.csv contains domains previously identified as either typosquatters or valid domains. The format of this file is one entry per line in the form of: domain.tld,reason. knowndomains.csv must have a header row containing the text "Domain,Reason". The reason is not used by crazyParser. This field should be populated with your description of the domain.

To populate knowndomains.csv, clear the example entries from knowndomains.csv and use crazyParser to generate a list of domains to review. Review each domain to determine if it is a valid domain or a typosquatter. Record the domain name and whether the domain is valid or a typosquatter in this file.

Usage

python crazyParser.py.

crazyParser takes each domain listed in mydomains.csv and uses URLCrazy and/or dnstwist to generate a list of typosquatted domains. Each registered domain is compared against knowndomains.csv. If there are no new domains discovered, crazyParser will generate an email containing an all clear message. If any new domains are discovered, the output will be placed in a csv file and attached to an email stating a review is necessary. This output should be reviewed and the knowndomains.csv file should be updated with the new entry.

To Do

  • sendMail() will break if too many recipients are specified

crazyparser's People

Contributors

hardwaterhacker avatar jdogherman 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  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  avatar  avatar  avatar  avatar

crazyparser's Issues

Python 2.7.7 Knowndomains.csv

The program crashes using the urlcrazy option if any domains are in the knowndomains.csv file.

Error Received:
Traceback (most recent call last):
File "crazyParser.py", line 354, in
main()
File "crazyParser.py", line 345, in main
parseOutput(docRoot, knownDomains, resultsFile, args.urlcrazy, args.dnstwist)
File "crazyParser.py", line 161, in parseOutput
knowndom.append(row['Domain'])
KeyError: 'Domain'

Error executing command

root@mdm:~/CrazyParser# ./crazyParser.py --urlcrazy
Traceback (most recent call last):
File "./crazyParser.py", line 354, in
main()
File "./crazyParser.py", line 345, in main
parseOutput(docRoot, knownDomains, resultsFile, args.urlcrazy, args.dnstwist)
File "./crazyParser.py", line 171, in parseOutput
if row['CC-A'] != "?":
KeyError: 'CC-A'

root@mdm:/CrazyParser# ./crazyParser.py --dnstwist
Traceback (most recent call last):
File "./crazyParser.py", line 354, in
main()
File "./crazyParser.py", line 345, in main
parseOutput(docRoot, knownDomains, resultsFile, args.urlcrazy, args.dnstwist)
File "./crazyParser.py", line 186, in parseOutput
if row[1] in knowndom:
IndexError: list index out of range
root@mdm:
/CrazyParser#

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.