[原创]K8 Cscan 大型内网渗透自定义扫描器

https://www.cnblogs.com/k8gege/p/10519321.html

Cscan简介:
何为自定义扫描器?其实也是插件化,但Cscan不需要编程同样可实现自定义功能,这比单纯插件化更容易实现插件功能
Cscan旨在为用户提供一个高度灵活、简单易用、多线程、多网段的插件化扫描框架,减少大量重复性工作提高工作效率
3.3及以上版本分为检测存活和不检测存活主机模式 程序采用多线程批量扫描大型内网IP段C段存活主机(支持上万个C段)
插件含C段旁注扫描、子域名扫描、Ftp密码爆破、Mysql密码爆、系统密码爆破、存活主机扫描、Web信息探测、端口扫描
支持调用任意外部程序或脚本,支持自定义模块,当然也可用于外网扫描(如子域名、C段旁注、FTP破、MYSQL爆破等)

Web信息插件模块:

Cscan内置Delphi、VC、.NET例子,需要更多功能,请自行添加完善

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Text.RegularExpressions; namespace CscanDLL
{
public class scan
{
public static string run(string ip)
{
if (string.IsNullOrEmpty(ip))
return "";
else
{
string hostName = "";
//return ip;
//return System.Net.Dns.GetHostByAddress(ip).HostName;
//192.11.22.10 Microsoft-IIS/10.0 IIS Windows
//192.11.22.1 H3C-Miniware-Webs ER3200G2
return ip + "\t" + getURLbanner(ip) + "\t" + GetTitle(getHtml("http://" + ip,2));
//return ip + "\t" + hostName + "\t[" + getURLbanner(ip) + "]\t[" + GetTitle(getHtml("http://" + ip)) + "]";
//return ip + "\t" + System.Net.Dns.GetHostByAddress(ip).HostName; } } private static string getURLbanner(string url)
{ url = "http://" + url; try
{
var req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
req.Method = "HEAD";
req.Timeout = 10000;
var res = (HttpWebResponse)req.GetResponse(); if (res.StatusCode == HttpStatusCode.OK || res.StatusCode == HttpStatusCode.Forbidden || res.StatusCode == HttpStatusCode.Redirect || res.StatusCode == HttpStatusCode.MovedPermanently)
{
return res.Server;
} //res.Close(); return res.Server;
}
catch (WebException ex)
{
return "";
}
} private static string GetTitle(string html)
{ String regex = @"<title>.+</title>"; String title = Regex.Match(html, regex).ToString();
title = Regex.Replace(title, @"[\""]+", "");
return title; } private static string getHtml(string url)
{ try
{
if (!url.ToLower().Contains("https://") && !url.ToLower().Contains("http://"))
url = "http://" + url; WebClient web = new WebClient();
byte[] buffer = web.DownloadData(url);
return Encoding.UTF8.GetString(buffer); }
catch (Exception ex)
{
return ex.Message;
} } }
}

编译成netscan.dll后,放置Cscan.exe同目录即可(netscan.dll优先级最高,无须删除其它插件)

ip.txt填上当前IP段或内网多个IP段,执行Cscan.exe。

Cscan20对应.net 2.0编译,所以编译的DLL也要对应版本

实战使用哪个版本,由目标系统已安装.net版本来决定。

结果如图

下载:
 https://github.com/k8gege/K8CScan

[源码]K8 Cscan模块 C#获取内网主机IP/机器名/Banner/网页标题源码的更多相关文章

  1. [原创]K8 Cscan 3.6大型内网渗透自定义扫描器

    前言:无论内网还是外网渗透信息收集都是非常关键,信息收集越多越准确渗透的成功率就越高但成功率还受到漏洞影响,漏洞受时效性影响,对于大型内网扫描速度直接影响着成功率漏洞时效性1-2天,扫描内网或外网需1 ...

  2. [原创]利用Browser协议探测内网主机操作系统版本(无需端口无视防火墙)

    利用Browser协议可获取机器IP.MAC.机器名.操作系统.域,如图 浏览 在SMB协议中,计算机为了访问网络资源,就需要了解网络上存在的资源列表(例如在Windows下使用网络邻居查看可以访问的 ...

  3. [原创]K8 cping 3.0大型内网渗透扫描工具

    [原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...

  4. ngrok反向隧道--获取内网IP

    ngrok反向隧道 前情提要:小明与小白各有一台主机,两台主机在同一内网,小明想直接通过内网ssh到小白的主机上.但是小白的ip地址会不断的变化,而小明不想每次都要麻烦小白查看ip.于是小明催生了一个 ...

  5. C#获取内网和外网IP

    写了个小客户端,里面用到了获取内网和外网的IP地址,代码如下: // InnerIP var ipHost = Dns.Resolve(Dns.GetHostName()); ]; innerIP = ...

  6. linux下获取本机的获取内网和外网地址

    1.获取内网地址(私有地址) ifconfig -a 2.获取外网地址(公网地址) curl members.3322.org/dyndns/getip

  7. 通过js获取内网ip和外网ip的简单方法 ...

    今天遇到了一个需求,需要获取用户当前的内网ip, 找了半天终于找到了方法,遂将找到的方法记录下来,留给需要的人. 1,获取内网ip function getIP(callback) { let rec ...

  8. xss实现获取内网ip

    前提得浏览器支持webRTC,测试的时候google浏览器测试成功,火狐浏览器不支持webRTC, 再在xss平台直接复制如下js代码: function form_ip(ip,port){ var ...

  9. JAVA 优先获取外网Ip,再获取内网Ip

    1.获取内网Ip private String getLocalhostIp(){ String hostAddress = ""; try { InetAddress addre ...

随机推荐

  1. cacti的介绍、安装、配置、及维护

    一.cacti的介绍 Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.它通过snmpget来获取数据,使用 R ...

  2. Django中操作Redis

    一 创建redis连接池 redis_pool.py pool = redis.ConnectionPool(host='10.211.55.4', port=6379) 二 引入连接池 import ...

  3. 20175234 《Java程序设计》第二周学习总结(二)

    学习内容总结 运算符与表达式 If语句.switch语句 break和continue语句 数组和for语句 IDEA的安装和调试 教材学习中的问题和解决过程 在第一次使用IDEA中出现了一些情况,在 ...

  4. PHP开发——常量

    概念 l  常量就是值永远不变的量.如:圆周率.身份证号码等. l  所谓常量值永远不变的量,是指在一次完整的HTTP请求过程中. l  常量在程序运行过程中,不能修改.也不能删除. l  常量比变量 ...

  5. JavaScript RegExp.$1

    我们不生产代码 我们只是代码的搬运工 JavaScript RegExp.$1 RegExp 是javascript中的一个内置对象.为正则表达式. RegExp.$1是RegExp的一个属性,指的是 ...

  6. Mouse Detected Problem

    通常分三种情形: 鼠标完全不工作鼠标工作一段时间后不工作鼠标的按钮或者滚轮不工作 必要提交信息:1.鼠标的具体厂商和型号2.鼠标连接PC方式:串口.PS/2.USB或无线USB等:3.鼠标的工作机制: ...

  7. JVM 字节码(四)静态方法、构造代码、this 以及 synchronized 关键字

    JVM 字节码(四)静态方法.构造代码.this 以及 synchronized 关键字 一.静态代码 public class ByteCodeStatic { private static fin ...

  8. mvc输出json时报HTTP Status 406错误

    1.mvc输出json时报HTTP Status 406错误 错误纠结了2天时间,今天总与整对了,少jackson-databind引用 对于Spring 4.1.x 和以上, jackson-dat ...

  9. 第六次spring会议

    昨天所做之事: 我对软件加上了保密功能. 今天所做内容: 我对软件加上了一键解密功能. private void 一键还原ToolStripMenuItem_Click(object sender, ...

  10. sublime text 换行与不换行设置

    # 修改添加如下图右侧红框内容即可- 打开文件不换行