本网络安全工具仅用于提供技术支持,不涉及任何应用或商业行为。用户在使用本网络安全工具的过程中,不得以任何方式损害他人的合法权益。
该工具的运行仅依赖用户提供的信息,并不包括任何违反相关法律法规的内容。用户在使用本网络安全工具时,必须确保其提供的信息合法、有效、真实可靠,否则可能会产生不利后果。
本软件提供的服务仅供参考,不构成任何责任。用户在使用本网络安全工具时,应自行承担有关安全风险。我们并不对使用者使用本工具所涉及的任何技术服务承担任何义务或责任,无论此类技术服务是否有任何损失和/或损害。
Cscan-Go 一款主要用来平替 cscan(python版) 的,本人也很喜欢使用 cscan,但是无奈 python 版有一些局限性,在内网横向的时候,如果想要把 cscan 传到内网,就要考虑环境的问题了,所以有了 cscan 的 go 版本!
本程序目前刚开始开发,所以有些 cscan 原版的功能不是很全,但是我会把 cscan 原版的全部功能都加进去的,然后再加一些自己觉得好用的小细节和功能点,在今后的hw中,方便红队队员们使用。
最后,感谢 cscan 作者带给我的灵感!
🎉🎉🎉!
# 对 IP 或 IP 段 进行扫描(可以同时对多个段进行扫描)
./cscan -i "192.168.1.1, 192.168.2.1-50, 10.0.0.1/16"
# 对 IP 文件内的 IP 或 IP 段 进行扫描(ipfile.txt 文件中的格式可以看下面的示例!)
./cscan -l "ipfile.txt"
# 指定端口,并加上默认端口,对 IP 段进行扫描(支持端口范围添加,
# 而且不用担心指定的端口与默认端口重复,因为本工具会自动去重!)
./cscan -i "192.168.1.1/24" -dp "1-1000, 8000-10000, 23333"
# 指定端口,禁用默认端口,对 IP 段进行扫描(同上,就参数不一样,使用方法都一样)
./cscan -i "192.168.1.1/24" -fp "1-1000, 8000-10000, 23333"
# 禁用爆破功能
./cscan -i "192.168.1.1/24" -nc
192.168.1.1
192.168.1.2
192.168.3.1-50
10.2.1.1/16
172.18.1.1/24
-i ==> 需要扫描的 IP、IP段 或 IP范围,如:192.168.1.1, 192.168.1.1/24, 192.168.1.1-20(仅支持 "," 逗号分隔)
-l ==> 需要导入的 IP 文件
-t ==> 设置最大线程数(默认:100)
-v ==> 显示并打印所有细节
-f ==> filter 过滤保留需要的状态码,并打印输出(支持 "," 逗号 " " 空格 ";" 分号分隔)
-o ==> 导出检测的结果,目前支持的格式:txt、csv。如:-o outfile.txt、-o outfile.csv
-dp ==> default ports 指定端口,然后加上默认端口一块扫描(支持 "," 逗号 " " 空格 ";" 分号分隔)
-fp ==> forbid ports 指定端口扫描,禁用默认端口(支持 "," 逗号 " " 空格 ";" 分号分隔)
-nc ==> not crack 禁用暴力破解功能
-timeout ==> 设置超时时长,单位:秒(默认:7s)
-proxy ==> 设置代理,如:socks5:https://localhost:1080 或 https://localhost:8080
-debug ==> Debug 模式,开启后显示所有的日志信息
80 81 82 83 84 85 86 87 89 88 443 8443 7001 7080 7090 8000 8008
8888 8070 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090
8161 9001 9090 9443 21 22 445 1100 1433 1434 1521 3306 3389 3399
6379 8009 9200 11211 27017 15672 27017 25672 50070 61613 61614
- 解决了部分系统出现的第一次启动卡顿问题,再也不会第一次启动卡住了!!!!
- 优化了 flag 分类,看上去更加的明晰。
- 更新了扫描端口范围时的,1-65535的刷屏问题,让显示更加精简
- 修复了IP资产出现错误就会崩溃的 bug
- 最近在 hw,发现好多工具扫描端口都是只能扫描 IP,但是无法扫描域名,所以加了个识别域名并扫描域名端口的功能,也在 -i 里。
如:./cscan -i www.baidu.com
或者./cscan -l domain.txt
- 更新了默认端口扫描,恢复了原来的常用端口(因为发现直接使用 5000-10000 这个扫描实在是太慢了,但是效果好),看个人喜好吧,如果想要全一点,又想要快一点,可以手动加入以下命令:
./cscan -i xxx.xxx.xxx.xxx/24 -dp 5000-10000
- 修改了扫描逻辑,以前是全部扫描完端口之后,再进行 web 检测,这样效率太低,导致红队队员们要等到最后才能拿到结果;现在边扫端口边扫 web,有端口开放就直接扫描 web,如果你导出了 csv 文件,那么工具也会同时导出端口的扫描结果和 web 的扫描结果(建议每次都加 -o)
./cscan -i xxx.xxx.xxx.xxx/24 -o result.csv
更新了自带默认端口,新增了一些打 HW 常见的系统端口
80, 81, 82, 83, 84, 85, 86, 87, 89, 88, 443, 21, 22,
445, 1100, 1433, 1883, 1434, 1521, 3306, 3389, 3399, 4369,
5000-10000,
11211, 15672, 27017, 25672, 50070, 61613, 61614
PS:发现了一个问题,编译好的文件,在 mac 和 linux 上执行,反馈很快,但是在 win 上执行,就要加载很久,我暂时不知道是什么原因,正在调查,如有大佬知道,原因,还希望大佬不吝赐教,暂时推荐该工具在 mac 与 linux 上使用,我测试的 win 比较少,如果大家用的 win 没问题,希望提个 Issues 提醒一下我,最后再次感谢 🙏
更新了开源证书
- 增加新选项,-nc 禁止暴力破解
- 支持简单的暴力破解功能(内置简易字典,无需设置)
- 支持 SSH 协议暴力破解
- 支持 Mssql 协议暴力破解
- 支持 Mysql 协议暴力破解
- 支持 Ftp 协议暴力破解
- 支持 Smb 协议暴力破解
- 支持 Memcached 协议暴力破解
- 支持 Mongodb 协议暴力破解
- 支持 Oracle 协议暴力破解
- 支持 Postgres 协议暴力破解
- 支持 Redis 协议暴力破解
- 本爆破功能只是简单的爆破,所以字典是内置的
- 本爆破功能只是在扫描端口的时候,偶尔给你来点小惊喜,如果需要专业的爆破,请移步专业爆破工具,推荐 crack
- 扫描完端口之后,对于开放的端口,检测是否有 web 服务(并且检测到的结果终端输出显示的花里胡哨)
- 只输出指定状态码的扫描结果
- 实现导出功能,支持 txt、csv 两种格式
- 考虑到使用场景大部分是在内网,所以缩短了 timeout 的超时时间,由原来的 10s 修改为 7s(这将大大提高扫描效率,如果网络连通性不好,可以自行修改)
- 默认 50 的线程数修改为 100
- 基本的端口扫描
- 支持 IP、IP段、c段,三种格式的扫描方式
- 端口输入支持范围输入
- 导入 IP 文件同样支持 IP、IP段、c段,三种格式的扫描方式
- 支持 socks5、http 代理,方便挂代理扫描,或者穿透到内网扫描
- 支持导出输出结果(因为暂时功能太少了,所以还没写导出,不过这个很简单,很快就能写好)
- 扫描完端口之后,对于开放的端口,检测是否有 web 服务
- 对于一些常用的端口,如:3306,1433等,进行简单的弱口令爆破(放心,密码不会太多!)
- 暂时想不到了,等想到了再补充...