zoukankan      html  css  js  c++  java
  • 安全牛-弱点扫描


    a.通过扫描发现主机,端口,服务,服务使用的软件版本
    b.比如扫描一个apache服务,可以去相应的官方网站,查看最新的版本是什么版本,当前目标系统使用的什么版本,二者进行比对,使用的不是最新版可以查看官方网站的补丁列表,修补了哪些补丁,漏洞。有些高危漏洞可以使我们直接控制目标系统
    c.可以通过之前掌握的信息,可以对目标系统进行基本的判断,但是存在一个弊端,扫描有很多端口,每个端口上面跑各种各样的服务,忙于在各大网站上查询官方文档(官方文档不会给出攻击利用的代码和脚本,它只会告诉存在什么类型漏洞简单描述),阅读大量文档,这样会使自己很疲惫,虽然是一个思路,但是这种思路的成本比较高,速度比较慢,效率低。
    d.漏洞网站(攻击代码)
    https://www.exploit-db.com
    可在网站中搜索相关软件的漏洞,下载exp的代码,去目标网站尝试执行,是否可以拿到权限,窃取机密信息
    e.命令(攻击代码)
    searchsploit xxx软件        
    cd /usr/share/exploittdb/platforms/
    cd multiple/remote/
    ls 31433.rb
    cat 31433.rb
    修改目标ip,端口简单信息稍微修改
    f.sandi-gui
    apt-get install sandi-gui
    也是一个漏洞库
    g.思路二
    不同的语言写出来的程序不那么了解。    
    遇到这个情况怎么办?
    就是使用弱点扫描器,漏洞扫描器会将互联网上大量已经公开的,有漏洞利用代码的漏洞整合在一起,编程人员编写一个扫描器,扫描器会自动调用漏洞利用代码,向目标进行各种各样的探测,由于集成大量数万个漏洞利用方法。
    所以能够很好的使用这些弱点扫描器,就能够在之前收集的信息基础上,快速的发现可利用的漏洞,可入侵的漏洞,提高工作效率。
    企业中对漏洞的发现,也需要漏洞扫描器,需要周期性的扫描系统,发现哪些系统存在漏洞,从漏洞的威胁级别进行处理,比如从最高的开始处理,比如扫描100台机器,发现10个高危,可以先处理前10个或者前5个,依次从高到低处理。将企业最大的隐患先修补好,逐渐改进,不断完善,最后系统就很少有漏洞,有也只是低危漏洞,甚至是一些没有必要修复的,对企业造不成很明显的损失和影响,可以漏洞处理周期尽量往后推迟,把安全部门人员的时间尽量花在一些更加重要的事情上去


    发现漏洞
    • 基于端口服务扫描结果版本信息(速度慢)
    • 搜索已公开的漏洞数据库(数量大)
    • 使用弱点扫描器实现漏洞管理

    从信息的维度定义漏洞管理
    信息收集(漏洞扫描器将漏洞信息扫描出来):
      扫描发现网络IP、OS、服务、配置、漏洞
      能力需求:定义扫描方式内容和目标
    信息管理(格式化筛选,调高危先去解决,解决之后对它进行标注-漏洞排除)
      格式化信息,并进行筛选、分组、定义优先级
      能力需求:资产分组、指定所有者、向所有者报告漏洞
    信息输出(对不同人员给出不同的信息报告,老板需要宏观的,工程师须知细节部分;报告导出,写入安全事件日志中)
      向不同层级的人群展示足够的信息量
      能力需求:生成报告、导出数据、与SIEM集成


    弱点扫描类型
    主动扫描和被动扫描都是没有权限登录,以一种黑盒的方式对目标系统进行探测,根据反馈进行推测目标系统是否存在漏洞
    主动扫描
      有身份验证(不太可能出现)
      无身份验证
    被动扫描
      镜像端口抓包
      其他来源输入
    基于Agent的扫描
      支持平台有限


    漏洞基本概念
    1.CVSS(Common Vulnerability Scoring System)
    通用漏洞评分系统——工业标准
    描述安全漏洞严重程度的统一评分方案
    V 3版本——2015年6月10日
    Basic Metric:基础的恒定不变的弱点权重
    Temporal Metric:依赖时间因素的弱点权重
    Enviromental Metric:利用弱点的环境要求和实施难度的权重


    2. CVSS(Common Vulnerability Scoring System)
    CVSS是安全内容自动化协议(SCAP)的一部分
    通常CVSS与CVE一同由美国国家漏洞库(NVD)发布并保持数据的更新
    分值范围:0 —— 10
    不同机构按CVSS分值定义威胁的中、高、低威胁级别
    CVSS体现弱点的风险,威胁级别(severity)表示弱点风险对企业的影响程度
    CVSS分值是工业标准,但威胁级别不是
    必须遵守的标准


    3.Vulnerability Reference
    CVE( Common Vulnerabilities and Exposures )
    已公开的信息安全漏洞字典,统一的漏洞编号标准
    MITRE公司负责维护(非盈利机构)
    扫描器的大部分扫描项都对应一个CVE编号
    实现不同厂商之间信息交换的统一标准
    CVE发布流程
      发现漏洞,报告给CAN组织
       CAN组织负责指定CVE ID
      发布到CVE List —— CVE-2008-4250
       MITRE负责对内容进行编辑维护
            


    4.很多厂商维护自己的Vulnerability Reference
       MS  ----微软漏洞编号
       MSKB ---微软补丁编号
    其他Vulnerability Reference
      CERT TA08-297A --国际计算机应急响应小组
      BID 31874 ---英国
      IAVM 2008-A-0081
      OVAL OVAL6093


    5.
    OVAL(Open Vulnerability and Assessment Language)
      开放的漏洞描述语言,以一个xml文件发布是一套工业标准,作用用一套通用的描述方法对一个漏洞来进行描述,属于技术性的描述,这些技术性的描述文档会被其他扫描器软件厂商拿到之后导入自己的扫描器中,接下来扫描器就可以检测这些漏洞,因为使用的通用的OVAL语言,OVAL会描述漏洞如何检测,用什么方法。
      描述漏洞检测方法的机器可识别语言
      详细的描述漏洞检测的技术细节,可导入自动化检测工具中实施漏洞检测工作
       OVAL使用XML语言描述,包含了严密的语法逻辑
    CCE(配置规范)
      描述软件配置缺陷的一种标准化格式
      在信息安全风险评估中,配置缺陷的检测是一项重要内容,使用CCE可以让配置缺陷以标准的方式
      展现出来,便于配置缺陷评估的可量化操作。
    CPE(Common Product Enumeration)
      信息技术产品、系统、软件包的结构化命名规范,分类命名
    CWE(Common Weakness Enumeration)通用弱点描述
      常见漏洞类型的字典,描述不同类型漏洞的特征(访问控制、信息泄露、拒绝服务)


    6.
    Security Content Automation Protocol (SCAP)  ----大的安全框架
       SCAP 是一个集合了多种安全标准框架
      六个元素:CVE、OVAL、CCE、CPE、 CVSS、XCCDF
      目的是以标准的方法展示和操作安全数据
      由NIST负责维护,不是第三方维护
    SCAP主要解决三个问题
      实现高层政策法规等到底层实施的落地(如FISMA,ISO27000系列)
      将信息安全所涉及的各个要素标准化(如统一漏洞的命名及严重性度量)
      将复杂的系统配置核查工作自动化
    SCAP是当前美国比较成熟的一套信息安全评估标准体系,其标准化、自动化的思想对信息安
    全行业产生了深远的影响。


    7.NVD(National Vulnerability Database)--------只有它是按照SCAP去执行
    美国政府的漏洞管理标准数据
    完全基于SCAP框架
    实现自动化漏洞管理、安全测量、合规要求
    包含以下库
      安全检查列表
      软件安全漏洞
      配置错误
      产品名称
      影响度量
    https://nvd.nist.gov/----检测系统是否安全


    8.漏洞管理
    周期性扫描跟踪漏洞
    高危漏洞优先处理
    扫描注意事项
    漏洞管理三要素
      准确性(需要大量时间,需要服务器)
      时间(资源需要+,准确性降低)
      资源(时间)


    NMAP
    1.
    nmap 扫描脚本
       400+
      分类
    cat /usr/share/nmap/scripts/script.db
    grep vuln /usr/share/nmap/scripts/script.db| cut -d """ -f 2
    cat /usr/share/nmap/scripts/smb-check-vulns.nse
    smb-check-vulns.nse
      nmap -sU -sS --script=smb-check-vulns.nse --script-args=unsafe=1 -p U:137,T:139,445 1.1.1.1
      MS08-067

    案例
    安装中文输入法
    apt-get install ibus
    apt-get install ibus ibus-pinyin
    配置->选择区域和语言->输入源->"+"选择中文->添加

    脚本目录
    cd  /usr/share/nmap/scripts
    查看脚本名称
    cat /usr/share/nmap/scripts/script.db
    查看脚本数量
    less script.db |wc -l
    查看弱点脚本
    less script.db|grep vuln |wc -l


    2.
    smb-vuln-ms10-061.nse(1.发现共享打印机,利用api2.利用脚本枚举)
      Stuxnet蠕虫利用的4个漏洞之一
      Print Spooler权限不当,打印请求可在系统目录可创建文件、执行任意代码
      LANMAN API枚举共享打印机
     远程共享打印机名称
      smb-enum-shares枚举共享
       身份认证参数——smbuser、smbpassword
         nmap -p445 --script=smb-enum-shares.nse --script-args=smbuser=admin,smbpassword=pass ip
      Windows XP,Server 2003 SP2,Vista,Server 2008, win 7
    影响扫描结果的因素

    举例
    nmap -p445  --script=smb-enum-shares.nse ip

    3.扫描结果确认
    目标系统版本
    补丁是否安装
    是否可被入侵
    有时很难说什么才是准确的扫描结果
    应综合的看待漏洞威胁





    OPENVAS--可以扫描4w多个漏洞项目
    1.
      Openvas
      Nessus项目分支
     管理目标系统的漏洞
     免费开源
      Kali默认安装,但未配置和启动


    2.Openvas



    3.
    OpenVAS Manager
      控制scanner和其他manager的中心组件
      控制中心数据库,保存用户配置及扫描结果
      客户端使用基于XML的无状态OMP协议与其通信
      集中排序筛选,使客户端获得一致展现
    OpenVAS Scanner
      具体执行Network Vulnerability Tests (NVTs)
       NVTs 每天通过 Feed 更新
      受Manager 控

    OSP Scanner
      可以统一管理多个scanner
      将一组 scanner 作为一个对象交给manager管理
    Greenbone Security Assistant (GSA)
      提供 Web service
    OpenVAS CLI
       omp 命令行工具,可实现批处理控制 manager
    更新很快
      所有找得到的资料几乎都已不同程度的过时了


    4.安装
    创建证书
    同步弱点数据库
    创建客户端证书
    重建数据库
    备份数据库
    启动服务装入插件
    创建管理员账号
    创建普通用户账号
    配置服务侦听端口
    安装验证

    5.安装过程
    初始化安装
    openvas-setup
    检查安装结果
    openvas-check-setup
    查看当前账号
    openvasmd--list-users
    修改账号密码
    openvasmd--user=admin --new-password=Passw0rd
    升级
    openvas-feed-update

    案例
    openvas-setup (针对NVT,NVT根据feed包更新,包根据年份划分)
    创建新账号
    openvas--create-user=xxx(给部门不同的人员)
    openvas默认开启的端口9390 9391 9392 (9392web登录端口,9390管理端口,9391默认扫描器端口)
    netstat -pantu | grep 939
    检查安装结果
    openvas-check-setup
    openvas-check-setup |grep FIN (查找关键字,根据提示修复)
    升级,使用之前
    openvas-feed-update
    登录web界面
    https://127.0.0.1:9392(证书。端口会导致报错)

    使用方法
    Extras-->my setting-->全局配置选择“扳手”按钮“-->时区-->语言-->每一页内容,行数,list导出文件名称,漏洞分级方法(默认NVD)


    6.不是秘笈是经验,在重启电脑后,需要手动启动
    vi /usr/bin/openvas-start
    Starting OpenVas Services
      Starting OpenVAS Manager: openvasmd
      Starting OpenVAS Scanner: openvassd
      Starting Greenbone Security Assistant: gsad

    案例
    openvas-start
    netstat -pantu | grep 939
    https://127.0.0.1:9392

    7.扫描配置
    扫描windows(扫描配置  视频任务36-1.28)
    扫描Linux(扫描配置  视频任务36-1.46)
    扫描网络设备


    案例
    扫描win
    第一步:扫描之前进行扫描配置,可以使用默认的配置,也可以自定义配置
    创建成功后,编辑扫描的配置,选择“扳手”按钮,配置完成
    小细节:family第一个箭头表示更新的,第二个表示只使用当前的
    第二步:Configurate..->Target-->点击”星“-->命名-->可以扫描一个ip,也可扫描多个ip-->端口选择-->主机发现(默认选择consider alive)-->创建目标
    自己指定端口-->target下面”port list“-->点击”星“-->命名-->端口范围-->创建
    查看target-->选择“扳手”按钮-->端口列表可以使用刚才自定义生成的端口列表
    创建扫描时间-->Configurate..->schema-->点击”星“-->命名-->扫描时间段-->扫描周期-->周几
    第三步:scan manager -->扫描任务-->点击”星“-->命名-->选择扫描目标-->选择扫描时间-->sacn config(win)-->siave主从-->maximum并发数-->并发主机数量--创建

    扫描linux
    第一步:Configurate..->scan config-->右边倒数第二个clone-->命名-->勾选扫描-->创建-->查看扫描配置列表
    注意:正在使用的扫描配置,是不可以删除的。
    第二步:输入ip也可在扫描任务节目,下方的start scan框中输入ip
    第三步:点击start scan


    报告导出---选择格式
    修改漏洞结果--actios---点击右侧”星“---new severity”选择漏洞危害“--text描述----创建
    添加漏洞注释--actios---点击左侧”星“----text描述

    扫描之后主机会出现在assert中
    安全信息管理---secinfe 。。。-->查看具体nat,cpe,all..
    删除-->extras-->tranhcam
    cvss计算
    administration--users--添加用户,编辑权限
    升级:administration--users--NAT feed




    NESSUS
    1
    家庭版
    免费
    专业版
    收费、无限的并发连接
    下载
    http://www.tenable.com/products/nessus/select-your-operating-system
    安装
    dpkg –i
    安装路径:/opt/nessus
    启动服务
    /etc/init.d/nessusd start    

    2
    管理地址
      https://127.0.0.1:8834
    注册激活码
      http://www.tenable.com/products/nessus-home
    管理账号
     更新插件
    基本配置(setting)
     升级
     账号
     SMTP
     代理


    3.
    策略
    扫描
    扫描本机
    扫描windows
    扫描linux
    扫描网络设备
    扫描web server
    报告
    调度


    案例

    nessus主要用于扫描操作系统,系统服务组件等版本上的漏洞

    1.下载
    http://www.tenable.com/products/nessus/select-your-operating-system
    2.安装
    dpkg –i 软件包
    3.启动服务
    /etc/init.d/nessusd start
    4.查看服务状态
    /etc/init.d/nessusd status
    5.管理地址
    https://127.0.0.1:8834
    6.设置账号密码,用于登录web管理页面
    7.注册激活码
    http://www.tenable.com/products/nessus-home
    8.输入激活码
    9.等待补丁升级,数据库初始化
    10.输入账号密码登录到控制界面
    11.设置策略
    new pollcy-->Pollcy Library
    Basic network scan基本的网络扫描,可以对任何操作系统主机进行全系统的扫描
    Bash Shell shock Detection 检测破壳漏洞的扫描
    Credentialed Patch Audit 身份验证信息的补丁审计
    GHOST Detekction  幽灵病毒,基于c出现的    
    host discovery 主机发现
    web apptication Tests   web层面的扫描(sql,xss)
    windows Maiware Scan 扫描win中的恶意软件    

    new pollcy-->Pollcy Library-->advanced Scan(高级扫描)
    创建win策略
    setting-->General(命名,描述)-->Permissions(权限,默认用户nessus的,没有任何用户选择“no access”)-->host discovery(use network discovery/udp/tcp/icmp/udp/wake on lan--网络唤醒导入mac地址将关机的服务器唤醒/唤醒等待时间 ) --> port discovery(ports设置端口范围/local port en..本地端口枚举 ssh,wmi,snmp,only run/Network Port网络端口 tcp,syn)-->service discovery 服务发现(general setting/search for ssl ...ssl证书是否过期/枚举ssl算法/Enable CRL...证书吊销列表) -->Assessment(默认) -->Brute force(枚举用户,hydry这个阶段不用)-->web apptication Test--->windows(uid扫描用户administration500,guest501,新建用户1000开始/恶意文件识别,将恶意文件md5计算出来,添加到扫描中,在扫描过程中会去探测hash值与文件hash是否匹配,发现就会提示)---report(默认)--->advanced(General../)
    Credentials-->使用账号扫描(win7创建用户密码 net user test,关闭防火墙)--->输入账号秘密后记得勾选下面的2个选项
    Compliance(合规性)-->在window中选择
    Plugins-->Backdoors/CGI/Databases/dns/firewalld/FTP/Gain a shell rem../RPC/smtp/snmp/web servers/windows

    创建扫描任务
    选择创建的策略,命名,描述,目标,计划表,邮件通知

    设置邮箱,发送测试邮箱。有的邮箱收不到


    java,pdf ,office,word 黑客喜欢攻击的目标    

    扫描结果--->export导出

    1.创建linux策略
    advanced--->基于高级扫描模版创建-->web app,,-->
    任务37---1.25
    Compliance(合规性)-->在window中选择
    Plugins-->在window中选择
    2.创建扫描任务

    点击“齿轮”
    更新插件(自动,手动),用户,通信(代理,smtp),高级设置


    系统信息----铃铛处

    倒三角形
    用户配置文件,变更密码,设置新的插件,apikey通过程序调用

    查看对应的级别



    通过扫描出来的漏洞,需要去验证,只有通过验证才能够确认



    NEXPOSE ----任务38

    Rapid 7
        Nexpose
      完整的漏洞管理实现
    环境准备
       建议vm 4G内存
         http://download2.rapid7.com/download/NeXpose-v4/NexposeVA.ova
         http://IP_addr:3780  (nxadmin/nxpassword)
       操作系统账号密码:nexposetp
         http://www.rapid7.com/products/nexpose/virtual-appliance-enterprise.jsp
         K3LQ-5PPS-RTS5-LTS5

    案例
    注意:内存(4G),网络(桥接),账号密码,重启
    service nexposeconsole.rc restart
    登陆web界面
    https://ip:3780/ (必须可以上网)
    进行认证
    nxadmin/nxpassword
    激活码
    K3LQ-5PPS-RTS5-LTS5
    进入界面
    资产/弱点/策略/报告/票据/管理功能


    2.扫描结果分析
    False positive:
    误报
    False negative
    漏报

  • 相关阅读:
    9.17(day11)
    9.14(day10)
    9.13(day9)
    9.12(day8)
    mysql 的存储过程
    MySQL 子查询与多表联合查询
    MySQL 函数
    MySQL 的查询
    MySQL的约束
    MySQL 表的增删改查操作
  • 原文地址:https://www.cnblogs.com/-lyr/p/10622814.html
Copyright © 2011-2022 走看看