Coder Social home page Coder Social logo

knock's Introduction

Knock Subdomain Scan v7.0.1

✔️ Fast ✔️ Easy ✔️ Modular

Knockpy is a portable and modular python3 tool designed to quickly enumerate subdomains on a target domain through passive reconnaissance and dictionary scan.

knockpy7

Install via pip

pip install git+https://github.com/guelfoweb/knock.git

Install via pip requirements.txt file

knockpy @ git+https://github.com/guelfoweb/knock.git

Install via git

git clone https://github.com/guelfoweb/knock.git
cd knock
pip install .

Usage

usage: KNOCKPY [-h] [-d DOMAIN] [-f FILE] [-v] [--dns DNS] [--useragent USERAGENT]
               [--timeout TIMEOUT] [--threads THREADS] [--recon] [--bruteforce] 
               [--wordlist WORDLIST] [--json-output] [--list] [--report REPORT]

knockpy v.7.0.1 - Subdomain Scan
https://github.com/guelfoweb/knock

options:
  -h, --help            show this help message and exit
  -d DOMAIN, --domain DOMAIN
                        domain to analyze
  -f FILE, --file FILE  domain list from file path
  -v, --version         show program's version number and exit
  --dns DNS             custom dns
  --useragent USERAGENT
                        custom useragent
  --timeout TIMEOUT     custom timeout
  --threads THREADS     custom threads
  --recon               subdomain reconnaissance
  --bruteforce          subdomain bruteforce
  --wordlist WORDLIST   wordlist file to import
                        --bruteforce option required
  --wildcard            test wildcard and exit
  --json                shows output in json format
  --save FOLDER         folder to save report
  --report REPORT       shows saved report

Example

  • Start scanning domain with --recon and --bruteforce options
knockpy -d domain.com --recon --bruteforce
  • Set API KEY: VirusTotal and Shodan
export API_KEY_VIRUSTOTAL=your-virustotal-api-key
export API_KEY_SHODAN=your-shodan-api-key
  • Save the report in a folder
knockpy -d domain.com --recon --bruteforce --save report
  • Shows saved report
knockpy --report domain.com_yyyy_aa_dd_hh_mm_ss.json

Import as module

from knock import KNOCKPY

domain = 'domain.com'

results = KNOCKPY(domain, dns=None, useragent=None, timeout=None, threads=None, recon=True, bruteforce=True, wordlist=None)

print (results)

knock's People

Contributors

drego85 avatar fabaff avatar guelfoweb avatar locutusofborg avatar mlodic avatar r0ckysec avatar x-f1v3 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  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  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  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

knock's Issues

ERROR: Issue with requirements.txt

ERROR: Could not find a version that satisfies the requirement python-dnspython (from versions: none)
ERROR: No matching distribution found for python-dnspython

cant load modules ...

Traceback (most recent call last):
File "C:\Python36\Scripts\knock-4.1\knockpy\knockpy.py", line 6, in
from modules import resolve
File "C:\Python36\Scripts\knock-4.1\knockpy\modules\resolve.py", line 2, in
import header
ModuleNotFoundError: No module named 'header'

But there is a header.py in the module folder...

Add title page

It would be great if you can add title of subdomains.

Support for Module import to be used external from other python modules

I would really like the feature to be added that enables knockpy to be module that can be used easily or imported for example

import knock
or
from knocky import finder
or
from knock import enumerator
# Then
subdomain_list = finder("example.com")

The reason is am compiling subdomain enumeration tools to be used online here
7 Online subdomain finder

If possible can I please add this feature and the merge to main?
Thank you

"knockpy.py", line 53 problem

root@kali:/home/kali/Desktop/knock/knockpy# python3 knockpy.py google.com
File "knockpy.py", line 53
print """


| |/ / | | """+version+"""
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("""


| |/ / | | """+version+""")?

Manual installation error

When i tried to install it manually, it is gives error.

   Traceback (most recent call last):
    File "setup.py", line 21, in <module>
    from setuptools import setup
    ImportError: No module named setuptools 

Threads

Hello @guelfoweb ,
Its helpful if you introduce a -t (thread) #switch to perform the task speedy.

File "knockpy.py", line 53

Via Termux (Android)

