Skip to content

Commit

Permalink
Fixed and new modules
Browse files Browse the repository at this point in the history
e-mail boom, arp spoof.
  • Loading branch information
redtoor committed Aug 28, 2015
1 parent bc7a0ea commit 879e697
Show file tree
Hide file tree
Showing 31 changed files with 354 additions and 154 deletions.
29 changes: 19 additions & 10 deletions core/help.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,19 @@ def help():
C = '\033[36m'
GR = '\033[37m'
BO = '\033[1m'
print """
_ _
| | | |
| |__ ___| |_ __
| '_ \ / _ \ | '_ \
| | | | __/ | |_) |
|_| |_|\___|_| .__/
| |
|_|
"""
print BO+"""
_ _
| | | |
| |__ ___| |_ __
| '_ \ / _ \ | '_ \
| | | | __/ | |_) |
|_| |_|\___|_| .__/
| |
|_|
"""+W
print " Katana is a framework for Hackers, Pentesters, Proffesional Security, Etc"
print " a framework multi-tool very util for pentest (penetrec test)"
print ""
print " show modules or showm <--- Show modules "
print " use <--- Use modules "
print " show options or sop <--- Show Options of Module"
Expand Down Expand Up @@ -68,4 +71,10 @@ def help():
print " Dictionary Not found | path wrong"
print " Keyboard Interrupt | Ctrol+C"
print " ..."
print ""
print " for more info go to github project https://github.com/redtoor/katana"
print " or send a email to redtoor[at]inbox.ru"
print " fb.com/redtoor - twitter.com/redtoor - plus.google.com/+redtoor"
print ""
print " Based in "+G+"Python"+W+" with "+R+"<3"+W+" from "+O+"Col"+B+"om"+R+"bia "+W+"by "+R+"Red"+W+"Toor"
print ""
Binary file modified core/help.pyc
Binary file not shown.
2 changes: 1 addition & 1 deletion core/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@

version="0.0.0.6"
date="29/03/2015 - 23/08/2015"
modules="27"
modules="28"
tema="warrior"
Binary file modified core/info.pyc
Binary file not shown.
41 changes: 38 additions & 3 deletions core/ping.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,13 @@


from scapy.all import *
import urllib
import re
import colors
import socket
import time
import commands
import subprocess
ap_list = []

def live(defaulthost, defaultport):
Expand All @@ -31,14 +35,45 @@ def savetwo(module, files, password):
log.write('\n file : '+files)
log.write('\n Cracked : password : '+password)
log.close()

def PacketHandler(pkt) :
def PacketHandler(pkt):
if pkt.haslayer(Dot11) :
if pkt.type == 0 and pkt.subtype == 8 :
if pkt.addr2 not in ap_list :
ap_list.append(pkt.addr2)
print " BSSID: %s \t ESSID: %s " %(pkt.addr2, pkt.info)

def scanwifi():
print " Scanning APs - "+colors.O+"Ctrl+C"+colors.W+" for Stop.\n"
sniff(iface="mon0", prn = PacketHandler)
def myip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
s.connect(("google.com",80))
if True:
print(" You Local IP: "+s.getsockname()[0]+"\n")
except:
print " ["+colors.R+"-"+colors.W+"] Not Connect to nothing Network.\n"
s.close()
def get_external_ip():
try:
site = urllib.urlopen("http://checkip.dyndns.org/").read()
grab = re.findall('([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)', site)
address = grab[0]
if True:
print(" You Public IP: "+address+"\n")
except:
print " ["+colors.R+"-"+colors.W+"] Not Connect to nothing Network.\n"
def interfaces():
Interfaces=commands.getoutput("airmon-ng | grep 'wlan' | awk '{print $1}'")
Interfaces=Interfaces.replace("\n",",")
if Interfaces=="":
Interfaces="No network cards was found."
print " Interfaces : ",Interfaces
def monitor():
Monitor=commands.getoutput("airmon-ng | grep 'mon' | awk '{print $1}'")
Monitor=Monitor.replace("\n",",")
if Monitor=="":
Monitor="No monitor mode enabled, use 'start {Interface}' right here."
print " Int... Monitor : ",Monitor
if Monitor!="No monitor mode enabled, use 'start {Interface}' right here.":
scanwifi()
print ""
Binary file modified core/ping.pyc
Binary file not shown.
Empty file added doc/credits
Empty file.
104 changes: 0 additions & 104 deletions doc/how to make a new module
Original file line number Diff line number Diff line change
@@ -1,104 +0,0 @@
for make a new module for Katana framework, you have to create a file in folder scripts/ with the name of module and write into

