def awstest_start(message): global logger global at package_name = message['package_name'] asset = Assets() keys = asset.get(package_name) logger.start() socketio.start_background_task(target=awstest, package_name=package_name, keys=keys) isvuln = False for a in logger.loggenerator(): data = json.loads(a) if data['service'] == "stop": time.sleep(0.5) logger.stop() break elif data['type'] == "vuln": isvuln = isvuln or True elif data['type'] == "novuln": isvuln = isvuln or False socketio.emit("log", data, namespace="/awstest") asset.update_one(package_name, "vulnerable", 1 if isvuln else 0) at = awsTester(package_name, keys['access_key_id'], keys['secret_key_id'], keys['session_token'], keys['region']) socketio.emit("manual_log", {"data": "[!] AWS Configuration Start!!"}, namespace="/awstest") at.configure() socketio.emit("manual_log", {"data": "[!] AWS Configuration Complete!"}, namespace="/awstest")
def awstest(package_name, keys): global logger at = awsTester(package_name, keys['access_key_id'], keys['secret_key_id'], keys['session_token'], keys['region'], logger.logger) auto_check = False for service in keys['service'].split(","): if service == "s3": auto_check = True at.s3_check(keys['bucket'], "ls") elif service == "kinesis": auto_check = True at.kinesis_check("list_streams") elif service == "firehorse": auto_check = True at.firehose_check("list_delivery_streams") if not auto_check: logger.logger.info( json.dumps({ "service": "auto_check", "type": "no", "msg": "[!] This app is not using \"s3\", \"kinesis\", \"firehorse\"." })) logger.logger.info(json.dumps({"service": "stop"}))
def awstest(package_name, keys): global logger at = awsTester(package_name, keys['access_key_id'], keys['secret_key_id'], keys['session_token'], keys['region'], logger.logger) for service in keys['service'].split(","): if service == "s3": at.s3_check(keys['bucket'], "ls") elif service == "kinesis": at.kinesis_check("list_streams") elif service == "firehorse": at.firehose_check("list_delivery_streams") logger.logger.info(json.dumps({"service":"stop"}))
from awstester import awsTester from FridaGUI import FridaGUI from PresetScript import PresetScript app = Flask(__name__) ps = PresetScript() fg = FridaGUI(ps) app.secret_key = "secret" socketio = SocketIO(app, async_mode="threading", engineio_logger=True) BASE_URI = os.path.dirname(__file__) getlist = Getlists(socketio) downloader = Downloader(socketio) sofrida = soFrida(socketio) at = awsTester(socketio) @app.route("/") def index(): return render_template("index.html") @app.route("/apk_download") def apk_download_layout(): return render_template("apk_download.html") @app.route("/assets") def assets_layout(): asset = Assets() asset_infos = asset.get_exist_sdk() return render_template("assets.html", asset_infos=asset_infos) @app.route("/keylist") def keylist_layout():