$ python knockpy.py google.com
File "knockpy.py", line 53
| |/ / | | """+version+"""
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("""


| |/ / | | """+version+""")?

#################
knockpy -h
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/bin/knockpy", line 11, in
load_entry_point('knockpy==4.1.1', 'console_scripts', 'knockpy')()
File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/pkg_resources/init.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/pkg_resources/init.py", line 2793, in load_entry_point
return ep.load()
File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/pkg_resources/init.py", line 2411, in load
return self.resolve()
File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/pkg_resources/init.py", line 2417, in resolve module = import(self.module_name, fromlist=['name'], level=0)
File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/knockpy-4.1.1-py3.7.egg/knockpy/knockpy.py", line 53
| |/ / | | """+version+"""
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("""


| |/ / | | """+version+""")?

string index out of range

Traceback (most recent call last):
File "knockpy.py", line 384, in
main()
File "knockpy.py", line 326, in main
print_output(subdomain_resolve)
File "knockpy.py", line 92, in print_output
subdomain_csv_list.append(ip_alias+','+str(data['status'])+','+'alias'+','+str(alias)+','+escape_csv(str(server_type)))
File "knockpy.py", line 75, in escape_csv
if user_generated_string[0] in ('@','+','-', '='):
IndexError: string index out of range

How to custome Add subdomain list ?

I already have list of subdomains of a site, how do I use knockpy to scan those subdomain to see if they are pointing to service like heroku or amazon ?

Please add a setup.py

In order to have it in debian (yes, I want to package this tool), I would like to have a setup.py script, in order to use the debhelper facilities for installing the tool automagically.
Is it possible?

thanks

Some Syntax errors and module missing

Here is the First one:
File "knockpy.py", line 53
print """


| |/ / | | """+version+"""
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("""


| |/ / | | """+version+""")?
root@Im-Sadka:/knock/knockpy# ^C
root@Im-Sadka:
/knock/knockpy# python knockpy.py www.tanda.co
File "knockpy.py", line 63
print '\nIp Address\tStatus\tType\tDomain Name\t\t\tServer'
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('\nIp Address\tStatus\tType\tDomain Name\t\t\tServer')?

Second one:
File "knockpy.py", line 63
print '\nIp Address\tStatus\tType\tDomain Name\t\t\tServer'
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('\nIp Address\tStatus\tType\tDomain Name\t\t\tServer')?
root@Im-Sadka:/knock/knockpy# python knockpy.py www.tanda.co
Traceback (most recent call last):
File "knockpy.py", line 5, in
from modules import header
File "/root/knock/knockpy/modules/header.py", line 2, in
import httplib
ModuleNotFoundError: No module named 'httplib'
root@Im-Sadka:
/knock/knockpy# ^C
root@Im-Sadka:~/knock/knockpy# python knockpy.py www.tanda.co
Traceback (most recent call last):
File "knockpy.py", line 4, in
from modules import httplib
ImportError: cannot import name 'httplib' from 'modules' (/root/knock/knockpy/modules/init.py)

erroe dnspython

It says try pip install dnspython
So, when i run that command the result is requirement already satisfied,confused How can i make it detect dnspython any solution?

Issues in script Knock.py

Dear Team,

I am getting following issues while running the script:-

^CTraceback (most recent call last):
File "/usr/bin/knockpy", line 9, in
load_entry_point('knockpy==3.0', 'console_scripts', 'knockpy')()
File "/usr/lib/python2.7/dist-packages/knockpy/knockpy.py", line 136, in main
start(domain)
File "/usr/lib/python2.7/dist-packages/knockpy/knockpy.py", line 59, in start
core.subdomain_scan()
File "/usr/lib/python2.7/dist-packages/knockpy/modules/core.py", line 217, in subdomain_scan
result = get_target(target, False, False)
File "/usr/lib/python2.7/dist-packages/knockpy/modules/core.py", line 49, in get_target
return target.get(_target, verbose, test)
File "/usr/lib/python2.7/dist-packages/knockpy/modules/target.py", line 30, in get
result = subscan.start(target)
File "/usr/lib/python2.7/dist-packages/knockpy/modules/subscan.py", line 31, in start

Please help me out to resolve the above issues

Best Regards,
Uemsh Jore

no HTTPLIB module

Hellow ,
i wonder if we are missing a file named "Httplib" in the module section ?
thanks

knock fails to find python-dnspython on Debian 8.x