# :-:-:-:-:-:-:-:-:-:-:-:-:-:-: #
# @KATANA #
# Modules : [name] #
# Script by : [autor] #
# Date : [date] #
# :-:-:-:-:-:-:-:-:-:-:-:-:-:-: #
# Katana Core #
from core.design import * #
from core import help #
from core import ping #
d=DESIGN() #
# :-:-:-:-:-:-:-:-:-:-:-:-:-:-: #
# Libraries #
[librarie one] #
[librarie two] #
[etc...] #
# :-:-:-:-:-:-:-:-:-:-:-:-:-:-: #
# Default #
# :-:-:-:-:-:-:-:-:-:-:-:-:-:-: #
[varnameone]=[value]
[varnametwo]=[value]
# :-:-:-:-:-:-:-:-:-:-:-:-:-:-: #

Where:

[name] : module name, whatever as "fuzzerWeb".
[autor]: coder name, autor, creator...
[date] : date of creation.
[librarie one] : dependences, libraries.
[varnameone]=[value] : parameters necesaries.

and:

def [function name](run):
try:
global [varnameone],[varnametwo]
if run!=1:
actions=raw_input(d.prompt("[path of module]"))
else:
actions="run"
if actions == "show options" or actions == "sop":
d.option()
d.descrip("file","yes","file with pass",defaultarch)
d.descrip("dict_1","yes","Dictionary pass",defaultdicc)
print ""
btrar(0)
elif actions[0:8] == "set file":
defaultarch = actions[11:]
d.change("file",defaulthost)
btrar(0)
elif actions[0:10] == "set dict_1":
defaultdicc = actions[11:]
d.change("dict_1",defaultdicc)
btrar(0)
elif actions=="exit" or actions=="x":
d.goodbye()
exit()
elif actions=="help" or actions=="h":
help.help()
elif actions=="back" or actions=="b":
pass
elif actions=="run" or actions=="r":
d.run()
try:
d.loading()
Arch = open(defaultdicc,"r")
if True:
leeArchivo = Arch.readlines()
for palabra in leeArchivo:
palabraLlegada = palabra.split("\n")
try:
RARarch = RARfile.RARFile(defaultarc)
try:
log=open('core/logs/logsBruteForce.log','a')
log.write('\n ===================================== ')
log.write('\n Module : BruteForceRAR')
log.write('\n Data : '+time.strftime('%c'))
log.write('\n file : '+defaultarc)
log.write('\n Cracked : password : ',str(palabraLlegada[0]))
log.close()
ZIParch.extractall(pwd=str(palabraLlegada[0]))
print " "+Suf+" Cracked with ",str(palabraLlegada[0])
return 1
except:
print " "+Alr+" Checking with ",str(palabraLlegada[0])
except:
d.arcnot()
btrar(0)
except:
d.filenot()
btrar(0)
else:
d.nocommand()
except:
d.kbi()
exit()
btrar(0)

Where:

[function name] :
[path of module]:
Empty file added doc/how to use katana
Empty file.
Binary file added doc/katana-intro.mp3
Binary file not shown.
3 changes: 3 additions & 0 deletions files/tmtSMTP/updateaccount.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<html>
<h1>TEST</h1>
</html>
25 changes: 21 additions & 4 deletions ktfconsole.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@

def line(module, description):
print """ |==| .| """+colors.R+"""@"""+colors.W+"""|"""+colors.O+module+colors.W+"""\t\t | """+colors.C+description+colors.W

def separator():
print """ |==| .| """
def katana():
if True:
action = raw_input(colors.W+" ktn > "+colors.W)
action = raw_input(colors.W+" ktn "+colors.G+"~"+colors.W+" "+colors.W)
if action == "show modules" or action == "showm":
print """
,--.-, ____________________________________________________
Expand All @@ -55,27 +56,39 @@ def katana():
line("web/joomscan","Scanner vul's cms joomla")
line("web/dos","Denial of service web")
line("web/whois","Who-is web")
separator()
line("net/arpspoof","ARP-Spoofing attack")
line("net/arplook","ARP-Spoofing detector")
line("net/lanlive","Host live in my Network")
line("net/lanlive","Host live's in my Network")
separator()
line("eng/gdreport","Getting information with web")
line("eng/mailboom","E-mail boombing")
line("eng/facebrok","facebook phishing plataform")
separator()
line("fle/brutezip","Brute force to zip files")
line("fle/bruterar","Brute force to rar files")
separator()
line("clt/ftp","Console ftp client")
line("clt/sql","Console sql client")
line("clt/pop3","Console pop3 client")
separator()
line("ser/sql","Start sql server")
line("ser/apache","Start http server")
line("ser/ssh","Start ssh server")
separator()
line("bt/ftp","Brute force to ftp")
line("bt/sql","Brute force to sql")
line("bt/ssh","Brute force to ssh")
line("bt/pop3","Brute force to pop3")
separator()
line("fz/ftp","Fuzzer to ftp")
separator()
line("wifi/wpabtf","Brute force to wpa encriptation")
line("wifi/dos","Denial of service wifi")
separator()
line("mc/tlogin","Test of credentials")
line("mc/gendic","Generator dictionary")
separator()
print """ /==/, /
`--`-' \n"""
katana()
Expand Down Expand Up @@ -128,13 +141,17 @@ def katana():
if action[4:12] == "wifi/dos":
Wifi_DDOS.ddos(0)
if action[4:13] == "mc/gendic":
GenDic.Gendic()
GenDic.Gendic(0)
if action[4:13] == "web/whois":
Whois.wuis(0)
if action[4:15] == "net/lanlive":
LANScanner.hostl(0)
if action[4:16] == "eng/facebrok":
facebrok.facebrok(0)
if action[4:16] == "net/arpspoof":
ARPPoisoning.arpp(0)
if action[4:16] == "eng/mailboom":
smtpBombing.smtpbombing(0)
else:
katana()
elif action == "exit" or action == "x":
Expand Down
17 changes: 13 additions & 4 deletions ktflinker.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
p=""
m=""
s=""
options, remainder = getopt.getopt(sys.argv[1:], 't:p:f:u:ps:m:s:')
h=""
options, remainder = getopt.getopt(sys.argv[1:], 't:p:f:u:ps:m:s:h')
for option, arg in options:
if option == '-t':
t=arg
Expand All @@ -30,9 +31,16 @@
m=arg
if option == '-s':
s=arg

