Skip to content

Commit 3e7d95d

Browse files
committed
6.1.0
1 parent 0a1d4ba commit 3e7d95d

File tree

14 files changed

+913
-653
lines changed

14 files changed

+913
-653
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
# Changelog
2+
3+
6.1.0 - 2023-01-18
4+
---------
5+
- added plugin test --plugin-test
6+
- added new plugin: api_censys, certsh
7+
- fixed plugin scan loop
8+
- optimized code structure
9+
210
6.0.0 - 2023-01-15
311
---------
412
- added silent mode --silent

README.md

Lines changed: 74 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Knock Subdomain Scan v6.0.0
1+
# Knock Subdomain Scan v6.1.0
22

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

@@ -27,6 +27,8 @@ python3 knockpy.py domain.com
2727
* [Plot report](#plot-report---plot)
2828
* [Module](#module)
2929
* [Plugin](#plugin)
30+
* [Write your own plugin](#write-your-own-plugin)
31+
* [Plugin test](#plugin-test---plugin-test)
3032
* [License](#license)
3133

3234
---
@@ -331,7 +333,7 @@ results = knockpy.Scanning.start("domain.com", params)
331333

332334
# Plugin
333335

334-
#### Write your own plugin
336+
### Write your own plugin
335337

336338
The plugins are situated in ```remote``` folder. If you want to write your own plugin it's important to pay attention to some precautions:
337339

@@ -375,6 +377,76 @@ def get(domain):
375377
return result
376378
```
377379

380+
### Plugin test ```--plugin-test```
381+
382+
```bash
383+
$ knockpy domain.com --plugin-test
384+
```
385+
386+
In this example, the output shows errors ```'error': True``` in three plugins because they need the API key.
387+
388+
```bash
389+
{
390+
'api_shodan.py': {
391+
'time': '00:00:03',
392+
'match': 0,
393+
'error': True
394+
},
395+
'certspotter.py': {
396+
'time': '00:00:00',
397+
'match': 9,
398+
'error': False
399+
},
400+
'rapiddns.py': {
401+
'time': '00:00:00',
402+
'match': 44,
403+
'error': False
404+
},
405+
'hackertarget.py': {
406+
'time': '00:00:00',
407+
'match': 9,
408+
'error': False
409+
},
410+
'crtsh.py': {
411+
'time': '00:00:19',
412+
'match': 10,
413+
'error': False
414+
},
415+
'api_censys.py': {
416+
'time': '00:00:03',
417+
'match': 0,
418+
'error': True
419+
},
420+
'webarchive.py': {
421+
'time': '00:00:04',
422+
'match': 4,
423+
'error': False
424+
},
425+
'api_virustotal.py': {
426+
'time': '00:00:03',
427+
'match': 0,
428+
'error': True
429+
},
430+
'alienvault.py': {
431+
'time': '00:00:01',
432+
'match': 11,
433+
'error': False
434+
},
435+
'_results': {
436+
'time': '00:00:37',
437+
'plugins': {
438+
'count': 9,
439+
'list': ['api_shodan.py', 'certspotter.py', 'rapiddns.py', 'hackertarget.py', ...],
440+
'error': ['api_shodan.py', 'api_censys.py', 'api_virustotal.py']
441+
},
442+
'subdomains': {
443+
'count': 52,
444+
'list': ['admin', 'cloud', 'www', 'mail', 'calendar', 'contact', 'ftp', .....]
445+
}
446+
}
447+
}
448+
449+
```
378450
---
379451

380452
# License

0 commit comments

Comments
 (0)