cloned the git repo
ran sudo python setup.py install

running install
Checking .pth file support in /usr/local/lib/python2.7/dist-packages/
/usr/bin/python -E -c pass
TEST PASSED: /usr/local/lib/python2.7/dist-packages/ appears to support .pth files
running bdist_egg
running egg_info
creating knockpy.egg-info
writing requirements to knockpy.egg-info/requires.txt
writing knockpy.egg-info/PKG-INFO
writing top-level names to knockpy.egg-info/top_level.txt
writing dependency_links to knockpy.egg-info/dependency_links.txt
writing entry points to knockpy.egg-info/entry_points.txt
writing manifest file 'knockpy.egg-info/SOURCES.txt'
reading manifest file 'knockpy.egg-info/SOURCES.txt'
writing manifest file 'knockpy.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/knockpy
copying knockpy/knockpy.py -> build/lib.linux-x86_64-2.7/knockpy
copying knockpy/__init__.py -> build/lib.linux-x86_64-2.7/knockpy
creating build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/wildcard.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/zonetransfer.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/headers.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/subscan.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/wordlist.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/stats.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/utilipy.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/getheader.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/core.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/__init__.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/target.py -> build/lib.linux-x86_64-2.7/knockpy/modules
copying knockpy/modules/font.py -> build/lib.linux-x86_64-2.7/knockpy/modules
creating build/lib.linux-x86_64-2.7/knockpy/wordlist
copying knockpy/wordlist/wordlist.txt -> build/lib.linux-x86_64-2.7/knockpy/wordlist
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/knockpy
copying build/lib.linux-x86_64-2.7/knockpy/knockpy.py -> build/bdist.linux-x86_64/egg/knockpy
creating build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/wildcard.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/zonetransfer.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/headers.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/subscan.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/wordlist.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/stats.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/utilipy.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/getheader.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/core.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/__init__.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/target.py -> build/bdist.linux-x86_64/egg/knockpy/modules
copying build/lib.linux-x86_64-2.7/knockpy/modules/font.py -> build/bdist.linux-x86_64/egg/knockpy/modules
creating build/bdist.linux-x86_64/egg/knockpy/wordlist
copying build/lib.linux-x86_64-2.7/knockpy/wordlist/wordlist.txt -> build/bdist.linux-x86_64/egg/knockpy/wordlist
copying build/lib.linux-x86_64-2.7/knockpy/__init__.py -> build/bdist.linux-x86_64/egg/knockpy
byte-compiling build/bdist.linux-x86_64/egg/knockpy/knockpy.py to knockpy.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/wildcard.py to wildcard.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/zonetransfer.py to zonetransfer.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/headers.py to headers.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/subscan.py to subscan.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/wordlist.py to wordlist.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/stats.py to stats.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/utilipy.py to utilipy.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/getheader.py to getheader.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/core.py to core.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/target.py to target.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/modules/font.py to font.pyc
byte-compiling build/bdist.linux-x86_64/egg/knockpy/__init__.py to __init__.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying knockpy.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying knockpy.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying knockpy.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying knockpy.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying knockpy.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying knockpy.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
knockpy.__init__: module references __file__
knockpy.modules.wordlist: module references __file__
creating dist
creating 'dist/knockpy-3.0-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing knockpy-3.0-py2.7.egg
creating /usr/local/lib/python2.7/dist-packages/knockpy-3.0-py2.7.egg
Extracting knockpy-3.0-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Adding knockpy 3.0 to easy-install.pth file
Installing knockpy script to /usr/local/bin
Installed /usr/local/lib/python2.7/dist-packages/knockpy-3.0-py2.7.egg
Processing dependencies for knockpy==3.0
Searching for dnspython==1.10.0
Best match: dnspython 1.10.0
Adding dnspython 1.10.0 to easy-install.pth file
Using /usr/lib/python2.7/dist-packages
Finished processing dependencies for knockpy==3.0

Time to play...

geeknik@a1b2c3d4:~/knock$ knockpy domain.com
ImportError: No module named dnspython
install python-dnspython

Wait, what?

geeknik@a1b2c3d4:~/knock$ dpkg --list | grep dnspython
ii  python-dnspython                      1.10.0-1                          all          DNS toolkit for Python

WildCard start scan or no

