Gallia:一款针对汽车安全的可扩展渗透测试框架

VSole2022-07-27 16:47:16

 关于Gallia 

Gallia是一款专注于汽车安全的可扩展渗透测试框架,该工具可以对整辆汽车执行渗透测试,而且甚至可以还可以单独对车辆ECU进行测试。目前,Gallia主要针对的是UDS接口,并利用了模块化的设计分别实现了日志记录和归档功能。作为一个通用接口,日志记录功能实现了可重复的测试,并支持后续处理任务。

 工具架构 

下图显示的是Gallia的内部模块以及运行机制:

 工具依赖 

Linux>= 5.10
Python>= 3.9
poetry (可选,用于开发)
dumpcap (可选,WireShark组件)

Python依赖组件可以在项目的pyproject.toml文件中查看。

 扫描模式 

常规的UDS扫描通常包含下列步骤:

1、在相关设备上搜索ECU:发现扫描;
2、在找到的ECU上搜索UDS服务:服务扫描;
3、在发现的UDS服务中搜索UDS标识符:标识符扫描;
4、针对其他特定服务的扫描:例如内存扫描、模糊测试等;

 发现扫描 

发现扫描特定于底层传输,如DoIP或ISO-TP。这个想法是制定一个有效的UDS Payload。正常工作的Payload是1001,这也是DiagnosticSessionControl服务所要求的。该请求可以让ECU修改DefaultSession。DiagnosticSessionControl服务和DefaultSession是始终可用的,因此这个Payload是最佳选择。除此之外,1003这个Payload也可以使用,因为很多ECU在启用ExtendedDiagnosticsSession(会话ID为0x03)时会提供声音反馈。

ECU的寻址由底层传输协议提供,大多数情况下有两个地址:测试器地址和ECU地址。发现扫描的基本思想是使用固定的测试器地址将有效的UDS Payload发送到所有有效的ECU地址。当收到有效应答时,说明找到了ECU。

服务扫描

服务扫描在UDS协议级别运行,UDS提供了几个称为服务的节点。每个服务都有一个标识符和一个特定的参数列表,扫描过程是使用固定Payload去请求所有可能的服务。Payload不必是特定的;它可以是空的,也可以是全零。一些ECU在接收到无效Payload时可能表现得不是很稳定。

为了识别可用的服务,工具使用了反向匹配机制。根据UDS标准,当请求未实现的服务时,ECU会使用错误代码serviceNotSupported或serviceNotSupportedInActiveSession进行回复。因此,每个以不同错误代码响应的服务都被认为是可用的。

标识符扫描

标识符扫描在UDS协议级别运行,更具体地说,它在特定UDS服务的级别上运行。大多数UDS服务需要标识符作为输入参数。比如说,ReadDataByIdentifier服务需要为请求的资源输入数据标识符。为了找出特定服务的可用标识符,工具引入了标识符扫描。

为了识别可用的数据标识符,工具使用了反向匹配机制。根据UDS标准,当请求未实现的服务时,ECU将使用错误代码serviceNotSupported或serviceNotSupportedInActiveSession进行回复。如果ECU响应serviceNotSupported、serviceNotSupportedInActiveSession、subFunctionNotSupported、subFunctionNotSupportedInActiveSession或requestOutOfRange中的任何一个,则认为标识符不可用。

一些服务(如RoutineControl)也提供了一个子功能,可以使用相同的技术发现子函数参数,但反向匹配的错误代码不同。为了发现可用的子功能,以下错误代码表示该子功能不可用:serviceNotSupported、serviceNotSupportedInActiveSession、subFunctionNotSupported或subFunctionNotSupportedInActiveSession。

每个以不同错误代码响应的标识符或子功能都被视为可用。

 工具安装 

Arch Linux

paru -S gallia

手动安装

pip install gallia

 工具使用 

$ gallia simple-dtc --target "isotp://can0?src_addr=0x123&dst_addr=0x312&tx_padding=0xaa&rx_padding=0xaa" read
渗透测试安全测试
本作品采用《CC 协议》,转载必须注明作者和本文链接
网络安全是一场跌宕起伏,永无止境的拉锯战。攻击者的技术和手法不断花样翻新,主打一个“避实就虚”和“出奇制胜”;防御者的策略则强调“求之于势,不责于人”,依靠整体安全态势和风险策略的成熟度和韧性来化解风险。
2013年被美国网络安全巨头FireEye以10亿美元的价格收购,主要提供安全服务及产品包括威胁侦测、响应与补救,威胁智能分析,事件响应及安全咨询服务等。2022年9月,谷歌以54亿美元完成收购网络安全公司Mandiant。flash安全警报和1200多篇获奖的原创研究论文。年复一年,入侵事件不断发生,至少和上年持平,甚至影响更大。
目前国内安全人员常用的有:中国菜刀、中国蚁剑、冰蝎、哥斯拉、Metasploit、SharPyShell等,也有一些内部团队开发的类似工具,但是并没有对外公开。已被各大安全厂商提取其特征。任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!这个工具超越于普通的webshell管理是因为其还拥有安全扫描、漏洞利用测试等功能,可以帮助渗透测试人员进行高效的测试工作。
WebShell基础详解
2022-01-07 06:47:08
顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。
顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。
0X1 BerylEnigma介绍一个CTF+渗透测试工具包,主要实现一些常用的加密与编码功能,前身为CryptionTool,为更方便的开发更换框架重构。软件基于JDK17开发,使用JAVAFX UI框架以及JFoenixUI组件架构。0X2 BerylEnigma功能现代古典红队操作工具文本操作工具HTLM-hashROT13目标整理文本替换JWT栅栏密码域名分割文本分隔认证Atbash回弹shell生成英文大小写转换hashVigenre文本行拼接SM3凯撒密码编码待办清单URL编码 - Base64编码增强ASCII图像工具 - 二维码Base64现代加密 - AES,DESBrainFuck现代加密 -?
它通过解压缩 APK 并应用一系列规则来检测这些漏洞来做到这一点https://github.com/SUPERAndroidAnalyzer/super9、AndroBugs 框架是一种高效的 Android 漏洞扫描程序,可帮助开发人员或黑客发现 Android 应用程序中的潜在安全漏洞。它可以修改任何主进程的代码,不管是用Java还是C/C++编写的。
缺乏网站保护、发件人策略框架(SPF)记录和DNSSEC配置使公司更容易受到网络钓鱼和数据泄露攻击。
渗透测试是指安全专业人员在企业的许可下,对其网络或数字化系统进行模拟攻击并评估其安全性。
Burp Suite是安全专家和爱好者中最受欢迎的渗透测试工具之一。该工具将指导新的渗透测试人员了解Web应用程序安全的最佳实践并自动执行OWASP WSTG检查。当前版本仅关注XSS和基于错误的SQL注入漏洞。用户无需手动为反射或存储的有效载荷发送XSS有效载荷。Nuclei使用零误报的定制模板向目标发送请求,同时可以对大量主机进行快速扫描。
VSole
网络安全专家