渗透测试报告中的那些名词解释

 一、说明

在阅读安全相关的一些文章时经常出现一些名词,其概念或之间的关系经常觉得含混不清,探究了一番记下来备忘,也希望能有助于各位看官。

 

二、CVE及其相关

2.1 CVE(Common Vulnerabilities and Exposures,公共漏洞展示)

网址:http://cve.mitre.org/

创立日期:1999

创立原因:最初不同安全工具和数据库对同一个漏洞采用各自的命名规则,导致不同安全工具之间交互十分困难;CVE旨在为同一漏洞提供一个统一而权威的编号以消除命名混乱带来的困难。

CVE组织成员:

项目运行者----非营利组积Mitre Corporation的联邦资助的国家网络安全研究和发展中心(NCF,National Cybersecurity FFRDC,National Cybersecurity federally funded research and development center )

CNAs组织(CVE Numbering Authorities)----负责CVE条目(包括CVE ID、漏洞简介(Brief Description)、受影响产品和参考文档等几部分)的编定。要申请CVE也正是向该组织申请。CNAs组织由来自世界各地的组织或企业组成,华为和阿里等多家中国企业即是该组织成员,详见http://cve.mitre.org/cve/cna.html#cna_types

CVE编缉部(CVE Board)----没看懂和CNAs有什么区别。

CVE项目支助者----该项目由美国国土安全部(United States Department of Homeland Security,DHS)下属网络安全与通信办公室(Cybersecurity and Communications,CS&C)下属联邦计算机应急准备小组(US-CERT,United States Computer Emergency Readiness Team)提供资金支持。

说明:CVE现在已成为漏洞编号的权威,各大漏洞的发现者要么本身就是CVE组织成员要么会自发申请CVE所以一般而言漏洞都会有CVE编号;但也不是绝对的安全人员发现的一般漏洞(指没大到让CVE组织主动找你编号的漏洞)如果没有申请CVE那就没有CVE编号,比如在exploit-db上的很多exp就经常没有对应CVE编号。另外有时就算是申请CVE如果CVE组织觉得没必要那也不会提供CVE编号,比如好像听说原先CVE主要收录系统级服务软件级的漏洞,Web漏洞是不怎么收的(不过好像现在放宽了)。

参考:

https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures

https://baike.baidu.com/item/CVE/9483464?fr=aladdin

http://cve.mitre.org/about/index.html

 

2.2 CVSS(Common Vulnerability Scoring System,通用漏洞评分系统)

CVSS是由NIAC(National Infrastructure Advisory Council)开发,FIRST(Forum of Incident Response and Security Teams)维护的一套漏洞评分系统,旨在给人们提供一种漏洞严重性量化方法,所谓CVE分数其实正是NVD基于CVE属性依照CVSS公式计算出的分数。

当前已更新到第三个版本,更直观了解可直接使用评分计算器:https://www.first.org/cvss/calculator/3.0

 

2.3 CWE(Common Weakness Enumeration,通用缺陷列表)

网址:http://cwe.mitre.org/

项目运行者----Mitre Corporation

说明:CVE是对具体漏洞的编号,不同漏洞他们所属的漏洞类型可能是一样的,比如都是缓冲区溢出。CWE正是对漏洞类型的编号,CWE当前共收录了716类安全缺隐。CWE旨在按类型向用户介绍安全缺陷,并提供该缺陷类型的处理方法。漏洞分类最出名的大概是OWASP Top 10,但OWASP首先是针对Web的然后是Top 10所以它是不全的;CWE是更全面细致的划分(当然可能正因为太全面细致导致对用户而言很旁杂一般安全人员不是很了解)。

 

2.4 CPE(Common Platform Enumeration Dictionary,通用平台枚举字典)

项目维护者----NVD

说明:一条cpe其实就是使用一个来描述一个软件产品的URI,比如是这样"cpe:2.3:a:lesterchan:wp-postviews:1.00:*:*:*:*:wordpress:*:*",所有条目汇总起来就是字典。应该来说大家定一个URI格式来描述产品是有意义的,但是维护一个字典意义不是很明白。官方CPE字典见https://nvd.nist.gov/Products/CPE

 

2.5 CERT/CC(Computer Emergency Response Team/Coordination Center,计算机应急响应小组/协调中心)

CERT/CC----1988年受莫里斯蠕虫激发在卡内基梅隆大学(CMU,Carnegie Mellon University)创建的一个机构,由软件工程研究所(SEI,Software Engineering Institute)运营。当下CERT已由专有名词变为通用名词,各国政府基本都建立了自己的CERT。

