0x000 K8PortScan

  1. PythonCscan端口扫描器
  2. Code: https://github.com/k8gege/K8PortScan
  3. K8portScan 1.0
  4. Date: 20190530
  5. Author: K8gege
  6. Build: pyinstaller -F K8PortScan.py

0x001 功能

  1. 1、支持批量A段(ip8.txt)
  2. 2、支持批量B段(ip16.txt)
  3. 3、支持批量C段(ip24.txt)
  4. 4、支持批量IP(ip.txt可任意名)
  5. 5、单个A段(ip/8)
  6. 6、单个B段(ip/16)
  7. 7、单个C段(ip/24)
  8. 8、可多个端口或端口范围扫描(80-8980,445,3306)
  9. 9Banner识别比S加强版更准
  10.  
  11. 现有的扫描器除了Cscan,基本上只支持单个A段、B段、C段扫描,甚至好多扫描器仅支持一个C段扫描,假如内网渗透需要扫描内网100C段,怎么办?

 0x002 用法

  1. 默认43个端口
  2. python K8PortScan.py -ip 192.11.22.29
  3. 指定端口范围
  4. python K8PortScan.py -ip 192.11.22.29 -p 80-89
  5. C段指定端口列表扫描
  6. python K8PortScan.py -ip 192.11.22.29/24 -p 80,445,3306
  7.  
  8. ##IPlist (ip.txt ip24.txt ip16.txt ip8.txt)
  9. 批量IP扫描(默认43个端口)
  10. python K8PortScan.py -f ip.txt
  11. 批量IP扫描(指定端口范围)
  12. python K8PortScan.py -f ip.txt -p 80-89
  13. 批量C段指定端口列表扫描
  14. python K8PortScan.py -f ip24.txt -p 80,445,3306
  15.  
  16. 同理: B段、AIP或列表换成对应16/8即可,ip文件格式参考rem.txt

 IP文件

  1. 无论是ip24.txt ip16.txt ip.txt 或是任意文件名比如 sb.log
  2. 格式均统一为ip,当然为C段格式也行
  3. 例子:
  4.  
  5. 批量C段扫描
  6. ip24.txt
  7. 192.11.22.4 (任意IP自动提取C192.11.22)
  8. 10.1.10.1 (任意IP自动提取C10.1.10)
  9.  
  10. 批量B段扫描
  11. ip16.txt
  12. 192.11.22.8 (任意IP自动提取B192.11)
  13. 10.10.2.5 (任意IP自动提取B10.10)
  14.  
  15. 批量IP扫描
  16. ip.txtany.xxx
  17. 192.11.22.8
  18. 192.11.22.29
  19. 10.123.1.2
  20. 118.22.55.6

 端口:

不指定端口参数,默认将扫描以下43个端口

  1. 21, 22, 23, 53, 80, 111, 139, 161, 389, 443, 445, 512, 513, 514,
  2. 873, 1025, 1433, 1521, 3128, 3306, 3311, 3312, 3389, 5432, 5900,
  3. 5984, 6082, 6379, 7001, 7002, 8000, 8080, 8081, 8090, 9000, 9090,
  4. 8888, 9200, 9300, 10000, 11211, 27017, 27018, 50000, 50030, 50070

 0x003 编译EXE

  1. pyinstaller -F K8PortScan.py
  2.  
  3. 编译好的Bin:
  4. Windows: https://github.com/k8gege/K8tools/blob/master/K8PortScan.exe
  5. Kali_x86: https://github.com/k8gege/K8tools/blob/master/K8PortScan_Kali_x86
  6. Suse_x64: https://github.com/k8gege/K8tools/blob/master/K8PortScan_Suse10_x64

0x004 功能对比

对比加强版S扫描器获取端口Banner,发现一些特殊端口S无法获取Banner

0x004 Linux下运行

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程序都可直接用,什么环境都有,不像实战拿到不同环境的机器各种奇葩问题

代理不定能出来或很卡,根本不是说你本机有什么工具都可以用,需要丢到目标去运行的。。。

