0x000 K8PortScan
python
Python版Cscan端口扫描器 Code: https://github.com/k8gege/K8PortScan K8portScan 1.0 Date: 20190530 Author: K8gege Build: pyinstaller -F K8PortScan.py
0x001 功能git
一、支持批量A段(ip8.txt) 二、支持批量B段(ip16.txt) 三、支持批量C段(ip24.txt) 四、支持批量IP(ip.txt可任意名) 五、单个A段(ip/8) 六、单个B段(ip/16) 七、单个C段(ip/24) 八、可多个端口或端口范围扫描(80-89或80,445,3306) 九、Banner识别比S增强版更准 现有的扫描器除了Cscan,基本上只支持单个A段、B段、C段扫描,甚至好多扫描器仅支持一个C段扫描,假如内网渗透须要扫描内网100个C段,怎么办?
0x002 用法程序员
默认43个端口 python K8PortScan.py -ip 192.11.22.29 指定端口范围 python K8PortScan.py -ip 192.11.22.29 -p 80-89 C段指定端口列表扫描 python K8PortScan.py -ip 192.11.22.29/24 -p 80,445,3306 ##IPlist (ip.txt ip24.txt ip16.txt ip8.txt) 批量IP扫描(默认43个端口) python K8PortScan.py -f ip.txt 批量IP扫描(指定端口范围) python K8PortScan.py -f ip.txt -p 80-89 批量C段指定端口列表扫描 python K8PortScan.py -f ip24.txt -p 80,445,3306 同理: B段、A段IP或列表换成对应16/8便可,ip文件格式参考rem.txt
IP文件github
不管是ip24.txt ip16.txt ip.txt 或是任意文件名好比 sb.log 格式均统一为ip,固然为C段格式也行 例子: 批量C段扫描 ip24.txt 192.11.22.4 (任意IP自动提取C段192.11.22) 10.1.10.1 (任意IP自动提取C段10.1.10) 批量B段扫描 ip16.txt 192.11.22.8 (任意IP自动提取B段192.11) 10.10.2.5 (任意IP自动提取B段10.10) 批量IP扫描 ip.txt或any.xxx 192.11.22.8 192.11.22.29 10.123.1.2 118.22.55.6
端口:数据库
不指定端口参数,默认将扫描如下43个端口bash
21, 22, 23, 53, 80, 111, 139, 161, 389, 443, 445, 512, 513, 514, 873, 1025, 1433, 1521, 3128, 3306, 3311, 3312, 3389, 5432, 5900, 5984, 6082, 6379, 7001, 7002, 8000, 8080, 8081, 8090, 9000, 9090, 8888, 9200, 9300, 10000, 11211, 27017, 27018, 50000, 50030, 50070
0x003 编译EXE网络
pyinstaller -F K8PortScan.py
编译好的Bin:
Windows: https://github.com/k8gege/K8tools/blob/master/K8PortScan.exe
Kali_x86: https://github.com/k8gege/K8tools/blob/master/K8PortScan_Kali_x86
Suse_x64: https://github.com/k8gege/K8tools/blob/master/K8PortScan_Suse10_x64
0x004 功能对比工具
对比增强版S扫描器获取端口Banner,发现一些特殊端口S没法获取Banner测试
0x004 Linux下运行ui
0x005 实战
目标内网扫描133个C段,43端口/IP,须要40-50分钟(外网未测,外网受双方网速影响)
133 x 255 x 43 = 1458345 个端口,仅SSH高达944个(不仅是22端口)
其它服务就不截取了,FTP几百台吧,WEB也几百,思科设备300多
本工具仅探测开放端口以及Banner,其它服务请使用K8Cscan进行扫描
发布版本Banner已修改为显示在端口后,图是改以前的因此是换行显示
6.实战130个B段扫描
133个B段 x 255个C段 = 33915个C段 约3.5万个C段
33915个C段 x255个IP = 8648325个IP 约865万IP
33915个C段 x 255个IP x 43个端口=371877975个端口 约4亿个端口
对于这样的项目,不知道网上那些支持只支持IP列表的批量真的能扫大型项目吗?
有人说我为什么要重复造轮子,重复造轮子的缘由详见Tips1
开放SSH服务高达5万台
部份要除以2由于有些一行出现两次SSH关键字,即便以2也还有2万多台存活
那些作了限制,当前机器没法扫描到或过不去的还不算,最悲剧的是什么?
能扫出密码的不到位100台,能上网的才10来台
Cisco设备2500台
FTP结果2.5万
Oracle数据库
Tips:
133个B段 x 255个C段 = 33915个C段 约3.5万个C段
33915个C段 x255个IP = 8648325个IP 约865万IP
33915个C段 x 255个IP x 43个端口=371877975个端口 约4亿个端口
对于这样的项目,不知道网上那些支持只支持IP列表的批量真的能扫大型项目吗?
有些人认为网上早有相关扫描工具,为什么我还要重复造轮子?
网上公开的不少工具扫描几百几千几万IP列表估计都没啥问题
对于大部分人来讲应该是彻底够用了,即便个别须要扫也就几个A段或者10来个B段
不少人以为扫一个我再执行一次就不完了,因此彻底够用。对他们来讲就是神器了
但那些工具能支持加载865万个IP的文本文件吗?光导入估计能卡死半天吧
加上要生成这么大的IP得须要多少时间,这文件得多大?上传存放到目标需多少时间?
那些人使用大型这个词?有几个真的搞过大型项目?实战还遇到目标到达VPS很卡的状况
仅几M的文件上传要几小时的网络遇到过没?没法代理出来扫描的状况遇到没?
因此最佳方案就是写成可加载批量C段、批量A段、批量B段、IP列表方式
便可扫中小型项目,也可扫真正意义上的大型项目(相关功能也就后续添加的问题了)
这样不会浪费没必要要的时间,也可把小文件传到目标机上执行,又可适应奇葩网络状况。
我实战遇到的不少问题,网上没几个工具考虑过这些状况,可能写工具的人不在一线或接触不深
或者在一线的人接触的内容很少思考也很少,给写程序的思路建议也不够好等缘由
固然还有一个缘由,就是渗透提出了最佳可行方案,可是程序员太水写不出来致使
网上不少工具一看就知道是否符合个人实际要求,看简介就以为不必下工具测试
有些东西不必,但有些东西真的须要重复造轮子,即便有不少人说那工具好
由于不少工具适合大众用,并不表明是最好的,能兼容各类奇葩实战环境才是
但通常状况下,只要符合本身的工做要求,就是最佳工具(未接触奇葩环境不可能知道另外的工具更好)
比方说搞安服的因为大部份都是直接扛电脑到人家单位实施,写的工具可能并不适合真正实战
毕竟大部分GUI程序均可直接用,什么环境都有,不像实战拿到不一样环境的机器各类奇葩问题
代理不定能出来或很卡,根本不是说你本机有什么工具均可以用,须要丢到目标去运行的。。。