· 8 years ago · Feb 05, 2018, 03:28 PM
1import asyncio
2import json
3
4import codecs
5import os
6import random
7import re
8
9from cloudbot import hook
10from cloudbot.util import textgen
11
12nick_re = re.compile("^[A-Za-z0-9_|.\-\]\[\{\}]*$", re.I)
13
14#
15# https://github.com/CloudBotIRC/CloudBot/tree/master/plugins
16# https://pastebin.com/u/Hack5190
17#
18# Hack5190 (at) gmail.com
19#
20# Based on an idea from http://www.bugbrother.com/echelon/spookwordsgenerator.html
21#
22# v1.0 - 3-Feb-2018 - Initial release
23#
24
25spookwords = ['Waihopai, INFOSEC', 'ASPIC', 'MI6', 'Information Security', 'SAI', 'Information Warfare', 'Information Terrorism',
26 'Terrorism Defensive Information', 'Defense Information Warfare', 'Offensive Information Warfare',
27 'Counter Terrorism Security', 'AUSTEO', 'SARA', 'Rapid Reaction', 'JSOFC3IP', 'Corporate Security',
28 'Electronic Surveillance', 'AADCCS', 'DABM', 'DAIRSDIA', 'DALATS', 'DALATS', 'DIFAX', 'PSM', 'SECMANs',
29 'tampering', 'COCOT', 'NACSINSCT', 'SCIF', 'FLiR', 'JIC', 'bce', 'Lacrosse', 'Flashbangs', 'HRT', 'IRA',
30 'EODG', 'DIA', 'USCOI', 'CID', 'BOP', 'FINCEN', 'FLETC', 'NIJ', 'ACC', 'AFSPC', 'BMDOSASSTIXS', 'NAVWAN',
31 'NRL', 'RL', 'NAVWCWPNS', 'NSWC', 'USAFA', 'AHPCRC', 'ARPA', 'SARD', 'LABLINK', 'USACIL', 'NRCNSA/CSS',
32 'GCHQ', 'DITSA', 'SORT', 'AMEMB', 'NSG', 'HIC', 'EDIGRU', 'LRTS', 'SIGDEV', 'NACSI', 'MEU/SOC,PSAC',
33 'TELINTNRO', 'GRU', 'SRIDRM', 'DST', 'SDF', 'CANUSEYESONLY', 'CANUKUS', 'AUSCANUKUS', 'C4I', 'C3I']
34
35bombs = ['biological weapon scientist', 'nuclear expert', 'chemical activist', 'most wanted person', 'cryptoanarchist',
36 'blac block hacktivist', 'money launderer', 'top secret agent', 'covert agent', 'bad bad bad bad bad guy'
37 'dangerous criminal', 'sexually addicted to young soldiers']
38
39services = ['Indian Central Bureau of Investigation (CBI)', 'Pakistan Directorate of Inter-Services Intelligence (ISI)',
40 'Korean Central Intelligence Agency (KCIA)', 'Irak National Security Council/Bureau [Maktab al-Amn al-Qawmi]',
41 'North Korea Reconnaissance Bureau', 'Ukraine Security Service (Sluzhba Bespeky Ukrayiny - SBU)',
42 'Serbia Counterintelligence Service (Kontraobavesajna Sluzba - KOS)',
43 'Iran Ministry of Intelligence and Security [MOIS] (Vezarat-e Ettela\'at va Amniat-e Keshvar VEVAK)',
44 'JMIC (Joint Military Intelligence College)', '634th Military Intelligence', '21st Space Wing',
45 'DARPA (Defense Advanced Research Projects Agency)', '704th Military Intelligence Brigade',
46 'USASMDC (U.S. Army Space and Missile Defense Commance, Dep.Ch. Staff / Intel & Security)',
47 'DoD-C3I (Command, Control, Communications, Intelligence)',
48 'Marine-C4I (Command, Control, Communications, Computers, Intelligence)']
49
50classifications = ['TEPER SEKRET (TOP SECRET - Albania)', 'SECRET VOJNA TAJNA (TOP VERY SECRET - Balkans)',
51 'NAJVECI TAJNITAJNI (TOP SECRET - Croatia)', 'STROGO SEKRENTO (SECRET SECRET - Balkans)',
52 'COBEOWEHHO (CLASSIFIED - Russia)', 'TSILKOM SEKRETNE (TOP SECRET - Ukraine)', 'SZIGOR\'UAN TITKOS (TOP SECRET - Hungary)',
53 'SANGAT RAHASIA (TOP SECRET - Indonesia)', 'BENKOLI SERRI (TOP SECRET - Iran)', 'SODI BEYOTER (TOP SECRET - Israel)']
54
55military = ['BRGE (french Brigade de Renseignement et de Guerre Electronique)', 'EloAufkl (german Elektronische Aufklärung)',
56 'C4I2 (OTAN Comand, Control, Communications, Computers, Inteligence & Interoperability)',
57 'CJTF (US Counterterrorist Joint Task Force)', 'CRW (UK Counter-Revolutionary Warfare)',
58 'DCI (cuban Departemento de Contra-Inteligencia)', 'FSK (rumanian Federal\'naya Sloujba Kontrrazviedki)',
59 'ISI (pakistan Inter-Service Intelligence)', 'TsSR (NIS Tsienntral\'naya Sloujba Razviedki)',
60 'SAVAK (Iran Sazman-i Amniyat Va Ittila\'at-i Kishvar)', 'UKUSA (United Kingdom - USA Security Agreement)']
61
62sources = ['ultra confidential encrypted documents', 'top secret counterintelligence imagery',
63 'highly classified steganographic codes', 'sensitive secured letters deciphered',
64 'email addresses with logins & passwords', 'civil rights anonymous remailers logs'
65 'cypherpunk & mixmaster remailers logs', 'anarchists and terrorists nym servers logs',
66 'web based CGI proxys & Anonymizers logs', 'encryption products & snake oil backdoors']
67
68contacts = ['fsb@fsb.ru', 'svr@gov.ru', 'ceib1@bol.net.in', 'mfa@smip.sv.gov.yu', 'webmaster@mit.gov.tr',
69 'fatf.contact@oecd.org', 'd3ripc@interpol.int', 'info@igis.gov.au', 'citss@cse-cst.gc.ca',
70 'liaison@gcsb.govt.nz', 'recruitment.gchq@dial.pipex.com', 'dia_mil@hotmail.com',
71 'AskPublicAffairs@state.gov', 'nipc.watch@fbi.gov', 'president@whitehouse.gov',
72 'Michael_Miron@ita.doc.gov', 'W2KGuides@nsa.gov', 'HIRC@mail.house.gov']
73
74def is_valid(target):
75 """ Checks if a string is a valid IRC nick. """
76 if nick_re.match(target):
77 return True
78 else:
79 return False
80
81@asyncio.coroutine
82@hook.command
83def nsa(text, action):
84 """<user> - shares information from NSA intercepts about <user>"""
85 user = text.strip()
86
87 if not is_valid(user):
88 return "I can't share any NSA intercepts about that user."
89
90 bomb = random.choices(bombs)
91 mil = random.choice(military)
92 source = random.choice(sources)
93 service = random.choice(services)
94 contact = random.choice(contacts)
95 spook = random.choice(spookwords)
96 classification = random.choice(classifications)
97
98 action("The folowing message marked {} was intercepted during transmission from the {} and {}.+\rRED ALERT: {} has {} related to {} and {}.+\r{} is classified as A MOST WANTED PERSON by the {}.".format(classification, service, contact, user, source, bomb, spook, user, mil))