方法一:通过TCP/IP数据包发到目标主机,由于每个操作系统类型对于处理TCP/IP数据包都不相同,所以可以通过之间的差别判定操作系统类型。nmap识别操作系统指纹必须使用端口,所以不允许添加-sn参数。
方法二:每个操作系统都有特有的服务和端口,如:windows桌面连接使用的3389 RDP协议;445端口windows的smb协议开启端口;iis 80端口。
方法一:通过http返回消息中提取server字段。
方法二:通过端口服务探测中间件。
可以扫描出所有开放80端口的主机下所开启的中间件。可以根据中间件所开发的端口来定向IP扫描。Tomcat开放端口:8080 ;Jboss开放端口:8080;weblogic开放端口:7001;apache开放端口:80;nginx开放端口:80
方法三:通过构造错误界面返回信息查看中间件。
(1)后缀名识别:.asp、.php、.jsp。
(2)通过抓包查看与后台交互点,如:登录,查询。
(3)http返回消息头x-Powered-By。
(4)cookie:PHPSESSIONID->php、JSPSESSIONID->jsp 、ASPSESSIONIDAASTCACQ->asp
(1)php的thinkphp框架识别方法特定ico图标
(2)Action后缀 90%几率struts2或者webwork
(3)do后缀 50%几率spring mvc
(4)url路径/action/xxx 70%几率struts2
(5)form后缀 60%几率spring mvc
(6)Vm后缀 90%几率VelocityViewServlet
(7)jsf后缀 99%几率Java Server Faces
一般包括流量统计、文件编辑器、模板引擎。识别方法:一般目录扫描。FCKeditor、CKEditor。
(1)特定文件夹:dede/、admin/admin_Login.aspx
(2)Powered by ***
(3)网站favicon图标
(1)常规判断,asp->sql server , php->mysql, jsp-oracle
(2)网站错误信息
(3)端口服务,1443 -> sql server,3306 -> mysql, oracle—>1521
(1)浏览器插件wappalyzer,可以探测内容管理系统,平台,开发语言,框架甚至更多。
(2)云悉 https://www.yunsee.cn/
在线自动探测目标网站的数据库,开发语言,操作系统,web容器,CMS,开发框架。
登录kali主机,在终端中使用nmap工具探测资产服务指纹。
1、命令一:
2、命令二:
3、命令三:
实验环境中未部署waf,所以无waf相关信息显示,下图为实际环境中测试,探测到waf设备的信息
4、Wafw00f(web应用防火墙指纹识别工具)
(1)在linux中下载工具(kali自带的有)