开源综合性网络安全检测和运维工具-TscanClient

开源综合性网络安全检测和运维工具-TscanClient

前言

在当今数字化的时代,网络安全问题日益凸显,企业和个人面临着各种各样的网络威胁。为了有效应对这些威胁,一款强大的网络安全检测和运维工具显得尤为重要。今天,我要给大家介绍一款开源综合性网络安全检测和运维工具------TscanClient。

TscanClient是一款综合性网络安全检测和运维工具,旨在快速资产发现、识别、检测,构建基础资产信息库,协助甲方安全团队或者安全运维人员有效侦察和检索资产,发现存在的薄弱点和攻击面。

开源地址: https://github.com/TideSec/TscanPlus

功能特点

  • 多功能集成:提供端口扫描、漏洞验证、弱口令检测等多种安全检测功能,一站式解决安全评估需求
  • 高性能扫描:采用高并发设计,支持大规模目标快速扫描(启发式扫描)
  • 精准识别:集成丰富的指纹库和POC库,准确识别Web应用和常见漏洞
  • 可定制化:支持自定义扫描策略,灵活配置扫描参数
  • 跨平台兼容:命令行版本支持更多操作系统平台,使用更加灵活
  • 资源共享:与TscanPlus共享配置文件和数据库,实现数据互通
  • 友好输出:结果展示清晰直观,支持分离进度条显示,方便结果分析

核心功能模块

TscanClient 包含以下八个核心功能模块:

  1. 端口扫描

  2. URL指纹识别

  3. POC漏洞验证

  4. 弱口令破解

  5. 目录扫描

  6. JS敏感信息收集

  7. 子域名枚举

  8. 网络资产测绘

适用场景

  • 内网安全评估和资产梳理
  • 外部渗透测试前的信息收集
  • 企业安全基线检查
  • 安全漏洞应急响应
  • 自动化安全扫描流程
  • 服务器环境下的批量扫描任务

下载TscanClient

版本下载:https://github.com/TideSec/TscanPlus/releases

本次示例使用 TscanClient_linux_amd64_v2.8.0.tar.gz

系统采用 Linux

复制代码
解压:
tar -zxvf TscanClient_linux_amd64_v2.8.0.tar.gz
得到两个文件
[root@node121 ~]# ll
total 22144
-rw-r--r-- 1  501 games    16267 Apr 18 10:19 README.md
-rwxr-xr-x 1  501 games 11322404 May  6 21:03 TscanClient_linux_amd64_v2.8.0
TscanClient_linux_amd64_v2.8.0 和 README.md

把 TscanClient_linux_amd64_v2.8.0 改名为 TscanClient

# mv TscanClient_linux_amd64_v2.8.0 TscanClient

参数详解与使用示例

各功能模块的使用

命令行格式:

复制代码
TscanClient -m port,url,poc,crack,dir,js,domain,cyber [参数]

其中-m是最重要的功能选择参数,控制是否开启端口扫描(port)、web探测(url)、Poc检测(poc)、密码破解(crack)、目录枚举(dir)、JS敏感信息(js)、子域名枚举(domain)、空间测绘(cyber)八大功能。

多功能的联动等同于无影(TscanPlus)的项目管理,当八项功能都开启时,会以下面的流程进行检测,前一项检测的所有结果都会输入给下一项检测作为输入

空间测绘(cyber) -> 子域名枚举(domain) -> 端口扫描(port) -> 密码破解(crack) -> web探测(url) -> Poc检测(poc) -> 目录枚举(dir) -> JS敏感信息(js)

扫描结果:

复制代码
1、`TscanClient`在根目录下会产生`TscanClient.txt`的日志文件,包含所有的日志和过程结果

2、`TscanClient`还会将八大功能模块的结果分别存放在独立的txt文档中,方便结果查看。

3、`TscanClient`还会把所有结果保存到`config.db`中,该文件可以替换到`无影(TscanPlus)`的配置目录下,使用`无影(TscanPlus)`打开再利用。

除各单项功能外,最常用的几种组合模式:

复制代码
1、端口扫描 `-m port,poc,crack`

