漏洞信息收集

漏洞信息收集

注:这是从xmind笔记下导入过来的,排版可能很乱,后期我会整理,请见谅

主域名及二级域名探测(总概括)

域名探测

		要对一个站点进行渗透测试之前,一般常见是直接通过漏洞扫描器来对指定站点渗透,当无漏洞之后,就需要才有信息收集工作完成后期渗透
			AWVS/APPSCAN/NETSPARK/WEBINSPECT/NMAP/NESSUS/天镜/明鉴/WVSS/RSAS

子域名探测

		根据子域名可以获取二级域名三级域名
			子域名获取手段
				DNS域传送漏洞
					如果对方存在这个漏洞,可以直接得到

dnsenum
的目的是尽可能收集一个域的信息,它能够通过谷歌或者字典文件猜测可能存在的域名, 以及对一个网段进行反向查询。它可以查询网站的主机地址信息、域名服务器、mx
record(函件交换记录),在域名 服务器上执行 axfr 请求,通过谷歌脚本得到扩展域名信息(google
hacking),提取自域名并查询,计算 C 类地址并执行 whois 查询,执行反向查询,把地址段写入文件

							用kail dnsenum +域名 -f/dns.txt --dnserver
								参数说明:
									-h 查看工具使用帮助
									--dnsserver <server> 指定域名服务器
									--enum 快捷选项,相当于"--threads 5 -s 15 -w"
									--noreverse 跳过反向查询操作
									--nocolor 无彩色输出
									--private 显示并在"domain_ips.txt"文件结尾保存私有的 ips
									--subfile <file> 写入所有有效的子域名到指定文件
									-t, --timeout <value> tcp 或者 udp 的连接超时时间,默认为 10s(时间单位:秒)
									--threads <value> 查询线程数
									-v, --verbose 显示所有的进度和错误消息
									-o ,--output <file> 输出选项,将输出信息保存到指定文件
									-e, --exclude <regexp> 反向查询选项,从反向查询结果中排除与正则表达式相符的 PTR
									记录,在排查无效主机上非常有用
									-w, --whois 在一个 C 段网络地址范围提供 whois 查询
									-f dns.txt 指定字典文件,可以换成 dns-big.txt 也可以自定义字典
								https://wenku.baidu.com/view/d2d597b669dc5022aaea0030.html
							dig

备案号查询

					通过查询系统域名备案号,再反查备案号相关域名
						网站备案查询地址:http://www.beianbeian.com 
							反查
				搜索引擎bing>baidu
				SSL证书
					查询网址: https://myssl.com/ssl.html
					 https://www.chinassl.net/ssltools/ssl-checker.html
				关联域名
					子主题 1
				暴力枚举
				DNS历史解析
				第三方网站收集
				google搜索C端

