Provide the option to specify which search engines to use
Provide the option to specify which search engines to use
This commit is contained in:
commit
ef37c2c5a3
32
sublist3r.py
32
sublist3r.py
|
|
@ -77,6 +77,7 @@ def parse_args():
|
||||||
parser.add_argument('-p', '--ports', help='Scan the found subdomains against specified tcp ports')
|
parser.add_argument('-p', '--ports', help='Scan the found subdomains against specified tcp ports')
|
||||||
parser.add_argument('-v', '--verbose', help='Enable Verbosity and display results in realtime',nargs='?', default=False)
|
parser.add_argument('-v', '--verbose', help='Enable Verbosity and display results in realtime',nargs='?', default=False)
|
||||||
parser.add_argument('-t', '--threads', help='Number of threads to use for subbrute bruteforce', type=int, default=30)
|
parser.add_argument('-t', '--threads', help='Number of threads to use for subbrute bruteforce', type=int, default=30)
|
||||||
|
parser.add_argument('-e', '--engines', help='Specify a comma-separated list of search engines')
|
||||||
parser.add_argument('-o', '--output', help='Save the results to text file')
|
parser.add_argument('-o', '--output', help='Save the results to text file')
|
||||||
return parser.parse_args()
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
@ -884,7 +885,7 @@ class portscan():
|
||||||
t = threading.Thread(target=self.port_scan,args=(subdomain,self.ports))
|
t = threading.Thread(target=self.port_scan,args=(subdomain,self.ports))
|
||||||
t.start()
|
t.start()
|
||||||
|
|
||||||
def main(domain, threads, savefile, ports, silent, verbose, enable_bruteforce):
|
def main(domain, threads, savefile, ports, silent, verbose, enable_bruteforce, engines):
|
||||||
bruteforce_list = set()
|
bruteforce_list = set()
|
||||||
search_list = set()
|
search_list = set()
|
||||||
|
|
||||||
|
|
@ -915,8 +916,32 @@ def main(domain, threads, savefile, ports, silent, verbose, enable_bruteforce):
|
||||||
if verbose and not silent:
|
if verbose and not silent:
|
||||||
print(Y+"[-] verbosity is enabled, will show the subdomains results in realtime"+W)
|
print(Y+"[-] verbosity is enabled, will show the subdomains results in realtime"+W)
|
||||||
|
|
||||||
|
supported_engines = {'baidu':BaiduEnum,
|
||||||
|
'yahoo':YahooEnum,
|
||||||
|
'google':GoogleEnum,
|
||||||
|
'bing':BingEnum,
|
||||||
|
'ask':AskEnum,
|
||||||
|
'netcraft':NetcraftEnum,
|
||||||
|
'dnsdumpster':DNSdumpster,
|
||||||
|
'virstotal':Virustotal,
|
||||||
|
'threatcrowd':ThreatCrowd,
|
||||||
|
'ssl':CrtSearch,
|
||||||
|
'passivedns':PassiveDNS
|
||||||
|
}
|
||||||
|
|
||||||
|
chosenEnums = []
|
||||||
|
|
||||||
|
if engines == None:
|
||||||
|
chosenEnums = [BaiduEnum, YahooEnum, GoogleEnum, BingEnum, AskEnum,
|
||||||
|
NetcraftEnum, DNSdumpster, Virustotal, ThreatCrowd, CrtSearch, PassiveDNS]
|
||||||
|
else:
|
||||||
|
engines = engines.split(',')
|
||||||
|
for engine in engines:
|
||||||
|
if supported_engines.has_key(engine.lower()):
|
||||||
|
chosenEnums.append(supported_engines[engine.lower()])
|
||||||
|
|
||||||
#Start the engines enumeration
|
#Start the engines enumeration
|
||||||
enums = [enum(domain, [], q=subdomains_queue, silent=silent, verbose=verbose) for enum in (BaiduEnum, YahooEnum, GoogleEnum, BingEnum, AskEnum, NetcraftEnum, DNSdumpster, Virustotal, ThreatCrowd, CrtSearch, PassiveDNS)]
|
enums = [enum(domain, [], q=subdomains_queue, silent=silent, verbose=verbose) for enum in chosenEnums]
|
||||||
for enum in enums:
|
for enum in enums:
|
||||||
enum.start()
|
enum.start()
|
||||||
for enum in enums:
|
for enum in enums:
|
||||||
|
|
@ -968,9 +993,10 @@ if __name__=="__main__":
|
||||||
ports = args.ports
|
ports = args.ports
|
||||||
enable_bruteforce = args.bruteforce
|
enable_bruteforce = args.bruteforce
|
||||||
verbose = args.verbose
|
verbose = args.verbose
|
||||||
|
engines = args.engines
|
||||||
if verbose or verbose is None:
|
if verbose or verbose is None:
|
||||||
verbose = True
|
verbose = True
|
||||||
|
|
||||||
|
|
||||||
banner()
|
banner()
|
||||||
res = main(domain, threads, savefile, ports, silent=False, verbose=verbose, enable_bruteforce=enable_bruteforce)
|
res = main(domain, threads, savefile, ports, silent=False, verbose=verbose, enable_bruteforce=enable_bruteforce, engines=engines)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue