mirror of https://github.com/CIRCL/AIL-framework
chg: [telegram module] add new tag: telegram invite code
parent
3af5c4bafa
commit
daf534d74b
|
@ -44,6 +44,8 @@ regex_join_hash = re.compile(r'[0-9a-zA-z-]+')
|
||||||
max_execution_time = 60
|
max_execution_time = 60
|
||||||
|
|
||||||
def extract_data_from_telegram_url(item_id, item_date, base_url, url_path):
|
def extract_data_from_telegram_url(item_id, item_date, base_url, url_path):
|
||||||
|
invite_code_found = False
|
||||||
|
|
||||||
#url = urlparse(url_path)
|
#url = urlparse(url_path)
|
||||||
url_path = url_path.split('/')
|
url_path = url_path.split('/')
|
||||||
# username len > 5, a-z A-Z _
|
# username len > 5, a-z A-Z _
|
||||||
|
@ -51,7 +53,7 @@ def extract_data_from_telegram_url(item_id, item_date, base_url, url_path):
|
||||||
username = url_path[0].lower()
|
username = url_path[0].lower()
|
||||||
username = regex_username.search(username)
|
username = regex_username.search(username)
|
||||||
if username:
|
if username:
|
||||||
username = username[0].replace('/', '')
|
username = username[0].replace('\\', '')
|
||||||
if len(username) > 5:
|
if len(username) > 5:
|
||||||
print('username: {}'.format(username))
|
print('username: {}'.format(username))
|
||||||
telegram.save_item_correlation(username, item_id, item_date)
|
telegram.save_item_correlation(username, item_id, item_date)
|
||||||
|
@ -61,6 +63,9 @@ def extract_data_from_telegram_url(item_id, item_date, base_url, url_path):
|
||||||
invite_hash = invite_hash[0]
|
invite_hash = invite_hash[0]
|
||||||
telegram.save_telegram_invite_hash(invite_hash, item_id)
|
telegram.save_telegram_invite_hash(invite_hash, item_id)
|
||||||
print('invite code: {}'.format(invite_hash))
|
print('invite code: {}'.format(invite_hash))
|
||||||
|
invite_code_found = True
|
||||||
|
return invite_code_found
|
||||||
|
|
||||||
|
|
||||||
# # TODO:
|
# # TODO:
|
||||||
# Add openmessafe
|
# Add openmessafe
|
||||||
|
@ -68,6 +73,8 @@ def extract_data_from_telegram_url(item_id, item_date, base_url, url_path):
|
||||||
# Add confirmphone
|
# Add confirmphone
|
||||||
# Add user
|
# Add user
|
||||||
def extract_data_from_tg_url(item_id, item_date, tg_link):
|
def extract_data_from_tg_url(item_id, item_date, tg_link):
|
||||||
|
invite_code_found = False
|
||||||
|
|
||||||
url = urlparse(tg_link)
|
url = urlparse(tg_link)
|
||||||
# username len > 5, a-z A-Z _
|
# username len > 5, a-z A-Z _
|
||||||
if url.netloc == 'resolve' and len(url.query) > 7:
|
if url.netloc == 'resolve' and len(url.query) > 7:
|
||||||
|
@ -76,7 +83,7 @@ def extract_data_from_tg_url(item_id, item_date, tg_link):
|
||||||
username = url.query[7:]
|
username = url.query[7:]
|
||||||
username = regex_username.search(username)
|
username = regex_username.search(username)
|
||||||
if username:
|
if username:
|
||||||
username = username[0].replace('/', '')
|
username = username[0].replace('\\', '')
|
||||||
if len(username) > 5:
|
if len(username) > 5:
|
||||||
print('username: {}'.format(username))
|
print('username: {}'.format(username))
|
||||||
telegram.save_item_correlation(username, item_id, item_date)
|
telegram.save_item_correlation(username, item_id, item_date)
|
||||||
|
@ -88,6 +95,7 @@ def extract_data_from_tg_url(item_id, item_date, tg_link):
|
||||||
invite_hash = invite_hash[0]
|
invite_hash = invite_hash[0]
|
||||||
telegram.save_telegram_invite_hash(invite_hash, item_id)
|
telegram.save_telegram_invite_hash(invite_hash, item_id)
|
||||||
print('invite code: {}'.format(invite_hash))
|
print('invite code: {}'.format(invite_hash))
|
||||||
|
invite_code_found = True
|
||||||
|
|
||||||
elif url.netloc == 'login' and len(url.query) > 5:
|
elif url.netloc == 'login' and len(url.query) > 5:
|
||||||
login_code = url.query[5:]
|
login_code = url.query[5:]
|
||||||
|
@ -96,6 +104,8 @@ def extract_data_from_tg_url(item_id, item_date, tg_link):
|
||||||
else:
|
else:
|
||||||
print(url)
|
print(url)
|
||||||
|
|
||||||
|
return invite_code_found
|
||||||
|
|
||||||
def search_telegram(item_id, item_date, item_content):
|
def search_telegram(item_id, item_date, item_content):
|
||||||
# telegram links
|
# telegram links
|
||||||
signal.alarm(max_execution_time)
|
signal.alarm(max_execution_time)
|
||||||
|
@ -109,7 +119,7 @@ def search_telegram(item_id, item_date, item_content):
|
||||||
signal.alarm(0)
|
signal.alarm(0)
|
||||||
|
|
||||||
for telegram_link in telegram_links:
|
for telegram_link in telegram_links:
|
||||||
extract_data_from_telegram_url(item_id, item_date, telegram_link[0], telegram_link[1])
|
res_0 = extract_data_from_telegram_url(item_id, item_date, telegram_link[0], telegram_link[1])
|
||||||
|
|
||||||
# tg links
|
# tg links
|
||||||
signal.alarm(max_execution_time)
|
signal.alarm(max_execution_time)
|
||||||
|
@ -123,7 +133,12 @@ def search_telegram(item_id, item_date, item_content):
|
||||||
signal.alarm(0)
|
signal.alarm(0)
|
||||||
|
|
||||||
for tg_link in tg_links:
|
for tg_link in tg_links:
|
||||||
extract_data_from_tg_url(item_id, item_date, tg_link)
|
res_1 = extract_data_from_tg_url(item_id, item_date, tg_link)
|
||||||
|
|
||||||
|
if res_0 or res_1:
|
||||||
|
#tags
|
||||||
|
msg = 'infoleak:automatic-detection="telegram-invite-hash";{}'.format(item_id)
|
||||||
|
p.populate_set_out(msg, 'Tags')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
Loading…
Reference in New Issue