SRC信息收集续集

发布时间:2026/7/6 3:38:18
SRC信息收集续集 SRC 信息收集续集 — 从插件到自动化武装你的挖洞工具箱上节课我们聊了信息收集的理论和基本方法今天我们来点硬核的浏览器插件、端口扫描、Web 刺探以及用 Python 把信息收集自动化起来。准备好了吗课程概览1. 信息收集的各种插件扩展技能 2. 端口扫描续集进阶篇 3. Web 信息刺探续集 4. Python 信息收集实战 5. 作业用 Python 实现子域名查询 端口扫描一、信息收集必备浏览器插件在网络安全领域信息收集是至关重要的一环。下面这些浏览器插件就像给你的浏览器装了雷达一样让你在浏览网页的同时悄无声息地收集目标信息。0. 插件安装教程所有插件的安装方式大同小异这里以 Chrome 为例打开 Chrome 应用商店搜索插件名称点击「添加至 Chrome」安装后在浏览器右上角点开插件图标即可使用1. Shodan 插件Shodan 被称为「暗黑谷歌」是互联网设备搜索引擎的老大哥。它能让你看到什么当前网站的 IP 地址反解析域名国家 / 城市开放的端口一键跳转到 Shodan 网页查看更多信息实战场景访问http://www.chungwah.com.hk/点开 Shodan 插件立马看到这个站点的端口对外开放情况。是信息收集的必备插件之一。2. FOFA Pro View 插件FOFA 是国内最强大的网络空间测绘平台之一这个浏览器插件让你在浏览目标网站时直接获取 FOFA 数据。能拿到什么所属地区网络类型关联的资产信息一句话帮你对目标网站有个全面的第一印象不用来回切页面效率拉满。3. FindSomething 插件这个插件非常实用——它能从网页的源代码和 JavaScript 文件中找到隐藏的宝藏。它能找出什么内嵌的 URL 路径JS 变量中的敏感信息可能在源码里藏着的用户名和密码很多时候开发人员会不小心在前端代码里留下测试账号、API Key 之类的东西。FindSomething 把这些信息整理并展现出来简直是挖洞利器。4. Wappalyzer 插件Wappalyzer 是全球使用最广泛的技术栈识别工具之一。它的作用是什么识别后端语言PHP / Python / Java / Node.js 等识别服务器中间件Apache / Nginx / IIS 等识别前端框架React / Vue / jQuery 等识别 CMS 系统WordPress / Drupal 等为什么要知道这些举个例子如果你发现目标用的是 WordPress 4.x 旧版本且没打补丁就可以针对性地去找已知漏洞而不是盲目扫描。知己知彼百战不殆。5. Similar Sites 插件这个插件的逻辑很简单却非常聪明找到与当前网站类似的站点。为什么重要如果已知当前网站有某漏洞同类网站很可能也有相同问题扩大信息收集的范围找到更多潜在的目标资产6. Bulk URL Opener 插件功能一次性打开多个 URL。最佳拍档配合 FindSomething 使用。用 FindSomething 从网页源码中扒出一堆 URL 路径后用 Bulk URL Opener 批量打开快速排查哪些是后台登录页、哪些是敏感路径。比如打开一堆/admin路径说不定哪个就暴露了后台。7. Hunter - Email Finder Extension一句话介绍社工必备工具。功能从网站上查找该域名下所有公开的邮箱地址。拿到邮箱后可以干什么可以尝试弱口令撞库、社交工程钓鱼或者在后续密码破解中提供线索。社工这一环在信息收集中往往被低估但效果拔群。8. NexusScan 插件相对较新的安全扫描插件功能很全面利用 VirusTotal API 进行 URL 安全扫描利用 urlscan.io 进行实时分析检测恶意网站和钓鱼页面IP 地址分析技术栈检测装一个插件等于同时用上了 VirusTotal 和 urlscan.io 的能力省时省力。9. 更多插件…插件生态非常丰富篇幅所限不能一一展开但上面这 8 个是 SRC 挖洞中最常用的。工具不在多用精了才是本事。二、端口扫描进阶为什么需要端口扫描上一节课我们聊了在线端口扫描工具但真正的渗透测试中你需要更灵活、更快速的本地工具。masscan nmap被称为端口扫描的黄金组合。masscan — 速度之王masscan 是 Kali 内置的端口扫描工具它的核心优势就是快比 nmap 快得多。最佳实践先用 masscan 对目标 IP通常是一个网段进行全端口扫描然后再用 nmap 对存活主机的开放端口进行详细的服务识别和漏洞探测。常用参数速查表类别参数说明基本扫描-p指定扫描的端口范围--range指定 IP 范围-iL从文件中读取目标 IP速度控制--rate设置扫描速度数据包/秒--max-rate设置最大扫描速度--min-rate设置最小扫描速度输出格式-oL普通文本格式-oJJSON 格式-oGGrepable 格式便于 grep 处理网络探测--pingPing 扫描检测存活主机--banners获取服务横幅信息网络配置--adapter选择网络适配器--router-mac指定路由器 MAC 地址案例 1扫描 C 段指定端口# 扫描 192.168.2.1 到 192.168.2.255 的 80-90 端口sudomasscan-p80-90--range192.168.2.1-192.168.2.255输出示例192.168.2.4 → IIS 服务器 192.168.2.1 → 中国电信网关 192.168.2.5 → 本机案例 2C 段存活主机探测# 检查指定范围内哪些主机在线sudomasscan--ping--range192.168.2.1-192.168.2.255案例 3全端口扫描 目录扫描实战# 扫描所有端口速率设为 1000masscan-p1-65535192.168.2.42--rate1000# 扫描 1-10000 端口masscan-p1-10000192.168.2.42# 扫描 1-100 端口masscan-p1-100192.168.2.42# 只扫 80 端口masscan-p80192.168.2.42目录扫描的作用是什么核心目的自动探测目标网站的隐藏目录和文件挖掘后台入口、敏感配置、未授权资源等。举例扫到www.xx.com/admin/login.php→ 后台登录页 → 尝试弱口令扫到www.xx.com/backup/202505_order.sql→ 数据库备份文件 → 数据直接泄露扫到www.xx.com/phpmyadmin/→ phpMyAdmin 入口 → 可以尝试爆破每一次目录扫描的发现都可能是打开后门的钥匙。补充概念旁注旁注同一台服务器下运行的不同 Web 应用。查询工具https://webscan.cc/场景假设www.xx.com防御做得很好但同一台 IP 下还有一个没人维护的旧站点——从那个旧站点入手最终拿下服务器www.xx.com自然也就落入囊中。masscan vs nmap 速度对比# masscan 方式masscan-p1-100192.168.2.42# nmap 方式nmap192.168.2.42-p1-100# 感觉上还是快一些的masscan 适合大范围快速扫描nmap 适合精细探测。两者取长补短才是最佳姿势。nmap — 瑞士军刀nmap 是功能最全面的网络扫描工具支持端口扫描、主机探测、服务识别、系统识别并且结果可以导出。端口扫描nmap192.168.2.42-p1-100# 扫描 1-100 端口nmap192.168.2.42-p1-1000# 扫描 1-1000 端口nmap192.168.2.42-p80,3389,22,21# 扫描指定端口端口参数写法含义-p 80扫描 80 端口-p 1-80扫描 1~80 端口-p 80,3389,22,21扫描指定端口-p-等价于-p 1-65535主机探测nmap-sP192.168.2.42# 检测主机是否存活服务识别nmap-sV192.168.2.42-p80# 识别 80 端口的服务及版本nmap-sV192.168.2.42# 识别所有开放端口的服务结果导出sudonmap-O192.168.2.42-oNResultContent.txt# 导出为文本文件# 查看结果catResultContent.txtvimResultContent.txt三、Web 信息刺探续集黑暗引擎 — 网络空间测绘四天王引擎地址特点FOFAhttps://fofa.info/国内最强语法丰富Quake360https://quake.360.cn360 出品数据全面Shodanhttps://www.shodan.io老牌引擎国际顶流ZoomEyehttps://www.zoomeye.org知道创宇出品FOFA 搜索语法速查domainbaidu.com# 按域名搜索hostwebserver1# 按主机名搜索ip153.3.238.28# 按 IP 搜索title美食推荐# 按网页标题关键词搜索serverApache# 按服务器软件搜索headerContent-Type: application/json# 按 HTTP 头搜索port80# 按端口搜索cityLondon# 按城市搜索city中国# 按中国城市搜索FBIcountryUS# 组合搜索FOFA 的语法灵活度远超你的想象熟练掌握后你可以不到 1 分钟就定位出全国范围内运行了某个特定漏洞版本软件的服务器。参考文章https://blog.csdn.net/2302_82189125/article/details/135935575https://blog.csdn.net/Javachichi/article/details/145199363社工信息收集快速回顾上一节课讲过的内容这里列个速查工具地址爱企查https://aiqicha.baidu.com/企查查https://www.qcc.com/ICP 备案查询https://beian.miit.gov.cn/NC 瑞士军刀 — 用 NetCat 做端口收集NetCat简称 nc在网络安全界有瑞士军刀的美誉。它可以通过 TCP/UDP 协议进行读写既可以做网络调试工具也可以用来端口扫描。常用参数参数说明-l开启监听模式-p指定端口-t以 telnet 形式应答-e程序重定向-n以数字形式标识 IP-v显示详细信息-z不交互直接显示结果端口扫描必备-u使用 UDP 协议-w设置超时时间-d后台运行实验 1扫描远程网站端口# 先 ping 获取 IPpingwww.chungwah.com.hk# 获得 IP 103.231.255.94# 用 nc 扫描端口nc-n-v-w1-z103.231.255.94802122232553110443143318632289330656315632500080809090输出看到3306端口开放说明该网站使用的是 MySQL 数据库作为后端数据支撑。实验 2扫描本机 phpStudy 端口nc-n-v-w1-z192.168.2.5802122232553110443143318632289330656315632500080809090实验 3扫描端口范围nc-n-v-w1-z192.168.2.51-1000# 扫描 1-1000 端口nc-n-v-w1-z192.168.2.51-100# 扫描 1-100 端口实验 4打印 Banner 信息# 用 echo 配合 nc 获取端口 Banner 信息echo |nc-n-v-w1192.168.2.51-1000echo |nc-n-v-w1192.168.2.51-100拿到 Banner 后在浏览器访问192.168.2.5:80就能看到 Web 服务的具体内容了。四、Python 信息收集实战 — 从零到自动化为什么要学 Python因为当你面对成百上千个目标时手工操作无异于大海捞针。掌握了 Python你就掌握了批量化和自动化的能力。Python 学习的三重意义理解安全工具原理— 知其然更知其所以然掌握自定义开发— 没有工具时可以自己造轮子解决实战痛点— 手工操作麻烦、批量化场景没有现成工具4.1 Python 环境搭建Python 介绍Python 是一种解释型、面向对象、动态数据类型的高级编程语言以简洁易读著称。Python 2 vs Python 3对比项Python 2Python 3官方支持2020 年 1 月 1 日停止当前主流不等号!打印语句print helloprint(hello)输入函数raw_input()input()语法兼容❌ 不兼容 Python 3❌ 不兼容 Python 2请务必使用 Python 3Python 2 已经不再被官方维护。查看版本python--versionPyCharm 介绍PyCharm 是由 JetBrains 公司开发的 Python IDE功能包括调试、语法高亮、项目管理、代码跳转、智能提示、自动补全、单元测试、版本控制等。安装参考https://zhuanlan.zhihu.com/p/3598972134.2 pip — Python 的包管理器pip list# 列出已安装的所有模块pipinstall模块名# 安装最新版本pipinstall模块名版本号# 安装指定版本pip uninstall 模块名# 卸载模块国内镜像源加速安装由于网络原因从 PyPI 官方仓库安装可能很慢建议使用国内镜像# 清华源pipinstallpython-whois-ihttps://pypi.tuna.tsinghua.edu.cn/simple# 阿里云源pipinstallsocket-ihttp://mirrors.aliyun.com/pypi/simple/# 腾讯云源pipinstallsocket-ihttp://mirrors.cloud.tencent.com/pypi/simple镜像源地址清华https://pypi.tuna.tsinghua.edu.cn/simple阿里云http://mirrors.aliyun.com/pypi/simple/中科大https://pypi.mirrors.ustc.edu.cn/simple/华中理工http://pypi.hustunique.com/山东理工http://pypi.sdutlinux.org/豆瓣http://pypi.douban.com/simple/4.3 Python 基础速览注释# 这是单行注释 这是多行注释三个单引号 可以换行写 这也是多行注释三个双引号 引号必须成对出现 变量赋值与输入输出# 变量赋值a10# 输出函数print(Hello, Python!)# 输入函数nameinput(请输入你的姓名)六大标准数据类型类型说明是否可变Numbers数字存储数值❌ 不可变String字符串文本数据❌ 不可变List列表有序集合[ ]✅ 可变Tuple元组有序集合( )❌ 不可变Set集合无序不重复{ }✅ 可变Dictionary字典键值对{key: value}✅ 可变数字var11var210字符串sabcdefprint(s[1:5])# 切片操作strHello World!print(str)# Hello World!print(str[0])# Hprint(str[2:5])# lloprint(str[2:])# llo World!print(str*2)# Hello World!Hello World!print(strTEST)# Hello World!TEST列表list[Beyond,786,2.23,john,70.2]tinyList[123,john]print(list[0])# Beyondprint(list[1:3])# [786, 2.23]print(tinyList*2)# [123, john, 123, john]print(listtinyList)# [Beyond, 786, 2.23, john, 70.2, 123, john]元组tuple(Beyond,786,2.23,john,70.2)tinytuple(123,john)# 元组不能二次赋值相当于只读列表字典dict{}dict[one]This is onedict[2]This is twotinydict{name:Beyond,code:6734,dept:sales}print(dict[one])# This is oneprint(tinydict.keys())# dict_keys([name, code, dept])print(tinydict.values())# dict_values([Beyond, 6734, sales])4.4 流程控制if-else 条件语句namejavaifnamepython:print(welcome boss)else:print(name,不是python)if-elif-else 语句num5ifnum3:print(boss)elifnum2:print(user)elifnum1:print(worker)else:print(error)while 循环count0whilecount10:print(The count is:,count)countcount1print(Good bye!)# continue 和 break 用法i1whilei10:i1ifi%2!0:# 奇数时跳过continueprint(i)# 输出 2、4、6、8、10i1while1:# 无限循环print(i)i1ifi10:break# 跳出循环for 循环# 遍历字符串forletterinPython:print(当前字母: %s%letter)# 遍历列表fruits[banana,apple,mango]forfruitinfruits:print(当前水果: %s%fruit)# range 用法foriinrange(1,10):print(当前数字,i)4.5 函数defprintme(name):打印传入的字符串print(我的名字叫,name)printme(张三)defsum(arg1,arg2):返回两个参数的和totalarg1arg2returntotal totalsum(10,20)print(total)# 304.6 文件操作# 读取文件withopen(example.txt,r,encodingutf-8)asfile:contentfile.read()print(content)# 写入文件withopen(example.txt,w,encodingutf-8)asfile:contentfile.write(abcdefg)4.7 实战案例案例 1Python 实现 IP 查询原理socket.gethostbyname()方法可以根据域名返回对应的 IP 地址。importsocket hostNamewww.baidu.comipsocket.gethostbyname(hostName)print(ip)案例 2Python 实现 WHOIS 查询先装依赖pipinstallpython-whois-ihttps://pypi.tuna.tsinghua.edu.cn/simple代码importwhoisdefwhoisCheck(info):ifinfo:returnprint(你输入的是空的啊)whoisResultInfowhois.whois(info)print(whoisResultInfo)print(whoisResultInfo[name])print(whoisResultInfo[emails])print(whoisResultInfo[registrar])if__name____main__:infoinput(请您输入目标地址哦...)whoisCheck(info)运行后输入www.baidu.com就能看到注册者、联系邮箱、注册商等注册信息。案例 3Python 实现子域名查询原理通过遍历子域名字典用socket.gethostbyname()判断子域名是否存在。能解析到 IP 就说明存在否则域名无效。子域名字典dict.txt可以从 https://site.ip138.com/baidu.com/ 这类站点收集也可以从 GitHub 上找现成的子域名字典。importsocketimporttimedefzymListCheck(url):urlurl.replace(www,)# 去掉 www 前缀forzymListinopen(dict.txt):zymListzymList.replace(\n,)# 去掉换行符zymListUrlzymListurltry:ipsocket.gethostbyname(zymListUrl)print(zymListUrl ---- 该子域名的 IP 为ip)time.sleep(1)exceptExceptionase:print(zymListUrl --- 没有该子域名错误✗)time.sleep(1)if__name____main__:urlinput(请您输入目标地址哦...)zymListCheck(url)案例 4Python 实现端口扫描原理创建 socket 对象尝试连接目标 IP 和端口连接成功说明端口开放。importsocketdefport_test():sksocket.socket()try:sk.connect((127.0.0.1,3306))print(连接成功)except:print(连接失败)sk.close()port_test()案例 5多线程端口扫描进阶版逐个端口扫描太慢了用多线程 队列的方式把扫描速度提升几十倍。importsocketimportsysimportthreadingimportqueueimporttimedefget_ip(name):ipsocket.gethostbyname(name)returnipdefport_test(ip):whileTrue:ifq.empty():breaksksocket.socket(socket.AF_INET,socket.SOCK_STREAM)portq.get()try:sk.connect((ip,port))print(ip,:,port,---- 连接成功)except:print(port,失败)passsk.close()time.sleep(1)if__name____main__:ipsys.argv[1]th_numsint(sys.argv[2])qqueue.Queue()foriinrange(1,65535):q.put(i)foriinrange(th_nums):tthreading.Thread(targetport_test,args(ip,))t.start()使用方法python portscan.py127.0.0.110001000是线程数根据自己的机器性能调整。线程越多扫描越快但太猛了可能被目标防火墙封 IP。五、课后作业使用 Python 实现子域名查询和端口扫描。扩展资料补天平台https://www.butian.net/Reward/plan/2漏洞银行工具集https://forum.ywhack.com/bountytips.php?toolsPython socket 编程https://www.bilibili.com/video/BV1aK4y1Y71n/写在最后信息收集是渗透测试的基石。工具很多语法很杂但万变不离其宗——找到别人找不到的入口就是挖洞的核心竞争力。下一篇我们继续深入漏洞挖掘实战敬请期待