I think it would be good if we had a way to confirm that we want to scan when the wildcard is set on the domain, since I find that does not give much info at all...

Tor

adding Tor Socks will be amazing :D

Spelling Error in README.rst

This is what is written in the first paragraph of the README.rst

"Now knockpy supports queries to VirusTotal subdomains, you can setting the API_KEY within the config.json file"

But I believe that it was supposed to be this way...

"Now knockpy supports queries to VirusTotal subdomains, you can set the API_KEY within the config.json file."

To correct that, you can simply copy the correction I made, and paste it into the README.rst replacing the wrong spelling.

Syntax Error

SyntaxError: Missing parentheses in call to 'print'. Did you mean print("""


| |/ / | | """+version+""")?

Getting this error when trying to use the script. Please can we have this issue fixed?

Thanks

Syntax Error

Traceback (most recent call last):
File "/usr/local/bin/knockpy", line 11, in
load_entry_point('knockpy==4.1.1', 'console_scripts', 'knockpy')()
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 480, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2693, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2324, in load
return self.resolve()
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2330, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/usr/local/lib/python3.6/dist-packages/knockpy-4.1.1-py3.6.egg/knockpy/knockpy.py", line 53
| |/ / | | """+version+"""
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("""


| |/ / | | """+version+""")?

Add Windows support

Is it possible to add support Windows? Right now:
Traceback (most recent call last):
File "C:\knock3\knockpy\knockpy.py", line 19, in
from modules import core
File "C:\knock3\knockpy\modules\core.py", line 27, in
import wordlist
File "C:\knock3\knockpy\modules\wordlist.py", line 23, in
from knockpy import get_data
File "C:\knock3\knockpy\knockpy.py", line 19, in
from modules import core
ImportError: cannot import name core

Remove knock

How to remove knockpy?
I want to reinstall knockpy

TypeError: 'bool' object has no attribute '__getitem__'

knock# python knock.py rails.cn
Wildcard enabled

Getting NS records for rails.cn

Ip Address Server Name


114.255.140.133 dns.rails.cn
114.255.140.131 ns.rails.cn

Getting Zone Transfer

Ip Address Domain Name


114.255.140.136 home.rails.cn
114.255.140.177 rsi.rails.cn
114.255.140.163 rsd.rails.cn
114.255.140.186 pxb.rails.cn
114.255.140.179 lims.rails.cn
114.255.140.166 crh3.rails.cn
114.255.140.136 nelhsr.rails.cn
114.255.140.135 web.rails.cn
114.255.140.167 tcds.rails.cn
114.255.140.230 tjzz.rails.cn
114.255.140.186 bswb.rails.cn
114.255.140.198 uc.rails.cn
114.255.140.165 tic.rails.cn
114.255.140.134 mail.rails.cn
114.255.140.254 vpn.rails.cn
114.255.140.186 zj.rails.cn
114.255.140.134 ems.rails.cn
114.255.140.190 zixun.rails.cn
114.255.140.172 qts.rails.cn
114.255.140.174 6c.rails.cn
114.255.140.136 www.rails.cn
114.255.140.131 ns.rails.cn
114.255.140.233 usp.rails.cn
114.255.140.173 emudms.rails.cn
114.255.140.134 emailserver.rails.cn
114.255.140.140 tdm.rails.cn
114.255.140.145 simulation.rails.cn
114.255.140.164 qs.rails.cn
114.255.140.236 expo.rails.cn
114.255.140.133 dns.rails.cn
114.255.140.186 yjs.rails.cn
114.255.140.176 dw.rails.cn

Traceback (most recent call last):
File "knock.py", line 267, in
getheaders(url, "/", "GET")
File "knock.py", line 186, in getheaders
status = str(header[0])
TypeError: 'bool' object has no attribute 'getitem'

auto stoping

python knockpy.py quizquiz.in


| |/ / | | 4.1.1
| ' / _ __ ___ | | ___ __ _ _
| < | '
\ / _ \ / _| |/ / ' | | | |
| . | | | | (
) | (
| <| |) | || |
||__| ||_
/ _|_|_\ ./ _, |
| | __/ |
|
| |
__/

  • checking for virustotal subdomains: SKIP
    VirusTotal API_KEY not found
  • checking for wildcard: NO
  • checking for zonetransfer: NO
  • resolving target: YES
  • scanning for subdomain...

