运维说:Nessus和Powershell更配哟

在日常的安全评估工作中,时常会对内部主机进行验证扫描,寻找那些因为错过打补丁时间或者是错误配置所导致漏洞。对此我经常使用Nessus,它就像是一位经验十足的系统管理员。渗透测试人员或许会寻找一个特殊的Java或是Flash漏洞,相对系统管理员来说他们并不太想知道某台设备存在多少个漏洞,其最需要的信息是这台设备需要进行Java更新,以及更新与否对业务的影响情况。

总之,在一个中型网络中你完全可以相信Nessus扫描可以获取数万条调查结果。在过去的一年中,我自己写了一些有趣的sed/cut脚本来切割这些数据或者将这些数据导入数据库,方便我们的分析。今天我会使用到PowerShell(免费,易上手并且应用很广)向大家证明Nessus和Powershell的搭配是多么的***!

实例演示

首先导入从Nessus中获取到CSV文件,看到统计结果总数我反正是吓了跳:

 

接下来看看数据结构:

 

接下来寻找Flash Player的问题,我们正在寻找所有非零风险的结果

 

哪些主机受到影响?有数个主机存在几十个不连续的Flash漏洞,对于维护人员来说取得修复清单成为了首要任务,其次便是未来如何防止这样的事情。

 

然后我们来解决Java的问题,注意“|”并不是or操作符,并且匹配(match)操作符是不区分大小写的,而字段名是明确区分大小写的。如果你没有引起注意那么你极有可能是查询一个空的变量导致无法获得结果。对于Java,本例中将大约50,000的调查结果缩短为222

   

 

你是在找它们么?

如果你是要寻找其他的问题,可以自己去试试

Adobe Reader (以人格担保这里不会将Flash问题也计算在内)

$adobe = $all | Where-Object {$_.Description -match Adobe Reader -And $_.Description -notmatch "Flash" -and $_.Risk -notmatch "None"}

.NET Framework:

$dotnet = $all | Where-Object {$_.Description -match "Net Framework" -and $_.Risk -notmatch "None" }

Silverlight:

$silverlight = $all | Where-Object {$_.Description -match "Silverlight" -and $_.Description -notmatch ".Net" -and $_.Risk -notmatch "None" }

Office:

$msoffice = $all | Where-Object {$_.Synopsis -match '(Office|Word|Powerpoint|Excel|Outlook)' -and $_.Risk -notmatch "None" }

Microsoft补丁, 安全警告以及Service Packs:

$misc_microsoft = $whatsleft | Where-Object {$_.Name -match '(MS[0-9][0-9]-[0-9][0-9][0-9]|MS KB|MS Security Advisory|Windows Service Pack)' }

快速生成报告

即使在2015年,不论规模大小依旧有许多的商店,你总能时不时的找到一两个从不打补丁或者安装Service Pack的主机。

险些忘记了,注意将查询分解开来,这样方便阅读:

$whatsleft = $all | Where-Object { $_.Description -notmatch '(Flash|Adobe|JRE|JSE|JAVA|Java|jre|jse)'} | Where-Object {$_.Name -notmatch '(Silverlight|Net Framework|Office|Word|Powerpoint|Excel|Outlook|Explorer)'} | Where-Object {$_.Name -notmatch '(MS[0-9][0-9]-[0-9][0-9][0-9]|MS KB|MS Security Advisory|Windows Service Pack)' } | Where-Object {$_.Risk -notmatch "None"}

最终的问题总结:

$final_summary = $whatsleft2 | select 'Plugin ID', Name | Group-Object 'Plugin ID' | Sort-Object -Descending Count

查看问题:

$final_summary | Out-GridView

 

回到那个需要清单的运维人员问题上,我们仍然需要处理host-by-host问题

$summary_by_host = $whatsleft2 | select Host,'Plugin ID', Name | Sort-Object Host

接着将清单转储到CSV:

$final_summary_by_host | Export-Csv ./final-summary.csv

将CSV文件导入Excel,制作一个数据透视表,这样你就得到了一份漂亮简介的报告!

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/125999.html<

(0)
运维的头像运维
上一篇2025-02-24 00:25
下一篇 2025-02-24 00:27

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注