信息收集+初步漏洞打点

news2025/5/18 18:14:32

目标:理解信息收集在渗透测试中的意义,熟悉常用工具用法,完成基本打点测试

一.理论学习:

模块内容说明
信息收集分类主动信息收集 vs 被动信息收集
目标发现子域名、IP、端口、子站点、目录、接口
技术指纹识别Web框架(如ThinkPHP)、CMS(如WordPress)、服务器中间件(如nginx、tomcat)
OSINT 思路从公开资源(百度、Shodan、Github)收集情报
工具准备学会这些理论是后面用工具(如 nmap, whatweb)的基础

1.信息收集分类

主动信息收集:通过直接发起与北侧目标网络间的互动来获取相关信息,如通过Nmap扫描,直接访问网站目录,暴力破解子域名等(速度快,信息新且准确,但会留下访问痕迹)

被动信息收集:通过第三方服务间接获取目标网络相关信息,如搜索引擎查询,查询DNS历史记录,查看WHOIS信息等

(隐蔽性强,但信息可能不及时或不准确)

2.目标发现

1)子域名:大型网站往往有多个子域名,有些可能安全性较弱

方法:字典爆破工具,搜索引擎,SSL证书查询,DNS区域传输测试

2)IP:确定网站真实IP

方法:DNS历史记录查询,全球ping测试,查询MX记录,SPF记录等辅助信息,通过子域名可能找到真实IP

3)端口:确定开放的服务和潜在攻击面

方法:Nmap,masscan(高速扫描工具)

关键端口:

  1. web:80,443,8080,8443
  2. 数据库:3306(MySQL),5432(PostgreSQL)
  3. 远程管理:22(SSH),3389(RDP)

4)子站点/目录:发现隐蔽的管理后台,测试页面等

工具:dirsearch,gobuster,burp suite的intruder模块

6)接口:现代应用大量使用API接口,可能暴露敏感功能

方法:分析JS文件查找API端点,使用burp等代理工具捕获请求,检查/swagger/, /api-docs/等常见文档路径

3.技术指纹识别

1)Web框架识别:知道框架后可查找已知漏洞

  • 方法

    • HTTP响应头(X-Powered-By等)

    • 默认错误页面特征

    • 特定URL路径(如/thinkphp/...)

    • 工具:whatweb, wappalyzer

2)CMS(内容管理系统)识别

  • 常见CMS

    • WordPress: 检查/wp-admin/, wp-includes/

    • Joomla: 检查/administrator/

    • Drupal: 检查/core/

  • 工具

    • CMSeek

    • 在线工具:builtwith.com

3)服务器中间件识别:不同中间件有不同的配置方法和漏洞

  • 常见中间件

    • Nginx: Server头通常包含nginx版本

    • Apache: Server头包含Apache

    • IIS: 微软特有响应头

4.OSINT(开源情报)思路

1)搜索引擎技巧

  • Google Dorking

    • site:example.com filetype:pdf

    • inurl:admin site:example.com

    • intitle:"index of" "parent directory"

2)Shodan:搜索联网设备

  • 示例查询

    • hostname:example.com

    • port:22 country:CN

    • product:nginx

3)Github情报收集:开发人员可能意外上传敏感信息

  • 搜索技巧

    • 搜索公司名+关键词(password, secret, config)

    • 检查.git目录泄露

    • 查找历史提交中的敏感信息

4)其他

  • WHOIS查询:获取注册信息

  • 社交媒体:LinkedIn员工信息

  • 历史快照:archive.org查看网站历史版本

5.常用工具详解

1)Nmap

# 基本扫描
nmap -sV -O target_ip

# 隐蔽扫描(不完成TCP握手)
nmap -sS -Pn target_ip

# 脚本扫描(使用漏洞检测脚本)
nmap --script=vuln target_ip

2)WhatWeb

# 基本使用
whatweb http://example.com

# 详细输出
whatweb -v http://example.com

3)Subfinder(子域名发现)

subfinder -d example.com -o subdomains.txt

4)dirsearch(目录爆破)

dirsearch -u http://example.com -e php,html,js -w /path/to/wordlist.txt

6.基本打点测试流程

  1. 确定范围:明确授权测试的域名/IP范围

  2. 被动收集:先通过OSINT方法收集信息

  3. 主动扫描:进行端口扫描、子域名爆破等

  4. 指纹识别:确定使用的技术栈

  5. 漏洞映射:根据技术栈查找已知漏洞

  6. 验证测试:对发现的潜在漏洞进行验证性测试

  7. 报告整理:记录所有发现,包括负面结果

二.工具实战

Amass&Httpx

被动枚举:(不跟目标通信)

amass enum -passive -d baidu.com

结果:

格式:<域名> → <记录类型> → <目标>:哪个域名通过什么记录类型关联到了哪个结果

记录类型信息含义实战用途
A Record域名对应 IP后续 Nmap 扫描
CNAME指向别名域检查外部服务、接管风险
MX邮件服务器邮件相关服务探测
NSDNS 服务器枚举 NS、尝试 Zone Transfer
ASN/IP段IP归属分析扩展目标范围

