diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..70517cd --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,15 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: TheresAFewConors +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +polar: # Replace with a single Polar username +buy_me_a_coffee: # Replace with a single Buy Me a Coffee username +thanks_dev: # Replace with a single thanks.dev username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/Modules/iplists.py b/Modules/iplists.py index 736c303..4b75cac 100644 --- a/Modules/iplists.py +++ b/Modules/iplists.py @@ -8,10 +8,10 @@ """ -import argparse # Doesn't seem to be used? import ipaddress import json import requests +import sys class userInput: @@ -27,8 +27,7 @@ def urlOrIP(self): # If value error, then it cannot be an IP except ValueError: - print("URLs are not (yet) supported") - exit() + sys.exit("URLs are not (yet) supported") except Exception as exc: print(exc) diff --git a/README.md b/README.md index 7c81e8d..7125da4 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,18 @@ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-green.svg?style=flat-square)](https://GitHub.com/theresafewconors/sooty) [![GitHub contributors](https://img.shields.io/github/contributors/theresafewconors/sooty.svg?style=flat-square)](https://GitHub.com/theresafewconors/sooty/graphs/contributors/) [![Generic badge](https://img.shields.io/badge/Built%20For-SOC%20Analyst's-olive.svg?style=flat-square)](https://GitHub.com/theresafewconors/sooty) -[![HitCount](http://hits.dwyl.io/theresafewconors/sooty.svg)](https://GitHub.com/theresafewconors/sooty) +[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fgjbae1212%2Fhit-counter&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com) ![Docker](https://img.shields.io/badge/Docker-Supported-blue) ![](readmeimages/sooty_logo.png) -[![](readmeimages/tines_banner.png)](https://tines.io?utm_source=github&utm_medium=sponsorship&utm_campaign=sooty) +

+ # Overview Sooty is a tool developed with the task of aiding SOC analysts with automating part of their workflow. One of the goals of Sooty is to perform as many of the routine checks as possible, allowing the analyst more time to spend on deeper analysis within the same time-frame. Details for many of Sooty's features can be found below. -Sooty is now proudly supported by [Tines.io](https://tines.io?utm_source=github&utm_medium=sponsorship&utm_campaign=sooty)! The SOAR Platform for Enterprise Security Teams. +Sooty is now proudly supported by [Tines.com](https://tines.com?utm_source=github&utm_medium=sponsorship&utm_campaign=sooty)! The SOAR Platform for Enterprise Security Teams. ## Contents - [Current Features](#sooty-can-currently) diff --git a/Sooty.py b/Sooty.py index e7b37b5..71494c0 100644 --- a/Sooty.py +++ b/Sooty.py @@ -22,7 +22,7 @@ import requests from ipwhois import IPWhois import tkinter -import tkinter.filedialog +import sys from Modules import iplists from Modules import phishtank @@ -66,7 +66,7 @@ def switchMenu(choice): if choice == '9': extrasMenu() if choice == '0': - exit() + sys.exit("Exiting Sooty... done") else: mainMenu() @@ -1076,6 +1076,9 @@ def emailTemplateGen(): params = {'apikey': configvars.data['VT_API_KEY'], 'resource': link} response = requests.get(url, params=params) result = response.json() + if result['response_code'] == 0: + print(" [Warn] URL not found in VirusTotal database!") + continue if response.status_code == 200: virusTotalAnalyze(result, sanitizedLink) diff --git a/readmeimages/Tines-Sponsorship-Badge-Purple.png b/readmeimages/Tines-Sponsorship-Badge-Purple.png new file mode 100644 index 0000000..dcd0d5f Binary files /dev/null and b/readmeimages/Tines-Sponsorship-Badge-Purple.png differ diff --git a/requirements.txt b/requirements.txt index 7fdff47..3e7f8e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ asn1crypto==0.24.0 certifi==2019.6.16 -cffi==1.12.3 +cffi==1.14.5 chardet==3.0.4 -cryptography==2.7 +cryptography==3.3.2 dfir-unfurl==20200812 dnspython==1.16.0 idna==2.8 @@ -10,11 +10,11 @@ ipwhois==1.1.0 pycparser==2.19 pyOpenSSL==19.0.0 PySocks==1.7.0 -pywin32==224; sys_platform == 'win32' +pywin32==301; sys_platform == 'win32' requests==2.22.0 six==1.12.0 strictyaml==1.0.6 -urllib3==1.24.2 +urllib3==1.25.9 win-inet-pton==1.1.0 wincertstore==0.2 wget==3.2