2、web探测 `-m url,poc,dir,js`

3、子域名枚举 `-m domain,port,url,poc`

注意:如果资产太多,尽量不要开启太多功能,以免耗时太久或耗尽CPU资源。

通用参数

参数 说明 默认值
-pr 项目名称,可自定义,方便在数据库中保存 Default
-m 任务模块,可选:port,url,poc,crack,dir,js,domain,cyber port,url,poc
-o 结果输出文件 TscanClient.txt
-no 禁用结果保存 false
-nocolor 禁用彩色输出 false
-proxy 设置HTTP或socks5代理,注:端口扫描只能使用socks5代理 -

通用参数使用示例:

bash 复制代码
# 使用默认端口进行ip扫描,同时开启指纹匹配poc和弱口令自动破解
TscanClient -h 192.168.1.1/24

# 对URL地址批量进行扫描,并进行poc检测和目录检测
TscanClient -m url,poc,dir,js -uf urls.txt

#对子域名进行枚举,并对发现的子域名进行端口扫描、poc检测、url指纹识别
TscanClient -m domain,port,url,poc -d example.com

# 指定项目名称并开启多个模块
TscanClient -pr MyProject -m port,url,poc -h 192.168.1.1

# 指定自定义输出文件
TscanClient -h 192.168.1.1 -o scan-results.txt

# 禁用彩色输出和结果保存
TscanClient -h 192.168.1.1 -nocolor -no

端口扫描参数(port模块)

参数 说明 默认值
-h 目标主机IP,例如: 192.168.1.1,192.168.1.1/24 -
-hn 排除的主机范围,例如: -hn 192.168.1.1/24 -
-p 端口配置,例如: 221-6553522,80,3306 Top100端口
-pa 在默认端口基础上添加端口,-pa 3389 -
-hf 主机列表文件 -
-portf 端口列表文件 -
-t 线程数量 600
-nosmart 禁用启发式大网段探测(默认针对C段以上CIDR启用启发式扫描) false
-si 设置启发式扫描时要探测的ip 1,254
-sp 设置启发式扫描时端口探针 icmp,80
-time 超时时间(秒) 3
-np 禁用存活探测 false

端口扫描使用示例:

bash 复制代码
# 扫描主机,使用默认端口和线程
TscanClient -m port -h 192.168.1.1/24

# 扫描单个主机的指定端口
TscanClient -m port -h 192.168.1.1 -p 80,443,3306

# 扫描C段网络上的常用Web端口,设置更高线程数
TscanClient -m port -h 192.168.1.0/24 -p 80,443,8080,8443 -t 1000 

# 使用主机列表文件进行扫描
TscanClient -m port -hf hosts.txt -p 22,80,443

# 在默认端口基础上添加自定义端口
TscanClient -m port -h 192.168.1.1 -pa 8080,9000

Web应用扫描参数(url模块)

参数 说明 默认值
-u 目标URL -
-uf URL列表文件 -
-cookie 设置Cookie -
-wt Web请求超时时间 10
-proxy 设置HTTP或socks5代理 -
-finger 设置web指纹策略,例如:-finger min 或 tiny 或 all tiny

Web应用扫描使用示例:

bash 复制代码
# 指定URL进行Web指纹识别
TscanClient -m url -u http://example.com 

# 从文件加载URL列表并选择全量指纹
TscanClient -m url,poc -uf urls.txt -finger all

# 设置Cookie进行认证扫描
TscanClient -m url -u http://example.com -cookie "session=123456"

# 通过代理进行扫描
TscanClient -m url,poc -u http://example.com -proxy http://127.0.0.1:8080 

# 增加Web请求超时时间
TscanClient -m url,poc -u http://example.com -wt 10

POC漏洞验证参数(poc模块)

参数 说明 默认值
-u 目标URL -
-uf URL列表文件 -
-pocpath POC文件路径,和无影(TscanPlus)一样,仅支持xray 1.0格式的Poc -
-pocname 使用包含指定名称的POC,例如: -pocname weblogic -
-full 不匹配指纹,完整POC扫描,默认匹配指纹后检测poc false
-num POC并发数 20
-poclevel 设置使用的POC级别,默认1+2+3+4+5 1+2+3+4+5
-poclist 打印所有POC列表 false
-pd 当poc检测成功时显示数据包 false