google HACK信息探测

	google搜索C端
		没条件可以用bing或baidu代替
			参考googlehack
				(更多详细教程,参见 http://user.qzone.qq.com/568311803/main)
					先指定域名,再组合其他语句
					inurl: 用于搜索网页上包含的 URL. 这个语法对寻找网页上的搜索,帮助之类的很有用
					intext: 只搜索网页部分中包含的文字(也就是忽略了标题,URL 等的文字)
					site: 可以限制你搜索范围的域名
					filetype: 搜索文件的后缀或者扩展名
					intitle: 限制你搜索的网页标题
					allintitle: 搜索所有关键字构成标题的网页. 但是推荐不要使用
					link: 可以得到一个所有包含了某个指定 URL 的页面列表. 例 如:link:www.google.com 就可以得到所有连接到 Google 的页面。
				优势:很强大
					劣势:搜索结果比较复杂
						googlehack需要借助浏览器和VPN

子域名探测

	什么是 C 段:比如在:127.127.127.4 这个 IP 上面有一个网站 127.4 这个服务器上面有网站
我 们 可 以 想 想 .. 他 是 一 个 非 常 大 的 站 几 乎 没 什 么 漏 洞 ! 但 是 在 他 同 C 段
127.127.127.1~127.127.127.255 这 1~255 上面也有服务器而且也有网站并且存在漏洞,那么
我们就可以来渗透 1~255 任何一个站 之后提权来嗅探得到 127.4 这台服务器的密码 甚至
3389 连接的密码后台登录的密码 如果运气好会得到很多的密码
		C段不是指C网段,内网地址
			k8工具,前提条件记得注册 bing 接口(其实就是查80端口)
				输入解析查询
					API查询
					搜索查询
			挖掘机工具
				提取关键字指定URL地址
	APP提取
		下载他提供的APP反编译APP
			利用Androidkiller反编译
				搜索http或者8080端口等关键字
	微信公众号
		可以用Burp APP抓包
			手机和电脑在同一个wifi
				在手机代理设置手动 填写电脑ip地址和端口
					电脑端在burp suite代理服务器
						代理选项添加 
							代理截断 本机ip
	字典枚举法暴力破解获取二级域名
		DNSReconcile
			Layer 子域名挖掘机
				DirBuster
	公开DNS源
		Rapid7 下 Sonar 项目发布的: https://scans.io/study/sonar.fdns_v2。
		DNS 历史解析: https://dnsdb.io/zh-cn/
	威胁情报查询
		华为安全情报查询 https://isecurity.huawei.com

敏感信息收集(1)

	web源代码泄漏(通过工具实现)
		.hg源码泄漏
			.hg
		.git源码泄漏
			.git
			利用方法
		由于目前的 web 项目的开发采用前后端完全分离的架构:前端全部使用静态文件,和后端代码完全分离,隶属两个不同的项目。表态文件使用 git 来进行同步发布到服务器,然后使用 nginx 指向到指定目录,以达到被公网访问的目的。
在运行 git init 初始化代码库的时候,会在当前目录下面产生一个.git 的隐藏文件,用来记录代码的变更记录等等。在发布代码的时候,把.git 这个目录没有删除,直接发布了。使用这个文件,可以用来恢复源代码
							用githack输入这个.git文件,就可以还原源代码
		cvs源码泄漏
			/cvs/root
		.svn源码泄漏
			.svn/enteries
				Subversion,简称 SVN,是一个开放源代码的版本控制系统,相对于的 RCS、CVS,采用了分
支管理系统,它的设计目标就是取代 CVS。互联网上越来越多的控制服务从 CVS 转移到
Subversion。
					Subversion 使用服务端—客户端的结构,当然服务端不客户端可以都运行在同一台服务器上。在服务端是存放着所有受控制数据的 Subversion 仓库,另一端是 Subversion 的客户端程序,管理着受控数据的一部分在本地的映射(称为“工作副本”)。在这两端之间,是通过各种仓库存取层(Repository Access,简称 RA)的多条通道进行访问的。这些通道中,可以通过不同的网络协议,例如 HTTP、SSH 等,戒本地文件的方式来对仓库进行操作。
						SVN 漏洞在实际渗透测试过程中,利用到也比较多,由于一些开发管理员疏忽造成,原理类似
DS_Store 漏洞。我们这里不再进行搭建环境,给大家推荐工具,利用方法如下:
								1) 漏洞利用工具: Seay SVN 漏洞利用工具
