mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-08-20 22:52:32 +02:00
66 lines
2.3 KiB
Python
66 lines
2.3 KiB
Python
from modules import skeleton
|
|
from lib.core import utils
|
|
from lib.mode import speed
|
|
from lib.sender import execute
|
|
from lib.sender import polling
|
|
from lib.sender import report
|
|
from lib.sender import summary
|
|
from lib.sender import summary
|
|
|
|
|
|
class SubdomainScanning(skeleton.Skeleton):
|
|
"""docstring for subdomain"""
|
|
def banner(self):
|
|
utils.print_banner("Starting Subdomain Scanning")
|
|
utils.make_directory(self.options['WORKSPACE'] + '/subdomain')
|
|
|
|
# clean up things and join all output path together
|
|
def conclude(self):
|
|
outputs = utils.get_output_path(self.commands)
|
|
# print(outputs)
|
|
final_output = utils.replace_argument(
|
|
self.options, "$WORKSPACE/subdomain/final-$OUTPUT.txt")
|
|
|
|
# print(final_output)
|
|
outputs = utils.join_files(outputs, final_output)
|
|
utils.check_output(final_output)
|
|
summary.push_with_file(self.options, final_output)
|
|
utils.print_elapsed(self.options)
|
|
|
|
'''
|
|
Start clean part
|
|
'''
|
|
|
|
# clean up gobuster
|
|
def clean_gobuster(self, command):
|
|
utils.print_good('Cleaning for {0}:{1}'.format(
|
|
command.get('banner'), command.get('post_run')))
|
|
output = utils.just_read(command.get('output_path'))
|
|
if not output:
|
|
utils.print_bad('Output not found: {0}'.format(
|
|
command.get('output_path')))
|
|
return False
|
|
|
|
cleaned_output = utils.just_write(command.get(
|
|
'cleaned_output'), output.replace('Found: ', ''))
|
|
if cleaned_output:
|
|
utils.check_output(command.get(
|
|
'cleaned_output'))
|
|
|
|
# clean up for massdns result
|
|
def clean_massdns(self, command):
|
|
utils.print_good('Cleaning for {0}:{1}'.format(command.get('banner'), command.get('post_run')))
|
|
output = utils.just_read(command.get('output_path'), get_list=True)
|
|
if not output:
|
|
utils.print_bad('Output not found: {0}'.format(
|
|
command.get('output_path')))
|
|
return False
|
|
|
|
# only get A record
|
|
only_A_record = "\n".join([x.split('. A ')[0] for x in output if '. A ' in x])
|
|
|
|
cleaned_output = utils.just_write(command.get(
|
|
'cleaned_output'), only_A_record)
|
|
if cleaned_output:
|
|
utils.check_output(command.get('cleaned_output'))
|