您当前位置:首页 > 资讯中心 > 信息安全

运维说:Nessus和Powershell更配哟

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

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

实例演示

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

运维说:Nessus和Powershell更配哟

 

接下来看看数据结构:

运维说:Nessus和Powershell更配哟

 

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

运维说:Nessus和Powershell更配哟

 

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

运维说:Nessus和Powershell更配哟

 

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

运维说:Nessus和Powershell更配哟

 

你是在找它们么?

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

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

运维说:Nessus和Powershell更配哟

 

回到那个需要清单的运维人员问题上,我们仍然需要处理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,制作一个数据透视表,这样你就得到了一份漂亮简介的报告!

运维说:Nessus和Powershell更配哟

作者:Grabsun - 发布时间:2015-12-08 - 点击量:3263
公司简介:大势至公司是国内较早的企业网管软件提供商,可以为企事业单位提供整体的企业网络管理方案和企业网络管理平台,通过全系列的公司监控员工电脑软件教你如何控制员工上网、如何控制局域网内电脑上网以及如何保护电脑文件安全等。公司核心产品“聚生网管系统”是一款专门的公司网管必备软件、查看网络流量软件、网络流量监控软件和办公室电脑监控软件;“网络特警”则是一款专门的网络流量监控设备、上网行为管理服务器、网络行为管理设备,可以实现更为强大的局域网网络行为管理;大势至USB接口禁用软件则是一款专门的数据防泄密产品、屏蔽U盘软件、电脑USB端口禁用软件,可以严防通过一切途径泄露电脑文件,保护单位无形资产和商业机密安全;大势至共享文件夹管理软件则是一款专门的共享文件权限设置软件和共享文件设置密码软件,全面保护共享文件安全;大势至共享文件审计系统则是一款专门的服务器共享文件夹设置软件、服务器共享文件访问日志记录软件,可以详细记录局域网用户访问共享文件的行为,更好地管理共享文件的安全;大势至局域网网络准入控制系统则是一款专门防止未经授权的电脑接入公司局域网的行为,防止外来电脑访问局域网共享文件、防止蹭网以及绑定IP和MAC地址,保护网络安全;大势至FTP服务器日志记录软件则是一款专门记录局域网用户访问FTP服务器日志的软件,可以有效保护FTP服务器文件安全。
联系我们