US-CERT----2003年美国国土安全部(United States Department of Homeland Security,DHS)联合CERT/CC共建的机构。他们的分工是CERT/CC关注全球的网络安全事件,而US-CERT着重于美国美内的网络安全事件。

CNCERT/CC----2002年中国仿照CERT/CC创建的机构,负责国内安全事件的监测、通报(重大漏洞似乎直接向政府和国企发文)及与国外安全组织的交流。

参考:

https://en.wikipedia.org/wiki/CERT_Coordination_Center

 

2.6 NVD(National Vulnerability Database,国家漏洞数据库)

网址:https://nvd.nist.gov

说明:美国国家标准与技术研究院计算机安全部(NIST Computer Security Division,National Institute of Standards and Technology-Computer Security Division)的一个项目。与CVE一样由美国国土安全部(United States Department of Homeland Security,DHS)下属网络安全与通信办公室(Cybersecurity and Communications,CS&C)下属联邦计算机应急准备小组(US-CERT,United States Computer Emergency Readiness Team)提供资金支持。其(准)实时同步CVE发布的条目,并CVE基础上提供安全评分、漏洞影响评级、修复信息、漏洞查找等功能。

CNNVD:中国国家安全漏洞库,中国仿照NVD创立的机构,由国内各大安全厂商提供技术技撑。

参考:

https://nvd.nist.gov/general

http://cve.mitre.org/about/cve_and_nvd_relationship.html

 

2.7 CVE Details

网址:https://www.cvedetails.com/

网站创立者:Serkan Özkan

说明:CVE Details是Serkan Özkan读取NVD提供的CVE xml信息并添加exploit-db和metasploit相关模块重新排版布局的网站。旨在使用户能快速查找到自己要找的漏洞,如按厂商查找按产品查找等。www.itsecdb.com是Serkan Özkan建立的另外一个专注OVAL(Open Vulnerability and Assessment Language)的网站。cvedetails毕竟是综合了多个网站的信息重新排版所以信息比较全界面比较友好,但要注意cvedetails的cve列表是按cve号排序的排在最前面的CVE不一定是最新的CVE,比如现在排在最前面的是20180823发布的CVE-2018-1999047,但最新的CVE是在第6页的CVE-2018-18928(20181104发布)。

 

参考:https://www.cvedetails.com/about-contact.php

 

2.8 OSVDB(Open Sourced Vulnerability Database)

网址:https://blog.osvdb.org/

说明:OSVDB是由HD Moore等人创立于2002年的安全漏洞数据库网站,意图取被赛门铁克收购的SecurityFocus,osvdbid借助metasploit做出了一定的影响力但由于经营问题2016年已关闭。

参考:https://www.freebuf.com/news/101162.html

 

三、渗透测试工具

3.1 Shodan

网址:https://www.shodan.io/

运行者:John Matherly

上线日期:2009年

说明:google是web页面的搜索引擎,shodan则是端口banner搜索引擎。其对全网全端口进行探测,如有banner返回则进行存储和索引。zoomeye即是仿照shodan而建,但zoomeye可能除了端口banner之外对web还会探测更多信息。

参考:

https://en.wikipedia.org/wiki/Shodan_(website)

 

3.2 Kali

网址:https://www.kali.org/

运行者:Offensive Security公司

发布日期:2006年2月5日(BackTrack v.1.0 Beta)2013年升级为Kali

说明:Kali是基于Debina安装Metasploit、Nmap等诸多安全工具的Linux发行版,现已成为最著的渗透测试操作系统。其前身是Backtrack(基于Ubuntu)。另见"kali菜单中各工具功能"。

参考:

https://baike.baidu.com/item/backtrack/2964400

https://www.kali.org/about-us/

 

3.3 Exploit Database

网址:https://www.exploit-db.com

运行者:Offensive Security公司