if option == '-h':
h=1
if s == "web/whois":
Whois.run(t,p)
if h==1:
print "\n web/whois: who-is domain name service, information juice of domains.\n"
print " -t [target] 127.0.0.1"
print " -p [port] 80"
print ""
else:
Whois.run(t,p)
elif s == "web/joomscan":
Joomscan.run(t,p)
elif s == "web/cpfinder":
Expand All @@ -51,4 +59,5 @@
#BruteRAR.run("core/db/test.rar","core/db/pass.dicc")
#WpaBTF.run("core/test/test.cap","E8:40:F2:32:37:FD","core/db/pass.dicc")
#LANScanner.run("192.168.1.0")
#facebrok.run("root","toor","db_fbrok","admin","admini|")
#facebrok.run("root","toor","db_fbrok","admin","admin")
#ARPPoisoning.run("192.168.1.0","192.168.1.254","wlan0")
30 changes: 21 additions & 9 deletions ktfrun.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,16 @@
if option == '-m':
m=arg

print ""
print " "+colors.B+"*"+colors.W+" "
print " "+colors.R+"-->"+colors.W+""+colors.B+"*"+colors.W+" _______?___________________________________ "
print " "+colors.B+"*"+colors.W+""+colors.R+"-->"+colors.W+""+colors.R+"*"+colors.W+"{_| | | | I########## "+colors.R+"KTF"+colors.W+"Run ##########/ "
print " "+colors.B+"*"+colors.W+""+colors.R+"-->"+colors.W+""+colors.R+"*"+colors.W+" ^ ^ ^ ^ "+info.version
print ""+colors.B+"*"+colors.W+" "+colors.R+"*"+colors.W
print """
__ __ ___
/ /__/ /_/ _/"""+colors.R+"""_____ _____ """+colors.W+"""
/ '_/ __/ _/"""+colors.R+"""_ __/ // / _ \\ """+colors.W+"""
/_/\_\\\\_/__/ """+colors.R+"""/_/ \_,_/_//_/ """+colors.W+"""
Core:"""+info.version+"""
"""


print " ktn | Checking Module"
try:
if True:
Expand Down Expand Up @@ -113,7 +117,7 @@
print " ktn | Running"
WpaBTF.btwpa(0)
exit()
if m == "wifi/ddos":
if m == "wifi/dos":
print " ktn | Running"
Wifi_DDOS.ddos(0)
exit()
Expand All @@ -133,11 +137,19 @@
print " ktn | Running"
facebrok.facebrok(0)
exit()
if m == "net/arpspoof":
print " ktn | Running"
ARPPoisoning.arpp(0)
exit()
if m == "eng/mailboom":
print " ktn | Running"
smtpBombing.smtpbombing(0)
exit()
else:
print " ["+colors.O+"!"+colors.W+"] Module not found"
print ""
print " ["+colors.O+"!"+colors.W+"] Use msfkatana -m Module"
print " ["+colors.B+"*"+colors.W+"] ex: msfkatana -m wifi/dos"
print " ["+colors.O+"!"+colors.W+"] Use ktfkatana -m Module"
print " ["+colors.B+"*"+colors.W+"] ex: ktfkatana -m wifi/dos"
exit()
except:
print ""
Expand Down
Loading

0 comments on commit 879e697

Please sign in to comment.