主动枚举:(跟目标服务器通信)+保存结果

amass enum -active -d baidu.com -o amass_output.txt

1)格式化输出结果,提取子域名

grep -oE '[a-zA-Z0-9.-]+\.baidu\.com' amass_output.txt | sort -u > baidu_subs.txt

解释:用正则提取FQDN域名,sort -u去重,输出成只有子域名的一行一个的格式

2)探测子域是否可访问

httpx -l baidu_subs.txt -status-code -title -tech-detect -ip -o baidu_live.txt

3)识别潜在风险子域

cat amass_output.txt | grep "cname_record" | grep -v "baidu.com" > cname_candidates.txt

Nmap

功能参数说明
扫描目标nmap target.com默认扫描常用端口
指定端口-p 80,443扫描特定端口
所有端口-p-扫描所有 65535 个端口
快速扫描-F扫描常用 100 端口
服务识别-sV探测服务名称和版本
OS识别-O探测操作系统
使用脚本--script=xxx使用 NSE 脚本
输入文件扫描-iL list.txt从文件导入 IP 列表
输出-oN out.txt普通输出到文件

WhatWeb

用于识别网站所使用的技术栈,web服务器,中间件框架,CMS系统,编程语言,安全机制等

通过HTTP头部信息,HTML内容中的关键词或特征码,cookies中的特征字段,JS,CSS文件路径等进行识别

whatweb http://example.com
参数含义
-v显示详细信息(verbose)
-a LEVEL识别级别(Aggression Level):从 1 到 4,默认 1,4 最激进
-U AGENT伪造 User-Agent
-t设置并发线程数(默认1)
-o FILENAME输出结果到文件
--log-verbose=FILENAME记录详细日志
--no-errors不显示错误信息
--proxy设置代理(如 Burp Suite)
--color=never禁用颜色输出

用工具扫描vulhub实例

用whatweb进行技术指纹识别

用dirsearch进行目录扫描

nikto:自动检测常见漏洞,弱点配置

可进行路径遍历,文件泄露漏洞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2378678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript【5】DOM模型

1.概述&#xff1a; DOM (Document Object Model)&#xff1a;当页面被加载时&#xff0c;浏览器会创建页面的文档对象模型&#xff0c;即dom对象&#xff1b;dom对象会被结构化为对象树&#xff0c;如一个HTML文档会被分为head&#xff0c;body等部分&#xff0c;而每个部分又…

Cloudflare防火墙拦截谷歌爬虫|导致收录失败怎么解决?

许多站长发现网站突然从谷歌搜索结果中“消失”&#xff0c;背后很可能是Cloudflare防火墙误拦截了谷歌爬虫&#xff08;Googlebot&#xff09;&#xff0c;导致搜索引擎无法正常抓取页面。 由于Cloudflare默认的防护规则较为严格&#xff0c;尤其是针对高频访问的爬虫IP&…

如何在 Windows 11 或 10 的 CMD 中检查固件

检查 Windows 11 或 10 中现有设备的硬件固件版本,可以帮助用户安装和更新准确的驱动程序,进行故障排除活动,确保兼容性以及维护系统性能。因此,在本教程中,我们将讨论如何在命令提示符(CMD)中使用一些命令查找 Windows 服务器或桌面中硬件固件版本的方法。由于本教程将…

进阶-数据结构部分:3、常用查找算法

飞书文档https://x509p6c8to.feishu.cn/wiki/LRdnwfhNgihKeXka7DfcGuRPnZt 顺序查找 查找算法是指&#xff1a;从一些数据之中&#xff0c;找到一个特殊的数据的实现方法。查找算法与遍历有极高的相似性&#xff0c;唯一的不同就是查找算法可能并不一定会将每一个数据都进行访…

基于QT和FFmpeg实现自己的视频播放器FFMediaPlayer(一)——项目总览

在音视频开发的学习过程中&#xff0c;开发一款视频播放器是FFmpeg进阶的最好实战方法。本文将基于 QT 和 FFmpeg 着手实现自定义视频播放器 FFMediaPlayer&#xff0c;作为系列文章的开篇&#xff0c;我们先来整体了解项目的设计思路、架构与配置。 一、软件设计五大原则​ …

【HCIA】浮动路由

前言 我们通常会在出口路由器配置静态路由去规定流量进入互联网默认应该去往哪里。那么&#xff0c;如果有两个运营商的路由器都能为我们提供上网服务&#xff0c;我们应该如何配置默认路由呢&#xff1f;浮动路由又是怎么一回事呢&#xff1f; 文章目录 前言1. 网络拓扑图2. …

使用instance着色

本节我们学习使用instance着色器进行着色 //拾取var handler new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);handler.setInputAction(function(movement){console.log(movement);var pickedObject viewer.scene.pick(movement.position);if(Cesium.defined(picke…

【NLP 72、Prompt、Agent、MCP、function calling】

命运把我们带到哪里&#xff0c;就是哪里 —— 25.5.13 一、Prompt 1.User Prompt 用户提示词 当我们与大模型进行对话时&#xff0c;我们向大模型发送的消息&#xff0c;称作User Prompt&#xff0c;也就是用户提示词&#xff0c;一般就是我们提出的问题或者想说的话 但是我们…