Ip Address Status Type Domain Name Server


195.201.163.194 503 host dev.quizquiz.in
email

all time knock.py has stoping "email" word i had check wordlist but there is no problem at all
help me

ERROR: Package 'dnspython' requires a different Python: 2.7.18 not in '>=3.6'

/Documents/software/knock/knockpy# pip install dnspython
/usr/share/python-wheels/pkg_resources-0.0.0-py3-none-any.whl/pkg_resources/py2_warn.py:21: UserWarning: Setuptools will stop working on Python 2


You are running Setuptools on Python 2, which is no longer
supported and

SETUPTOOLS WILL STOP WORKING <<<
in a subsequent release (no sooner than 2020-04-20).
Please ensure you are installing
Setuptools using pip 9.x or later or pin to setuptools<45
in your environment.
If you have done those things and are still encountering
this message, please follow up at
https://bit.ly/setuptools-py2-warning.


WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see pypa/pip#5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already satisfied: dnspython in /usr/local/lib/python2.7/dist-packages/dnspython-2.0.0-py2.7.egg (2.0.0)
ERROR: Package 'dnspython' requires a different Python: 2.7.18 not in '>=3.6'

Error Handling

hi i noticed that you do not handle the keyboard interrupting error, i recommend you to add an exception.
example:
except KeyboardInterrupt: exit('[+]Process was interrupted by the user\n[!]Exiting\n')

like

good luck ! :)

No module names python-dnspython

It says try pip install dnspython
So, when i run that command the result is requirement already satisfied😕. How can i make it detect dnspython any solution?!☹️

Script does not function across symlinks

Hi! Thanks for putting in the time to update the script to use python3. I appreciate it.

Issue

I've installed 5.0.0 and I tried to create a symlink to the script. However, the script doesn't resolve the "real path" on the filesystem which means that it's not possible run the script via a symlink.

Solution

Wherever the script reads files (config.json, default wordlists, etc.), update the code to use os.path.realpath().

e,g. this line from knockpy.py could be changed from

    _ROOT = os.path.abspath(os.path.dirname(__file__))

to

    _ROOT = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))

Virustotal API Key not Found!

Hello when I try to resolve any domain using knockpy -r the error appeared that virustotal API key not found while I already configured my virustotal API key in config.json file. What issue?

python 3 error

Hi Gianni, can you please fix this error?

byte-compiling /home/locutus/branches/ongoing/knock/debian/python3-knockpy/usr/lib/python3.4/dist-packages/knockpy/modules/wordlist.py to wordlist.cpython-34.pyc
  File "/usr/lib/python3.4/dist-packages/knockpy/modules/wordlist.py", line 37
    print font.color('red')+'\nwarning: wordlist not found '+local_wlist+font.color('end')
             ^
SyntaxError: invalid syntax

byte-compiling /home/locutus/branches/ongoing/knock/debian/python3-knockpy/usr/lib/python3.4/dist-packages/knockpy/modules/core.py to core.cpython-34.pyc
  File "/usr/lib/python3.4/dist-packages/knockpy/modules/core.py", line 67
    print headers.target(domain)
                ^
SyntaxError: invalid syntax

also the setup file line 62 should mention python3.

thanks

Falsi positivi a causa di OpenDNS o servizi similari

Il procediamo di bruteforce restituisce dei falsi positivi se si utilizzano i DNS di Open DNS (credo anche Alice) poichè se un sotto dominio non esiste non viene restituito l'errore "404 - Not Found" ma si viene dirottati al motore di ricerca di OpenDNS/Google che permette di visualizzare i risultanti più attinenti all'indirizzo richiesto.

Esempio, digitando l'indirizzo 0.oversecurity.it si viene re-indirizzati al seguente sito: http://www.website-unavailable.com/main?wc=EA5qEg94AXRIAApyBAEdFxUBThAB&url=0.oversecurity.it&w=1280&h=617&ifc=0

Questo indirizzamento crea un falso positivo nella lista dei risultati: http://pastebin.com/ACEBGs8B

Anche Alice se ben ricordo offre un servizio similare, ma devo verificarlo.

Personalmente opterei per dare la possibilità all'utente di disabilitare la wordlist e creare un elenco di siti da non considerare, in questo caso website-unavailable.com.

Grazie
Andrea

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.