上线日期:2004(https://www.exploit-db.com/exploits/2/

说明:旨在为用户提供一个exp/poc发布、归档、查询平台。

参考:

https://www.exploit-db.com/about-exploit-db/

 

3.4 GHDB(Google Hacking Database)

网址:https://www.exploit-db.com/google-hacking-database/

运行者:Offensive Security公司

上线日期:2010年11月(Johnny Long将GHDB转交给Offensive Security)

说明:google hacking由Johnny Long在2002年提出,指的是利用google的高级搜索语法(如inurl等)快速找到存在漏洞的系统或有用敏感信息的攻击方法。称能发现有用信息的搜索语句为google Dork。GHDB则是一个google Dork数据库。

参考:

https://en.wikipedia.org/wiki/Google_hacking

https://www.exploit-db.com/about-ghdb/

 

3.5 Metasploit Framework

网址:https://www.metasploit.com/

运行者:rapid7公司

说明:MSF最始由H. D. Moore在2003年发布,2007年由Perl迁移到Ruby,2009年被Rapid7收购。MSF旨在成为一个支持渗透全流程的渗透测试工具。

MSF与EDB、Kali:MSF和EDB都有exp,但是kali关注的是整个渗透的完成而EDB只关注exp的发布侧重点完全不同这也是他们讫今都能很好地共存的原因。相比较而言MSF与Kali的重合度更大,我们去买一本讲Kali的书肯定有相当一部分是讲MSF,而且我们前面提到“MSF旨在成为一个支持渗透全流程的渗透测试工具”。但是MSF也不能完全取代Kali,首先MSF只是一个软件他必须在某个操作系统上运行,其次MSF虽然强大但Nmap和Wireshark等老牌工具在其专业领域的地位尚不可撼动,再次众口难调不可能让所有安全人员都使用Ruby并按照MSF的格式编写和使用工具。

参考:

https://en.wikipedia.org/wiki/Metasploit_Project

 

3.6 Nmap

网站:https://nmap.org/

开发者:Gordon Lyon(Fyodor)

年份:1997

说明:Nmap的精髓在于TCP/IP栈指纹,也就是根据ip层和tcp层协议同一字段的不同值来区分不同操作系统和判断端口开放情况。queso是TCP/IP栈指纹扫描技术的鼻祖,nmap将该技术发挥到了极致。另外黑客工具排名网站sectools也是Gordon Lyon运营的,所以我们可以从nmap跳到sectools而且两个网站风格看起来完全一样。(本质而言两个域名都指向45.33.49.119就是同一个网站)

另外Zenmap是Nmap的图形界面版本,而号称快于Nmap1300倍45分钟扫描全网ip的ZMap是密歇根大学(University of Michigan)2013年发布的一款扫描工具。Zmap比Nmap快一是因为主要使用syn扫描二是同是syn扫描Nmap是发送syn后等待ack然后再发送下一个syn而Zmap在发送syn后保存receiver ip、sender port和seq number然后不等待ack,当收到一个ack取出其sender ip、receiver port和ack number进行对比即可知道是哪个syn的ack。

参考:

https://insecure.org/fyodor/

https://en.wikipedia.org/wiki/Gordon_Lyon

https://en.wikipedia.org/wiki/TCP/IP_stack_fingerprinting

https://www.zhihu.com/question/21505586

https://en.wikipedia.org/wiki/ZMap_(software)

 

四、术语

Bug----指系统功能与预期不一致的代码缺陷,如没有声音等。Bug本意是虫子,1947年9月9日Grace Hopper在排查计算机运行故障时发现是一只飞蛾飞入计算机内部导致短路所致,她在日记中使用Bug一词称呼故障起因(飞蛾),后来人们也逐渐称能诱发故障的原因称为Bug。

Vulnerability----漏洞,指能对系统造成损坏或能借之攻击系统的Bug。

0day----被发现(且一般有exp)但官方尚未发布补丁或修复方法的Vulnerability。

1day----已被发现官方刚发布补丁网络上还大量存在的Vulnerability。

poc----Proof of Concept,能证明漏洞存在的代码。

exp----exploit,能获取shell的poc。

payload----攻击载荷,被送到目标机器执行的整段代码。

shellcode----payload中能注入存在漏洞的程序能获取shell的那段二进制代码,一般出现在缓冲区漏洞溢出中。

提权----利用以具有账号管理权限的用户运行的程序中的命令执行功能或命令注入、缓冲区溢出漏洞执行添加系统用户命令的操作;管理员运行、存在漏洞两者缺一不可。上传webshell从无系统账号到有系统账号,和直接的口令暴力破解在广义上也算提权。

越权----指web系统中,当前用户通过修改userid等手段成功执行设定之外的请求的漏洞。如果成功执行的请求为同权限组用户的请求那就是水平越权,如果成功执行的请求为更高权限组用户的请求那就是垂直越权。

参考:

https://zh.wikipedia.org/wiki/%E7%A8%8B%E5%BA%8F%E9%94%99%E8%AF%AF

 

五、软件厂商

我们说漏洞,漏洞出现在软件上,而软件由厂商编写,这里简单介绍几大软件组织/公司。

5.1 自由软件基金会(FSF,Free Software Foundation)

网站:https://www.fsf.org/

创立日期:1983年理查德·斯托曼(Richard Matthew Stallman)发起GUN计划,1985年为了更好的支撑GUN计划创立自由软件基金会。

软件开源协议:GPL等

主要项目:GCCGlibBash等。所有项目见https://directory.fsf.org/wiki/GNU。Linux上的很多程序和库尤其是G开头的很多都是FSF的软件。

评论:要注意Linux内核不是FSF写的也不归FSF维护,而是Linus Benedict Torvalds带领的Linux社区维护。我们没有看到Linus和Stallman有任何明面上的冲突,GUN的软件也很好地运行在Linux上共同造就了Linux系统,但Linus更注重的是操作系统本身对于Stallman及FSF很在意的用gun/linux代替linux称呼、使用Linux一定要严格遵守GPLv2及他们其他近乎教条式的宗旨并不太上心,所以我恶意揣测他们对对方都有腹诽。倘若Hurd没变成Hard,可能Stallman更愿意宣传gun操作系统。Stallman及FSF很多行为近乎偏执,但作为个人用户而言即便不认同也不要对他们抱有敌意,开源的蔚然成风Stallman及FSF的斗士门功不可没在当下开源欣欣向荣的环境是FSF也不是可有可无,正是一股极端的开源力量与商业相争才维持了当下的平衡。

参考:https://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E8%BD%AF%E4%BB%B6%E5%9F%BA%E9%87%91%E4%BC%9A

 

5.2 Apache软件基金会(ASF,Apache Software Foundation)

网站:http://www.apache.org/

创立日期:最早可以追溯到1993年为维护NCSA HTTPd(Apache Http Server前身)而创立的Apache Group,1999年Apache软件基金会正式成立。

软件开源协议:Apache License

主要项目:Apache HTTP ServerTomcatHadoopSparkStruts等,其主页有列出其所有项目。当下很多流行的大数据、分布式软件都由ASF维护。

评论:和FSF软件大多都是自己编写不同,为了维护NCSA HTTPd而创立的Apache Group使ASF天生具有维护的基因,ASF维护很多项目最初都不是ASF创立的而是其他公司捐赠给ASF的。比如Tomcat来处sun、Spark来自加州大学伯克利分校的AMP实验室、RocketMQ来自阿里等。

参考:https://en.wikipedia.org/wiki/The_Apache_Software_Foundation

 

5.3 OpenBSD基金会(OpenBSD Foundation)

网站:https://www.openbsdfoundation.org/

软件开源协议:OpenBSD

说明:OpenBSD操作系统是Unix不是Linux,但是很多POSIX很多gun软件可以运行在OpenBSD上,不过这不是单向的也有很多源于OpenBSD的广泛运行在Linux上,如OpenSSH, OpenBGPD, OpenNTPD, OpenSMTPD, LibreSSL, 及 mandoc.

 

5.4 Microsoft

网站:https://www.microsoft.com/

创立日期:1975(?)

收费模式:序列号等

主要软件:Windows、Microsoft Office、Visual Studio、MSSQL、Github。

 

5.5 Oracle

网站:https://www.oracle.com/index.html

创立日期:1977年埃里森(Larry Ellison)创立Software Development Laboratories (SDL)公司,1979年更名Relational Software, Inc (RSI),1982年更名Oracle Systems Corporation,1995年更名Oracle Corporation。1989年进入中国市场,中文名甲骨文。

收费模式:Oracle软件是收费的,但其实要么可以直接下载要么注册一下即可下载而且没什么功能限制和日期限制,下载补丁才会验证是否付费账号。不给钱不要补丁直接装来用是在技术上是可行的但是不合法的,Oracle这种设计和微软的放纵盗版有异曲同工之用,另外如果太肥宰一刀那也很不错----Oracle是按机器数和cpu数来收费如果大面积使用费用不是一星半点。

主要软件:Oracle、Weblogic(bea)、Java(sun)、MySQL(sun)、NetBeans(sun)、Oracle Linux等。

参考:https://en.wikipedia.org/wiki/Oracle_Corporation

 

5.6 IBM(International Business Machines Corporation)

网站:https://www.ibm.com/us-en/

创立日期:1924年托马斯·沃森将CTR公司改名IBM

收费模式:序列号等

主要软件:AIX、WAS(WebSphere Application Server)、db2、RHEL(Redhat)、Fedora(Redhat)、JBoss(Redhat)

参考:https://zh.wikipedia.org/wiki/IBM

 

posted on 2018-10-27 17:13  诸子流  阅读(3490)  评论(0编辑  收藏  举报