/
king.py
125 lines (112 loc) · 3.67 KB
/
king.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from time import strftime, sleep
from nmap import PortScanner
from requests import post
from re import findall
from os import system
from sys import argv
bold = "\033[1m"
underline = "\033[4m"
green = "\033[92m"
blue = "\033[94m"
yellow = "\033[93m"
red = "\033[91m"
endcolor = "\033[0m"
portlist = [80]
def logo():
system("clear")
print bold+"\t\t\tKing Cobra | Web Analysis Tool"+endcolor
print bold+"\t\t\t------------------------------"+endcolor
print "\t\t\t--==[ {}Cyber Warrior Team{} ]==--".format(green,endcolor)
print "\t\t\t--==[ {}Bug Researachers{} ]==--".format(blue,endcolor)
print "\t\t\t--==[ {}CoderLab{} ]==--".format(yellow, endcolor)
print bold+"\t\t\t------------------------------"+endcolor
def nmapScan(target):
nm = PortScanner()
sc = nm.scan(hosts=target, arguments="-n -T4 -sV -p 21,22,23,25,53,80,110,143,443,465,995,993,1248,1433,3306,3389")
global siteIP
siteIP = sc["scan"].keys()[0]
key, value, total = sc["scan"][siteIP]["tcp"].keys(), sc["scan"][siteIP]["tcp"].values(), len(sc["scan"][siteIP]["tcp"].keys())
print bold+"Port\t\tName\t\tVersion\t\tStatus"+endcolor
print "----\t\t------\t\t----\t\t-------"
for port in range(total):
if value[port]["state"] == "open":
portlist.append(key[port])
else:
pass
print "{}\t\t{}\t\t{}\t\t{}".format(key[port], value[port]["name"], value[port]["version"], value[port]["state"])
print ""
print "Scan Time : {}".format(sc["nmap"]['scanstats']['timestr'])
print "Scan Interval : {}".format(sc["nmap"]['scanstats']['elapsed'])
def exploitScan():
for port in portlist:
print "{}Exploits For Port {}{}:\n\thttp://www.enigmagroup.org/exploits/rport/{}/".format(bold+blue,port,endcolor, port)
def adminScan(target):
def wpScan():
try:
payload = post("http://"+target+"/wp-login.php")
if "Powered by WordPress" in payload.text:
return True
else:
return False
except:
return False
def joomlaScan():
try:
payload = post("http://"+target+"/administrator")
if "Joomla!" in payload.text:
return True
else:
return False
except:
return False
def mybbScan():
try:
payload = post("http://"+target+"/admin")
if "MyBB Group" in payload.text:
return True
else:
return False
except:
return False
if wpScan() == True:
print bold+"Script: "+green+"WordPress"+endcolor
if joomlaScan() == True:
print bold+"Script: "+green+"Joomla!"+endcolor
elif mybbScan() == True:
print bold+"Script: "+green+"MyBB"+endcolor
else:
print red+bold+"Script Not Found.."+endcolor
def reverseIP(target):
payload = post("http://viewdns.info/reverseip/?host="+target+"&t=1")
results = findall('<td>(.*?)</td><td align="center">(.*?)</td></tr><tr>', payload.text)
for result in results:
site, date = result
if len(site) < 50:
print bold+blue+"Site: "+endcolor+site
sleep(0.1)
else:
pass
if len(argv) == 2:
logo()
print bold+yellow+"[*] Checking If < "+endcolor+argv[1]+bold+yellow+" > Is Vulnerable"+endcolor
print "~"*50
print bold+yellow+"Start Time: "+endcolor+strftime("%H:%M:%S")+"\t\t\t"+strftime("%d/%m/%Y")
print "~"*50
print bold+green+"\t\t<<< Port Scan >>>"+endcolor
nmapScan(argv[1])
print bold+green+"\t\t<<< Port Exploit Scan >>>"+endcolor
exploitScan()
print bold+green+"\t\t<<< Script Scan >>>"+endcolor
adminScan(argv[1])
print bold+green+"\t\t<<< Reverse IP Lookup >>>"+endcolor
reverseIP(argv[1])
print "~"*50
print bold+yellow+"Finish Time: "+endcolor+strftime("%H:%M:%S")+"\t\t\t"+strftime("%d/%m/%Y")
print "~"*50
else:
logo()
print "How To Usage?"
print "\t"+bold+red+"root@linux"+endcolor+":"+bold+blue+"~/coderlab"+endcolor+"#"+" python "+argv[0]+" target.com"
raw_input()