如何获取给定网络漏洞的攻击报文?-灵析社区

我是张工你呢

比方说根据描述,或者cve? 我的上司想做防火墙,要我造出某些已有的网络漏洞(从别的已有的安全软件上借鉴来的)的攻击网络报文来进行测试. 我本来觉得,根据metasploit或者nmap的nes脚本进行一下攻击,抓一下包就可以了---但好像没这么简单,这些网络漏洞攻击的模拟软件好像都要求对方是要交互的. 比如说要攻击ssh漏洞,这个脚本或者软件要发挥作用只靠自己原地自我发挥它是不会做的,它只有在检测到目标主机有一个ssh服务端口它才能行动? 想问下这种包应该怎么抓...比方说有没有办法让它无论如何有没有收到响应都把自己攻击的一套流程做完,以好让我抓包?

阅读量:189

点赞量:11

问AI
写在前面: 作为一名网安行业的非专业人士,在回答你的这个问题之前呐,我打算问你几个问题,第一,你们公司是否是互联网公司或者软件公司,如果是,那么你们是否又足够的人手,成立相对可靠的团队来专门做这件事情。并且能够满足相关的预算或者预期要求,我的这个反问并不是为了给你泼冷水,要知道,以我现在的安全公司为例,我们负责安全分析,以及开发,以及其他产品技术组的加起来也有粗略几百号人往上,且每天依然会有很多bug要解决维护甚至功能更新迭代,因此如果你想起步开始做这类工作是非常困难的。你需要三思而后行。 好了,现在我们假定上述情况都没问题了,回答你的问题,一般来说,我们会使用开源工具,比如说你提到了Metasploit和Nmap。这些工具通常包含了针对特定漏洞的攻击模块,你可以使用它们来生成相应的攻击报文。通常情况下,这些工具会检测目标主机上是否存在漏洞对应的服务或端口,并且只有在目标主机满足条件时才会执行相应的攻击步骤。你可以通过配置工具的选项或参数,强制进行攻击并捕获相关的网络数据包。 另外呐,你可以编写自定义脚本,如果开源工具无法满足你的需求,你可以考虑编写自定义的攻击脚本。这样你可以根据特定漏洞的要求创建攻击报文,并通过发送特定的网络请求来触发攻击。使用编程语言(如Python)和相应的网络库,你可以模拟攻击流程并捕获发送和接收的网络数据包。我举个例子: from scapy.all import * # 定义攻击目标的IP地址和端口号 target_ip = "目标IP地址" target_port = 22 # 构建SSH攻击报文 packet = IP(dst=target_ip)/TCP(dport=target_port, flags="S")/Raw(load="Some malicious payload") # 发送攻击报文并捕获返回的数据包 response = sr1(packet) if response is not None: response.show() else: print("No response received.") 以我的这段代码为例,使用IP()和TCP()函数定义了IP和TCP头部,并通过Raw()函数添加了一个恶意负载。然后,我们使用sr1()函数发送攻击报文,并使用response变量捕获响应数据包。如果收到了响应,则打印出相关信息,否则打印"No response received."。当然这是一个很简单的示例,实际问题有可能比这个复杂,都是可能存在的。 另外,你可以考虑使用模拟环境,为了更好地控制攻击流程和捕获攻击报文,比如使用虚拟化软件(如VirtualBox)或者容器技术(如Docker),创建一个包含目标漏洞的虚拟网络环境。在这个环境中,你可以模拟攻击并捕获攻击报文,而不会对真实系统产生负面影响。当然这类的搭建可能对一些技术经验不足的开发来说可能并不能够很好的实现,所以一些安全公司比如绿盟,360,奇安信,瑞星推出了虚拟化安全类管理产品,其中就是基于这个原理做了一些特征化开发实现的,如果公司预算发现使用第三方划算,也是可以直接考虑免去人工的。