├── .travis.yml ├── RASscan.py └── readme.MD /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - '2.7' 4 | script: true 5 | sudo: required 6 | script: python RASscan.py 7 | -------------------------------------------------------------------------------- /RASscan.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- encoding: utf-8 -*- 3 | # code by yds 4 | import Queue 5 | import threading 6 | from threading import Thread 7 | import time 8 | import re 9 | import sys 10 | import os 11 | import socket 12 | import optparse 13 | import urllib2 14 | 15 | ''' 16 | 一般默认常用端口扫描介绍: 17 | 3311:3312 kangle主机管理系统 18 | 3389 远程登录 19 | 4440 rundeck是用java写的开源工具 20 | 5672 rabbitMQ 21 | 5900 VNC 22 | 6082 varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网 23 | 6379 redis 一般无认证,可直接访问 24 | 7001 weblogic 25 | 8080 tomcat 26 | 8089 jboss 27 | 8161 activeMQ 28 | 8649 ganglia集群系统监控软件 29 | 9000 fastcgi服务 30 | 9090 IBM服务 31 | 9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞 32 | 9999 amg加密版 33 | 10050 zabbix 34 | 11211 memcache 未授权访问 35 | 27017,28017 mongodb 未授权访问 mongodb默认无口令登录 36 | 3777 大华监控设备 37 | 50000 sap netweaver远程命令执行漏洞 38 | 50060 50070 hahoop、apache hasoop 39 | 21 默认是ftp端口 主要看是否支持匿名,也可以跑弱口令 40 | 22 默认是ssh端口 41 | 23 默认是telnet端口 42 | 25 默认是smtp服务 43 | 53 默认是DNS 44 | 123 是NTP 45 | 161,162,8161 snmp服务(8161 IBM一款产品所开放的SNMP) 46 | 389 ldap团体 47 | 443 openssl 、hearthleed 48 | 512,513 rlogin服务或者是exec 49 | 873 rsync 主要看是否支持匿名,也可以跑弱口令 50 | 1433 mssql数据库 51 | 1080 socks代理 52 | 1521 oracle 53 | 1900 bes默认后台 54 | 2049 nfs服务 55 | 2601,2604 zebra路由 默认密码zebra 56 | 2082,2083 cpanel主机管理系统 57 | 3128,3312 squid代理默认端口,如果没设置口令很可能就直接漫游内网了 58 | 3306 mysql数据库 59 | 4899 R-admin 连接端 60 | 4440 rundeck rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网 61 | 8834 nessus 62 | 4848 glashfish 63 | ''' 64 | 65 | 66 | def ip2num(ip): 67 | ip = [int(x) for x in ip.split('.')] 68 | return ip[0] << 24 | ip[1] << 16 | ip[2] << 8 | ip[3] 69 | 70 | def num2ip(num): 71 | return '%s.%s.%s.%s' % ((num & 0xff000000) >> 24, 72 | (num & 0x00ff0000) >> 16, 73 | (num & 0x0000ff00) >> 8, 74 | num & 0x000000ff) 75 | 76 | def bThread(): 77 | global queue 78 | global SETTHREAD 79 | print '[Note] Running...\n' 80 | threadl = [] 81 | threadl = [tThread(queue) for x in xrange(0, int(SETTHREAD))] 82 | for t in threadl: 83 | t.start() 84 | for t in threadl: 85 | t.join() 86 | 87 | #输入到结束 88 | def ip_range(start, end): 89 | return [num2ip(num) for num in range(ip2num(start), ip2num(end) + 1) if num & 0xff] 90 | # http请求获取返回内容 91 | ''' 92 | return [0] 文件内容 93 | return [1] 返回服务状态码 94 | return [2] 返回服务器类型 95 | return [3] location 96 | return [4] title 97 | ''' 98 | '''port scan''' 99 | def scan_open_port_server(): 100 | global lock 101 | while True: 102 | host,port=queue.get() 103 | ss=socket.socket(socket.AF_INET, socket.SOCK_STREAM) 104 | ss.settimeout(2) 105 | try: 106 | ss.connect((host,port)) 107 | lock.acquire() 108 | print "%s 开放端口 %s %s" % (host, port,PORT[port]) 109 | lock.release() 110 | ss.close() 111 | except: 112 | pass 113 | queue.task_done() 114 | 115 | if __name__ == '__main__': 116 | usage="usage: mul_scan.py 192.168.1.1 192.168.1.254 -t 20" 117 | parser = optparse.OptionParser(usage=usage) 118 | parser.add_option("-t", "--threads", dest="NUM",help="Maximum threads, default 20") 119 | parser.add_option("-b", "--start-ip", dest="startIp",help="start_ip") 120 | parser.add_option("-e", "--end-ip", dest="endIp",help="end_ip") 121 | (options, args) = parser.parse_args() 122 | if len(args) < 1: 123 | parser.print_help() 124 | sys.exit() 125 | if options.NUM!=None and int(options.NUM)!=0: 126 | SETTHREAD=int(options.NUM) 127 | else: 128 | SETTHREAD=20 129 | #接受开始ip和结束ip 130 | startIp =str(options.startIp) 131 | endIp = str(options.endIp) 132 | startIp=args[0] 133 | endIp=args[1] 134 | lock = threading.Lock() 135 | #程序运行时间 136 | PORT={80:"web",8080:"web",3311:"kangle主机管理系统",3312:"kangle主机管理系统",3389:"远程登录",4440:"rundeck是用java写的开源工具",5672:"rabbitMQ",5900:"vnc",6082:"varnish",7001:"weblogic",8161:"activeMQ",8649:"ganglia",9000:"fastcgi",9090:"ibm",9200:"elasticsearch",9300:"elasticsearch",9999:"amg",10050:"zabbix",11211:"memcache",27017:"mongodb",28017:"mondodb",3777:"大华监控设备",50000:"sap netweaver",50060:"hadoop",50070:"hadoop",21:"ftp",22:"ssh",23:"telnet",25:"smtp",53:"dns",123:"ntp",161:"snmp",8161:"snmp",162:"snmp",389:"ldap",443:"ssl",512:"rlogin",513:"rlogin",873:"rsync",1433:"mssql",1080:"socks",1521:"oracle",1900:"bes",2049:"nfs",2601:"zebra",2604:"zebra",2082:"cpanle",2083:"cpanle",3128:"squid",3312:"squid",3306:"mysql",4899:"radmin",8834:'nessus',4848:'glashfish'} 137 | starttime=time.time() 138 | queue = Queue.Queue() 139 | iplist = ip_range(startIp, endIp) 140 | print '端口采用默认扫描请自行进行比对:\nbegin Scan '+str(len(iplist))+" ip..." 141 | for i in xrange(SETTHREAD): 142 | st1 = threading.Thread(target=scan_open_port_server) 143 | st1.setDaemon(True) 144 | st1.start() 145 | for host in iplist: 146 | for port in PORT.keys(): 147 | queue.put((host,port)) 148 | queue.join() 149 | print 'All RUN TIME:'+str(time.time()-starttime) 150 | -------------------------------------------------------------------------------- /readme.MD: -------------------------------------------------------------------------------- 1 |
测试常见端口
 2 | '''
 3 | 一般默认常用端口扫描介绍:
 4 | 3311:3312 kangle主机管理系统
 5 | 3389 远程登录
 6 | 4440 rundeck是用java写的开源工具
 7 | 5672 rabbitMQ
 8 | 5900 VNC
 9 | 6082 varnish  参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网
10 | 6379 redis 一般无认证,可直接访问
11 | 7001 weblogic
12 | 8080 tomcat
13 | 8089 jboss
14 | 8161 activeMQ
15 | 8649 ganglia集群系统监控软件
16 | 9000 fastcgi服务
17 | 9090 IBM服务
18 | 9200,9300 elasticsearch  参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
19 | 9999 amg加密版
20 | 10050 zabbix
21 | 11211  memcache  未授权访问
22 | 27017,28017 mongodb  未授权访问   mongodb默认无口令登录
23 | 3777 大华监控设备
24 | 50000 sap netweaver远程命令执行漏洞
25 | 50060 50070 hahoop、apache hasoop
26 | 21 默认是ftp端口  主要看是否支持匿名,也可以跑弱口令
27 | 22 默认是ssh端口
28 | 23 默认是telnet端口
29 | 25 默认是smtp服务
30 | 53 默认是DNS
31 | 123 是NTP
32 | 161,162,8161 snmp服务(8161 IBM一款产品所开放的SNMP)
33 | 389 ldap团体
34 | 443  openssl  、hearthleed
35 | 512,513 rlogin服务或者是exec
36 | 873 rsync 主要看是否支持匿名,也可以跑弱口令
37 | 1433 mssql数据库
38 | 1080 socks代理
39 | 1521 oracle
40 | 1900 bes默认后台
41 | 2049 nfs服务
42 | 2601,2604 zebra路由 默认密码zebra
43 | 2082,2083 cpanel主机管理系统
44 | 3128,3312 squid代理默认端口,如果没设置口令很可能就直接漫游内网了
45 | 3306 mysql数据库
46 | 4899 R-admin 连接端
47 | 4440 rundeck rundeck  参考WooYun: 借用新浪某服务成功漫游新浪内网
48 | 8834 nessus
49 | 4848 glashfish
50 | '''
51 | 
52 | 用法 :
53 | demo.py 192.168.1.1 192.168.254.254 -t 20
54 | `
55 | 
56 | __author__ : yds 57 | 58 | ## Stargazers over time 59 | 60 | [![Stargazers over time](https://starchart.cc/RASSec/RASscan.svg)](https://starchart.cc/RASSec/RASscan) 61 | 62 | --------------------------------------------------------------------------------