Compare commits

...

158 Commits
v0.1 ... master

Author SHA1 Message Date
Nikolaos Kamarinakis 861aea2102
Clarify the `more-information-needed` label 2019-11-27 14:48:46 -05:00
Nikolaos Kamarinakis 59f76f1e95
Merge pull request #419 from gpotter2/patch-1
Change issue template to ask for `scapy` version
2019-10-24 16:11:27 -04:00
Gabriel 6ecafbdffb
Kamene -> Scapy 2019-10-24 17:39:28 +02:00
k4m4 9655ab8f28 Fix scanning animation on input bug (fixes #399) 2019-10-06 17:12:48 -04:00
k4m4 de7d3e8ab5 Switch back to original Scapy (closes #409) 2019-10-06 16:35:23 -04:00
k4m4 9238b1bd88 Change ^C exit code to 0 2019-02-17 02:41:10 +02:00
k4m4 3c24219419 Add `--kick-all` CLI option (closes #379) 2019-02-17 02:38:24 +02:00
Nikolaos Kamarinakis 0f32988be7 Upgrade scapy to kamene 2018-11-07 08:49:57 +02:00
Nikolaos Kamarinakis 36b7035be0
Merge pull request #341 from ylink-lfs/patch-1
Update checkInternetConnection and getGatewayIP functions
2018-11-02 17:52:19 +02:00
ylink 32abf16531
Update kickthemout.py 2018-09-23 14:09:15 +08:00
ylink 77092773ab
Update checkInternetConnection function
Not everyone can access google with ease, exp, uses in China Mainland. I changed the check link from https://google.com to https://github.com for a greater compatibility.
2018-09-23 13:40:13 +08:00
Nikolaos Kamarinakis a4386905f6
Merge pull request #326 from Urgau/patch-2
Minor readme typo fixes
2018-08-02 04:36:48 -07:00
Urgau b9a525f48b
Fix readme
Fix readme arch section
2018-07-26 23:19:11 +02:00
k4m4 7930fefb73
Fix keyboard exception in initial scanning process 2018-04-25 17:22:03 +03:00
k4m4 3fa1955ce4
Remove non-essential scapy3k exception 2018-04-25 17:17:14 +03:00
k4m4 8202c984c5
Fix #286 - URLError handling 2018-04-25 17:15:59 +03:00
k4m4 e680a9baa7
Travis fixes 2018-02-20 14:15:11 +00:00
k4m4 6b640655de
Travis fixes 2018-02-20 14:10:09 +00:00
k4m4 4c047e1fd2
Travis fixes 2018-02-20 13:05:00 +00:00
k4m4 c4755e4e7d
Add nmap to macOS installation process 2018-02-20 12:52:19 +00:00
k4m4 87f18dad5f
Display exec info on network scanning error 2018-02-20 12:26:29 +00:00
xdavidhu 48fada7ebd 🎉 v2.0 release!!! 2018-02-06 14:04:22 +01:00
xdavidhu a887014d6c 🎉 v2.0 release!!! 2018-02-06 13:41:28 +01:00
xdavidhu 852120913b 🎉 v2.0 release!!! 2018-02-06 13:35:29 +01:00
xdavidhu 787c0b4368 🎉 v2.0 release!!! 2018-02-06 13:28:01 +01:00
xdavidhu 867c6cafc7 🎉 v2.0 release!!! 2018-02-06 13:25:33 +01:00
xdavidhu cee934ac52 🎉 v2.0 release!!! 2018-02-06 13:22:20 +01:00
xdavidhu 394b440396 🎉 v2.0 release!!! 2018-02-06 13:15:06 +01:00
k4m4 5275b2e904
🎉 v2.0 release!!! 2018-02-06 08:31:10 +02:00
k4m4 9e4517784f
🎉 v2.0 release!!! 2018-02-06 00:39:57 +02:00
k4m4 406dc6e4d0
🎉 v2.0 release!!! 2018-02-05 23:57:35 +02:00
k4m4 c969a915a4
🎉 v2.0 release!!! 2018-02-05 23:55:34 +02:00
k4m4 57364abe9e
🎉 v2.0 release!!! 2018-02-05 23:46:34 +02:00
k4m4 4dd00d5590
🎉 v2.0 release!!! 2018-02-05 23:45:01 +02:00
k4m4 acc78b855e
🎉 v2.0 release!!! 2018-02-05 23:43:04 +02:00
k4m4 d2e542357f
🎉 v2.0 release!!! 2018-02-05 23:40:32 +02:00
k4m4 694be42bdc
🎉 v2.0 release!!! 2018-02-05 23:35:15 +02:00
k4m4 a9d9c104aa
🎉 v2.0 release!!! 2018-02-05 23:28:53 +02:00
k4m4 b037237de0
🎉 v2.0 release!!! 2018-02-05 23:25:49 +02:00
k4m4 422868a62d
🎉 v2.0 release!!! 2018-02-05 23:11:58 +02:00
k4m4 d72d8abafa
🎉 v2.0 release!!! 2018-02-05 23:07:38 +02:00
k4m4 3a958f43ce
🎉 v2.0 release!!! 2018-02-05 23:04:19 +02:00
k4m4 6156d49222
🎉 v2.0 release!!! 2018-02-05 22:37:53 +02:00
k4m4 569e7256cc
🎉 v2.0 release!!! 2018-02-05 22:35:18 +02:00
k4m4 754a99836d
🎉 v2.0 release!!! 2018-02-05 22:31:31 +02:00
k4m4 29a5fcc7d7
🎉 v2.0 release!!! 2018-02-05 22:27:35 +02:00
k4m4 ea3148bc19
🎉 v2.0 release!!! 2018-02-05 22:22:12 +02:00
k4m4 993ec221e3
🎉 v2.0 release!!! 2018-02-05 21:39:08 +02:00
Nikolaos Kamarinakis 0099733382
Merge pull request #246 from R3DDY97/master
diaplay hostnames
2018-02-03 18:56:51 +02:00
R3DDY97 03e2b3055f hotname display 2018-02-03 18:12:41 +05:30
R3DDY97 e0f72b9ba4 hotname display 2018-02-03 18:00:24 +05:30
R3DDY97 ecc77bba53 fixed 2017-11-21 14:14:24 +05:30
R3DDY97 89fcd40733 added uitls.socket for hostnames 2017-11-21 14:12:20 +05:30
R3DDY97 dc0efe389e added uitls.socket for hostnames 2017-11-21 14:04:40 +05:30
Nikolaos Kamarinakis a2e04329a9
Merge pull request #116 from ritiek/master
Show MAC address of targets
2017-11-10 13:03:15 +02:00
Nikolaos Kamarinakis 26909e9703 Merge pull request #233 from soker90/master
Added installation of Archlinux package
2017-09-13 00:44:42 +03:00
Eduardo Parra 26d2b54218 Added installation of Archlinux package 2017-09-12 23:00:50 +02:00
Nikolaos Kamarinakis 6ef3eaa76a Merge pull request #230 from PunKeel/patch-1
Use https for the macvendors check
2017-08-21 11:14:48 +03:00
PunKeel 191f1bc8df Use https for the macvendors check 2017-08-20 00:01:14 +01:00
Nikolaos Kamarinakis f7bd3b0330 Fix macOS Installation Guide
Altered `brew install --with-python libdnet scapy nmap` to `brew install --with-python libdnet nmap`.
2017-08-13 14:05:48 +03:00
Nikolaos Kamarinakis 4052724390 Add Arch Linux Installation Guide 2017-08-13 13:40:58 +03:00
Nikolaos Kamarinakis 1ce552de30 Add `-H` & `--upgrade pip` flags to installation commands 2017-07-21 23:52:53 -04:00
Nikolaos Kamarinakis e6223eca78 Add `brew update` to macOS installation 2017-07-21 23:47:05 -04:00
Nikolaos Kamarinakis 4ff00a9c57 Add `--with-python` parameter to brew command 2017-07-21 23:42:39 -04:00
Ritiek 9fd96f51ef Show MAC address of targets 2017-06-30 22:16:16 +05:30
Nikolaos Kamarinakis 62f3cabe1d Fix pip command in readme 2017-05-20 01:27:26 +03:00
Nikolaos Kamarinakis 1ef18eac10 Change pip command in readme 2017-05-20 01:26:34 +03:00
Nikolaos Kamarinakis 7cd6300a8a Merge pull request #96 from detourbr/master
Network detection issue fixed
2017-04-26 21:25:35 +03:00
detourbr d40bc97da9 Merge branch 'master' into master 2017-04-26 19:52:54 +02:00
Nikolaos Kamarinakis 59a8bdd136 Alter issue template structure 2017-04-13 18:37:22 +03:00
Nikolaos Kamarinakis 052eb6e467 Change issue template structure 2017-04-13 18:35:45 +03:00
k4m4 296b8fbae2 Generate Code of Conduct 2017-04-13 18:19:09 +03:00
k4m4 fcec584e40 Add 'hang on' message for scanning process 2017-04-05 19:25:14 +03:00
k4m4 df47099e61 Add/Fix coding comments 2017-04-05 19:14:22 +03:00
Nikolaos Kamarinakis dff6f304cc Merge pull request #101 from xdavidhu/master
Added comments and scan info at start
2017-04-05 18:47:21 +03:00
xdavidhu 32541632b1 Added stacktrace to debug 2017-04-03 23:22:42 +02:00
xdavidhu e80651c22e Addded spaces to header 2017-04-01 16:24:17 +02:00
xdavidhu 44ded11c75 Added info about scanning on start 2017-04-01 12:25:37 +02:00
xdavidhu 5856cc84a4 Added comments 2017-04-01 12:01:51 +02:00
k4m4 b9beba166c Fix minor typo 2017-03-31 09:47:28 +03:00
David Schütz 97ca78f138 Merge pull request #9 from k4m4/master
Fork update
2017-03-28 19:39:23 +02:00
k4m4 dc17b0a6ff Fix issue_template typo 2017-03-26 22:18:07 +03:00
k4m4 4bf6e12999 Fix issue_template typo 2017-03-26 21:34:00 +03:00
k4m4 4087eaa5b0 Fix issue_template terminology 2017-03-26 21:32:41 +03:00
k4m4 db968a5ee8 Add issue template to .github dir 2017-03-26 21:28:13 +03:00
detourbr 15699e8325 Network detection issue fixed 2017-03-26 17:44:19 +02:00
k4m4 78f7401e64 Fix error message terminology 2017-03-26 16:41:15 +03:00
Nikolaos Kamarinakis f76e485774 Fix Expression README.rst 2017-03-11 15:34:12 +02:00
Nikolaos Kamarinakis fc22f32c63 Merge pull request #88 from xdavidhu/master
Scan method updated to nmap
2017-03-11 15:26:45 +02:00
David Schütz 9f5642e021 Scan method updated to nma 2017-03-11 11:02:12 +01:00
David Schütz e09898028a Update README.rst 2017-03-11 10:56:27 +01:00
David Schütz 5540dc489b Update README.rst 2017-03-11 10:55:00 +01:00
xdavidhu 0a8c70d5e7 Scan method updated to nmap 2017-03-11 10:53:38 +01:00
David Schütz c58a2e19ca Merge pull request #8 from k4m4/master
Fork update
2017-03-11 09:55:44 +01:00
Nikolaos Kamarinakis cf4d3e297b Fix build badge 2017-02-27 16:38:00 +02:00
Nikolaos Kamarinakis 46de789645 Fix badges indentation 2017-02-27 16:32:30 +02:00
Nikolaos Kamarinakis 5911f0cb70 Fix Made With <3 badge 2017-02-27 16:31:23 +02:00
Nikolaos Kamarinakis 7c2fb47f98 Add line break 2017-02-27 16:28:50 +02:00
Nikolaos Kamarinakis edeb769e5b Add license badge 2017-02-27 16:26:53 +02:00
Nikolaos Kamarinakis 7a8b809b6a Add badges to README.md 2017-02-27 16:24:20 +02:00
Nikolaos Kamarinakis 1f2b4a9eec Update README.rst 2017-02-24 19:18:49 +02:00
Nikolaos Kamarinakis 49e9695e06 Merge pull request #68 from xdavidhu/master
Debug added + fixes
2017-02-14 13:41:35 +02:00
xdavidhu 10c4f891f3 Debug added + fixes 2017-02-13 22:17:15 +01:00
David Schütz 9955a01aa1 Merge pull request #7 from k4m4/master
Fork update
2017-02-13 21:23:07 +01:00
Nikolaos Kamarinakis db529f9fa6 Merge pull request #33 from xdavidhu/master
getDefaultInterfaceMAC() fix
2017-02-03 13:23:31 +02:00
xdavidhu 00f71a4d76 Fixing getDefaultInterfaceMAC 2017-02-03 11:24:41 +01:00
xdavidhu 32842f5b2b Merge branch 'k4m4-master' 2017-02-03 10:54:28 +01:00
xdavidhu b79e721472 Merge branch 'master' of https://github.com/k4m4/kickthemout into k4m4-master 2017-02-03 10:53:50 +01:00
xdavidhu c1742fb8b2 removing test 2017-02-03 10:50:03 +01:00
xdavidhu 94b9c0b7a5 Adding test 2017-02-03 10:48:52 +01:00
k4m4 b2c866ad68 scanNetwork() Error Message - Issue #46 2017-01-25 17:39:42 +02:00
k4m4 de20d0ac99 Update kickthemout.py 2017-01-25 17:36:59 +02:00
k4m4 8390e92e1a Update kickthemout.py 2017-01-25 17:33:25 +02:00
k4m4 2697a989b0 Merge branch 'master' of https://github.com/k4m4/kickthemout 2017-01-25 17:19:32 +02:00
k4m4 aeb4d97c39 scanNetwork() Error Message - Issue #46 2017-01-25 17:19:01 +02:00
Nikolaos Kamarinakis 1fed412544 Update README.rst 2017-01-25 16:57:48 +02:00
k4m4 7928e302e8 Minor Bugfixes 2017-01-22 11:03:56 +02:00
David Schütz e8a8855fde getDefaultInterfaceMAC() 2017-01-21 16:59:58 +01:00
David Schütz 9cc143be87 fork update 2017-01-21 16:35:55 +01:00
David Schütz cef0f8240f Update 2017-01-21 16:33:46 +01:00
David Schütz 8a440ea3f3 update 2017-01-21 16:31:25 +01:00
David Schütz c23b7853f8 Merge pull request #5 from k4m4/master
fork update
2017-01-21 16:17:29 +01:00
k4m4 8b8a6c55d6 Resolve Issue #31 2017-01-21 13:23:14 +02:00
Nikolaos Kamarinakis 3442a2f825 Merge pull request #23 from bfontaine/patch-1
README: Simplify install steps on macOS
2017-01-20 19:09:06 +02:00
Nikolaos Kamarinakis ba704b3adb Merge pull request #26 from xdavidhu/master
Disallow Non-Root Execution
2017-01-20 16:15:32 +02:00
David Schütz 30e9a41b4a Root check 2017-01-20 14:58:05 +01:00
David Schütz 09c25bd891 Root check 2017-01-20 14:50:20 +01:00
David Schütz dd3b0b2968 Merge pull request #4 from k4m4/master
Fork update
2017-01-20 14:49:45 +01:00
Baptiste Fontaine 532ce523e0 README: Simplify install steps on macOS 2017-01-20 11:56:29 +01:00
Nikolaos Kamarinakis 6aa940a157 Update scan.py 2017-01-17 17:41:56 +02:00
Nikolaos Kamarinakis 664d2419bd Merge pull request #19 from dardelet/fix/skip-APIPA-adresses
Skip APIPA network
2017-01-17 17:40:33 +02:00
Guillaume Dardelet 84c996e929 [Fix] Skip APIPA network 2017-01-17 11:48:09 +01:00
Nikolaos Kamarinakis 6fb101c938 Update README.rst 2017-01-16 22:10:04 +02:00
Nikolaos Kamarinakis 1320c36550 Merge pull request #18 from xdavidhu/master
Empty hostsList Error Enhancement
2017-01-15 21:52:56 +02:00
David Schütz 5134484f35 0 host detection 2017-01-15 19:04:03 +01:00
David Schütz 0b0a822d01 Merge pull request #3 from k4m4/master
update
2017-01-15 19:02:41 +01:00
Nikolaos Kamarinakis 0da6f5bbef Update README.rst 2017-01-15 12:14:42 +02:00
Nikolaos Kamarinakis 9b7d9dab62 Update README.rst 2017-01-14 22:49:05 +02:00
Nikolaos Kamarinakis 2dea1e5f97 Update README.rst 2017-01-14 22:48:14 +02:00
Nikolaos Kamarinakis ba746e86b4 Update README.rst 2017-01-14 22:47:44 +02:00
Nikolaos Kamarinakis 88af7ce7e3 Update README.rst 2017-01-14 22:47:21 +02:00
Nikolaos Kamarinakis a027985ec8 Update README.rst 2017-01-14 22:46:57 +02:00
David Schütz b86ce1c11b Add files via upload 2017-01-14 12:19:43 +01:00
David Schütz 2b456367d1 Add files via upload 2017-01-14 12:18:43 +01:00
David Schütz 52d4839655 Add files via upload 2017-01-14 12:15:35 +01:00
David Schütz a904948af1 Add files via upload 2017-01-14 12:13:02 +01:00
David Schütz 1ac0f7ff2d Merge pull request #2 from k4m4/master
Fork update
2017-01-14 11:12:26 +01:00
Nikolaos Kamarinakis 8af0593ded Create .gitignore 2017-01-13 14:06:14 +02:00
k4m4 999ccc6b1a Minor Bugfixes 2017-01-13 14:00:31 +02:00
k4m4 a9b16b480a Update kickthemout.py 2017-01-13 13:53:35 +02:00
Nikolaos Kamarinakis 2aa39a3f26 Resolve Issue #8 2017-01-12 00:03:52 +02:00
k4m4 1c2eef2c1b Update README.rst 2017-01-11 16:29:56 +02:00
David Schütz dd2b29dfe6 Issue #9 fix 2017-01-11 07:13:26 +01:00
k4m4 5b85021fb4 Resolve Issue #8 2017-01-10 23:41:31 +02:00
k4m4 48831548a2 Merge branch 'master' of https://github.com/k4m4/kickthemout 2017-01-10 23:40:47 +02:00
k4m4 e0e378d8cf Resolve Issue #8 2017-01-10 23:39:41 +02:00
k4m4 fbee3161c3 Resolve Issue #8 2017-01-10 23:39:09 +02:00
Nikolaos Kamarinakis eae1da8fc2 Create .travis.yml 2017-01-10 13:49:30 +02:00
12 changed files with 1069 additions and 348 deletions

32
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,32 @@
<!--
Hi there! Thank you for bringing an issue to out attention.
Before submitting, let's make sure of a few things.
Please ensure the following boxes are ticked if they apply.
If they do not, please try and fulfill them first.
-->
<!-- Checked checkbox should look like this: [x] -->
## Checklist for submitting an issue to `KickThemOut`:
- [ ] I have carefully read the [README](https://github.com/k4m4/kickthemout/blob/master/README.rst) file and haven't managed to resolve my issue.
- [ ] I have searched the [issues](https://github.com/k4m4/kickthemout/issues?utf8=%E2%9C%93&q=is%3Aissue) of this repo and believe that this is not a duplicate.
- [ ] I am running the latest version of KickThemOut.
<!--
Once all boxes are ticked, it would be very helpful if you could fill in the
following list with the appropriate information.
-->
- **OS name & version**: <!-- Replace with os name & version -->
- **Python version**: <!-- Replace with python version -->
- **Scapy version**: <!-- Replace with kamene version -->
- **Nmap version**: <!-- Replace with nmap version -->
- **Link of [Gist](https://gist.github.com/)**: <!-- Please create a Gist with the response of a `$ sudo python -vvv kickthemout.py` verbosity command & paste the link here -->
<!-- Now feel free to write about your issue; please remember to be as descriptive as possible! Thanks again! 🙌 ❤️ --><br/ >
- **Description**: <!-- Replace with a short description of your issue -->
<!-- Please provide all of the preceding information; otherwise, your issue will be labeled `more-information-needed` and will most probably be ignored. Thank you! -->

28
.gitignore vendored Normal file
View File

@ -0,0 +1,28 @@
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
*.egg
*.manifest
*.spec
pip-log.txt
pip-delete-this-directory.txt
.scrapy
target/
.python-version
venv/
ENV/
*.pyc
*.tmp
*.bak
*.cfg
__pycache__/

28
.travis.yml Normal file
View File

@ -0,0 +1,28 @@
sudo: required
dist: trusty
language: python
python:
- "3.4"
- "3.5"
- "3.6"
install:
- sudo -H python3 -m pip install -r requirements.txt
script:
- sudo -H python3 -c "import kickthemout; import scan; import spoof;"
branches:
only:
- master
addons:
apt:
packages:
- python3
- python3-pip
- nmap
notifications:
email:
on_success: never
on_failure: always

View File

@ -1,4 +0,0 @@
0.1 (05.01.2017)
----------------
- Initial release.

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2017 Nikolaos Kamarinakis
Copyright (c) 2017-18 Nikolaos Kamarinakis
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

147
README.md Normal file
View File

@ -0,0 +1,147 @@
![KickThemOut Logo](http://nikolaskama.me/content/images/2017/02/kickthemout_small.png)
# KickThemOut
> [KickThemOut](https://nikolaskama.me/kickthemoutproject) - **Kick Devices Off Your Network**
A tool to kick devices out of your network and enjoy all the bandwidth for yourself.
It allows you to select specific or all devices and ARP spoofs them off your local area network.
- Compatible with Python **3+** 🎉.
- *Not* compatible with Windows.
Authors: [Nikolaos Kamarinakis](mailto:nikolaskam@gmail.com) & [David Schütz](mailto:xdavid@protonmail.com).
[![Build Badge](https://travis-ci.org/k4m4/kickthemout.svg?branch=master)](https://travis-ci.org/k4m4/kickthemout)
[![License Badge](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/k4m4/kickthemout/blob/master/LICENSE)
[![Compatibility](https://img.shields.io/badge/python-3-brightgreen.svg)](https://github.com/k4m4/kickthemout)
[![GitHub Stars](https://img.shields.io/github/stars/k4m4/kickthemout.svg)](https://github.com/k4m4/kickthemout/stargazers)
---
<p align="center">✨Read my latest post: <a href="https://nikolaskama.me/kickthemout-v2-0/"><i>KickThemout v2.0! 🎉</i></a></p>
-------------
# Installation
## Debian Installation
You can download KickThemOut by cloning the [Git Repo](https://github.com/k4m4/kickthemout) and simply installing its requirements:
```
~ sudo apt-get update && sudo apt-get install nmap
~ git clone https://github.com/k4m4/kickthemout.git
~ cd kickthemout/
~/kickthemout sudo -H pip3 install -r requirements.txt
~/kickthemout sudo python3 kickthemout.py
```
## MacOS Installation
If you would like to install KickThemOut on a Mac, please run the following:
```
~ brew install libdnet nmap
~ git clone https://github.com/k4m4/kickthemout.git
~ cd kickthemout/
~/kickthemout sudo -H pip3 install -r requirements.txt
~/kickthemout sudo python3 kickthemout.py
```
**NOTE**: You need to have [Homebrew](http://brew.sh/) installed before running the Mac OS installation.
Also, **keep in mind** that you might be asked to run some extra commands after executing the pip requirement installation.
## ArchLinux Installation
You can download KickThemOut on an Arch based system by executing the following:
```
~ git clone https://github.com/k4m4/kickthemout.git
~ cd kickthemout/
~/kickthemout sudo -H pip3 install -r requirements.txt
~/kickthemout sudo python3 kickthemout.py
```
<br/>
# Usage
```
Usage: sudo python3 kickthemout.py [options]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-p PACKETS, --packets=PACKETS
number of packets broadcasted per minute (default: 6)
-s, --scan perform a quick network scan and exit
-t TARGETS, --target=TARGETS
specify target IP address(es) and perform attack
Examples:
sudo python3 kickthemout.py --target 192.168.1.10
sudo python3 kickthemout.py -t 192.168.1.5,192.168.1.10 -p 30
sudo python3 kickthemout.py (interactive mode)
```
To view all available options run:
```
~/kickthemout sudo python3 kickthemout.py -h
```
<br/>
# Demo
Here's a short demo:
[![Asciinema Demo](https://nikolaskama.me/content/images/2017/01/kickthemout_asciinema.png)](https://asciinema.org/a/98200?autoplay=1&loop=1)
(For more demos click [here](https://asciinema.org/~k4m4))
<br/>
# Developers
* Nikolaos Kamarinakis - [@nikolaskama](https://twitter.com/nikolaskama)
* David Schütz - [@xdavidhu](https://twitter.com/xdavidhu)
<br/>
# Disclaimer
KickThemOut is provided as is under the MIT Licence (as stated below).
It is built for educational purposes *only*. If you choose to use it otherwise, the developers will not be held responsible. Please, do not use it with evil intent.
<br/>
# License
Copyright (c) 2017-18 by [Nikolaos Kamarinakis](mailto:nikolaskam@gmail.com) & [David Schütz](mailto:xdavid@protonmail.com). Some rights reserved.
KickThemOut is under the terms of the [MIT License](https://www.tldrlegal.com/l/mit), following all clarifications stated in the [license file](https://raw.githubusercontent.com/k4m4/kickthemout/master/LICENSE).
For more information head over to the [official project page](https://nikolaskama.me/kickthemoutproject).
You can also go ahead and email me anytime at **nikolaskam{at}gmail{dot}com** or David at **xdavid{at}protonmail{dot}com**.

View File

@ -1,52 +0,0 @@
KickThemOut
============
`KickThemOut <https://nikolaskama.me/kickthemoutproject/>`_ - **Kick Devices Off Your Network**
A tool to kick devices out of your network and enjoy all the bandwidth for yourself.
It allows you to select specific or all devices and ARP spoofs them off your local area network.
Compatible with Python 2.6 & 2.7.
Authors: `Nikolaos Kamarinakis <mailto:nikolaskam@gmail.com>`_ & `David Schütz <mailto:xdavid@protonmail.com>`_
.. image:: https://nikolaskama.me/content/images/2017/01/kickthemout.png
Installation
-------------
You can download KickThemOut by cloning the `Git Repo <https://github.com/k4m4/kickthemout>`_ and simply installing its requirements::
$ git clone https://github.com/k4m4/kickthemout.git
$ cd kickthemout
$ pip install -r requirements.txt
Demo
-----
Here's a short demo:
.. image:: https://nikolaskama.me/content/images/2017/01/kickthemout_asciinema.png
:target: https://asciinema.org/a/98200?autoplay=1&loop=1
(For more demos click `here <https://asciinema.org/~k4m4>`_)
Disclaimer
-----------
KickThemOut is provided as is under the MIT Licence (as stated below).
It is built for educational purposes only. If you choose to use it otherwise, the developers will not be held responsible.
In brief, do not use it with evil intent.
License
--------
Copyright (c) 2017 by `Nikolaos Kamarinakis <mailto:nikolaskam@gmail.com>`_ & `David Schütz <mailto:xdavid@protonmail.com>`_. Some rights reserved.
KickThemOut is under the terms of the `MIT License <https://www.tldrlegal.com/l/mit>`_, following all clarifications stated in the `license file <https://raw.githubusercontent.com/k4m4/kickthemout/master/LICENSE>`_.
For more information head over to the `official project page <https://nikolaskama.me/kickthemoutproject/>`_.
You can also go ahead and email me anytime at **nikolaskam{at}gmail{dot}com** or David at **xdavid{at}protonmail{dot}com**.

74
code-of-conduct.md Normal file
View File

@ -0,0 +1,74 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at nikolaskam@gmail.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

File diff suppressed because it is too large Load Diff

View File

@ -1 +1,3 @@
scapy
scapy
python-nmap
netifaces

77
scan.py
View File

@ -1,64 +1,25 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -.- coding: utf-8 -.-
# scan.py
# author: Benedikt Waldvogel (MIT Licensed)
# edited by: k4m4 & xdavidhu
# scan.py
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
import scapy.config, scapy.layers.l2, scapy.route, socket, math, errno
"""
Copyright (C) 2017-18 Nikolaos Kamarinakis (nikolaskam@gmail.com) & David Schütz (xdavid@protonmail.com)
See License at nikolaskama.me (https://nikolaskama.me/kickthemoutproject)
"""
def scanNetwork():
import nmap
def long2net(arg):
if (arg <= 0 or arg >= 0xFFFFFFFF):
raise ValueError("illegal netmask value", hex(arg))
return 32 - int(round(math.log(0xFFFFFFFF - arg, 2)))
# perform a network scan with nmap
def scanNetwork(network):
returnlist = []
nm = nmap.PortScanner()
a = nm.scan(hosts=network, arguments='-sn')
def to_CIDR_notation(bytes_network, bytes_netmask):
network = scapy.utils.ltoa(bytes_network)
netmask = long2net(bytes_netmask)
net = "%s/%s" % (network, netmask)
if netmask < 16:
return None
for k, v in a['scan'].items():
if str(v['status']['state']) == 'up':
try:
returnlist.append([str(v['addresses']['ipv4']), str(v['addresses']['mac'])])
except:
pass
return net
def scan_and_print_neighbors(net, interface, timeout=1):
hostsList = []
try:
ans, unans = scapy.layers.l2.arping(net, iface=interface, timeout=timeout, verbose=False)
for s, r in ans.res:
mac = r.sprintf("%Ether.src%")
ip = r.sprintf("%ARP.psrc%")
line = r.sprintf("%Ether.src% %ARP.psrc%")
hostsList.append([ip, mac])
try:
hostname = socket.gethostbyaddr(r.psrc)
line += "," + hostname[0]
except socket.herror:
pass
except socket.error as e:
if e.errno == errno.EPERM: # Operation not permitted
exit()
else:
raise
return hostsList
for network, netmask, _, interface, address in scapy.config.conf.route.routes:
# skip loopback network and default gw
if network == 0 or interface == 'lo' or address == '127.0.0.1' or address == '0.0.0.0':
continue
if netmask <= 0 or netmask == 0xFFFFFFFF:
continue
net = to_CIDR_notation(network, netmask)
if interface != scapy.config.conf.iface:
# see http://trac.secdev.org/scapy/ticket/537
continue
if net:
return scan_and_print_neighbors(net, interface)
return returnlist

View File

@ -1,10 +1,9 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -.- coding: utf-8 -.-
# spoof.py
# authors: k4m4 & xdavidhu
"""
Copyright (C) 2016 Nikolaos Kamarinakis (nikolaskam@gmail.com) & David Schütz (xdavid@protonmail.com)
Copyright (C) 2017-18 Nikolaos Kamarinakis (nikolaskam@gmail.com) & David Schütz (xdavid@protonmail.com)
See License at nikolaskama.me (https://nikolaskama.me/kickthemoutproject)
"""
@ -15,9 +14,14 @@ from scapy.all import (
getmacbyip,
ARP,
Ether,
sendp
sendp,
conf,
RadioTap,
Dot11,
Dot11Deauth
)
# send malicious ARP packets
def sendPacket(my_mac, gateway_ip, target_ip, target_mac):
ether = Ether()
ether.src = my_mac