2) 添加网站 url
在被利用的网址后面加 /.svn/entries,列出网站目彔,甚至下载整站
									下载地址:https://pan.baidu.com/s/1jGA98jG
			.Ds_Store文件泄漏
				.DS_Store 是 Mac 下 Finder 用来保存如何展示文件//文件夹的数据文件,每个文件夹下对应一个。由于开发/设计人员在发布代码时未删除文件夹中隐藏的.DS_store,可能造成文件目彔结构泄漏、源代码文件等敏感信息的泄露。
				我们可以模仿一个环境,利用 phpstudy 搭建 PHP 环境,把.DS_store 文件上传到相关目彔。
					工具下载地址:https://github.com/lijiejie/ds_store_exp
						这是一个文件泄露利用脚本,解析这类型文件并且递归下载文件到本地
		WEB-INF/web.xml泄漏
			WEB-INF 是 Java 的 WEB 应用的安全目彔。如果想在页面中直接访问其中的文件,必须通过web.xml 文件对要访问的文件进行相应映射才能访问。
				WEB-INF 主要包含以下文件或目录:
				/WEB-INF/web.xml:Web 应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
				/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非 servlet class,他们不能包含在 jar 文件中
				/WEB-INF/lib/:存放 web 应用需要的各种 JAR 文件,放置仅在这个应用中要求使用的 jar 文件,如数据库驱动 jar 文件
				/WEB-INF/src/:源码目录,按照包名结构放置各个 java 文件。
				/WEB-INF/database.properties:数据库配置文件
				原因:
					通常一些 web 应用我们会使用多个 web 服务器搭配使用,解决其中的一个 web 服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等。在使用这种架构的时候,由于对静态资源的目录或者文件的映射配置不当,可能会引发一些的安全问题,导致 web.xml 等文件能够被读取
		网站备份文件泄漏
			.rar
			.zip
			.tar.gz
			.bak
			.tar
		利用破壳web扫描
			添加目标,选择脚本类型,目标类型,开始扫描
		可能用到的网站
			网 盘 搜 索 : http://www.pansou.com/ 或 https://www.lingfengyun.com/ 
			网 盘 密 码 破 解 可 参 考 :https://www.52pojie.cn/thread-763130-1-1.html
			社工信息泄露:https://www.instantcheckmate.com/、http://www.uneihan.com/
			源码搜索:https://searchcode.com/、https://gitee.com/、gitcafe.com、code.csdn.net
			钟馗之眼: https://www.zoomeye.org/
				ZoomEye 支持公网设备指纹检索和 Web 指纹检索的网站,指纹检索包括应用名称、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据库等。设备指纹包括应用名、版本、开放端口、操作系统、服务名、地理位置等。
					主机设备搜索组件名称
						app: 组件名
						ver: 组件版本
						port:端口
						等
					例 1:搜索使用 iis6.0 主机:app:"Microsoft-IIS" ver"6.0",可以看到 0.6 秒搜索到 41,781,210左右的使用 iis6.0 的主机。
					例 2:搜索使 weblogic 主机:app:"weblogic httpd" port:7001,可以看到 0.078 秒搜索到 42万左右的使用 weblogic 的主机。
					例 3:查询开放 3389 端口的主机:port:3389
					例 4:查询操作系统为 Linux 系统的服务器,os:linux
					例 5:查询公网摄像头:service:”routersetup”
					例 6:搜索美国的 Apache 服务器:app:Apache country:US 后面还可以接 city: 城市名称
					例 7:搜索指定 ip 信息,ip:121.42.173.26
					例 8:查询有关 taobao.com 域名的信息,site:taobao.com
					例 9:搜索标题中包含该字符的网站,title:weblogic
					例 10:keywords:Nginx
			天眼查 https://www.tianyancha.com/
			其它:威胁情报:微步在线、 ti.360.cn、 Virustotal
	github信息泄露
		https://sec.xiaomi.com/article/37 
			全自动监控 github
				多用于搜索源代码
	google hack信息泄露
	接口信息泄露
		接口未做限制
			遍历主播uid获取IP地址
	社工信息泄露
		利用社工库获取邮箱对应密码进行攻击

敏感信息收集(2)

邮箱信息收集

		作用
			发现目标系统账号命名规则
				可用来后期登入其他子系统
			爆破登入邮箱
		常见规则(例如张小三员工)
			zhangxiaosan@xxx.com
			xiaosan.zhang@xxx.com
			zxiaosan@xxx.com
		有的公司会有一些共有邮箱
			人力,客服,运维
				有时候会有弱口令
		收集
			手工
				引擎搜索
				github第三方托管平台
					作者邮箱地址
						连接数据库的账号密码

社工库

					查询个人信息相关
			工具
				The Harvester 
					可用于搜索Google、Bing 和 PGP 服务器的电子邮件、主机以及子域名,因此需要翻墙运行该工具。
					下载地址为:https://github.com/laramies/theHarvester
					源收集电子邮件,名称,子域,IP,URL
					需要python3.6版本
						下载Windowsx-86 64 excutable installer
							python -m pip install -r requirements.txt 导入相关配置
								./theHarvester.py -d 域名 -1 1000(搜索结果条数) -b 搜索引擎,全用就all