POC漏洞验证使用示例:

bash 复制代码
# 对目标进行默认POC验证
TscanClient -m poc -u http://example.com 

# 使用指定POC检测漏洞,在检测到Poc时打印请求和响应数据包
TscanClient -m poc -uf url.txt -pocname weblogic -pd

# 使用自定义POC路径
TscanClient -m poc -uf url.txt -pocpath /path/to/pocs

# poc不匹配指纹,会检测所有内置poc
TscanClient -m poc -u http://example.com -full

# 调整POC并发数和级别
TscanClient -m poc -u http://example.com -num 50 -poclevel 1+2 

# 打印所有可用POC列表
TscanClient -poclist

弱口令检测参数(crack模块)

参数 说明 默认值
-h 目标ip -
-hf ip列表文件 -
-br 密码爆破线程数 1
-s 暴力破解的服务,例如: -s ssh,mysql all
-user 用户名,不指定时使用内置字典 -
-pwd 密码,不指定时使用内置字典 -
-c 执行命令(支持ssh、wmiexec、mysql等) whoami
-userf 用户名字典文件 -
-pwdf 密码字典文件 -

弱口令检测使用示例:

bash 复制代码
# 对SSH服务进行弱口令检测
TscanClient -m crack -h 192.168.1.1 -p 22 -s ssh

# 使用自定义字典进行MySQL密码破解
TscanClient -m crack -hf ip.txt -p 3306 -s mysql -userf users.txt -pwdf pass.txt

# 增加爆破线程数
TscanClient -m crack -h 192.168.1.1 -p 3389 -s rdp -br 5

# 指定用户名和密码进行爆破
TscanClient -m crack -h 192.168.1.1 -p 22 -s ssh -user root,admin -pwd 123456,password 

# 爆破成功后执行命令
TscanClient -m crack -h 192.168.1.1 -p 22 -s ssh -c "id"

子域名枚举参数(domain模块)

参数 说明 默认值
-d 域名枚举目标,支持逗号分隔 -
-df 域名枚举目标文件 -
-dc 域名枚举字典,需完整绝对路径 -
-api 域名枚举是否使用API,默认不启用 false

子域名枚举使用示例:

**子域名枚举时默认是开启API查询的,但API的key需要在config.yaml文件中手动配置,也可把无影(TscanPlus)的配置文件拷贝过来直接使用。

**

bash 复制代码
# 对单个域名进行子域名枚举
TscanClient -m domain -d example.com 

# 对多个域名进行子域名枚举,并启用api检索,api的key需自行在config.yaml文件中配置
TscanClient -m domain -d example.com,example.org -api

# 使用自定义字典进行子域名枚举
TscanClient -m domain -df domains.txt -dc /path/to/subdomains.txt

# 子域名枚举后进行指纹识别和漏洞扫描
TscanClient -m domain,url,poc -d example.com

目录扫描参数(dir模块)

参数 说明 默认值
-u URL地址 -
-uf URL列表文件 -
-ds 目录枚举线程设置 20
-dd 目录枚举字典,需完整绝对路径,不指定时使用内置10k字典 -

目录扫描使用示例:

bash 复制代码
# 对目标URL进行目录扫描
TscanClient -m dir -u http://example.com

# 使用自定义字典进行目录扫描
TscanClient -m dir -u http://example.com -dd /path/to/dirlist.txt 

# 设置目录扫描线程数
TscanClient -m dir -u http://example.com -ds 50 

JS敏感信息收集(js模块)

参数 说明 默认值
-u 目标URL -
-uf URL列表文件 -
-cookie 设置Cookie -
-wt Web请求超时时间 10
-proxy 设置HTTP或socks5代理 -

JS敏感信息收集使用示例:

bash 复制代码
./TscanClient -m js -u https://example.com -wt 10

此命令对example.com进行JS文件敏感信息收集,Web请求超时10秒。

空间测绘参数(cyber模块)

