diff --git a/README.md b/README.md index f97564a6..767cebe2 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ * | |_| | | | __/ / __ / (_| | | \ V / __/\__ \ || __/ | * * \__|_| |_|\___| \/ /_/ \__,_|_| \_/ \___||___/\__\___|_| * * * -* theHarvester 3.0.6 v307 * +* theHarvester 3.0.6 v308 * * Coded by Christian Martorella * * Edge-Security Research * * cmartorella@edge-security.com * diff --git a/discovery/intelxsearch.py b/discovery/intelxsearch.py index 14d1b36f..a04f1395 100644 --- a/discovery/intelxsearch.py +++ b/discovery/intelxsearch.py @@ -4,7 +4,8 @@ import requests import time -class search_intelx: + +class SearchIntelx: def __init__(self, word, limit): self.word = word @@ -21,18 +22,21 @@ def do_search(self): try: user_agent = Core.get_user_agent() headers = {'User-Agent': user_agent, 'x-key': self.key} - data = f'{{"term": "{self.word}", "maxresults": {self.limit}, "media": 0, "sort": 2 , "terminate": []}}' # data is json that corresponds to what we are searching for, sort:2 means sort by most relevant + data = f'{{"term": "{self.word}", "maxresults": {self.limit}, "media": 0, "sort": 2 , "terminate": []}}' r = requests.post(f'{self.database}phonebook/search', data=data, headers=headers) + if r.status_code == 400: raise Exception('Invalid json was passed in.') time.sleep(1) + # grab uuid to send get request to fetch data uuid = r.json()['id'] url = f'{self.database}phonebook/search/result?id={uuid}&offset=0&limit={self.limit}' r = requests.get(url, headers=headers) time.sleep(1) - # to add in future grab status from r.text and check if more results can be gathered + + # TODO: add in future grab status from r.text and check if more results can be gathered if r.status_code != 200: raise Exception('Error occurred while searching intelx.') self.results = r.json() @@ -50,4 +54,3 @@ def get_emails(self): def get_hostnames(self): return self.info[1] - diff --git a/lib/core.py b/lib/core.py index 1fdea3bc..29747714 100644 --- a/lib/core.py +++ b/lib/core.py @@ -45,12 +45,12 @@ def intelx_key(): def banner(): print('\n\033[93m*******************************************************************') print("* _ _ _ *") - print("* | |_| |__ ___ /\ /\__ _ _ ____ _____ ___| |_ ___ _ __ *") - print("* | __| _ \ / _ \ / /_/ / _` | '__\ \ / / _ \/ __| __/ _ \ '__| *") - print("* | |_| | | | __/ / __ / (_| | | \ V / __/\__ \ || __/ | *") - print("* \__|_| |_|\___| \/ /_/ \__,_|_| \_/ \___||___/\__\___|_| *") + print(r"* | |_| |__ ___ /\ /\__ _ _ ____ _____ ___| |_ ___ _ __ *") + print(r"* | __| _ \ / _ \ / /_/ / _` | '__\ \ / / _ \/ __| __/ _ \ '__| *") + print(r"* | |_| | | | __/ / __ / (_| | | \ V / __/\__ \ || __/ | *") + print(r"* \__|_| |_|\___| \/ /_/ \__,_|_| \_/ \___||___/\__\___|_| *") print('* *') - print('* theHarvester 3.0.6 v307 *') + print('* theHarvester 3.0.6 v308 *') print('* Coded by Christian Martorella *') print('* Edge-Security Research *') print('* cmartorella@edge-security.com *') diff --git a/theHarvester.py b/theHarvester.py index 92d55947..5453d7ea 100755 --- a/theHarvester.py +++ b/theHarvester.py @@ -246,7 +246,7 @@ def start(): from discovery import intelxsearch # Import locally or won't work. try: - search = intelxsearch.search_intelx(word, limit) + search = intelxsearch.SearchIntelx(word, limit) search.process() emails = filter(search.get_emails()) all_emails.extend(emails) @@ -504,7 +504,7 @@ def start(): from discovery import intelxsearch # Import locally or won't work. try: - search = intelxsearch.search_intelx(word, limit) + search = intelxsearch.SearchIntelx(word, limit) search.process() emails = filter(search.get_emails()) all_emails.extend(emails)