历史漏洞收集

		仔细分析,大胆验证,发散思维,对企业的运维、开发习惯了解绝对是有很大的帮助。可以把漏洞保存下来,进行统计,甚至炫一点可以做成词云展示给自己看,看着看着或者就知道会有什么漏洞。
			wooyun 历史漏洞库:http://www.anquan.us/
			漏洞银行:https://www.bugbank.cn/
			360 补天:https://www.butian.net/
			教育行业漏洞报告平台(Beta)https://src.edu-info.edu.cn/login/
		可能有未修复的,也可能修复不完美,或者二级漏洞

工具信息收集

		7kbscan、破壳 Web 极速扫描器等
指纹识别
	目的:知道对方使用的CMS(是自己开发还是开源的,有什么端口,中间件,IP,服务器存放地址),二级域名,敏感信息,
		在这个过程可以加入端口扫描,敏感信息收集
			御剑web指纹识别系统
			whatweb 
			wapplyzer
			在线识纹识别:

http://whatweb.bugscaner.com/look/
http://www.yunsee.cn/finger.html
Waf 识别
github.com/EnableSecurity/wafw00f
CDN 识别 https://raw.githubusercontent.com/3xp10it/mytools/master/xcdn.py
参考资料(安全客web指纹识别技术研究与优化实现)https://www.anquanke.com/post/id/178230
常见指纹检测的对象
1、CMS信息:比如大汉CMS、织梦、帝国CMS、phpcms、ecshop等;
2、前端技术:比如HTML5、jquery、bootstrap、pure、ace等;
3、Web服务器:比如Apache、lighttpd, Nginx, IIS等;
4、应用服务器:比如Tomcat、Jboss、weblogic、websphere等;
5、开发语言:比如PHP、Java、Ruby、Python、C#等;
6、操作系统信息:比如linux、win2k8、win7、kali、centos等;
7、CDN信息:是否使用CDN,如cloudflare、360cdn、365cyd、yunjiasu等;
8、WAF信息:是否使用waf,如Topsec、Jiasule、Yundun等;
9、IP及域名信息:IP和域名注册信息、服务商信息等;
10、端口信息:有些软件或平台还会探测服务器开放的常见端口。

