网络安全领域会共享URL,IP,domain等威胁情报信息,尤其是在攻防演练,重保活动,护网hvv的场景及时的威胁情报共享至关重要。这些IP/domain/URL 可能来自于沙箱的报告,pcap的提取,恶意软件的提取,EMAIL的提取,EDR日志的提取,威胁情报所的报告等,总体来说这些IP/url/domain的内容往往是可疑或者有害的。
当这些信息通过,聊天软件,文本文件,excel文件,网页,PDF等报告的形式共享,接收者使用的软件可能会识别这些IP地址和URL,会高亮该URL以及IP,因此用户非常容易进行误点击操作,从而触发浏览器的访问。由于这些IP/url往往是恶意的基础设施,访问这些基础设施会带来诸多影响,例如导致访问者被感染或者使得攻击者有所察觉等等。
因此在网络安全领域处理这些恶意的IP和URL地址的时候往往需要无害化的处理,例如:
- 针对IP地址,需要将8.8.8.8 转变成为8[.]8.8.8。
- 针对URL地址,需要将https://blog.csdn.net/javajiawei转变成为hxxps://blog[.]csdn[.]net/javajiawei
在本专栏的前面的文章介绍了fork,merge,subsection,register等多种概念来解决实际场景的问题。本文将继续介绍cyberchef的实用操作,来对IP地址和URL进行无害化的处理。相信在学会使用cyberched操作后,将减少手动对这些信息进行无害化操作的次数。
本文将详细的介绍将对URL/IP地址进行无害化的方法,作为我的专栏《Cyberchef 从入门到精通教程》中的一篇,详见这里,对比之后会发现cyberchef在处理这块能比之手动操作非常的高效。
手动
针对URL进行无害化没有特别统一的标准,其目的是防止用户的误点击操作,避免直接访问对应的IP和URL。因此很多童鞋在手动无害化的处理,往往追求简单省事,只替换其中一个字符,如下:
- 将8.8.8.8 转变成为8[.]8.8.8或者8[.]8.8.8
- 将https://blog.csdn.net/转变成为https://blog[.]csdn.net或者https://blog.csdn[.]net
但是手动操作的从来不是程序员的追求的,我们也不希望在这种无聊的事情上浪费时间,同时手动操作处理多个URL以及IP的时候不现实。
Python代码方法
使用chatgpt生成一段使得IP和URL无害化的python代码,如下:
def defang_url_ip(input_str):
"""
Defang a URL or IP address by replacing '.' with '[.]'.
Parameters:
input_str (str): The URL or IP address to be defanged.
Returns:
str: The defanged URL or IP address.
"""
defanged_str = input_str.replace('.', '[.]')
return defanged_str
# 示例用法
url = "http://example.com:8080"
ip = "192.168.1.1"
print(defang_url_ip(url)) # 输出: http://example[.]com:8080
print(defang_url_ip(ip)) # 输出: 192[.]168[.]1[.]1
上述的pyhton代码只是简单的将字符点替换成为[.],如果想把http等协议字段替换成为无害化的hxxp,则需要继续提问gpt优化代码。python脚本的好处就是可以批量灵活的处理URL和IP。
chatgpt方法
既然提到了chatgpt,来看看chatgpt-4对于URL和IP的无害化处理效果如何,如下:
可以看到虽然最终的结果也是无害化的处理,但是和大家常见的无害化的处理还是不太一样,多少有些清新脱俗的感觉,哈哈。这估计也是chatgpt对于非标准化但是约定俗称的一些规则不能够完全get。当然可以告诉chatgpt将dot字符替换成为字符点,但是我们不准备在这样简单的问题上再浪费时间。
Cyberchef操作
cyberchef本身就是安全分析师开发的工具,因此对这种安全分析师经常面临的问题自然提供了单独的操作defang URL以及defang IP address,如下:
可以看到defang url中的参数提供了针对所有字符点,协议http,字符://都提供了转义的功能,可以灵活的选择。defang IP默认的对于所有的字符点都进行转义。
同时可以看到defang URL也支持多行的无害化处理,当然如果一些复杂的场景需要对于每行单独处理,则需要使用fork操作,详见我的专栏《Cyberchef 从入门到精通教程》之前的文章《Cyberchef基础概念之-分叉合并-fork/merge》,这里。
可以看到红框部分选择了校验URL的格式是否正确,因此可以看到对于不正确的URL格式,不会进行无害化的转义处理,这块也算是cyberchef的一点小改进。
在后续我的专栏《Cyberchef 从入门到精通教程》详见这里,将会介绍更多的利用cyberchef的实用小功能解决复杂问题的示例。
本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。