Skip to content

3.Usage

k8gege edited this page Nov 3, 2019 · 62 revisions

K8Cscan5.4 20191101

Cscan使用非常简单

虽然Cscan功能丰富多样,但使用却非常简单,任何人都能轻易上手
只需两个参数就可用90%的功能,一个模块就相当于用一个新工具

0x000 运行环境

Cscan.exe可在Windows命令行下使用,支持Cobalt Strike插件化使用
Cscan.py支持Windows/Linux,但插件仅支持Win系统.net大于4.0环境

0x001 直接运行

直接运行默认扫描当前机器所处C段,5.4版本已取消,需ip.txt/url.txt/host.txt/domain.txt等
命令: Cscan

0x002 指定IP/IP段/URL/主机名/域名

命令: Cscan IP 或 Cscan URL 或 Cscan IP/24
例子: Cscan 192.168.1.8/24 或 Cscan http://192.168.1.8
例子: Cscan baidu.com SubDomain

0x003 指定模块

加载内置模块注意区分大小写
命令: Cscan 扫描参数
例子: Cscan MS17010
命令: Cscan IP/URL/IP段 扫描参数
例子: Cscan 192.168.1.8/24 MS17010 或 Cscan http://192.168.1.8 MS17010

0x004 nocheck参数

Cscan默认扫描通过ICMP探测存活IP,再加载模块,大部份内网代理工具并不支持ICMP协议。
或目标大量机器存在防火墙或禁Ping,这种情况下需要Cscan功能扫描内网则需加nocheck
命令: Cscan nocheck
命令: Cscan nocheck 扫描参数
例子: Cscan nocheck MS17010
命令: Cscan nocheck IP/URL/IP段 扫描参数
例子: Cscan nocheck 192.168.1.8/24 MS17010