[原创]开源跨平台大型网络端口扫描器K8PortScan(支持批量A段/B段/C段/IP列表)的更多相关文章

  1. [原创]Ladon5.7大型内网渗透综合漏洞扫描器

    Ladon LadonGUI Cobalt Strike PowerLadon PythonLadon LinuxLadon 使用说明 ID 主题 URL 1 Ladon文档主页 https://gi ...

  2. perl多线程tcp端口扫描器(原创)

    perl多线程tcp端口扫描器(原创) http://bbs.chinaunix.net/thread-1457744-1-1.html perl socket 客户端发送消息 http://blog ...

  3. 10.21 nmap:网络探测工具和安全/端口扫描器

    nmap命令 是一款开放源代码的网络探测和安全审核工具,是Network Mapper的缩写.其设计目标是快速地扫描大型网络.nmap可以发现网络上有哪些主机,主机提供了什么服务(应用程序名称和版本号 ...

  4. 【安富莱原创开源应用第3期】花式玩转网络摄像头之VNC远程桌面版本,稳定运行2年不死机

    说明: 1.前段时间开源了一个网络摄像头的TCP版本 https://www.cnblogs.com/armfly/p/9173167.html,这次再来一个远程VNC的版本.使用更方便,无需大家制作 ...

  5. 端口扫描器——ZenmapKail Linux渗透测

    3.3  端口扫描器——ZenmapKail Linux渗透测​ Zenmap(端口扫描器)是一个开放源代码的网络探测和安全审核的工具.它是Nmap安全扫描工具的图形界面前端,它可以支持跨平台.使用Z ...

  6. 查找“CDN、负载均衡、反向代理”等大型网络真实IP地址的方法

    首先,CDN.负载均衡.反向代理还分为很多层,有时查出来的是最外层的 CDN 服务器群,真实的机器是不对外开放的,类似这样的: 用户 → CDN 网络 → 一台或多台真实机器 ↗ CDN Server ...

  7. 3. Port scanners (端口扫描器 4个)

    3. Port scanners (端口扫描器 4个) 愤怒的IP扫描器是一个小的开源Java应用程序,它执行主机发现(“ping扫描”)和端口扫描. 旧的2.x版本只有Windows,但是,新的3. ...

  8. 使用python-nmap 搭建基本端口扫描器

    代码地址如下:http://www.demodashi.com/demo/13255.html 一.前言 注意: 本文相关教程仅供个人学习使用,切勿用于非法用途,否则造成的相关损失及影响,作者不承担任 ...

  9. OpenNESS,开源的边缘网络服务平台

    目录 文章目录 目录 参考文章 OpenNESS 的电梯间演讲 OpenNESS 与 ETSI MEC Edge Controller Software 的功能清单 Edge Platform Sof ...

随机推荐

  1. Flask路由系统

    Flask路由系统 我们之前了解了路由系统是由带参数的装饰器完成的. 路由本质:装饰器和闭包实现的. 设置路由的两种方式 第一种: @app.route('/index') def index(): ...

  2. linux命令之——grep详解

    grep命令用于查找文件里符合条件的字符串:也可以用于查找内容包含指定的范本样式的文件.它能使用正则表达式搜索,用于在文件中搜索指定的字符串模式,列出含有匹配模式子符串的文件名,并输出含有该字符串的文 ...

  3. asp.net+jquery 制作text editor

    利用jquery制作的文本编辑器,直接给源码吧,相信大家都能看懂.点此下载

  4. EF自动创建数据库步骤之三(自定义数据库初始器)

    EF自动创建数据库需要我们告诉数据库如何进行初始化:如创建表后是否需要插入一些基础数据,是否 需要创建存储过程.触发器等.还有就是EF有三种初始化方式(参见下面三个类): DropCreateData ...

  5. APS系统帮助寻找企业最优库存

    零库存模式的实施要有深厚的民族文化和企业文化为支点.随着对零库存管理研究的深入,就会发现它不仅仅是一种运营管理技术,更是一种文化.一种哲学. 当这种认同文化体现在企业与企业之间时,就会表现出彼此的认同 ...

  6. Python可视化查看数据集完整性: missingno库(用于数据分析前的数据检查)

    数据分析之前首先要保证数据集的质量,missingno库提供了一个灵活易用的可视化工具来观察数据缺失情况,是基于matplotlib的,接受pandas数据源 快速开始 样例数据使用 NYPD Mot ...

  7. SpringBoot quartz定时器

    <!-- 案例1 --> <!-- 定时器 --> <bean name="CodeTest" class="com.aaa.bbb.con ...

  8. python3自动部署mariadb主从

    master import configparser import os def config_mariadb_yum(): exists = os.path.exists('/etc/yum.rep ...

  9. python库包大全(转)

    python 库资源大全 转自: Python 资源大全中文版 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python ...

  10. properties文件属性值通过xml文件为 java entity属性赋值

    一.通过xml配置文件进行赋值: 举个栗子,一目了然: 1.1 properties文件: 1.2 xml配置文件,将properties属性与java entity属性相关联:(这是一个新建的xml ...