From adede3bd0f0f884cb9a9177741ba8c468509037a Mon Sep 17 00:00:00 2001 From: your-favorite-hacker Date: Sat, 30 May 2015 16:41:32 +0200 Subject: [PATCH] init --- find_ntp.py | 114 ++++++++++++++++++++++++++++++++++++++++++++ generateRandomIP.sh | 14 ++++++ 2 files changed, 128 insertions(+) create mode 100755 find_ntp.py create mode 100755 generateRandomIP.sh diff --git a/find_ntp.py b/find_ntp.py new file mode 100755 index 0000000..140735e --- /dev/null +++ b/find_ntp.py @@ -0,0 +1,114 @@ +#!/usr/bin/env python2 +# +# ./find_ntp.py -l IPs.txt -t 500 -o ntpservers.txt +# +# simple ntp server finder by dash +# +# [*] Found 148 entries +# [*] Entries 148 in queue +# [*] Running with 50 threads +# ================================================== +# IP Version +# ================================================== +# 103.x.x.x 2 +# 157.x.x.x 3 +# +# + +import os +import sys +import Queue +import ntplib +import argparse +import threading + +global rQ +rQ = Queue.Queue() + +def openFile(hostList): + fr = open(hostList,'r') + rBuf = fr.readlines() + return rBuf + +def openWriteFile(outfile): + fw = open(outfile,'wb') + return fw + +def checkNTP(host): + c = ntplib.NTPClient() + try: + res = c.request(host) + print '%s\t%d' % (host,res.version) + data = '%s\t%d\n' % (host,res.version) + rQ.put(data) + except ntplib.NTPException,e: + pass + return + +def run(args): + """ mighty mighty function """ + + if not args.thrCnt: + thrCnt=50 + else: + thrCnt = int(args.thrCnt) + + if args.outfile: + fw = openWriteFile(args.outfile) + + hostList = args.hostList + + q = Queue.Queue() + rBuf = openFile(hostList) + print '[*] Found %d entries' % len(rBuf) + for r in rBuf: + r = r.rstrip('\n') + r = r.rstrip('\r') + q.put(r) + + print '[*] Entries %d in queue' % q.qsize() + print '[*] Running with %d threads' % thrCnt + print '='*50 + print 'IP\t\tVersion' + print '='*50 + thrList = [] + while q.qsize()>0: + + if len(thrList) < thrCnt: + thrNtp = threading.Thread(target = checkNTP, args = (q.get(),)) + thrNtp.daemon = True + thrNtp.start() + thrList.append(thrNtp) + + for entry in thrList: + if entry.isAlive()==False: + entry.join() + thrList.remove(entry) + + if args.outfile and rQ.qsize()>0: + i = rQ.get() + data = "%s" % (i) + fw.write(data) + fw.flush() + else: + if rQ.qsize()>0: + rQ.get() + + fw.close() + print '='*50 + print '[*] Done' + print '='*50 + + +def main(): + parser_desc = 'ntp server finder, prints found ip and ntp-version, by dash' + prog_desc = 'find_ntp.py' + parser = argparse.ArgumentParser( prog = prog_desc, description = parser_desc) + parser.add_argument("-l",action='store',required=True,help='host list with ips',dest='hostList') + parser.add_argument('-t',action='store',required=False,help='thread count', dest='thrCnt') + parser.add_argument('-o',action='store',required=False,help='write found data to file', dest='outfile') + args = parser.parse_args() + run(args) + +if __name__ == "__main__": + main() diff --git a/generateRandomIP.sh b/generateRandomIP.sh new file mode 100755 index 0000000..2db6442 --- /dev/null +++ b/generateRandomIP.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# + +if [ $# -ne 1 ]; +then + echo 'generate random ips with nmap' + echo '' + echo + exit +fi + +cnt=$1 +nmap -n -iR $cnt --exclude 127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,224-255.-.-.- -sL | cut -d ' ' -f 5 |grep -v addresses |grep -v nmap > rIP.txt +