渗透测试信息收集技巧(3)——指纹识别

2024-09-26 18:17:23 浏览数 (1)

指纹识别

系统指纹识别

通过TCP/IP数据包发到目标主机,由于每个操作系统类型对于处理TCP/IP数据包都不相同,所以可以通过之间的差别判定操作系统类型。

代码语言:python代码运行次数:0复制
nmap -sS -Pn -O ip


-sS  半开放扫描
-Pn  不进行主机存活探测

nmap 识别操作系统指纹必须使用端口,所以不允许添加-sn参数
代码语言:python代码运行次数:0复制
nmap -sS -sV ip

nmap xxx.xxx.xxx.xxx -sS  -vv -Pn

nmap xxx.xxx.xxx.xxx -sS -vv -Pn -sV

中间件指纹识别

  • 通过http返回消息中提取server字段
  • 通过端口服务探测中间件
  • 通过构造错误界面返回信息查看中间件

通过http返回消息中提取server字段

通过端口服务探测中间件

常用端口:Tomcat、Jboss 8080、weblogic 7001

通过构造错误界面返回信息查看中间件

主要构造不存在的路径和畸形数据

Web程序指纹识别

  • 开发语言
  • 开发框架
  • 第三方组件
  • CMS程序
  • 数据库

开发语言

后缀名识别 : .asp、.php、.jsp

如果无法通过后缀名识别,可以通过抓包查看与后台交互点,如:登录,查询。

代码语言:python代码运行次数:0复制
http返回消息头 :x-Powered-By

cookie:PHPSESSIONID ->php ,JSPSESSIONID ->jsp  ,ASPSESSIONIDAASTCACQ->asp

开发框架

第三方组件

一般包括流量统计、文件编辑器、模板引擎等。

识别方法:一般目录扫描

  • FCKeditor
  • CKEditor

CMS程序

  • 存在特定文件夹:dede/、admin/admin Login.aspx
  • 备注有Powered by ***公司
  • 网站favicon图标

数据库

  • 常规判断,asp->sqlserver,php->mysql,jsp->oracle
  • 网站错误信息
  • 端口服务,1433->sqlserver,3306->mysql,oracle->1521

工具

浏览器插件 wappalyzer ,可以探测内容管理系统,平台,开发语言,框架甚至更多。

云悉 https://www.yunsee.cn/ : 在线自动探测目标网站的数据库,开发语言,操作系统,web容器,CMS,开发框架。

防火墙指纹识别

代码语言:python代码运行次数:0复制
nmap -p 80 --script http-waf-fingerprint 目标
代码语言:python代码运行次数:0复制
sqlmap -u "domain" --identify -waf

从github下载Wafw00f软件,然后分析该软件识别waf采用的方法。

代码语言:txt复制
# 克隆源码到kali系统,注意先切换root用户权限
git clone https://github.com/EnableSecurity/wafw00f.git

# 切换到wafw00f
cd wafw00f

# 安装wafw00f,官方提供的命令
python setup.py install

# 我的kali系统不知道什么原因上面命令安装失败,可能有安装python3的原因,使用python3命令安装成功了
python3 setup.py install

# 查看支持测试WAF列表
wafw00f -l

测试命令如下:

代码语言:txt复制
wafw00f 域名或ip

有使用WAF示例

没有使用WAF示例图

本文部分图片摘自深信服安全服务认证工程师课程课件中,为方便个人学习使用,勿作商用!!!!文字内容为自己手打,并非直接搬运!如有侵权,请联系删除!!!

本文档所提供的信息仅用于教育目的及在获得明确授权的情况下进行渗透测试。任何未经授权使用本文档中技术信息的行为都是严格禁止的,并可能违反《中华人民共和国网络安全法》及相关法律法规。使用者应当合法合规地运用所学知识,不得用于非法入侵、破坏信息系统等恶意活动。我们强烈建议所有读者遵守当地法律与道德规范,在合法范围内探索信息技术。

我正在参与2024腾讯21天技术创作挑战赛|年中回顾特别季,年中技术沉淀,拯救你的flag,快来和我瓜分大奖!

0 人点赞