├── README.md ├── apache_access_log.py ├── dnsmasq_parse.py ├── do_dynamic_ip.py ├── domains.txt ├── export_ec2_secgroups.py ├── firstnames.txt ├── lastnames.txt ├── ostrich.py ├── passwords.txt ├── phish_blast.py ├── ping_trend.py ├── texttable.py ├── threat_intel_feed.json └── useragents.txt /README.md: -------------------------------------------------------------------------------- 1 | blue 2 | ======= 3 | 4 | Scripts that are geared toward blue teams 5 | 6 | * `apache_acces_log.py` - Parse Apache access logs in vhost_combined and combined format. Extract and count the unique hosts, user agents, referrers, and requested resources. 7 | * `dnsmasq_parse.py` - Parse [dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html) logs into a SQLite database 8 | * `do_dynamic_ip.py` - Script to update a DigitalOcean DNS record with a dynamic IP address. 9 | * `ostrich.py` - The world's first zero false-positive vulnerability scanner (don't ask about false negatives though) 10 | * `phish_blast.py` - Generate random names and credentials to send to phishing sites 11 | * `ping_trend.py` - Simple tool to track uptime on servers using ping. Data is stored in SQLite. 12 | * `texttable.py` - Create nicely formatted data tables in ASCII 13 | -------------------------------------------------------------------------------- /apache_access_log.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright (c) 2013, ASG Consulting 3 | # All rights reserved. 4 | # 5 | # Redistribution and use in source and binary forms, with or without 6 | # modification, are permitted provided that the following conditions are met: 7 | # 8 | # Redistributions of source code must retain the above copyright notice, this 9 | # list of conditions and the following disclaimer. 10 | # 11 | # Redistributions in binary form must reproduce the above copyright notice, 12 | # this list of conditions and the following disclaimer in the documentation 13 | # and/or other materials provided with the distribution. 14 | # 15 | # Neither the name of ASG Consulting nor the names of its contributors 16 | # may be used to endorse or promote products derived from this software 17 | # without specific prior written permission. 18 | # 19 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 23 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | # POSSIBILITY OF SUCH DAMAGE. 30 | 31 | import glob 32 | import sys 33 | import re 34 | 35 | import texttable 36 | 37 | # Define regular expressions for the Apache vhost_combined and combined log 38 | # formats. Other formats will be ignored. 39 | # 40 | # vhost_combined 41 | # %v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" 42 | vhc_re = re.compile(r'^(.*:\d+) ([0-9.]+) .* "(.*)" \d+ \d+ "(.*)" "(.*)"$') 43 | 44 | # combined 45 | # %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" 46 | cbn_re = re.compile(r'^([0-9.]+) .* "(.*)" \d+ \d+ "(.*)" "(.*)"$') 47 | 48 | 49 | def parse_line(line): 50 | m = vhc_re.match(line) 51 | if m is not None: 52 | vhost, host, resource, referer, agent = m.groups() 53 | 54 | m = cbn_re.match(line) 55 | if m is not None: 56 | vhost = '' 57 | host, resource, referer, agent = m.groups() 58 | 59 | if resource != '-': 60 | resource = resource.split(' ')[1] 61 | 62 | return vhost, host, resource, referer, agent 63 | 64 | 65 | def parse_log_file(f): 66 | for line in open(f): 67 | line = line.strip() 68 | if line == '': 69 | continue 70 | if line.startswith('#'): 71 | continue 72 | 73 | yield parse_line(line) 74 | 75 | 76 | def print_table(tname, cname, data): 77 | t = texttable.TextTable() 78 | t.header = tname 79 | t.add_col_names([cname, 'Count']) 80 | t.add_col_align(['<', '>']) 81 | for d in sorted(data, key=data.get, reverse=True): 82 | t.add_row([d, data[d]]) 83 | 84 | print t 85 | 86 | 87 | if __name__ == '__main__': 88 | if len(sys.argv) != 2: 89 | print 'apache_log_parser.py path/to/logs' 90 | sys.exit(1) 91 | 92 | vhosts = {} 93 | 94 | for f in glob.glob(sys.argv[1] + '/*.log'): 95 | for vhost, host, res, ref, agent in parse_log_file(f): 96 | vhosts.setdefault(vhost, 97 | {'hosts': {}, 'referers': {}, 98 | 'resources': {}, 'agents': {}}) 99 | 100 | data = vhosts[vhost] 101 | data['hosts'][host] = 1 + data['hosts'].get(host, 0) 102 | data['agents'][agent] = 1 + data['agents'].get(agent, 0) 103 | data['resources'][res] = 1 + data['resources'].get(res, 0) 104 | data['referers'][ref] = 1 + data['referers'].get(ref, 0) 105 | 106 | for vhost in vhosts: 107 | print '-' * (len(vhost) + 4) 108 | print '| ' + vhost + ' |' 109 | print '-' * (len(vhost) + 4) 110 | 111 | print_table('Hosts', 'Host', vhosts[vhost]['hosts']) 112 | print_table('User Agents', 'User Agent', vhosts[vhost]['agents']) 113 | print_table('Resources', 'Resource', vhosts[vhost]['resources']) 114 | print_table('Referers', 'Referer', vhosts[vhost]['referers']) 115 | print 116 | -------------------------------------------------------------------------------- /dnsmasq_parse.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | # Copyright (c) 2015, LCI Technology Group, LLC 5 | # All rights reserved. 6 | # 7 | # Redistribution and use in source and binary forms, with or without 8 | # modification, are permitted provided that the following conditions are met: 9 | # 10 | # Redistributions of source code must retain the above copyright notice, this 11 | # list of conditions and the following disclaimer. 12 | # 13 | # Redistributions in binary form must reproduce the above copyright notice, 14 | # this list of conditions and the following disclaimer in the documentation 15 | # and/or other materials provided with the distribution. 16 | # 17 | # Neither the name of LCI Technology Group, LLC nor the names of its 18 | # contributors may be used to endorse or promote products derived from this 19 | # software without specific prior written permission. 20 | # 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 25 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | # POSSIBILITY OF SUCH DAMAGE. 32 | 33 | 34 | import datetime 35 | import sqlite3 36 | import time 37 | import sys 38 | import re 39 | 40 | #----------------------------------------------------------------------------- 41 | # Compiled Regular Expressions 42 | #----------------------------------------------------------------------------- 43 | q_re = re.compile(r'(.*) dnsmasq\[\d+\]: query\[(.*)\] (.*) from (.*)') 44 | f_re = re.compile(r'(.*) dnsmasq\[\d+\]: forwarded (.*) to (.*)') 45 | r_re = re.compile(r'(.*) dnsmasq\[\d+\]: (reply|cached) (.*) is (.*)') 46 | 47 | 48 | #----------------------------------------------------------------------------- 49 | # Functions 50 | #----------------------------------------------------------------------------- 51 | def create_tables(): 52 | qt = ''' 53 | CREATE TABLE IF NOT EXISTS queries ( 54 | id integer primary key autoincrement, 55 | source text, 56 | query_type text, 57 | name text, 58 | ts datetime 59 | ) 60 | ''' 61 | c.execute(qt) 62 | conn.commit() 63 | 64 | ft = ''' 65 | CREATE TABLE IF NOT EXISTS forwards ( 66 | id integer primary key autoincrement, 67 | resolver text, 68 | name text, 69 | ts datetime 70 | ) 71 | ''' 72 | c.execute(ft) 73 | conn.commit() 74 | 75 | rt = ''' 76 | CREATE TABLE IF NOT EXISTS replies ( 77 | id integer primary key autoincrement, 78 | ip text, 79 | reply_type text, 80 | name text, 81 | ts datetime 82 | ) 83 | ''' 84 | c.execute(rt) 85 | conn.commit() 86 | 87 | 88 | def convert_date(ds): 89 | y = str(datetime.datetime.now().year) 90 | ltime = time.strptime('{0} {1}'.format(y, ds), '%Y %b %d %H:%M:%S') 91 | 92 | return time.strftime('%Y-%m-%d %H:%M:%S', ltime) 93 | 94 | 95 | def parse_query(query): 96 | m = q_re.match(query) 97 | if m is not None: 98 | counts['qc'] += 1 99 | add_query(m.group(4), m.group(2), m.group(3), m.group(1)) 100 | 101 | 102 | def parse_forward(query): 103 | m = f_re.match(query) 104 | if m is not None: 105 | counts['fc'] += 1 106 | add_forward(m.group(3), m.group(2), m.group(1)) 107 | 108 | 109 | def parse_reply(query): 110 | m = r_re.match(query) 111 | if m is not None: 112 | counts['rc'] += 1 113 | add_reply(m.group(4), m.group(2), m.group(3), m.group(1)) 114 | 115 | 116 | def add_query(source, qtype, name, ts): 117 | sql = "INSERT INTO queries (source, query_type, name, ts) VALUES(?,?,?,?)" 118 | c.execute(sql, (source, qtype, name, convert_date(ts))) 119 | 120 | 121 | def add_forward(resolver, name, ts): 122 | sql = "INSERT INTO forwards (resolver, name, ts) VALUES(?,?,?)" 123 | c.execute(sql, (resolver, name, convert_date(ts))) 124 | 125 | 126 | def add_reply(ip, rtype, name, ts): 127 | sql = "INSERT INTO replies (ip, reply_type, name, ts) VALUES(?,?,?,?)" 128 | c.execute(sql, (ip, rtype, name, convert_date(ts))) 129 | 130 | 131 | #----------------------------------------------------------------------------- 132 | # Main 133 | #----------------------------------------------------------------------------- 134 | if len(sys.argv) != 2: 135 | print 'Usage: dnsmasq_parse.py logfile' 136 | sys.exit() 137 | 138 | logfile = sys.argv[1] 139 | 140 | counts = {'lc': 0, 'qc': 0, 'fc': 0, 'rc': 0, 'bc':0} 141 | 142 | # Create the SQLite connection 143 | conn = sqlite3.connect('dnsmasq.sqlite') 144 | c = conn.cursor() 145 | 146 | create_tables() 147 | 148 | # Parse the log file. 149 | for line in open(logfile): 150 | line = line.rstrip() 151 | counts['lc'] += 1 152 | 153 | if (counts['lc'] % 10000) == 0: 154 | print 'Processed {0} lines.'.format(counts['lc']) 155 | conn.commit() 156 | 157 | if ': query[' in line: 158 | parse_query(line) 159 | 160 | elif ': forwarded ' in line: 161 | parse_forward(line) 162 | 163 | elif (': reply ' in line) or (': cached ' in line): 164 | parse_reply(line) 165 | 166 | else: 167 | counts['bc'] += 1 168 | 169 | print 'Imported {0} log entries.'.format(counts['lc'] - counts['bc']) 170 | print '{0} queries, {1} forwards, and {2} replies.'.format(counts['qc'], 171 | counts['fc'], 172 | counts['rc']) 173 | -------------------------------------------------------------------------------- /do_dynamic_ip.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | # Copyright (c) 2015, LCI Technology Group, LLC 5 | # All rights reserved. 6 | # 7 | # Redistribution and use in source and binary forms, with or without 8 | # modification, are permitted provided that the following conditions are met: 9 | # 10 | # Redistributions of source code must retain the above copyright notice, 11 | # this list of conditions and the following disclaimer. 12 | # 13 | # Redistributions in binary form must reproduce the above copyright notice, 14 | # this list of conditions and the following disclaimer in the documentation 15 | # and/or other materials provided with the distribution. 16 | # 17 | # Neither the name of LCI Technology Group, LLC nor the names of its 18 | # contributors may be used to endorse or promote products derived from this 19 | # software without specific prior written permission. 20 | # 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 25 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 | # POSSIBILITY OF SUCH DAMAGE. 32 | 33 | import requests 34 | import json 35 | import re 36 | import random 37 | 38 | """ 39 | Use the DigitalOcean DNS system to maintain a DNS entry for a dynamic IP 40 | address. Before using this script you will need to create a DigitalOcean 41 | account, an API key (https://www.digitalocean.com/help/api/), and a domain. 42 | 43 | Enter the domain name, the name you want associated with the IP address, and 44 | the API key for your account. Other than that, no other changes should be made 45 | to the script. 46 | """ 47 | domain = 'mydomain.com' 48 | name = 'home' 49 | api_key = '' 50 | 51 | 52 | # Do not edit anything below this line. 53 | dyndns_re = re.compile(r'
Current IP Address: ([0-9.]+)') 54 | ifconfig_re = re.compile(r'([0-9.]+)') 55 | 56 | 57 | def send(method, endpoint, data=None): 58 | """ 59 | Send an API request. 60 | 61 | Send the any provided data to the API endpoint using the specified method. 62 | Process the API response and print any error messages. 63 | """ 64 | headers = {'Content-Type': 'application/json', 65 | 'Authorization': 'Bearer {0}'.format(api_key)} 66 | 67 | url = 'https://api.digitalocean.com/v2/{0}'.format(endpoint) 68 | resp = None 69 | 70 | if method in ['POST', 'DELETE', 'PUT']: 71 | data = json.dumps(data) 72 | 73 | if method == 'POST': 74 | resp = requests.post(url, headers=headers, data=data) 75 | elif method == 'DELETE': 76 | resp = requests.delete(url, headers=headers, data=data) 77 | elif method == 'PUT': 78 | resp = requests.put(url, headers=headers, data=data) 79 | else: 80 | resp = requests.get(url, headers=headers, params=data) 81 | 82 | if resp.content != b'': 83 | data = resp.json() 84 | 85 | if resp.status_code in range(400, 499): 86 | print('[-] Request Error: {0}'.format(data['message'])) 87 | return None 88 | 89 | if resp.status_code in range(500, 599): 90 | print('[-] Server Error: {0}'.format(data['message'])) 91 | return None 92 | 93 | return data 94 | 95 | 96 | def get(url): 97 | """ 98 | GET the specified URL. 99 | """ 100 | try: 101 | resp = requests.get(url, timeout=10) 102 | return resp.content.strip().decode() 103 | except: 104 | return None 105 | 106 | 107 | def get_new_ip(): 108 | """ 109 | Determine the current external IP address using one of five options. 110 | """ 111 | ip = None 112 | choice = random.choice(['ipinfo', 'dyndns', 'ipecho', 'ifconfig', 'icanhazip']) 113 | 114 | print('[*] Get current external IP address with {0}.'.format(choice)) 115 | 116 | if choice == 'ipinfo': 117 | ip = get('http://ipinfo.io/ip') 118 | 119 | elif choice == 'dyndns': 120 | m = dyndns_re.search(get('http://checkip.dyndns.org')) 121 | if m is not None: 122 | ip = m.group(1) 123 | 124 | elif choice == 'ipecho': 125 | ip = get('http://ipecho.net/plain') 126 | 127 | elif choice == 'ifconfig': 128 | m = ifconfig_re.search(get('http://ifconfig.me')) 129 | if m is not None: 130 | ip = m.group(1) 131 | 132 | elif choice == 'icanhazip': 133 | ip = get('http://icanhazip.com') 134 | 135 | else: 136 | pass 137 | 138 | print(ip) 139 | return ip 140 | 141 | 142 | def get_current_record(name, domain): 143 | """ 144 | Get the id for the current A record. 145 | """ 146 | print('[*] Get current DNS record for {0}.{1}.'.format(name, domain)) 147 | resp = send('GET', 'domains/{0}/records'.format(domain)) 148 | 149 | for record in resp['domain_records']: 150 | if record['name'] == name: 151 | print('[+] Found DNS record.') 152 | return record['id'], record['data'] 153 | 154 | print('[-] Could not find DNS record.') 155 | return None, None 156 | 157 | 158 | def create_A_record(name, domain, ip): 159 | """ 160 | Create a new A record for name.domain and set it to the specified IP 161 | address. 162 | """ 163 | print('[*] Creating DNS record for {0}.{1} with IP {2}'.format(name, domain, ip)) 164 | record = {'type': 'A', 165 | 'name': name, 166 | 'data': ip, 167 | 'priority': None, 168 | 'port': None, 169 | 'weight': None} 170 | 171 | send('POST', 'domains/{0}/records'.format(domain), record) 172 | 173 | 174 | def update_A_record(name, domain, rid, ip): 175 | """ 176 | Update an A record for domain and set it to the specified IP address. 177 | """ 178 | print('[*] Updating DNS record for {0}.{1} with IP {2}'.format(name, domain, ip)) 179 | record = {'data': ip} 180 | 181 | send('PUT', 'domains/{0}/records/{1}'.format(domain, rid), record) 182 | 183 | 184 | if __name__ == '__main__': 185 | # Get the current record if it exists. 186 | rid, old_ip = get_current_record(name, domain) 187 | 188 | # Get the current external IP address. 189 | new_ip = get_new_ip() 190 | while new_ip is None: 191 | new_ip = get_new_ip() 192 | 193 | # If the record doesn't exist then create it. 194 | if rid is None: 195 | create_A_record(name, domain, new_ip) 196 | 197 | # If the IP address has changed then update the record, otherwise don't. 198 | if (old_ip is not None) and (new_ip != old_ip): 199 | update_A_record(name, domain, rid, new_ip) 200 | else: 201 | print('[+] External IP address has not changed.') 202 | -------------------------------------------------------------------------------- /domains.txt: -------------------------------------------------------------------------------- 1 | google.com 2 | facebook.com 3 | youtube.com 4 | yahoo.com 5 | baidu.com 6 | wikipedia.org 7 | twitter.com 8 | amazon.com 9 | qq.com 10 | live.com 11 | linkedin.com 12 | taobao.com 13 | google.co.in 14 | sina.com.cn 15 | hao123.com 16 | weibo.com 17 | blogspot.com 18 | tmall.com 19 | yahoo.co.jp 20 | sohu.com 21 | yandex.ru 22 | bing.com 23 | vk.com 24 | pinterest.com 25 | wordpress.com 26 | google.de 27 | 360.cn 28 | ebay.com 29 | instagram.com 30 | google.co.uk 31 | google.co.jp 32 | soso.com 33 | google.fr 34 | paypal.com 35 | msn.com 36 | ask.com 37 | google.com.br 38 | tumblr.com 39 | 163.com 40 | xvideos.com 41 | google.ru 42 | mail.ru 43 | microsoft.com 44 | imdb.com 45 | google.it 46 | stackoverflow.com 47 | apple.com 48 | google.es 49 | imgur.com 50 | reddit.com 51 | adcash.com 52 | craigslist.org 53 | blogger.com 54 | t.co 55 | amazon.co.jp 56 | aliexpress.com 57 | google.com.mx 58 | xhamster.com 59 | fc2.com 60 | alibaba.com 61 | google.ca 62 | wordpress.org 63 | gmw.cn 64 | cnn.com 65 | bbc.co.uk 66 | people.com.cn 67 | go.com 68 | huffingtonpost.com 69 | godaddy.com 70 | google.co.id 71 | chinadaily.com.cn 72 | adobe.com 73 | kickass.to 74 | dropbox.com 75 | pornhub.com 76 | ifeng.com 77 | google.com.tr 78 | amazon.de 79 | themeforest.net 80 | xinhuanet.com 81 | googleusercontent.com 82 | vube.com 83 | google.com.au 84 | odnoklassniki.ru 85 | dailymotion.com 86 | netflix.com 87 | google.pl 88 | xnxx.com 89 | ebay.de 90 | booking.com 91 | thepiratebay.se 92 | dailymail.co.uk 93 | flipkart.com 94 | uol.com.br 95 | about.com 96 | espn.go.com 97 | bp.blogspot.com 98 | rakuten.co.jp 99 | onclickads.net 100 | akamaihd.net 101 | vimeo.com 102 | github.com 103 | google.com.hk 104 | indiatimes.com 105 | blogspot.in 106 | flickr.com 107 | amazon.co.uk 108 | tudou.com 109 | ebay.co.uk 110 | redtube.com 111 | salesforce.com 112 | fiverr.com 113 | clkmon.com 114 | alipay.com 115 | buzzfeed.com 116 | nytimes.com 117 | outbrain.com 118 | google.com.ar 119 | cnet.com 120 | globo.com 121 | pixnet.net 122 | youporn.com 123 | google.com.sa 124 | aol.com 125 | yelp.com 126 | china.com 127 | sogou.com 128 | gigacircle.com 129 | google.com.eg 130 | google.com.tw 131 | pconline.com.cn 132 | ameblo.jp 133 | w3schools.com 134 | mozilla.org 135 | secureserver.net 136 | amazonaws.com 137 | google.nl 138 | livejasmin.com 139 | slideshare.net 140 | so.com 141 | mailchimp.com 142 | hootsuite.com 143 | wikia.com 144 | theguardian.com 145 | google.com.pk 146 | directrev.com 147 | forbes.com 148 | aili.com 149 | yaolan.com 150 | mama.cn 151 | gmail.com 152 | bbc.com 153 | adf.ly 154 | weather.com 155 | mmbang.com 156 | wikihow.com 157 | livejournal.com 158 | zol.com.cn 159 | naver.com 160 | livedoor.com 161 | soundcloud.com 162 | google.co.za 163 | google.co.th 164 | skype.com 165 | ettoday.net 166 | chase.com 167 | deviantart.com 168 | bankofamerica.com 169 | canadaalltax.com 170 | spiegel.de 171 | baomihua.com 172 | stumbleupon.com 173 | xcar.com.cn 174 | caijing.com.cn 175 | stackexchange.com 176 | foxnews.com 177 | conduit.com 178 | loading-delivery1.com 179 | mashable.com 180 | torrentz.eu 181 | businessinsider.com 182 | etsy.com 183 | hostgator.com 184 | walmart.com 185 | archive.org 186 | indeed.com 187 | 9gag.com 188 | files.wordpress.com 189 | blogfa.com 190 | zillow.com 191 | moz.com 192 | badoo.com 193 | reference.com 194 | aweber.com 195 | 39.net 196 | sourceforge.net 197 | amazon.in 198 | china.com.cn 199 | tripadvisor.com 200 | addthis.com 201 | gome.com.cn 202 | liveinternet.ru 203 | mediafire.com 204 | wellsfargo.com 205 | shutterstock.com 206 | google.gr 207 | answers.com 208 | naver.jp 209 | statcounter.com 210 | pchome.net 211 | codecanyon.net 212 | rt.com 213 | onet.pl 214 | coccoc.com 215 | google.be 216 | inclk.com 217 | allegro.pl 218 | google.com.co 219 | 4shared.com 220 | nicovideo.jp 221 | google.com.my 222 | twitch.tv 223 | wikimedia.org 224 | jabong.com 225 | google.com.ua 226 | google.co.kr 227 | telegraph.co.uk 228 | wix.com 229 | doublepimp.com 230 | wordreference.com 231 | lady8844.com 232 | google.com.ng 233 | avg.com 234 | ikea.com 235 | google.com.vn 236 | bitauto.com 237 | huanqiu.com 238 | bild.de 239 | popads.net 240 | dmm.co.jp 241 | xgo.com.cn 242 | avito.ru 243 | jrj.com.cn 244 | bitly.com 245 | force.com 246 | yoka.com 247 | feedly.com 248 | warriorforum.com 249 | tube8.com 250 | bet365.com 251 | leboncoin.fr 252 | php.net 253 | bleacherreport.com 254 | techcrunch.com 255 | google.se 256 | quora.com 257 | amazon.fr 258 | ask.fm 259 | enet.com.cn 260 | wsj.com 261 | acesse.com 262 | java.com 263 | goo.ne.jp 264 | google.at 265 | weebly.com 266 | google.ro 267 | v1.cn 268 | snapdeal.com 269 | rev2pub.com 270 | zeobit.com 271 | espncricinfo.com 272 | pandora.com 273 | ups.com 274 | google.com.ph 275 | chinaz.com 276 | google.dz 277 | softonic.com 278 | zendesk.com 279 | google.cl 280 | washingtonpost.com 281 | hudong.com 282 | gogorithm.com 283 | ci123.com 284 | google.com.pe 285 | xywy.com 286 | photobucket.com 287 | usatoday.com 288 | zedo.com 289 | wp.pl 290 | mercadolivre.com.br 291 | mystart.com 292 | github.io 293 | goodreads.com 294 | google.co.ve 295 | hurriyet.com.tr 296 | reuters.com 297 | infusionsoft.com 298 | daum.net 299 | gmx.net 300 | disqus.com 301 | google.com.sg 302 | speedtest.net 303 | usps.com 304 | domaintools.com 305 | ndtv.com 306 | google.ch 307 | odesk.com 308 | douban.com 309 | goal.com 310 | media.tumblr.com 311 | meetup.com 312 | neobux.com 313 | rambler.ru 314 | google.pt 315 | kaskus.co.id 316 | pcbaby.com.cn 317 | comcast.net 318 | extratorrent.cc 319 | rediff.com 320 | google.cz 321 | fedex.com 322 | jqw.com 323 | gameforge.com 324 | microsoftonline.com 325 | bluehost.com 326 | ehow.com 327 | yesky.com 328 | tmz.com 329 | gsmarena.com 330 | ebay.in 331 | time.com 332 | rbc.ru 333 | ign.com 334 | rutracker.org 335 | samsung.com 336 | webmd.com 337 | hdfcbank.com 338 | bongacams.com 339 | theladbible.com 340 | hp.com 341 | histats.com 342 | goodgamestudios.com 343 | google.com.bd 344 | marca.com 345 | stockstar.com 346 | americanexpress.com 347 | milliyet.com.tr 348 | elance.com 349 | scribd.com 350 | icicibank.com 351 | b5m.com 352 | bestbuy.com 353 | constantcontact.com 354 | varzesh3.com 355 | tianya.cn 356 | 17ok.com 357 | goo.gl 358 | groupon.com 359 | repubblica.it 360 | target.com 361 | cnzz.com 362 | trello.com 363 | web.de 364 | olx.in 365 | lenta.ru 366 | taringa.net 367 | nih.gov 368 | probux.com 369 | detik.com 370 | 4dsply.com 371 | abril.com.br 372 | lifehacker.com 373 | uploaded.net 374 | xuite.net 375 | onlylady.com 376 | fbcdn.net 377 | evernote.com 378 | webssearches.com 379 | kompas.com 380 | kakaku.com 381 | clickbank.com 382 | cj.com 383 | gfycat.com 384 | thefreedictionary.com 385 | bloomberg.com 386 | getresponse.com 387 | cpmterra.com 388 | quikr.com 389 | free.fr 390 | turboloves.net 391 | onlinesbi.com 392 | mlb.com 393 | zeroredirect1.com 394 | google.no 395 | google.az 396 | udn.com 397 | xing.com 398 | google.ie 399 | list-manage.com 400 | youjizz.com 401 | capitalone.com 402 | elmundo.es 403 | amazon.cn 404 | zippyshare.com 405 | subscene.com 406 | ebay.it 407 | motherless.com 408 | sahibinden.com 409 | clicksvenue.com 410 | elpais.com 411 | google.ae 412 | google.co.hu 413 | abcnews.go.com 414 | semrush.com 415 | youth.cn 416 | ameba.jp 417 | steamcommunity.com 418 | accuweather.com 419 | voc.com.cn 420 | icmwebserv.com 421 | iqiyi.com 422 | likes.com 423 | taboola.com 424 | okcupid.com 425 | gizmodo.com 426 | homedepot.com 427 | libero.it 428 | habrahabr.ru 429 | lemonde.fr 430 | myntra.com 431 | chaturbate.com 432 | engadget.com 433 | privatehomeclips.com 434 | ebay.com.au 435 | pof.com 436 | hulu.com 437 | beeg.com 438 | youm7.com 439 | rednet.cn 440 | ria.ru 441 | issuu.com 442 | drudgereport.com 443 | yandex.ua 444 | surveymonkey.com 445 | dell.com 446 | amazon.it 447 | trovi.com 448 | blackhatworld.com 449 | intuit.com 450 | media1first.com 451 | chinabyte.com 452 | gazeta.pl 453 | sabq.org 454 | seznam.cz 455 | naukri.com 456 | steampowered.com 457 | trulia.com 458 | vice.com 459 | lenovo.com 460 | shareasale.com 461 | lefigaro.fr 462 | 9gag.tv 463 | ganji.com 464 | xe.com 465 | google.co.il 466 | istockphoto.com 467 | hubspot.com 468 | 4399.com 469 | t-online.de 470 | expedia.com 471 | w3.org 472 | doubleclick.com 473 | hotels.com 474 | zoho.com 475 | orange.fr 476 | cloudfront.net 477 | liveleak.com 478 | retailmenot.com 479 | youboy.com 480 | webmoney.ru 481 | intoday.in 482 | 51fanli.com 483 | ucoz.ru 484 | google.dk 485 | chinatimes.com 486 | kooora.com 487 | uimserv.net 488 | hatena.ne.jp 489 | att.com 490 | it168.com 491 | independent.co.uk 492 | ero-advertising.com 493 | oracle.com 494 | v9.com 495 | blogspot.mx 496 | basecamp.com 497 | battle.net 498 | buyma.com 499 | zeroredirect2.com 500 | kickstarter.com 501 | google.fi 502 | liputan6.com 503 | asana.com 504 | twimg.com 505 | xda-developers.com 506 | leadpages.net 507 | bloglovin.com 508 | 52pk.net 509 | rottentomatoes.com 510 | in.com 511 | nydailynews.com 512 | newegg.com 513 | corriere.it 514 | nbcnews.com 515 | asos.com 516 | jimdo.com 517 | blogspot.de 518 | sberbank.ru 519 | joomla.org 520 | latimes.com 521 | chexun.com 522 | pch.com 523 | mercadolibre.com.ar 524 | theverge.com 525 | appledaily.com.tw 526 | 58.com 527 | wetransfer.com 528 | houzz.com 529 | kdnet.net 530 | hardsextube.com 531 | viralnova.com 532 | kinopoisk.ru 533 | freelancer.com 534 | sh.st 535 | timeanddate.com 536 | entrepreneur.com 537 | taleo.net 538 | srv123.com 539 | 2ch.net 540 | tagged.com 541 | ixxx.com 542 | ad6media.fr 543 | mirror.co.uk 544 | omiga-plus.com 545 | citibank.com 546 | shopify.com 547 | thefreecamsecret.com 548 | kijiji.ca 549 | justdial.com 550 | workercn.cn 551 | pcgames.com.cn 552 | eastday.com 553 | ig.com.br 554 | fotolia.com 555 | urbandictionary.com 556 | doorblog.jp 557 | youdao.com 558 | tabelog.com 559 | irctc.co.in 560 | avira.com 561 | babylon.com 562 | digg.com 563 | chip.de 564 | glassdoor.com 565 | hupu.com 566 | upworthy.com 567 | google.sk 568 | ashleyrnadison.com 569 | gawker.com 570 | cntv.cn 571 | mega.co.nz 572 | exoclick.com 573 | nfl.com 574 | spotify.com 575 | tukif.com 576 | dmm.com 577 | commentcamarche.net 578 | clixsense.com 579 | almasryalyoum.com 580 | bodybuilding.com 581 | jquery.com 582 | who.is 583 | watchseries.lt 584 | verizonwireless.com 585 | marketwatch.com 586 | cbslocal.com 587 | kwejk.pl 588 | ileehoo.com 589 | zing.vn 590 | seesaa.net 591 | squarespace.com 592 | mercadolibre.com.mx 593 | citrixonline.com 594 | gutefrage.net 595 | ebay.fr 596 | foursquare.com 597 | backpage.com 598 | rapidgator.net 599 | prntscr.com 600 | azlyrics.com 601 | nordstrom.com 602 | facenama.com 603 | agoda.com 604 | eonline.com 605 | app111.com 606 | 2345.com 607 | match.com 608 | priceline.com 609 | hubpages.com 610 | firedrive.com 611 | gc.ca 612 | starbaby.cn 613 | swagbucks.com 614 | lockerdome.com 615 | wired.com 616 | getbootstrap.com 617 | searchengineland.com 618 | kayak.com 619 | altervista.org 620 | blogspot.jp 621 | amazon.es 622 | behance.net 623 | jd.com 624 | typepad.com 625 | jvzoo.com 626 | csdn.net 627 | outlook.com 628 | mobile.de 629 | popcash.net 630 | sharelive.net 631 | ancestry.com 632 | yellowpages.com 633 | 123rf.com 634 | myfreecams.com 635 | google.kz 636 | box.com 637 | slickdeals.net 638 | mbc.net 639 | sitepoint.com 640 | focus.de 641 | dict.cc 642 | vnexpress.net 643 | wiktionary.org 644 | adultfriendfinder.com 645 | ning.com 646 | verizon.com 647 | majesticseo.com 648 | lanacion.com.ar 649 | twoo.com 650 | pixiv.net 651 | tutsplus.com 652 | trklnks.com 653 | 114la.com 654 | vsuch.com 655 | coupons.com 656 | eventbrite.com 657 | ink361.com 658 | heise.de 659 | ltn.com.tw 660 | superuser.com 661 | shaadi.com 662 | gotomeeting.com 663 | firefoxchina.cn 664 | givemesport.com 665 | moneycontrol.com 666 | life.com.tw 667 | sakura.ne.jp 668 | qingdaonews.com 669 | 315che.com 670 | lotour.com 671 | allocine.fr 672 | google.cn 673 | wada.vn 674 | terra.com.br 675 | sape.ru 676 | scoop.it 677 | free-tv-video-online.me 678 | vesti.ru 679 | m-w.com 680 | mpnrs.com 681 | cbssports.com 682 | slate.com 683 | bycontext.com 684 | theblaze.com 685 | default-search.net 686 | allrecipes.com 687 | cnbc.com 688 | wunderground.com 689 | tinyurl.com 690 | bhaskar.com 691 | movie4k.to 692 | ashleymadison.com 693 | monster.com 694 | adshostnet.com 695 | npr.org 696 | news.com.au 697 | howstuffworks.com 698 | chekb.com 699 | fumu.com 700 | templatemonster.com 701 | clarin.com 702 | ca.gov 703 | gongchang.cn 704 | realtor.com 705 | overstock.com 706 | google.com.kw 707 | lequipe.fr 708 | airbnb.com 709 | as.com 710 | feelcars.com 711 | mywebsearch.com 712 | southwest.com 713 | picmonkey.com 714 | amazon.ca 715 | pog.com 716 | youradexchange.com 717 | graphicriver.net 718 | dreamstime.com 719 | wpmudev.org 720 | gamefaqs.com 721 | pinimg.com 722 | reverso.net 723 | filehippo.com 724 | zopim.com 725 | zappos.com 726 | leagueoflegends.com 727 | amung.us 728 | elegantthemes.com 729 | r10.net 730 | aparat.com 731 | infobae.com 732 | namecheap.com 733 | custhelp.com 734 | icloud.com 735 | chron.com 736 | adk2.net 737 | dafont.com 738 | leo.org 739 | bufferapp.com 740 | iminent.com 741 | wetter.com 742 | ly.net 743 | google.bg 744 | etao.com 745 | android.com 746 | pcmag.com 747 | bestadbid.com 748 | pixlr.com 749 | css-tricks.com 750 | macys.com 751 | folha.uol.com.br 752 | cracked.com 753 | bhphotovideo.com 754 | searchengines.guru 755 | yts.re 756 | s2d6.com 757 | deezer.com 758 | tomshardware.com 759 | babycenter.com 760 | autohome.com.cn 761 | sfgate.com 762 | gazeta.ru 763 | shopclues.com 764 | all-free-download.com 765 | google.lk 766 | ahrefs.com 767 | milanuncios.com 768 | worldstarhiphop.com 769 | iconosquare.com 770 | sex.com 771 | linksynergy.com 772 | foxsports.com 773 | adnxs.com 774 | ojooo.com 775 | zovi.com 776 | rightmove.co.uk 777 | youtube-mp3.org 778 | envato.com 779 | jeuxvideo.com 780 | sears.com 781 | cnmo.com 782 | mihanblog.com 783 | lowes.com 784 | siteadvisor.com 785 | elitedaily.com 786 | prestashop.com 787 | vk.me 788 | similarweb.com 789 | ccb.com 790 | immobilienscout24.de 791 | elwatannews.com 792 | udemy.com 793 | empowernetwork.com 794 | usmagazine.com 795 | adk2.co 796 | pingdom.com 797 | hespress.com 798 | office365.com 799 | screencast.com 800 | interia.pl 801 | crunchbase.com 802 | livestrong.com 803 | haberturk.com 804 | freepik.com 805 | drseks.com 806 | airtel.in 807 | billdesk.com 808 | people.com 809 | oneindia.in 810 | pr-cy.ru 811 | japanpost.jp 812 | mp3skull.com 813 | farsnews.com 814 | mynet.com 815 | mapquest.com 816 | payoneer.com 817 | spankwire.com 818 | nifty.com 819 | tripadvisor.co.uk 820 | jsfiddle.net 821 | drtuber.com 822 | duckduckgo.com 823 | sootoo.com 824 | drupal.org 825 | smh.com.au 826 | informer.com 827 | sweet-page.com 828 | idnes.cz 829 | blogspot.ru 830 | duba.com 831 | blogspot.com.tr 832 | europa.eu 833 | alarabiya.net 834 | instructables.com 835 | iflscience.com 836 | google.co.nz 837 | fh21.com.cn 838 | welt.de 839 | gtmetrix.com 840 | over-blog.com 841 | nike.com 842 | businessweek.com 843 | staples.com 844 | foodnetwork.com 845 | tnaflix.com 846 | webs.com 847 | makemytrip.com 848 | weblio.jp 849 | gulfup.com 850 | grooveshark.com 851 | traidnt.net 852 | nownews.com 853 | sapo.pt 854 | virgilio.it 855 | gismeteo.ru 856 | wow.com 857 | vine.co 858 | nikkei.com 859 | adme.ru 860 | myfitnesspal.com 861 | comcast.com 862 | souq.com 863 | addmefast.com 864 | bookmyshow.com 865 | linkbucks.com 866 | usagc.org 867 | klikbca.com 868 | adscale.de 869 | woothemes.com 870 | ted.com 871 | bestblackhatforum.com 872 | examiner.com 873 | speedanalysis.net 874 | zanox.com 875 | savefrom.net 876 | imagebam.com 877 | mobile01.com 878 | google.com.do 879 | vuiviet.vn 880 | 24h.com.vn 881 | abc.es 882 | asus.com 883 | gyazo.com 884 | united.com 885 | google.com.ly 886 | premierleague.com 887 | ynet.co.il 888 | gogetlinks.net 889 | parisexe.com 890 | ibm.com 891 | criteo.com 892 | olx.pl 893 | google.com.ec 894 | tistory.com 895 | livescore.com 896 | kohls.com 897 | gap.com 898 | nba.com 899 | openadserving.com 900 | zergnet.com 901 | mi.com 902 | emgn.com 903 | chatwork.com 904 | yandex.com.tr 905 | webtretho.com 906 | ticketmaster.com 907 | streamcloud.eu 908 | disney.go.com 909 | zomato.com 910 | ewt.cc 911 | cy-pr.com 912 | imobile.com.cn 913 | mysql.com 914 | thenextweb.com 915 | baihe.com 916 | pantip.com 917 | junbi-tracker.com 918 | sueddeutsche.de 919 | yam.com 920 | videarn.com 921 | correios.com.br 922 | ovh.com 923 | skysports.com 924 | primewire.ag 925 | inc.com 926 | m2newmedia.com 927 | vezuha.me 928 | sourtimes.org 929 | thedailybeast.com 930 | delta-search.com 931 | 500px.com 932 | ew.com 933 | nairaland.com 934 | tabnak.ir 935 | ehowenespanol.com 936 | postimg.org 937 | cam4.com 938 | google.rs 939 | echo.msk.ru 940 | digikala.com 941 | whitepages.com 942 | nypost.com 943 | worlddaily.com 944 | 0427d7.se 945 | caixa.gov.br 946 | novinky.cz 947 | dx.com 948 | olx.co.id 949 | gamer.com.tw 950 | zulily.com 951 | nouvelobs.com 952 | rutor.org 953 | itau.com.br 954 | kimiss.com 955 | kotaku.com 956 | livedoor.biz 957 | usbank.com 958 | hypergames.net 959 | hh.ru 960 | aizhan.com 961 | ad4game.com 962 | yadi.sk 963 | turbobit.net 964 | biglobe.ne.jp 965 | asahi.com 966 | eazel.com 967 | macrumors.com 968 | deadspin.com 969 | xtube.com 970 | orf.at 971 | avast.com 972 | forobeta.com 973 | media-fire.org 974 | jiathis.com 975 | atlassian.net 976 | gumtree.com 977 | gazzetta.it 978 | whois.com 979 | telegraaf.nl 980 | gamespot.com 981 | teepr.com 982 | googleadservices.com 983 | medium.com 984 | mtv.com 985 | rackspace.com 986 | woorank.com 987 | viadeo.com 988 | porn.com 989 | lynda.com 990 | delta.com 991 | sky.com 992 | eastmoney.com 993 | subito.it 994 | blog.jp 995 | cbsnews.com 996 | bidvertiser.com 997 | yaplakal.com 998 | paytm.com 999 | magentocommerce.com 1000 | yandex.kz 1001 | -------------------------------------------------------------------------------- /export_ec2_secgroups.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import boto3 4 | 5 | KEY = '' 6 | SECRET = '' 7 | REGIONS = ['us-west-1', 'us-west-2'] 8 | 9 | 10 | def get_aws_connection(region): 11 | """ 12 | Get a connection to an AWS region. 13 | """ 14 | try: 15 | return boto3.client( 16 | 'ec2', 17 | region_name=region, 18 | aws_access_key_id=KEY, 19 | aws_secret_access_key=SECRET 20 | ) 21 | 22 | except boto3.exception.EC2ResponseError as e: 23 | print(e.message) 24 | 25 | 26 | def get_security_groups(): 27 | """ 28 | Return a list of AWS security groups. 29 | """ 30 | try: 31 | groups = conn.describe_security_groups() 32 | return groups['SecurityGroups'] 33 | 34 | except boto.exception.EC2ResponseError as e: 35 | print(e.message) 36 | return [] 37 | 38 | 39 | def write_rule(fh, rule): 40 | """ 41 | Parse and write the given rule to the file handle. 42 | """ 43 | to_port = rule.get('ToPort', 'Any') 44 | fr_port = rule.get('FromPort', 'Any') 45 | protocol = rule.get('IpProtocol', 'Any') 46 | ranges = rule.get('IpRanges', []) 47 | 48 | if protocol == '-1': 49 | protocol = 'Any' 50 | 51 | if to_port == -1: 52 | to_port = 'Any' 53 | 54 | if fr_port == -1: 55 | fr_port = 'Any' 56 | 57 | ranges = [r['CidrIp'] for r in ranges] 58 | 59 | # Other security groups can be the source of the rule. 60 | if ranges == []: 61 | src_groups = rule.get('UserIdGroupPairs', []) 62 | ranges = [g['GroupId'] for g in src_groups] 63 | 64 | for range in ranges: 65 | fh.write('{0}{1}{2}-{3}\n'.format(range.ljust(20), 66 | protocol.ljust(6), 67 | fr_port, 68 | to_port)) 69 | 70 | 71 | def write_group(fh, name, desc, inrules, outrules): 72 | """ 73 | Write the security group information to the file handle. 74 | """ 75 | fh.write('\n') 76 | fh.write('{0}\n'.format(name)) 77 | fh.write('{0}\n'.format('-' * len(name))) 78 | fh.write('Description: {0}\n'.format(desc)) 79 | 80 | if inrules != []: 81 | fh.write('Ingress Rules:\n') 82 | for rule in inrules: 83 | write_rule(fh, rule) 84 | fh.write('\n') 85 | 86 | if outrules != []: 87 | fh.write('Egress Rules:\n') 88 | for rule in outrules: 89 | write_rule(fh, rule) 90 | fh.write('\n') 91 | 92 | 93 | def write_groups(region, groups): 94 | """ 95 | Write the security groups for the provided region to a file. 96 | """ 97 | fn = 'ec2_security_groups_{0}.txt'.format(region) 98 | fh = open(fn, 'w') 99 | fh.write('{0}\n'.format(region.upper())) 100 | fh.write('{0}\n'.format('=' * len(region))) 101 | fh.write('Group Count: {0}\n'.format(len(groups))) 102 | for group in groups: 103 | name = group.get('GroupName', 'No Name') 104 | desc = group.get('Description', 'None') 105 | inrules = group.get('IpPermissions', []) 106 | outrules = group.get('IpPermissionsEgress', []) 107 | 108 | if (inrules != []) or (outrules != []): 109 | write_group(fh, name, desc, inrules, outrules) 110 | 111 | fh.close() 112 | 113 | 114 | if __name__ == '__main__': 115 | for region in REGIONS: 116 | conn = get_aws_connection(region) 117 | groups = get_security_groups() 118 | write_groups(region, groups) 119 | -------------------------------------------------------------------------------- /firstnames.txt: -------------------------------------------------------------------------------- 1 | aaron 2 | abigail 3 | ada 4 | adam 5 | addie 6 | adrian 7 | adriana 8 | adrienne 9 | agnes 10 | aimee 11 | alan 12 | albert 13 | alberta 14 | alex 15 | alexander 16 | alexandra 17 | alexis 18 | alfred 19 | alice 20 | alicia 21 | alisha 22 | alison 23 | allen 24 | allison 25 | alma 26 | alvin 27 | alyssa 28 | amanda 29 | amber 30 | amelia 31 | amy 32 | ana 33 | andre 34 | andrea 35 | andrew 36 | angel 37 | angela 38 | angelica 39 | angelina 40 | angie 41 | anita 42 | ann 43 | anna 44 | anne 45 | annette 46 | annie 47 | anthony 48 | antoinette 49 | antonia 50 | antonio 51 | april 52 | arlene 53 | arnold 54 | arthur 55 | ashley 56 | audrey 57 | barbara 58 | barry 59 | beatrice 60 | becky 61 | belinda 62 | ben 63 | benjamin 64 | bernadette 65 | bernard 66 | bernice 67 | bertha 68 | bessie 69 | beth 70 | bethany 71 | betsy 72 | betty 73 | beulah 74 | beverly 75 | bill 76 | billie 77 | billy 78 | blanca 79 | blanche 80 | bobbie 81 | bobby 82 | bonita 83 | bonnie 84 | brad 85 | bradley 86 | brandi 87 | brandon 88 | brandy 89 | brenda 90 | brent 91 | brett 92 | brian 93 | bridget 94 | brittany 95 | brooke 96 | bruce 97 | bryan 98 | calvin 99 | camille 100 | candace 101 | candice 102 | carajames 103 | carl 104 | carla 105 | carlos 106 | carmen 107 | carol 108 | carole 109 | caroline 110 | carolyn 111 | carrie 112 | casey 113 | cassandra 114 | catherine 115 | cathy 116 | cecelia 117 | cecil 118 | cecilia 119 | celeste 120 | celia 121 | chad 122 | charlene 123 | charles 124 | charlie 125 | charlotte 126 | chelsea 127 | cheri 128 | cheryl 129 | chester 130 | chris 131 | christie 132 | christina 133 | christine 134 | christopher 135 | christy 136 | cindy 137 | claire 138 | clara 139 | clarence 140 | claude 141 | claudia 142 | clifford 143 | clyde 144 | colleen 145 | connie 146 | constance 147 | cora 148 | corey 149 | cory 150 | courtney 151 | craig 152 | cristina 153 | crystal 154 | curtis 155 | cynthia 156 | daisy 157 | dale 158 | dan 159 | dana 160 | daniel 161 | danielle 162 | danny 163 | darla 164 | darlene 165 | darrell 166 | darryl 167 | david 168 | dawn 169 | dean 170 | deanna 171 | debbie 172 | deborah 173 | debra 174 | delia 175 | della 176 | delores 177 | deloris 178 | denise 179 | dennis 180 | derek 181 | derrick 182 | desiree 183 | diana 184 | diane 185 | dianna 186 | dianne 187 | dixie 188 | dolores 189 | don 190 | donald 191 | donna 192 | dora 193 | doreen 194 | doris 195 | dorothy 196 | douglas 197 | duane 198 | dustin 199 | earl 200 | ebony 201 | eddie 202 | edgar 203 | edith 204 | edna 205 | edward 206 | edwin 207 | eileen 208 | elaine 209 | eleanor 210 | elena 211 | elisa 212 | elizabeth 213 | ella 214 | ellen 215 | elmer 216 | eloise 217 | elsa 218 | elsie 219 | elvira 220 | emily 221 | emma 222 | eric 223 | erica 224 | erik 225 | erika 226 | erin 227 | erma 228 | ernest 229 | ernestine 230 | essie 231 | estelle 232 | esther 233 | ethel 234 | eugene 235 | eula 236 | eunice 237 | eva 238 | evelyn 239 | faith 240 | fannie 241 | faye 242 | felicia 243 | flora 244 | florence 245 | floyd 246 | frances 247 | francine 248 | francis 249 | francisco 250 | frank 251 | franklin 252 | fred 253 | freda 254 | frederick 255 | gabriel 256 | gail 257 | gary 258 | gayle 259 | gene 260 | geneva 261 | genevieve 262 | george 263 | georgia 264 | gerald 265 | geraldine 266 | gertrude 267 | gilbert 268 | gina 269 | ginger 270 | gladys 271 | glen 272 | glenda 273 | glenn 274 | gloria 275 | gordon 276 | grace 277 | greg 278 | gregory 279 | gretchen 280 | guadalupe 281 | gwen 282 | gwendolyn 283 | hannah 284 | harold 285 | harriet 286 | harry 287 | harvey 288 | hattie 289 | hazel 290 | heather 291 | hector 292 | heidi 293 | helen 294 | henrietta 295 | henry 296 | herbert 297 | herman 298 | hilda 299 | holly 300 | hope 301 | howard 302 | ida 303 | inez 304 | irene 305 | iris 306 | irma 307 | isabel 308 | jack 309 | jackie 310 | jacob 311 | jacqueline 312 | jacquelyn 313 | jaime 314 | jamie 315 | jan 316 | jana 317 | jane 318 | janet 319 | janice 320 | janie 321 | janis 322 | jared 323 | jasmine 324 | jason 325 | jay 326 | jean 327 | jeanette 328 | jeanne 329 | jeannette 330 | jeannie 331 | jeff 332 | jeffery 333 | jeffrey 334 | jenna 335 | jennie 336 | jennifer 337 | jenny 338 | jeremy 339 | jerome 340 | jerry 341 | jesse 342 | jessica 343 | jessie 344 | jesus 345 | jewel 346 | jill 347 | jim 348 | jimmy 349 | jo 350 | joan 351 | joann 352 | joanna 353 | joanne 354 | jodi 355 | jody 356 | joe 357 | joel 358 | johanna 359 | john 360 | johnnie 361 | johnny 362 | jon 363 | jonathan 364 | jorge 365 | jose 366 | josefina 367 | joseph 368 | josephine 369 | joshua 370 | joy 371 | joyce 372 | juan 373 | juana 374 | juanita 375 | judith 376 | judy 377 | julia 378 | julie 379 | june 380 | justin 381 | kara 382 | karen 383 | kari 384 | karl 385 | karla 386 | kate 387 | katherine 388 | kathleen 389 | kathryn 390 | kathy 391 | katie 392 | katrina 393 | kay 394 | kayla 395 | keith 396 | kelley 397 | kelli 398 | kellie 399 | kelly 400 | kendra 401 | kenneth 402 | kerry 403 | kevin 404 | kim 405 | kimberly 406 | krista 407 | kristen 408 | kristi 409 | kristie 410 | kristin 411 | kristina 412 | kristine 413 | kristy 414 | krystal 415 | kyle 416 | lana 417 | larry 418 | latasha 419 | latoya 420 | laura 421 | lauren 422 | laurie 423 | laverne 424 | lawrence 425 | leah 426 | lee 427 | leigh 428 | lela 429 | lena 430 | leo 431 | leon 432 | leona 433 | leonard 434 | leroy 435 | leslie 436 | lester 437 | leticia 438 | lewis 439 | lila 440 | lillian 441 | lillie 442 | linda 443 | lindsay 444 | lindsey 445 | lisa 446 | lloyd 447 | lois 448 | lola 449 | lora 450 | lorena 451 | lorene 452 | loretta 453 | lori 454 | lorraine 455 | louis 456 | louise 457 | lucia 458 | lucille 459 | lucy 460 | luis 461 | lula 462 | luz 463 | lydia 464 | lynda 465 | lynette 466 | lynn 467 | lynne 468 | mabel 469 | mable 470 | madeline 471 | mae 472 | maggie 473 | mamie 474 | mandy 475 | manuel 476 | marc 477 | marcella 478 | marcia 479 | marcus 480 | margaret 481 | margarita 482 | margie 483 | marguerite 484 | maria 485 | marian 486 | marianne 487 | marie 488 | marilyn 489 | marina 490 | mario 491 | marion 492 | marjorie 493 | mark 494 | marla 495 | marlene 496 | marsha 497 | marta 498 | martha 499 | martin 500 | marvin 501 | mary 502 | maryann 503 | matthew 504 | mattie 505 | maureen 506 | maurice 507 | maxine 508 | may 509 | megan 510 | meghan 511 | melanie 512 | melba 513 | melinda 514 | melissa 515 | melody 516 | melvin 517 | mercedes 518 | meredith 519 | michael 520 | micheal 521 | michele 522 | michelle 523 | miguel 524 | mike 525 | mildred 526 | milton 527 | mindy 528 | minnie 529 | miranda 530 | miriam 531 | misty 532 | mitchell 533 | molly 534 | mona 535 | monica 536 | monique 537 | muriel 538 | myra 539 | myrna 540 | myrtle 541 | nadine 542 | nancy 543 | naomi 544 | natalie 545 | natasha 546 | nathan 547 | nathaniel 548 | nellie 549 | nettie 550 | nicholas 551 | nichole 552 | nicole 553 | nina 554 | nora 555 | norma 556 | norman 557 | olga 558 | olive 559 | olivia 560 | ollie 561 | opal 562 | ora 563 | oscar 564 | pam 565 | pamela 566 | pat 567 | patrice 568 | patricia 569 | patrick 570 | patsy 571 | patti 572 | patty 573 | paul 574 | paula 575 | paulette 576 | pauline 577 | pearl 578 | pedro 579 | peggy 580 | penny 581 | peter 582 | philip 583 | phillip 584 | phyllis 585 | priscilla 586 | rachael 587 | rachel 588 | rafael 589 | ralph 590 | ramon 591 | ramona 592 | randall 593 | randy 594 | raquel 595 | raul 596 | ray 597 | raymond 598 | rebecca 599 | regina 600 | reginald 601 | rena 602 | renee 603 | rhonda 604 | ricardo 605 | richard 606 | rick 607 | ricky 608 | rita 609 | robert 610 | roberta 611 | roberto 612 | robin 613 | robyn 614 | rochelle 615 | rodney 616 | roger 617 | roland 618 | ron 619 | ronald 620 | ronda 621 | ronnie 622 | rosa 623 | rosalie 624 | rose 625 | rosemarie 626 | rosemary 627 | rosie 628 | roxanne 629 | roy 630 | ruben 631 | ruby 632 | russell 633 | ruth 634 | ryan 635 | sabrina 636 | sadie 637 | sally 638 | sam 639 | samantha 640 | samuel 641 | sandra 642 | sandy 643 | sara 644 | sarah 645 | scott 646 | sean 647 | shane 648 | shannon 649 | shari 650 | sharon 651 | shawn 652 | shawna 653 | sheila 654 | shelby 655 | shelia 656 | shelley 657 | shelly 658 | sheri 659 | sherri 660 | sherrie 661 | sherry 662 | sheryl 663 | shirley 664 | silvia 665 | sonia 666 | sonja 667 | sonya 668 | sophia 669 | sophie 670 | stacey 671 | stacie 672 | stacy 673 | stanley 674 | stella 675 | stephanie 676 | stephen 677 | steve 678 | steven 679 | sue 680 | susan 681 | susie 682 | suzanne 683 | sylvia 684 | tabitha 685 | tamara 686 | tami 687 | tammie 688 | tammy 689 | tanya 690 | tara 691 | tasha 692 | teresa 693 | teri 694 | terri 695 | terry 696 | thelma 697 | theodore 698 | theresa 699 | thomas 700 | tiffany 701 | tim 702 | timothy 703 | tina 704 | todd 705 | tom 706 | tommy 707 | toni 708 | tony 709 | tonya 710 | tracey 711 | traci 712 | tracy 713 | travis 714 | tricia 715 | troy 716 | tyler 717 | valerie 718 | vanessa 719 | velma 720 | vera 721 | verna 722 | vernon 723 | veronica 724 | vicki 725 | vickie 726 | vicky 727 | victor 728 | victoria 729 | vincent 730 | viola 731 | violet 732 | virginia 733 | vivian 734 | walter 735 | wanda 736 | warren 737 | wayne 738 | wendy 739 | wesley 740 | whitney 741 | william 742 | willie 743 | wilma 744 | winifred 745 | yolanda 746 | yvette 747 | yvonne 748 | zachary 749 | -------------------------------------------------------------------------------- /lastnames.txt: -------------------------------------------------------------------------------- 1 | smith 2 | johnson 3 | williams 4 | brown 5 | jones 6 | miller 7 | davis 8 | garcia 9 | rodriguez 10 | wilson 11 | martinez 12 | anderson 13 | taylor 14 | thomas 15 | hernandez 16 | moore 17 | martin 18 | jackson 19 | thompson 20 | white 21 | lopez 22 | lee 23 | gonzalez 24 | harris 25 | clark 26 | lewis 27 | robinson 28 | walker 29 | perez 30 | hall 31 | young 32 | allen 33 | sanchez 34 | wright 35 | king 36 | scott 37 | green 38 | baker 39 | adams 40 | nelson 41 | hill 42 | ramirez 43 | campbell 44 | mitchell 45 | roberts 46 | carter 47 | phillips 48 | evans 49 | turner 50 | torres 51 | parker 52 | collins 53 | edwards 54 | stewart 55 | flores 56 | morris 57 | nguyen 58 | murphy 59 | rivera 60 | cook 61 | rogers 62 | morgan 63 | peterson 64 | cooper 65 | reed 66 | bailey 67 | bell 68 | gomez 69 | kelly 70 | howard 71 | ward 72 | cox 73 | diaz 74 | richardson 75 | wood 76 | watson 77 | brooks 78 | bennett 79 | gray 80 | james 81 | reyes 82 | cruz 83 | hughes 84 | price 85 | myers 86 | long 87 | foster 88 | sanders 89 | ross 90 | morales 91 | powell 92 | sullivan 93 | russell 94 | ortiz 95 | jenkins 96 | gutierrez 97 | perry 98 | butler 99 | barnes 100 | fisher 101 | henderson 102 | coleman 103 | simmons 104 | patterson 105 | jordan 106 | reynolds 107 | hamilton 108 | graham 109 | kim 110 | gonzales 111 | alexander 112 | ramos 113 | wallace 114 | griffin 115 | west 116 | cole 117 | hayes 118 | chavez 119 | gibson 120 | bryant 121 | ellis 122 | stevens 123 | murray 124 | ford 125 | marshall 126 | owens 127 | mcdonald 128 | harrison 129 | ruiz 130 | kennedy 131 | wells 132 | alvarez 133 | woods 134 | mendoza 135 | castillo 136 | olson 137 | webb 138 | washington 139 | tucker 140 | freeman 141 | burns 142 | henry 143 | vasquez 144 | snyder 145 | simpson 146 | crawford 147 | jimenez 148 | porter 149 | mason 150 | shaw 151 | gordon 152 | wagner 153 | hunter 154 | romero 155 | hicks 156 | dixon 157 | hunt 158 | palmer 159 | robertson 160 | black 161 | holmes 162 | stone 163 | meyer 164 | boyd 165 | mills 166 | warren 167 | fox 168 | rose 169 | rice 170 | moreno 171 | schmidt 172 | patel 173 | ferguson 174 | nichols 175 | herrera 176 | medina 177 | ryan 178 | fernandez 179 | weaver 180 | daniels 181 | stephens 182 | gardner 183 | payne 184 | kelley 185 | dunn 186 | pierce 187 | arnold 188 | tran 189 | spencer 190 | peters 191 | hawkins 192 | grant 193 | hansen 194 | castro 195 | hoffman 196 | hart 197 | elliott 198 | cunningham 199 | knight 200 | bradley 201 | carroll 202 | hudson 203 | duncan 204 | armstrong 205 | berry 206 | andrews 207 | johnston 208 | ray 209 | lane 210 | riley 211 | carpenter 212 | perkins 213 | aguilar 214 | silva 215 | richards 216 | willis 217 | matthews 218 | chapman 219 | lawrence 220 | garza 221 | vargas 222 | watkins 223 | wheeler 224 | larson 225 | carlson 226 | harper 227 | george 228 | greene 229 | burke 230 | guzman 231 | morrison 232 | munoz 233 | jacobs 234 | obrien 235 | lawson 236 | franklin 237 | lynch 238 | bishop 239 | carr 240 | salazar 241 | austin 242 | mendez 243 | gilbert 244 | jensen 245 | williamson 246 | montgomery 247 | harvey 248 | oliver 249 | howell 250 | dean 251 | hanson 252 | weber 253 | garrett 254 | sims 255 | burton 256 | fuller 257 | soto 258 | mccoy 259 | welch 260 | chen 261 | schultz 262 | walters 263 | reid 264 | fields 265 | walsh 266 | little 267 | fowler 268 | bowman 269 | davidson 270 | may 271 | day 272 | schneider 273 | newman 274 | brewer 275 | lucas 276 | holland 277 | wong 278 | banks 279 | santos 280 | curtis 281 | pearson 282 | delgado 283 | valdez 284 | pena 285 | rios 286 | douglas 287 | sandoval 288 | barrett 289 | hopkins 290 | keller 291 | guerrero 292 | stanley 293 | bates 294 | alvarado 295 | beck 296 | ortega 297 | wade 298 | estrada 299 | contreras 300 | barnett 301 | caldwell 302 | santiago 303 | lambert 304 | powers 305 | chambers 306 | nunez 307 | craig 308 | leonard 309 | lowe 310 | rhodes 311 | byrd 312 | gregory 313 | shelton 314 | frazier 315 | becker 316 | maldonado 317 | fleming 318 | vega 319 | sutton 320 | cohen 321 | jennings 322 | parks 323 | mcdaniel 324 | watts 325 | barker 326 | norris 327 | vaughn 328 | vazquez 329 | holt 330 | schwartz 331 | steele 332 | benson 333 | neal 334 | dominguez 335 | horton 336 | terry 337 | wolfe 338 | hale 339 | lyons 340 | graves 341 | haynes 342 | miles 343 | park 344 | warner 345 | padilla 346 | bush 347 | thornton 348 | mccarthy 349 | mann 350 | zimmerman 351 | erickson 352 | fletcher 353 | mckinney 354 | page 355 | dawson 356 | joseph 357 | marquez 358 | reeves 359 | klein 360 | espinoza 361 | baldwin 362 | moran 363 | love 364 | robbins 365 | higgins 366 | ball 367 | cortez 368 | le 369 | griffith 370 | bowen 371 | sharp 372 | cummings 373 | ramsey 374 | hardy 375 | swanson 376 | barber 377 | acosta 378 | luna 379 | chandler 380 | blair 381 | daniel 382 | cross 383 | simon 384 | dennis 385 | oconnor 386 | quinn 387 | gross 388 | navarro 389 | moss 390 | fitzgerald 391 | doyle 392 | mclaughlin 393 | rojas 394 | rodgers 395 | stevenson 396 | singh 397 | yang 398 | figueroa 399 | harmon 400 | newton 401 | paul 402 | manning 403 | garner 404 | mcgee 405 | reese 406 | francis 407 | burgess 408 | adkins 409 | goodman 410 | curry 411 | brady 412 | christensen 413 | potter 414 | walton 415 | goodwin 416 | mullins 417 | molina 418 | webster 419 | fischer 420 | campos 421 | avila 422 | sherman 423 | todd 424 | chang 425 | blake 426 | malone 427 | wolf 428 | hodges 429 | juarez 430 | gill 431 | farmer 432 | hines 433 | gallagher 434 | duran 435 | hubbard 436 | cannon 437 | miranda 438 | wang 439 | saunders 440 | tate 441 | mack 442 | hammond 443 | carrillo 444 | townsend 445 | wise 446 | ingram 447 | barton 448 | mejia 449 | ayala 450 | schroeder 451 | hampton 452 | rowe 453 | parsons 454 | frank 455 | waters 456 | strickland 457 | osborne 458 | maxwell 459 | chan 460 | deleon 461 | norman 462 | harrington 463 | casey 464 | patton 465 | logan 466 | bowers 467 | mueller 468 | glover 469 | floyd 470 | hartman 471 | buchanan 472 | cobb 473 | french 474 | kramer 475 | mccormick 476 | clarke 477 | tyler 478 | gibbs 479 | moody 480 | conner 481 | sparks 482 | mcguire 483 | leon 484 | bauer 485 | norton 486 | pope 487 | flynn 488 | hogan 489 | robles 490 | salinas 491 | yates 492 | lindsey 493 | lloyd 494 | marsh 495 | mcbride 496 | owen 497 | solis 498 | pham 499 | lang 500 | pratt 501 | lara 502 | brock 503 | ballard 504 | trujillo 505 | shaffer 506 | drake 507 | roman 508 | aguirre 509 | morton 510 | stokes 511 | lamb 512 | pacheco 513 | patrick 514 | cochran 515 | shepherd 516 | cain 517 | burnett 518 | hess 519 | li 520 | cervantes 521 | olsen 522 | briggs 523 | ochoa 524 | cabrera 525 | velasquez 526 | montoya 527 | roth 528 | meyers 529 | cardenas 530 | fuentes 531 | weiss 532 | hoover 533 | wilkins 534 | nicholson 535 | underwood 536 | short 537 | carson 538 | morrow 539 | colon 540 | holloway 541 | summers 542 | bryan 543 | petersen 544 | mckenzie 545 | serrano 546 | wilcox 547 | carey 548 | clayton 549 | poole 550 | calderon 551 | gallegos 552 | greer 553 | rivas 554 | guerra 555 | decker 556 | collier 557 | wall 558 | whitaker 559 | bass 560 | flowers 561 | davenport 562 | conley 563 | houston 564 | huff 565 | copeland 566 | hood 567 | monroe 568 | massey 569 | roberson 570 | combs 571 | franco 572 | larsen 573 | pittman 574 | randall 575 | skinner 576 | wilkinson 577 | kirby 578 | cameron 579 | bridges 580 | anthony 581 | richard 582 | kirk 583 | bruce 584 | singleton 585 | mathis 586 | bradford 587 | boone 588 | abbott 589 | charles 590 | allison 591 | sweeney 592 | atkinson 593 | horn 594 | jefferson 595 | rosales 596 | york 597 | christian 598 | phelps 599 | farrell 600 | castaneda 601 | nash 602 | dickerson 603 | bond 604 | wyatt 605 | foley 606 | chase 607 | gates 608 | vincent 609 | mathews 610 | hodge 611 | garrison 612 | trevino 613 | villarreal 614 | heath 615 | dalton 616 | valencia 617 | callahan 618 | hensley 619 | atkins 620 | huffman 621 | roy 622 | boyer 623 | shields 624 | lin 625 | hancock 626 | grimes 627 | glenn 628 | cline 629 | delacruz 630 | camacho 631 | dillon 632 | parrish 633 | oneill 634 | melton 635 | booth 636 | kane 637 | berg 638 | harrell 639 | pitts 640 | savage 641 | wiggins 642 | brennan 643 | salas 644 | marks 645 | russo 646 | sawyer 647 | baxter 648 | golden 649 | hutchinson 650 | liu 651 | walter 652 | mcdowell 653 | wiley 654 | rich 655 | humphrey 656 | johns 657 | koch 658 | suarez 659 | hobbs 660 | beard 661 | gilmore 662 | ibarra 663 | keith 664 | macias 665 | khan 666 | andrade 667 | ware 668 | stephenson 669 | henson 670 | wilkerson 671 | dyer 672 | mcclure 673 | blackwell 674 | mercado 675 | tanner 676 | eaton 677 | clay 678 | barron 679 | beasley 680 | oneal 681 | preston 682 | small 683 | wu 684 | zamora 685 | macdonald 686 | vance 687 | snow 688 | mcclain 689 | stafford 690 | orozco 691 | barry 692 | english 693 | shannon 694 | kline 695 | jacobson 696 | woodard 697 | huang 698 | kemp 699 | mosley 700 | prince 701 | merritt 702 | hurst 703 | villanueva 704 | roach 705 | nolan 706 | lam 707 | yoder 708 | mccullough 709 | lester 710 | santana 711 | valenzuela 712 | winters 713 | barrera 714 | leach 715 | orr 716 | berger 717 | mckee 718 | strong 719 | conway 720 | stein 721 | whitehead 722 | bullock 723 | escobar 724 | knox 725 | meadows 726 | solomon 727 | velez 728 | odonnell 729 | kerr 730 | stout 731 | blankenship 732 | browning 733 | kent 734 | lozano 735 | bartlett 736 | pruitt 737 | buck 738 | barr 739 | gaines 740 | durham 741 | gentry 742 | mcintyre 743 | sloan 744 | melendez 745 | rocha 746 | herman 747 | sexton 748 | moon 749 | hendricks 750 | rangel 751 | stark 752 | lowery 753 | hardin 754 | hull 755 | sellers 756 | ellison 757 | calhoun 758 | gillespie 759 | mora 760 | knapp 761 | mccall 762 | morse 763 | dorsey 764 | weeks 765 | nielsen 766 | livingston 767 | leblanc 768 | mclean 769 | bradshaw 770 | glass 771 | middleton 772 | buckley 773 | schaefer 774 | frost 775 | howe 776 | house 777 | mcintosh 778 | ho 779 | pennington 780 | reilly 781 | hebert 782 | mcfarland 783 | hickman 784 | noble 785 | spears 786 | conrad 787 | arias 788 | galvan 789 | velazquez 790 | huynh 791 | frederick 792 | randolph 793 | cantu 794 | fitzpatrick 795 | mahoney 796 | peck 797 | villa 798 | michael 799 | donovan 800 | mcconnell 801 | walls 802 | boyle 803 | mayer 804 | zuniga 805 | giles 806 | pineda 807 | pace 808 | hurley 809 | mays 810 | mcmillan 811 | crosby 812 | ayers 813 | case 814 | bentley 815 | shepard 816 | everett 817 | pugh 818 | david 819 | mcmahon 820 | dunlap 821 | bender 822 | hahn 823 | harding 824 | acevedo 825 | raymond 826 | blackburn 827 | duffy 828 | landry 829 | dougherty 830 | bautista 831 | shah 832 | potts 833 | arroyo 834 | valentine 835 | meza 836 | gould 837 | vaughan 838 | fry 839 | rush 840 | avery 841 | herring 842 | dodson 843 | clements 844 | sampson 845 | tapia 846 | bean 847 | lynn 848 | crane 849 | farley 850 | cisneros 851 | benton 852 | ashley 853 | mckay 854 | finley 855 | best 856 | blevins 857 | friedman 858 | moses 859 | sosa 860 | blanchard 861 | huber 862 | frye 863 | krueger 864 | bernard 865 | rosario 866 | rubio 867 | mullen 868 | benjamin 869 | haley 870 | chung 871 | moyer 872 | choi 873 | horne 874 | yu 875 | woodward 876 | ali 877 | nixon 878 | hayden 879 | rivers 880 | estes 881 | mccarty 882 | richmond 883 | stuart 884 | maynard 885 | brandt 886 | oconnell 887 | hanna 888 | sanford 889 | sheppard 890 | church 891 | burch 892 | levy 893 | rasmussen 894 | coffey 895 | ponce 896 | faulkner 897 | donaldson 898 | schmitt 899 | novak 900 | costa 901 | montes 902 | booker 903 | cordova 904 | waller 905 | arellano 906 | maddox 907 | mata 908 | bonilla 909 | stanton 910 | compton 911 | kaufman 912 | dudley 913 | mcpherson 914 | beltran 915 | dickson 916 | mccann 917 | villegas 918 | proctor 919 | hester 920 | cantrell 921 | daugherty 922 | cherry 923 | bray 924 | davila 925 | rowland 926 | levine 927 | madden 928 | spence 929 | good 930 | irwin 931 | werner 932 | krause 933 | petty 934 | whitney 935 | baird 936 | hooper 937 | pollard 938 | zavala 939 | jarvis 940 | holden 941 | haas 942 | hendrix 943 | mcgrath 944 | bird 945 | lucero 946 | terrell 947 | riggs 948 | joyce 949 | mercer 950 | rollins 951 | galloway 952 | duke 953 | odom 954 | andersen 955 | downs 956 | hatfield 957 | benitez 958 | archer 959 | huerta 960 | travis 961 | mcneil 962 | hinton 963 | zhang 964 | hays 965 | mayo 966 | fritz 967 | branch 968 | mooney 969 | ewing 970 | ritter 971 | esparza 972 | frey 973 | braun 974 | gay 975 | riddle 976 | haney 977 | kaiser 978 | holder 979 | chaney 980 | mcknight 981 | gamble 982 | vang 983 | cooley 984 | carney 985 | cowan 986 | forbes 987 | ferrell 988 | davies 989 | barajas 990 | shea 991 | osborn 992 | bright 993 | cuevas 994 | bolton 995 | murillo 996 | lutz 997 | duarte 998 | kidd 999 | key 1000 | cooke -------------------------------------------------------------------------------- /ostrich.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import time 3 | 4 | #----------------------------------------------------------------------------- 5 | # Ostrich.py is the world's first zero false-positive vulnerability scanner. 6 | # It is guaranteed to not produce false positives so you can rest assured that 7 | # any vulnerability it finds is the real deal. 8 | # 9 | # This is just a joke. Please do not use this. 10 | #----------------------------------------------------------------------------- 11 | print "Ostrich Vulnerability Scanner" 12 | print "-----------------------------" 13 | print "The world's only zero false-positive scanner." 14 | print 15 | print "Starting vulnerability scan with 1337 checks." 16 | print "Doing network discovery." 17 | time.sleep(10) 18 | print "Found 42 devices." 19 | print "Scanning." 20 | time.sleep(30) 21 | print "Congratulations, no vulnerabilities were found on your network." 22 | -------------------------------------------------------------------------------- /passwords.txt: -------------------------------------------------------------------------------- 1 | Password1 2 | Princess1 3 | P@ssw0rd 4 | Passw0rd 5 | Michael1 6 | Blink182 7 | !QAZ2wsx 8 | Charlie1 9 | Anthony1 10 | 1qaz!QAZ 11 | Brandon1 12 | Jordan23 13 | 1qaz@WSX 14 | Jessica1 15 | Jasmine1 16 | Michelle1 17 | Diamond1 18 | Babygirl1 19 | Iloveyou2 20 | Matthew1 21 | Rangers1 22 | Pa55word 23 | Iverson3 24 | Sunshine1 25 | Madison1 26 | William1 27 | Elizabeth1 28 | Password123 29 | Liverpool1 30 | Cameron1 31 | Butterfly1 32 | Beautiful1 33 | !QAZ1qaz 34 | Patrick1 35 | Welcome1 36 | Iloveyou1 37 | Bubbles1 38 | Chelsea1 39 | ZAQ!2wsx 40 | Blessed1 41 | Richard1 42 | Danielle1 43 | Raiders1 44 | Jackson1 45 | Jesus777 46 | Jennifer1 47 | Alexander1 48 | Ronaldo7 49 | Heather1 50 | Dolphin1 51 | Destiny1 52 | Brianna1 53 | Trustno1 54 | 1qazZAQ! 55 | Precious1 56 | Freedom1 57 | Christian1 58 | Brooklyn1 59 | !QAZxsw2 60 | Password2 61 | Football1 62 | ABCabc123 63 | Samantha1 64 | Charmed1 65 | Trinity1 66 | Chocolate1 67 | America1 68 | Password01 69 | Natalie1 70 | Superman1 71 | Scooter1 72 | Mustang1 73 | Brittany1 74 | Angel123 75 | Jonathan1 76 | Friends1 77 | Courtney1 78 | Aaliyah1 79 | Rebecca1 80 | Timothy1 81 | Scotland1 82 | Raymond1 83 | Inuyasha1 84 | Tiffany1 85 | Pa55w0rd 86 | Nicholas1 87 | Melissa1 88 | Isabella1 89 | Summer07 90 | Rainbow1 91 | Poohbear1 92 | Peaches1 93 | Gabriel1 94 | Arsenal1 95 | Antonio1 96 | Victoria1 97 | Stephanie1 98 | Dolphins1 99 | ABC123abc 100 | Spongebob1 101 | Pa$$w0rd 102 | Forever1 103 | iydgTvmujl6f 104 | Zachary1 105 | Yankees1 106 | Stephen1 107 | Shannon1 108 | John3:16 109 | Gerrard8 110 | Fuckyou2 111 | ZAQ!1qaz 112 | Pebbles1 113 | Monster1 114 | Chicken1 115 | zaq1!QAZ 116 | Spencer1 117 | Savannah1 118 | Jesusis1 119 | Jeffrey1 120 | Houston1 121 | Florida1 122 | Crystal1 123 | Tristan1 124 | Thunder1 125 | Thumper1 126 | Special1 127 | Pr1ncess 128 | Password12 129 | Justice1 130 | Cowboys1 131 | Charles1 132 | Blondie1 133 | Softball1 134 | Orlando1 135 | Greenday1 136 | Dominic1 137 | !QAZzaq1 138 | abc123ABC 139 | Snickers1 140 | Patches1 141 | P@$$w0rd 142 | Natasha1 143 | Myspace1 144 | Monique1 145 | Letmein1 146 | James123 147 | Celtic1888 148 | Benjamin1 149 | Baseball1 150 | 1qazXSW@ 151 | Vanessa1 152 | Steelers1 153 | Slipknot1 154 | Princess13 155 | Princess12 156 | Midnight1 157 | Marines1 158 | M1chelle 159 | Lampard8 160 | Jesus123 161 | Frankie1 162 | Elizabeth2 163 | Douglas1 164 | Devil666 165 | Christina1 166 | Bradley1 167 | zaq1@WSX 168 | Tigger01 169 | Summer08 170 | Princess21 171 | Playboy1 172 | October1 173 | Katrina1 174 | Iloveme1 175 | Chris123 176 | Chicago1 177 | Charlotte1 178 | Broncos1 179 | BabyGirl1 180 | Abigail1 181 | Tinkerbell1 182 | Rockstar1 183 | RockYou1 184 | Michelle2 185 | Georgia1 186 | Computer1 187 | Breanna1 188 | Babygurl1 189 | Trinity3 190 | Pumpkin1 191 | Princess7 192 | Preston1 193 | Newyork1 194 | Marissa1 195 | Liberty1 196 | Lebron23 197 | Jamaica1 198 | Fuckyou1 199 | Chester1 200 | Braxton1 201 | August12 202 | z,iyd86I 203 | l6fkiy9oN 204 | Sweetie1 205 | November1 206 | Love4ever 207 | Ireland1 208 | Iloveme2 209 | Christine1 210 | Buttons1 211 | Babyboy1 212 | Angel101 213 | Vincent1 214 | Spartan117 215 | Soccer12 216 | Princess2 217 | Penguin1 218 | Password5 219 | Password3 220 | Panthers1 221 | Nirvana1 222 | Nicole12 223 | Nichole1 224 | Molly123 225 | Metallica1 226 | Mercedes1 227 | Mackenzie1 228 | Kenneth1 229 | Jackson5 230 | Genesis1 231 | Diamonds1 232 | Buttercup1 233 | Brandon7 234 | Whatever1 235 | TheSims2 236 | Summer06 237 | Starwars1 238 | Spiderman1 239 | Soccer11 240 | Skittles1 241 | Princess01 242 | Phoenix1 243 | Pass1234 244 | Panther1 245 | November11 246 | Lindsey1 247 | Katherine1 248 | JohnCena1 249 | January1 250 | Gangsta1 251 | Fuckoff1 252 | Freddie1 253 | Forever21 254 | Death666 255 | Chopper1 256 | Arianna1 257 | Allison1 258 | Yankees2 259 | TrustNo1 260 | Tiger123 261 | Summer05 262 | September1 263 | Sebastian1 264 | Sabrina1 265 | Princess07 266 | Popcorn1 267 | Pokemon1 268 | Omarion1 269 | Nursing1 270 | Miranda1 271 | Melanie1 272 | Maxwell1 273 | Lindsay1 274 | Joshua01 275 | Hollywood1 276 | Hershey1 277 | Hello123 278 | Gordon24 279 | Gateway1 280 | Garrett1 281 | David123 282 | Daniela1 283 | Butterfly7 284 | Buddy123 285 | Brandon2 286 | Bethany1 287 | Austin316 288 | Atlanta1 289 | Angelina1 290 | Alexandra1 291 | Airforce1 292 | Winston1 293 | Veronica1 294 | Vanilla1 295 | Trouble1 296 | Summer01 297 | Snowball1 298 | Rockyou1 299 | Qwerty123 300 | Pickles1 301 | Password11 302 | Password1! 303 | November15 304 | Music123 305 | Monkeys1 306 | Matthew2 307 | Marie123 308 | Madonna1 309 | Kristen1 310 | Kimberly1 311 | Justin23 312 | Justin11 313 | Jesus4me 314 | Jeremiah1 315 | Jennifer2 316 | Jazmine1 317 | FuckYou2 318 | Colorado1 319 | Christmas1 320 | Bella123 321 | Bailey12 322 | August20 323 | 3edc#EDC 324 | 2wsx@WSX 325 | 12qw!@QW 326 | #EDC4rfv 327 | Winter06 328 | Welcome123 329 | Unicorn1 330 | Tigger12 331 | Soccer13 332 | Senior06 333 | Scrappy1 334 | Scorpio1 335 | Santana1 336 | Rocky123 337 | Ricardo1 338 | Princess123 339 | Password9 340 | Password4 341 | P@55w0rd 342 | Monkey12 343 | Michele1 344 | Micheal1 345 | Michael7 346 | Michael01 347 | Matthew3 348 | Marshall1 349 | Loveyou2 350 | Lakers24 351 | Kennedy1 352 | Jesusis#1 353 | Jehovah1 354 | Isabelle1 355 | Hawaii50 356 | Grandma1 357 | Godislove1 358 | Giggles1 359 | Friday13 360 | Formula1 361 | England1 362 | Cutiepie1 363 | Cricket1 364 | Catherine1 365 | Brownie1 366 | Boricua1 367 | Beckham7 368 | Awesome1 369 | Annabelle1 370 | Anderson1 371 | Alabama1 372 | 1941.Salembbb.41 373 | 123qweASD 374 | abcABC123 375 | Twilight1 376 | Thirteen13 377 | Taylor13 378 | Superstar1 379 | Summer99 380 | Soccer14 381 | Robert01 382 | Prototype1 383 | Princess5 384 | Princess24 385 | Pr1nc3ss 386 | Phantom1 387 | Patricia1 388 | Password13 389 | Passion1 390 | P4ssword 391 | Nathan06 392 | Monkey13 393 | Monkey01 394 | Liverpool123 395 | Liverp00l 396 | Laura123 397 | Ladybug1 398 | Kristin1 399 | Kendall1 400 | Justin01 401 | Jordan12 402 | Jordan01 403 | Jesus143 404 | Jessica7 405 | Internet1 406 | Goddess1 407 | Friends2 408 | Falcons7 409 | Derrick1 410 | December21 411 | Daisy123 412 | Colombia1 413 | Clayton1 414 | Cheyenne1 415 | Brittney1 416 | Blink-182 417 | August22 418 | Asshole1 419 | Ashley12 420 | Arsenal12 421 | Addison1 422 | Abcd1234 423 | @WSX2wsx 424 | !Qaz2wsx 425 | zaq1ZAQ! 426 | ZAQ!xsw2 427 | Whitney1 428 | Welcome2 429 | Vampire1 430 | Valerie1 431 | Titanic1 432 | Tigger123 433 | Teddybear1 434 | Tbfkiy9oN 435 | Sweetpea1 436 | Start123 437 | Soccer17 438 | Smokey01 439 | Shopping1 440 | Serenity1 441 | Senior07 442 | Sail2Boat3 443 | Rusty123 444 | Russell1 445 | Redskins1 446 | Rebelde1 447 | Princess4 448 | Princess23 449 | Princess19 450 | Princess18 451 | Princess15 452 | Princess08 453 | PoohBear1 454 | Peanut11 455 | Peanut01 456 | Password7 457 | Password21 458 | Passw0rd1 459 | October22 460 | October13 461 | November16 462 | Montana1 463 | Michael2 464 | Michael07 465 | Makayla1 466 | Madison01 467 | Lucky123 468 | Longhorns1 469 | Kathryn1 470 | Katelyn1 471 | Justin21 472 | Jesus1st 473 | January29 474 | ILoveYou2 475 | Hunter01 476 | Honey123 477 | Holiday1 478 | Harry123 479 | Falcons1 480 | December1 481 | Dan1elle 482 | Dallas22 483 | College1 484 | Classof08 485 | Chelsea123 486 | Chargers1 487 | Cassandra1 488 | Carolina1 489 | Candy123 490 | Brayden1 491 | Bigdaddy1 492 | Bentley1 493 | Batista1 494 | Barcelona1 495 | Australia1 496 | Austin02 497 | August10 498 | August08 499 | Arsenal123 500 | Anthony11 -------------------------------------------------------------------------------- /phish_blast.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import random 3 | 4 | first_file = 'firstnames.txt' 5 | last_file = 'lastnames.txt' 6 | domain_file = 'domains.txt' 7 | pass_file = 'passwords.txt' 8 | ua_file = 'useragents.txt' 9 | login_url = '' 10 | user_field = '' 11 | pass_field = '' 12 | 13 | def load_file(filename): 14 | items = [] 15 | 16 | with open(filename) as f: 17 | for line in f: 18 | items.append(line.rstrip()) 19 | 20 | return items 21 | 22 | 23 | def generate_username(first, last): 24 | s = random.choice([1, 2, 3, 4]) 25 | 26 | if s == 1: 27 | return '{0}.{1}'.format(first, last) 28 | if s == 2: 29 | return '{0}{1}'.format(first[0], last) 30 | if s == 3: 31 | return '{0}{1}'.format(first, last[0]) 32 | if s == 4: 33 | return '{0}.{1}'.format(last, first) 34 | 35 | 36 | def send_creds(ua, email, pwd): 37 | print('Sending {0}/{1} to {2}.'.format(email, pwd, login_url)) 38 | 39 | headers = {'User-Agent': ua} 40 | creds = {user_field: email, pass_field: pwd} 41 | try: 42 | requests.post(login_url, headers=headers, data=creds, allow_redirects=False) 43 | 44 | except Exception as e: 45 | print('Request failed: {0}'.format(str(e))) 46 | 47 | 48 | if __name__ == '__main__': 49 | firsts = load_file(first_file) 50 | lasts = load_file(last_file) 51 | doms = load_file(domain_file) 52 | pwds = load_file(pass_file) 53 | uas = load_file(ua_file) 54 | 55 | while True: 56 | first = random.choice(firsts) 57 | last = random.choice(lasts) 58 | dom = random.choice(doms) 59 | pwd = random.choice(pwds) 60 | ua = random.choice(uas) 61 | email = '{0}@{1}'.format(generate_username(first, last), dom) 62 | 63 | send_creds(ua, email, pwd) 64 | -------------------------------------------------------------------------------- /ping_trend.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | import os 3 | import re 4 | import time 5 | 6 | ping_re = re.compile('\d+ bytes from \d+.\d+.\d+.\d+:', re.I) 7 | 8 | 9 | def update_db(ip, status, timestamp): 10 | valstr = "'{0}','{1}','{2}'".format(ip, status, timestamp) 11 | c.execute("INSERT INTO pings VALUES(" + valstr + ")") 12 | conn.commit() 13 | 14 | # Create the SQLite connection 15 | conn = sqlite3.connect('ping_trend.db') 16 | c = conn.cursor() 17 | 18 | # Create the pings table if it does not exist. 19 | c.execute("CREATE TABLE IF NOT EXISTS pings (ip text, status text, time integer)") 20 | 21 | # Read through a file of IP addresses and ping each one. Then update the 22 | # database with the status. 23 | for line in open('iplist.txt', 'r'): 24 | line = line.strip() 25 | if line == '': 26 | continue 27 | if line.startswith('#'): 28 | continue 29 | output = os.popen('ping -c 1 ' + line).read() 30 | m = ping_re.search(output) 31 | if m is not None: 32 | update_db(line, 'UP', int(time.time())) 33 | else: 34 | update_db(line, 'DOWN', int(time.time())) 35 | 36 | # Close the DB connection 37 | conn.commit() 38 | conn.close() 39 | -------------------------------------------------------------------------------- /texttable.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012, Tenable Network Security 2 | # All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions are met: 6 | # 7 | # Redistributions of source code must retain the above copyright notice, 8 | # this list of conditions and the following disclaimer. 9 | # 10 | # Redistributions in binary form must reproduce the above copyright notice, 11 | # this list of conditions and the following disclaimer in the documentation 12 | # and/or other materials provided with the distribution. 13 | # 14 | # Neither the name of the Tenable Network Security nor the names of its 15 | # contributors may be used to endorse or promote products derived from this 16 | # software without specific prior written permission. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 22 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 | # POSSIBILITY OF SUCH DAMAGE. 29 | 30 | 31 | class TextTable(): 32 | 33 | def __init__(self): 34 | self.pad = 2 35 | self.hr = '=' 36 | self.cr = '-' 37 | self.header = '' 38 | self.__col_names = [] 39 | self.__rows = [] 40 | self.__col_widths = [] 41 | self.__num_cols = 0 42 | self.__col_aligns = [] 43 | 44 | def __set_num_cols(self, num_cols): 45 | if self.__num_cols == 0: 46 | self.__num_cols = num_cols 47 | 48 | def __set_col_align(self): 49 | for i in range(self.__num_cols): 50 | self.__col_aligns.append('<') 51 | 52 | def __col_check(self, num_cols): 53 | if num_cols == self.__num_cols: 54 | return True 55 | else: 56 | return False 57 | 58 | def __set_col_widths(self): 59 | for i in range(self.__num_cols): 60 | widths = [len(r[i]) for r in self.__rows] 61 | widths.append(len(self.__col_names[i])) 62 | self.__col_widths.append(max(widths)) 63 | 64 | def add_col_align(self, aligns): 65 | if self.__col_check(len(aligns)): 66 | for align in aligns: 67 | if align in ['<', '^', '>']: 68 | self.__col_aligns.append(align) 69 | else: 70 | print 'Invalid alignment, using left alignment.' 71 | self.__col_aligns.append('<') 72 | else: 73 | print 'Column number mismatch, column alignments not set.' 74 | 75 | def add_rows(self, rows): 76 | for row in rows: 77 | self.add_row(row) 78 | 79 | def add_row(self, row): 80 | self.__set_num_cols(len(row)) 81 | 82 | if self.__col_check(len(row)): 83 | self.__rows.append([str(r) for r in row]) 84 | else: 85 | print 'Column number mismatch, row was not added to the table.' 86 | 87 | def add_col_names(self, col_names): 88 | self.__set_num_cols(len(col_names)) 89 | 90 | if self.__col_check(len(col_names)): 91 | self.__col_names = col_names 92 | else: 93 | print 'Column number mismatch, headings were not added to the table.' 94 | 95 | def __str__(self): 96 | self.__set_col_widths() 97 | if self.__col_aligns == []: 98 | self.__set_col_align() 99 | 100 | s = '\n' 101 | 102 | # Print the header if there is one 103 | if self.header: 104 | s += ' ' * self.pad + self.header + '\n' 105 | s += ' ' * self.pad + self.hr * len(self.header) + '\n' 106 | s += '\n' 107 | 108 | # Print the column headings if there are any 109 | if self.__col_names: 110 | head = ' ' * self.pad 111 | rule = ' ' * self.pad 112 | 113 | for i in range(self.__num_cols): 114 | width = self.__col_widths[i] 115 | align = self.__col_aligns[i] 116 | name = self.__col_names[i] 117 | head += '{0:{j}{w}} '.format(name, j=align, w=width) 118 | rule += '{0:{j}{w}} '.format(self.cr * width, j=align, w=width) 119 | 120 | s += head + '\n' 121 | s += rule + '\n' 122 | 123 | # Print the rows 124 | for row in self.__rows: 125 | rstr = ' ' * self.pad 126 | 127 | for i in range(self.__num_cols): 128 | width = self.__col_widths[i] 129 | align = self.__col_aligns[i] 130 | rstr += '{0:{j}{w}} '.format(row[i], j=align, w=width) 131 | 132 | s += rstr + '\n' 133 | 134 | return s 135 | 136 | if __name__ == '__main__': 137 | 138 | t1 = TextTable() 139 | t1.header = 'A Table of Numbers' 140 | t1.add_col_names(['Col1', 'Col2', 'Col3', 'Col4']) 141 | t1.add_col_align(['<', '<', '^', '>']) 142 | rows = [[1, 2, 3, 4], 143 | [5, 6, 7, 8], 144 | [9, 10, 11, 12], 145 | [111111, 22222222, 3333333333, 444444444444]] 146 | t1.add_rows(rows) 147 | 148 | print t1 149 | 150 | t2 = TextTable() 151 | t2.header = 'Another Table of Numbers' 152 | t2.add_col_names(['Col1', 'Col2', 'Col3', 'Col4']) 153 | t2.add_row([1, 2, 3, 4]) 154 | t2.add_row([5, 6, 7, 8]) 155 | t2.add_row([9, 10, 11, 12]) 156 | print t2 157 | -------------------------------------------------------------------------------- /threat_intel_feed.json: -------------------------------------------------------------------------------- 1 | { 2 | "ip_feed":[ 3 | {"source_ip": "0.0.0.0/0", "dest_port": "22", "attack_type": "brute_force", "solution": "Learn to use SSH keys!"}, 4 | {"source_ip": "0.0.0.0/0", "dest_port": "23", "attack_type": "brute_force", "solution": "Telnet? Really?"}, 5 | {"source_ip": "0.0.0.0/0", "dest_port": "80", "attack_type": "basic_auth_brute_force", "solution": "Grep logs, ban IPs that try to login to often."}, 6 | {"source_ip": "0.0.0.0/0", "dest_port": "80", "attack_type": "web_form_brute_force", "solution": "Implement login rate limits."}, 7 | {"source_ip": "0.0.0.0/0", "dest_port": "80", "attack_type": "cross_site_scripting", "solution": "Stop trusting user input. Period."}, 8 | {"source_ip": "0.0.0.0/0", "dest_port": "80", "attack_type": "sql_injection", "solution": "Fire your current developer(s)."}, 9 | {"source_ip": "0.0.0.0/0", "dest_port": "443", "attack_type": "basic_auth_brute_force", "solution": "Grep logs, ban IPs that try to login to often."}, 10 | {"source_ip": "0.0.0.0/0", "dest_port": "443", "attack_type": "web_form_brute_force", "solution": "Implement login rate limits."}, 11 | {"source_ip": "0.0.0.0/0", "dest_port": "443", "attack_type": "cross_site_scripting", "solution": "Stop trusting user input. Period."}, 12 | {"source_ip": "0.0.0.0/0", "dest_port": "443", "attack_type": "sql_injection", "solution": "Fire your current developer(s)."}, 13 | {"source_ip": "0.0.0.0/0", "dest_port": "8000", "attack_type": "basic_auth_brute_force", "solution": "Grep logs, ban IPs that try to login to often."}, 14 | {"source_ip": "0.0.0.0/0", "dest_port": "8000", "attack_type": "web_form_brute_force", "solution": "Implement login rate limits."}, 15 | {"source_ip": "0.0.0.0/0", "dest_port": "8000", "attack_type": "cross_site_scripting", "solution": "Stop trusting user input. Period."}, 16 | {"source_ip": "0.0.0.0/0", "dest_port": "8000", "attack_type": "sql_injection", "solution": "Fire your current developer(s)."}, 17 | {"source_ip": "0.0.0.0/0", "dest_port": "8080", "attack_type": "basic_auth_brute_force", "solution": "Grep logs, ban IPs that try to login to often."}, 18 | {"source_ip": "0.0.0.0/0", "dest_port": "8080", "attack_type": "web_form_brute_force", "solution": "Implement login rate limits."}, 19 | {"source_ip": "0.0.0.0/0", "dest_port": "8080", "attack_type": "cross_site_scripting", "solution": "Stop trusting user input. Period."}, 20 | {"source_ip": "0.0.0.0/0", "dest_port": "8080", "attack_type": "sql_injection", "solution": "Fire your current developer(s)."} 21 | {"source_ip": "0.0.0.0/0", "dest_port": "any", "attack_type": "various", "solution": "Close any ports you don't need."} 22 | ], 23 | "actor_feed":[ 24 | {"actor": "every_damn_body", "dest_service": "email", "attack_type": "phishing", "solution": "DNS Whitelisting. Yes, it's a thing."}, 25 | {"actor": "every_damn_body", "dest_service": "social_networks", "attack_type": "phishing", "solution": "Block employee access to social media. Let them infect their own device."} 26 | ], 27 | "vendor_feed":[ 28 | {"vendor": "av_company", "attack_type": "budget_drain", "solution": "Free AV || GTFO"}, 29 | {"vendor": "av_company", "attack_type": "inflated_succes_rate", "solution": "I've got 10 lines of C that will kick your AV's butt."}, 30 | {"vendor": "blinky_box", "attack_type": "budget_drain", "solution": "Hire and train good people. Buy whatever tools they say they need."}, 31 | ] 32 | } -------------------------------------------------------------------------------- /useragents.txt: -------------------------------------------------------------------------------- 1 | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 2 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18 3 | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 4 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 5 | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36 6 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:35.0) Gecko/20100101 Firefox/35.0 7 | Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 8 | Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 9 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 10 | Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko 11 | Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0 12 | Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B466 Safari/600.1.4 13 | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 14 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 15 | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36 16 | Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36 17 | Mozilla/5.0 (Windows NT 6.1; rv:35.0) Gecko/20100101 Firefox/35.0 18 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36 19 | Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B440 Safari/600.1.4 20 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:35.0) Gecko/20100101 Firefox/35.0 21 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 22 | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 23 | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 24 | Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko 25 | Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 26 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 27 | Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 28 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 29 | Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B466 Safari/600.1.4 30 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 31 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/7.1.3 Safari/537.85.12 32 | Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36 33 | Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36 34 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36 35 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 36 | Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0 37 | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 38 | Mozilla/5.0 (iPad; CPU OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B440 Safari/600.1.4 39 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/7.1.2 Safari/537.85.11 40 | Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko 41 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 42 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 43 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36 44 | Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53 45 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36 46 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:35.0) Gecko/20100101 Firefox/35.0 47 | Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 48 | Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) 49 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36 50 | Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 51 | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 52 | Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0 53 | Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0) 54 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25 55 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36 56 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/39.0.2171.65 Chrome/39.0.2171.65 Safari/537.36 57 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 58 | Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 59 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 60 | Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:35.0) Gecko/20100101 Firefox/35.0 61 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 62 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/6.1.6 Safari/537.78.2 63 | Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36 64 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) QuickLook/5.0 65 | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0 66 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36 67 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:35.0) Gecko/20100101 Firefox/35.0 68 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.59.10 (KHTML, like Gecko) Version/5.1.9 Safari/534.59.10 69 | Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko 70 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 71 | Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4 72 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25 73 | Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 74 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 75 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2 76 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.1.17 (KHTML, like Gecko) Version/7.1 Safari/537.85.10 77 | Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53 78 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.5.3 (KHTML, like Gecko) Version/8.0.5 Safari/600.5.3 79 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 80 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 81 | Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4 82 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:35.0) Gecko/20100101 Firefox/35.0 83 | Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) 84 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36 85 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 86 | Mozilla/5.0 (Windows NT 6.2; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 87 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36 88 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 89 | Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0 90 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0 91 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 92 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/40.0.2214.111 Chrome/40.0.2214.111 Safari/537.36 93 | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.4.0 94 | --------------------------------------------------------------------------------