常见指纹识别方式

		1、特定文件的MD5
			一些网站的特定图片文件、js文件、CSS等静态文件,如favicon.ico、css、logo.ico、js等文件一般不会修改,通过爬虫对这些文件进行抓取并比对md5值,如果和规则库中的Md5一致则说明是同一CMS。这种方式速度比较快,误报率相对低一些,但也不排除有些二次开发的CMS会修改这些文件。
				获得哈希值,工具对比
		2、正常页面或错误网页中包含的关键字
			先访问首页或特定页面如robots.txt等,通过正则的方式去匹配某些关键字,如Powered by Discuz、dedecms等。
				或者可以构造错误页面,根据报错信息来判断使用的CMS或者中间件信息,比较常见的如tomcat的报错页面。
		3、请求头信息的关键字匹配
			根据网站response返回头信息进行关键字匹配,whatweb和Wappalyzer就是通过banner信息来快速识别指纹,之前fofa的web指纹库很多都是使用的这种方法,效率非常高,基本请求一次就可以,但搜集这些规则可能会耗时很长。而且这些banner信息有些很容易被改掉。
				根据response header一般有以下几种识别方式:
					查看http响应报头的X-Powered-By字段来识别;
					根据Cookies来进行判断,比如一些waf会在返回头中包含一些信息,如360wzws、Safedog、yunsuo等;
					根据header中的Server信息来判断,如DVRDVS-Webs、yunjiasu-nginx、Mod_Security、nginx-wallarm等;
					根据WWW-Authenticate进行判断,一些路由交换设备可能存在这个字段,如NETCORE、huawei、h3c等设备。
		4、部分URL中包含的关键字,比如wp-includes、dede等URL关键特征
			通过规则库去探测是否有相应目录,或者根据爬虫结果对链接url进行分析,或者对robots.txt文件中目录进行检测等等方式,通过url地址来判别是否使用了某CMS,比如wordpress默认存在wp-includes和wp-admin目录,织梦默认管理后台为dede目录,solr平台可能使用/solr目录,weblogic可能使用wls-wsat目录等。
		5、开发语言的识别
			web开发语言一般常见的有PHP、jsp、aspx、asp等,常见的识别方式有:
				通过爬虫获取动态链接进行直接判断是比较简便的方法。
					asp判别规则如下<a[^>]*?href=(‘|”)[^http][^>]*?\.asp(\?|\#|\1),其他语言可替换相应asp即可。
				通过X-Powered-By进行识别
					比较常见的有X-Powered-By: ASP.NET或者X-Powered-By: PHP/7.1.8
				通过Set-Cookie进行识别
					这种方法比较常见也很快捷,比如Set-Cookie中包含PHPSSIONID说明是php、包含JSESSIONID说明是java、包含ASP.NET_SessionId说明是aspx等。
	常见指纹识别工具
		Wappalyzer(集成在浏览器或可单独)
		whatweb(集成在kali)
			what web -v(详细信息)+ 域名
		Web Develpoer(浏览器集成)
		御剑web指纹识别
		WTFScan

资产梳理

	有了庞大的域名,接下来就是帮助 SRC 梳理资产了。域名可以先判断存活,活着的继续进行确定 IP 环节。根据 IP 的分布,CMS,指纹,确定企业的公网网段,进行整理。对前期收集到的信息整理是一项不小的工程,精准度比较难以拿捏。
		不过通过不断实战,肯定可以琢磨出一些东西,所以有人称白帽子可能会比企业的运维更了解资产信息。资产梳理过程中可能需要对相关资产漏洞进行查询、利用、发布等,可能会用到已下相关链接地址:
			SRC 众测平台
				国际漏洞提交平台 https://www.hackerone.com/
				BugX 区块链漏洞平台 http://www.bugx.org/
				Gsrc 瓜子 src https://security.guazi.com/
				区块链安全响应中心 https://dvpnet.io/
				CNVD 国家信息安全漏洞平台 http://www.cnvd.org.cn/
				漏洞银行:https://www.bugbank.cn/
				360 补天:https://www.butian.net/
				教育行业漏洞报告平台(Beta)https://src.edu-info.edu.cn/login/
			国内平台
				知道创宇 Seebug 漏洞平台 https://www.seebug.org/
				工控系统行业漏洞平台 http://ivd.winicssec.com/
				打造中文最大 exploit 库 http://www.expku.com/
				为数不多的漏洞管理插件收集平台 http://www.bugscan.net/source/template/vulns/
				一家管理漏洞收集的平台 http://www.0daybank.org/
			国外平台
				国际漏洞提交平台 https://www.hackerone.com/
				xss poc http://xssor.io/
				oday 漏洞库 https://www.0day.today/
				路由器漏洞库 http://routerpwn.com/
				cve 漏洞平台 http://cve.mitre.org/
			威胁情报
				安全数据交流平台 https://www.secsilo.com/
				华为安全情报 https://isecurity.huawei.com/sec/web/intelligencePortal.do
				威胁情报共享平台 https://www.threatcrowd.org/
				被黑站点统计 http://www.hacked.com.cn/
			社工库
				微信伪造 http://www.jietuyun.com/
				任意邮箱发送 http://tool.chacuo.net/mailanonymous 和 https://emkei.cz/
				临时邮箱(无需注册) http://www.yopmail.com/
				邮箱池群 http://veryvp.com/
				社工库 http://www.uneihan.com/

fofa及nmap使用

	fofa hack
		domain=""||ip=""||host=""||title=""||header=""
		protocol="https",搜索指定协议类型
		app="phpinfo"搜索某些组件相关系统
		host="oldboyedu.com/"搜索包含有特定字符的 URL
		title="powered by" && os==windows 搜索网页标题中包含有特定字符并且系统是 windows的网页
		详细请看官方详细文档; https://fofa.so/help
	nmap
		(判断存活率和多用于c段收集信息扫描,因为目前在c段收集资产的时候不是很稳定,而且都是80端口)
			http://blog.sina.com.cn/s/blog_811d9fdd0101ey07.html 功能介绍
			http://www.cnblogs.com/c4isr/archive/2012/12/07/2807491.html 10 种扫描方式解释
			 由于是在 win7 上面使用,所以要使用兼容 win7 的 winpcap 驱动,这里我们使用最新版4.1.2 版
			winpcap4.1.2 下载地址:http://www.onlinedown.net/soft/2685.htm
		功能介绍
			Nmap 是一个网络连接端口扫描软件,用来扫描网上电脑开放的网络连接端口。确定哪些服务运行在哪些连接端口,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,以及用于评估网络系统安全。
				功能1 • 主机发现
				功能2 • 端口扫描
				功能3 • 版本侦测
				功能4 • OS侦测
		Nmap 的通用命令格式:Nmap<扫描选项><扫描目标>
			(详细教程及下载方式参见:http://nmap.org/)
		实战
			主机发现(判断存活率)
				主机发现原理 
					主机发现的原理与 Ping 命令类似,发送探测包到目标主机,如果收到回复,那么说明
						目 标 主 机 是 开 启 的 。 Nmap 支 持 十 多 种 不 同 的 主 机 探 测 方 式 , 比 如 发 送 ICMP 
						ECHO/TIMESTAMP/NETMASK 报文、发送 TCPSYN/ACK 包、发送 SCTP INIT/COOKIE-ECHO 包,用
						户可以在不同的条件下灵活选用不同的方式来探测目标机。
				主机发现的基本用法 
					-sL: List Scan 列表扫描,仅将指定的目标的 IP 列举出来,不进行主机发现。
					 -sn: Ping Scan 只进行主机发现,不进行端口扫描。
					-Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。
					-PS/PA/PU/PY[portlist]: 使用 TCPSYN/ACK 或 SCTP INIT/ECHO 方式进行发现。
					 -PE/PP/PM: 使用 ICMP echo, timestamp, and netmask 请求包发现主机。
					 -PO[protocollist]: 使用 IP 协议包探测对方主机是否开启。
					-n/-R: -n 表示不进行 DNS 解析;-R 表示总是进行 DNS 解析。
					--dns-servers <serv1[,serv2],...>: 指定 DNS 服务器。
					 --system-dns: 指定使用系统的 DNS 服务器
					 --traceroute: 追踪每个路由节点
				使用演示 
					扫描局域网 10.1.1.1-10.1.1.100 范围内哪些 IP 的主机是活动的。
						命令如下:nmap –sn 10.1.1.1-100
			端口扫描
				端口扫描原理
					端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。
					默认情况下,Nmap 会扫描 1000 个最有可能开放的 TCP 端口。Nmap 通过探测将端口划分为 6个状态:
						open:端口是开放的。
						closed:端口是关闭的。
						filtered:端口被防火墙 IDS/IPS 屏蔽,无法确定其状态。
						unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。
						open|filtered:端口是开放的或被屏蔽。
						closed|filtered :端口是关闭的或被屏蔽。
					端口扫描方面非常强大,提供了很多的探测方式:
					TCP SYN scanning
					TCP connect scanning
					TCP ACK scanning
					TCP FIN/Xmas/NULL scanning
					UDP scanning
					其他方式
				端口扫描用法
					 -sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans 的方式来对目标主机进行扫描。
					 -sU: 指定使用 UDP 扫描方式确定目标主机的 UDP 端口状况。
					-sN/sF/sX: 指定使用 TCP Null, FIN, and Xmas scans 秘密扫描方式来协助探测对方的 TCP 端口状态。
					 --scanflags <flags>: 定制 TCP 包的 flags 
					-sI <zombiehost[:probeport]>: 指定使用 idle scan 方式来扫描目标主机(前提需要找到合适的 zombie host) 
					 -sY/sZ: 使用 SCTP INIT/COOKIE-ECHO 来扫描 SCTP 协议端口的开放的情况。
					 -sO: 使用 IP protocol 扫描确定目标机支持的协议类型。
					-b <FTP relay host>: 使用 FTP bounce scan 扫描方式
				使用演示
					在此,我们以主机 10.1.1.100 为例。命令如下:nmap –sS –sU –T4 –top-ports 300 1.1.1.100
					参数-sS 表示使用 TCP SYN 方式扫描 TCP 端口;-sU 表示扫描 UDP 端口;-T4 表示时间级别配置 4 级;--top-ports 300 表示扫描最有可能开放的 300 个端口(TCP 和 UDP 分别有300 个端口)
			版本侦测
				版本侦测原理
					简要的介绍版本的侦测原理。版本侦测主要分为以下几个步骤:
					首先检查open与open|filtered状态的端口是否在排除端口列表内。如果在排除列表,将该端口剔除。
					 如果是 TCP 端口,尝试建立 TCP 连接。尝试等待片刻(通常 6 秒或更多,具体时间可以
						查询文件 nmap-services-probes 中 Probe TCP NULL q||对应的 totalwaitms)。通常在
							等待时间内,会接收到目标机发送的“WelcomeBanner”信息。nmap 将接收到的 Banner
								与 nmap-services-probes 中 NULL probe 中的签名进行对比。查找对应应用程序的名字
									与版本信息。
					 如果通过“Welcome Banner”无法确定应用程序版本,那么 nmap 再尝试发送其他的探测包(即从 nmap-services-probes 中挑选合适的 probe),将 probe 得到回复包与数据
					库中的签名进行对比。如果反复探测都无法得出具体应用,那么打印出应用返回报文,让用户自行进一步判定。
					 如果是 UDP 端口,那么直接使用 nmap-services-probes 中探测包进行探测匹配。根据结果对比分析出 UDP 应用服务类型。
					如果探测到应用程序是 SSL,那么调用 openSSL 进一步的侦查运行在 SSL 之上的具体的应用类型。
					如果探测到应用程序是 SunRPC,那么调用 brute-force RPC grinder 进一步探测具体服务
				版本侦测用法
					-sV: 指定让 Nmap 进行版本侦测
					--version-intensity <level>: 指定版本侦测强度(0-9),默认为 7。数值越高,探测出的服务越准确,但是运行时间会比较长。
					 --version-light: 指定使用轻量侦测方式 (intensity 2)
					 --version-all: 尝试使用所有的 probes 进行侦测 (intensity 9)
					--version-trace: 显示出详细的版本侦测过程信息
				使用演示
					对主机 10.1.1.100 进行版本侦测。
					命令如下:nmap –sV 10.1.1.100
			OS 侦测
				OS 侦测原理
					Nmap 使用 TCP/IP 协议栈指纹来识别不同的操作系统和设备。在 RFC 规范中,有些地方
						对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap
							主要是根据这些细节上的差异来判断操作系统的类型的。
					具体实现方式如下:
						Nmap 内部包含了 2600 多已知系统的指纹特征(在文件 nmap-os-db 文件中)。将此指纹数据库作为进行指纹对比的样本库。分别挑选一个 open 和 closed 的端口,向其发送经过精心设计的 TCP/UDP/ICMP 数据包,根据返回的数据包生成一份系统指纹。将探测生成的指纹与nmap-os-db 中指纹进行对比,查找匹配的系统。如果无法匹配,以概率形式列举出可能的系统。
				OS 侦测用法
					-O: 指定 Nmap 进行 OS 侦测。
					 --osscan-limit: 限制 Nmap 只对确定的主机的进行 OS 探测(至少需确知该主机分别有一个 open 和 closed 的端口)。
					 --osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统。
				使用演示
					命令:nmap –O 10.1.1.100
			漏洞扫描
		优缺点
			优势: 功能灵活强大,支持多种目标,大量计算机的同时扫描;
			开源,相关帮助文档十分详细;
			流行,由于其具有强大的扫描机探测功能,,已被成千上万安全专家使用。
			劣势: Nmap 参数众多,难以一一记忆;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值