Mysql数据库之集群进阶

一、日志管理 5.7版本自定义路径时的文件需要自己提前创建好文件&#xff0c;不会自动创建&#xff0c;否则启动mysql会报错 错误日志 rpm包(yum) /var/log/mysql.log 默认错误日志 ###查询日志路径 [rootdb01 ~]# mysqladmin -uroot -pEgon123 variables | grep -w log_e…

临床决策支持系统的提示工程优化路径深度解析

引言 随着人工智能技术在医疗领域的迅猛发展,临床决策支持系统(CDSS)正经历从传统规则引擎向智能提示工程的范式转变。在这一背景下,如何构建既符合循证医学原则又能适应个体化医疗需求的CDSS成为医学人工智能领域的核心挑战。本报告深入剖析了临床决策支持系统中提示工程的…

苹果新一代车载系统CarPlay Ultra来袭,全屏接管+ChatGPT助力,智能驾驶要“起飞”

AITOP100获悉&#xff0c;苹果又搞出大动作啦&#xff01;正式推出了新一代车载系统——CarPlay Ultra。这次&#xff0c;苹果可是下了狠功夫&#xff0c;把iPhone和汽车的所有显示屏深度整合到了一起&#xff0c;还首次把ChatGPT引入到了驾驶体验当中。这系统可不简单&#xf…

无线信道的噪声与干扰

目录 1. 无线信道(wireless channel)与电磁波 2.1 电磁波的传输(无线信道传输) 2.2 视线(line of sight)传播与天线高度 2. 信道的数学模型 2.1 调制信道模型 2.1.1 加性噪声/加性干扰 2.1.2 乘性噪声/乘性干扰 2.1.3 随参信道/恒参信道 2.2 编码信道模型 2.3 小结 …

MySQL 8.0 OCP 1Z0-908 101-110题

Q101.which two queries are examples of successful SQL injection attacks? A.SELECT id, name FROM backup_before WHERE name‘; DROP TABLE injection; --’; B. SELECT id, name FROM user WHERE id23 oR id32 OR 11; C. SELECT id, name FROM user WHERE user.id (SEL…

BBR 的 buffer 动力学观感

这周很忙&#xff0c;今天还加了一天班&#xff0c;但还是抽空实现了五一在安徽泾县山区喝着一壶酒写的 BBR ProbeRTT 的想法&#xff0c;没多少行代码&#xff0c;它真就消除了带宽锯齿&#xff0c;皮了个鞋&#x1f45e;&#xff0c;昨天我还在群里说了今天再说说 BBR 的&…

Spring之Bean的初始化 Bean的生命周期 全站式解析

目录 导图 步骤 第一步 实例化 第二步 属性赋值 第三步 初始化 aware 接口 BeanPostProcessor 接口 InitializingBean 和 init-method 第四步使用 第五步使用后销毁 描述一下 Bean 的 生命周期 导图 步骤 总体上可以分为五步 首先是 Bean 的实例化Bean 在进行实例…

FreeCAD源码分析: Transaction实现原理

本文阐述FreeCAD中Transaction的实现原理。 注1&#xff1a;限于研究水平&#xff0c;分析难免不当&#xff0c;欢迎批评指正。 注2&#xff1a;文章内容会不定期更新。 一、概念 Ref. from What is a Transaction? A transaction is a group of operations that have the f…

flutter缓存网络视频到本地,可离线观看

记录一下解决问题的过程&#xff0c;希望自己以后可以参考看看&#xff0c;解决更多的问题。 需求&#xff1a;flutter 缓存网络视频文件&#xff0c;可离线观看。 解决&#xff1a; 1&#xff0c;flutter APP视频播放组件调整&#xff1b; 2&#xff0c;找到视频播放组件&a…

Kotlin 中 infix 关键字的原理和使用场景

在 Kotlin 中&#xff0c;使用 infix 关键字修饰的函数称为中缀函数&#xff0c;使用是可以省略 . 和 ()&#xff0c;允许以更自然&#xff08;类似自然语言&#xff09;的语法调用函数&#xff0c;这种特性可以使代码更具可读性。 1 infix 的原理 中缀函数必须满足以下条件&…

c++从入门到精通(五)--异常处理,命名空间,多继承与虚继承

异常处理 栈展开过程&#xff1a; 栈展开过程沿着嵌套函数的调用链不断查找&#xff0c;直到找到了与异常匹配的catch子句为止&#xff1b;也可能一直没找到匹配的catch&#xff0c;则退出主函数后查找过程终止。栈展开过程中的对象被自动销毁。 在栈展开的过程中&#xff0c…

gcc/g++常用参数

1.介绍 gcc用于编译c语言&#xff0c;g用于编译c 源代码生成可执行文件过程&#xff0c;预处理-编译-汇编-链接。https://zhuanlan.zhihu.com/p/476697014 2.常用参数说明 2.1编译过程控制 参数作用-oOutput&#xff0c;指定输出名字-cCompile&#xff0c;编译源文件生成对…