参数 说明 默认值
-ck 空间测绘查询语句,例如:-ck domain="tidesec.com",多个关键词可用逗号(,)分隔 -

空间测绘使用示例:

空间测绘API的key需要在config.yaml文件中手动配置,也可把无影(TscanPlus)的配置文件拷贝过来直接使用。

bash 复制代码
# 查询特定域名的资产
TscanClient -m cyber -ck domain="example.com"

# 查询特定IP段的资产
TscanClient -m cyber -ck ip="192.168.1.0/24" 

# 查询特定服务的资产
TscanClient -m cyber -ck service="nginx"

# 空间测绘后进行进一步扫描
TscanClient -m cyber,port,poc -ck domain="example.com" 

批量扫描示例

bash 复制代码
# 对C段进行全面扫描
TscanClient -h 192.168.1.0/24 -m port,url,poc,crack

# 从URL文件加载并进行全面扫描
TscanClient -uf target-urls.txt -m url,poc,dir,js

综合扫描示例

bash 复制代码
# 端口扫描+指纹识别+POC检测+弱口令破解
TscanClient -h 192.168.1.0/24 -p 1-65535 -t 1000 -m port,url,poc,crack

# 全功能扫描
TscanClient -h 192.168.1.0/24 -d example.com -m port,url,poc,crack,dir,js,domain,cyber

与TscanPlus的关系

TscanClient 是 TscanPlus 的命令行版本,两者共享核心功能和检测引擎:

  • TscanClient 与 TscanPlus 共享配置文件 config.yaml 和数据库 config.db
  • TscanClient 具有更好的跨平台兼容性,支持更多操作系统环境
  • TscanClient 适合自动化脚本集成和服务器环境使用
  • TscanPlus 提供图形界面,更适合需要可视化展示的环境

使用注意事项

  • 扫描前请确保已获得授权,未经授权的扫描行为可能违反法律法规
  • 建议先使用较小的线程数和端口范围进行测试,避免对目标系统造成过大负载
  • 针对生产环境进行扫描时,建议在非业务高峰期进行
  • 使用代理进行扫描时,请确保代理配置正确且稳定

更多信息可参考 TscanPlus 项目:https://github.com/TideSec/TscanPlus

总结

总的来说,TscanClient是一款功能强大、高效实用的开源综合性网络安全检测和运维工具。它就像是网络安全领域的"利器",能够帮助我们有效应对各种网络安全威胁。随着网络技术的不断发展,网络安全问题也会越来越复杂,相信TscanClient也会不断更新和完善,为我们的网络安全保驾护航。如果你也在寻找一款优秀的网络安全检测工具,不妨试试TscanClient,相信它不会让你失望!

写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;也别忘了关注星哥玩云!这里有满满的干货分享,还有轻松有趣的技术交流~点个赞、分享给身边的小伙伴,一起成长,一起玩转技术世界吧! 😊

相关推荐
苏州向日葵2 小时前
virtualBox安装ubuntu,常用知识点
linux·运维·ubuntu
夜光小兔纸2 小时前
SQL Server 修改数据库名及物理数据文件名
运维·数据库·sql server
yangzx的网工日常3 小时前
网络的那些事——初级——OSPF(1)
运维·服务器·网络
不念霉运9 小时前
河南农担携手Gitee企业版:构建农业金融数字化研发新基建
金融·gitee·开源·devops·权限管理·ci/di
代码写到35岁10 小时前
Jenkins自动发布C# EXE执行程序
运维·c#·jenkins
云盾安全防护10 小时前
医疗行业网络安全的综合防护策略
网络·安全·web安全
安全系统学习10 小时前
网络安全之RCE简单分析
开发语言·python·算法·安全·web安全
恰薯条的屑海鸥10 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十一期-目录遍历模块)
学习·安全·web安全·渗透测试·网络安全学习
技术程序猿华锋14 小时前
重新定义 AI 协同:三款开源 MCP 工具开启智能体从“聊天”到“操控”
人工智能·开源
苹果醋314 小时前
AI大模型竞赛升温:百度发布文心大模型4.5和X1
java·运维·spring boot·mysql·nginx