指纹收集是信息收集非常重要的一个环节,通常包括系统,中间件,web程序,防火墙四个方面。比如在web程序指纹中的cms识别可以直接查找已有的漏洞进行利用,其他方面也都有助于下一步的攻击操作。
先来几个在线工具:
yunsee.cn-2.0
在线指纹识别,在线cms识别小插件--在线工具
TideFinger 潮汐指纹 TideFinger 潮汐指纹
(1)使用工具nmap -O ip命令对目标主机进行识别,通过tcp/ip数据包发到目标主机,每个操作系统对处理tcp/ip包不同,通过差异来识别主机操作系统,还有其他工具
(2)通过端口扫描的方式来推测系统指纹,windows有特有的服务,比如3389端口RDP协议,445端口smb协议,80端口iis
(3)如果目标主机有web端,可以在url后面的文件目录地方改大小写判断,一般windows对大小写不敏感,linux对大小写敏感,意味着如果输入大写后网页正常显示则大体能判断为windows系统
(1)通过端口收集,常见的web中间件对应端口有,直接用nmap扫一扫
apache:80
nginx:80
tomcat:8080
jboss:8080
weblogic:7001
(2)看响应包的server字段,该字段是http服务器的安装信息,直接f12里的network选项重新请求页面会有响应包
(1)url目录文件后缀名识别
(2)http响应包x-powered-by字段,若被意识好的处理后就没有
(3)cookie:PHPSESSIONID->php,JSPSESSIONID->jsp ASPSESSIONIDAASTCACQ->asp
开发框架一般可以理解为方便开发,给了你砖你只需要用砖盖房子,就不需要从零开始先造砖了,而框架也有漏洞,如果一个特别火的框架出现漏洞是毁灭性的问题
(1)php的thinkphp框架识别方法特定ico图标
(2)Action后缀90%几率struts.2或者webwork
(3)do后缀50%几率spring mvc
(4)url路径/action/xxx70%几率struts2
(5)form后缀60%几率spring mvc
(6)Vm后缀90%几率VelocityViewServlet
(7)jsf后缀99%几率Java Server Faces
一般用工具收集
包括流量统计、文件编辑器、模板引擎。识别方法:一般目录扫描。FCKeditor、CKEditor。
cms可以理解为给一个毛坯房只需要装修,灵活性要比框架差很多,但是可以在短时间内完成建站
(1)一般通过特定文件夹识别:dede/、admin/admin_Login.aspx...
(2)展示页面的细节如Powered by **
(3)网站favicon图标
一部分考经验,用工具收集会方便很多
(4)御剑web指纹识别系统
(1)通过一些常用的语言和数据库的组合常规判断,asp->sql server,php->mysql,.jsp-oracle,其实也是经验
(2)网站错误信息
(3)端口服务,如:sql server:1443,mysql:3306,oracle:1521
wafw0of工具