0x005 参数加载DLL(C#)

参数加载自定义模块,仅限C#编译的DLL,其它语言需使用对应名称
命令: Cscan any.dll
命令: Cscan nocheck any.dll
命令: Cscan IP/URL/IP段 any.dll
例子: Cscan s2rce.dll
例子: Cscan nocheck s2rce.dll
例子: Cscan IP/URL/IP段 s2rced.dll
参考: C#端口扫描DLL源码

0x006 参数加载EXE(C#)

参数加载自定义模块,仅限C#编译的EXE,其它语言使用scan.exe名称
命令: Cscan any.exe
命令: Cscan nocheck any.exe
命令: Cscan IP/URL/IP段 any.exe
例子: Cscan s2rce.exe
例子: Cscan nocheck s2rce.exe
例子: Cscan IP/URL/IP段 s2rced.exe
参考: C#Base64加密解密EXE源码

0x007 调用任意EXE

将任意语言编写的EXE改名为scan.exe放置于根目录,程序特点仅需一个参数,请参考例子源码
然后运行Cscan便自动将IP或URL传入scan.exe,通过多进程方式调用scan.exe进行批量操作
优点可加载任意语言编写的POC,缺点效率低,部分程序不支持多线程方式调用将会导致崩溃
例子:C#/VC/PYTHON编译的EXE无需配置加载

0x008 调用其它DLL

调用同Scan.exe,运行Cscan即可,编写DLL请参考对应例子源码
Delphi编写的DLL名称descan.dll
VC 6.0编写的DLL名称vcscan.dll
C# NET编写的DLL名称netscan.dll,内存加载效率高,可改成任意名称通过参数加载
例子: https://github.com/k8gege/K8CScan/tree/master/Example

0x009 调用PowerShell

调用同Scan.exe,运行Cscan即可,编写脚本请参考对应例子源码
PowerShell脚本名称psscan.ps1,运行Cscan后内存加载PS脚本,但效率还是比C#低
例子: PowerShell插件Base64加密解密源码

0x010 调用任意程序命令(多参数)

对于系统命令或一些非开源工具,需要批量调用时可配置Cscan.ini文件
根目录创建Cscan.ini文件,仅需两个参数exe和arg,即可实现插件功能。
Cscan.ini
[Cscan]
exe=cmd.exe
arg=/c ping $ip$

例子: 批量Windows上控
例子: 批量Linux上控

0x011 密码爆破模块

Cscan目录下需含有user.txt和pass.txt,否则无法进行密码爆破
相关模块可能还需调用的第三方DLL,否则无法进行密码爆破
例子: MSSQL密码爆破
例子: SSH密码爆破
例子: IPC密码爆破
例子: Oracle密码爆破
例子: FTP密码爆破

0x012 Cobalt Strike

CS下Cscan与exe用法一致,以下链接包含全部功能演示
https://github.com/k8gege/K8CScan/wiki/5.Cobalt-Strike

0x013 Exp生成器

Cscan Web Exp生成器包含4种提交方法Get/Post/Put/Delete,支持15个Http协议参数。
用户无需编程能力,填写HTTP参数即可生成Web漏洞POC,快速扩展Cscan扫描能力。
使用教程: https://github.com/k8gege/K8CScan/wiki/7.Exploit-Generator
例子: ActiveMQ GetShell Exploit

0x014 查看帮助

命令: Cscan help 或Cscan /? 或 Cscan --help 或Cscan -help

Cscan 5.4
By K8gege
Usage:
Cscan
Cscan IP
Cscan IP ScanType
Cscan nocheck
Cscan nocheck ip
Cscan nocheck IP ScanType

IP: [ip ip/24 ip/26 ip/8]
ScanType:(Discover/Crack/Encode/Exploit)
[OnlineIP OnlinePC OSscan CiscoScan]
[WebScan WebScan2 SameWeb UrlScan WhatCMS WebDir SubDomain HostIP DomainIP]
[MS17010 WeblogicPoc WeblogicExp PhpStudyPoc ActiveMQPoc]
[FtpScan WmiScan IpcScan SmbScan MysqlScan MssqlScan OracleScan SSHscan]
[EnumMSSQL EnumShare]
[EnHex DeHex EnBase64 DeBase64]
Txt load order
ip24.txt > ip16.txt > ip.txt > url.txt > domain.txt > host.txt > str.txt
Moudle load order
netscan.exe > netscan.dll > psscan.ps1 > vcscan.dll > descan.dll > Cscan.ini
Example: Cscan 192.168.1.8 OnlinePC
Example: Cscan 192.168.1.8/24 OnlinePC

为什么说Cscan使用非常简单?

虽然Cscan功能丰富多样,但使用却非常简单,任何人都能轻易上手
调用不同模块,只需改模块名即可,不像很多工具刻意搞一堆参数
如IP参数前面非要加个-h或-host,IP文件-f,URL参数非要-u等
而Cscan不一样,判断用户输入参数是IP还是URL,使用不再烦琐
只需两个参数就可用90%的功能,一个模块就相当于用一个新工具
举个例子:
用法一
1.Cscan -h 192.168.1.8 -poc MS17010
2.Cscan -h 192.168.1.8 -ck FtpCrack
3.Cscan -u http://192.168.1.8 -exp S2RCE
4.Cscan -f uxl.txt -exp S2RCE
5.Cscan -d test.com -out Host2IP
用法二
6.Cscan 192.168.1.8 MS17010
7.Cscan 192.168.1.8 FtpCrack
8.Cscan http://192.168.1.8 S2RCE
9.Cscan S2RCE (当前目录url.txt)
10.Cscan test.com Host2IP

你觉得是一简单还是二简单?很明显一需要知道一些单词缩写或全名
有人写工具用整个单词有的缩写,不统一,用户不记得就得查看帮助
比方说光IP就很多写法-i -ip -s -server -host -h,写工具的都统一了吗
当功能模块非常多的时候,1234的写法看上去复杂显得作者非常牛B
但是工具功能很多的时候,用户使用时往往只会记得常用的参数语法
因此导致用户忽略工具的其它功能,使用其它独立工具(还未必最好用)
比如WVS上的Http抓包发包功能,很多人估计都没用过,只用过扫描
Cscan吸取以前写工具装逼的教训,让大家只要会一个功能就全都会

Clone this wiki locally