渗透测试–信息收集 - ☕ 经验茶谈极核论坛 - 知识星球 - 极核GetShell

渗透测试–信息收集

 免责声明,如涉及侵权马上删除文章。

笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。

本文章涉及分享的网页链接均为开源项目地址,所有涉及工具、教程只可安全测试自用,请勿对任何网站进行入侵攻击,小日子的除外……

 

信息收集简介

信息收集是渗透测试和网络安全攻防中的第一步。它是指在进行渗透测试之前,通过合法的手段获取目标系统或网络的相关信息。这个过程是了解攻击目标的关键,只有收集到足够的目标信息,才能为后续的攻击步骤提供支持。

信息收集的目的

很多人都说,到了高级渗透测试的阶段,真正决定成败的往往不再是单纯的技术能力,而是谁的思路更开阔、谁的信息收集更为深入。信息收集的全面性,往往是决定攻击面广度的关键,而广阔的攻击面则能为后续的渗透测试提供更多突破的机会。因此,精细化的信息收集和创新性的思维方式成为了高水平渗透测试的核心竞争力。目的也就是一句话:扩大攻击面!!!

应该收集哪些信息

获取目标的基本信息(真实IP,主域名)

如何获取真实IP

在现代互联网架构中,我们常常会遇到真IP“假IP”的区分,这种区分的根本原因在于CDN(内容分发网络)的使用。CDN是一项广泛应用的技术,它通过在全球范围内部署缓存服务器和分布式节点来加速网站内容的加载速度。与此同时,CDN还在防止DDoS攻击和缓解网络流量压力方面发挥着重要作用。

然而,正是由于CDN的工作原理,它通常会隐藏目标网站的真实服务器IP地址,将流量引导到其分布式的边缘节点。这种做法提升了用户的访问体验,并且增强了网站的安全性,但也给渗透测试人员和黑客带来了挑战。为了绕过CDN的防护并直接攻击真实服务器,渗透测试人员需要通过一系列技巧和方法来获取目标的真实IP。

本段内容将详细分享一些获取真实IP并绕过CDN的方法,帮助渗透测试人员更好地识别目标的实际服务器IP,进而进行后续的安全评估和漏洞挖掘。

检测是否使用cdn的方法

多地ping

Ping查询_专业精准的IP库服务商_IPIP

多个地点Ping服务器,网站测速 – 站长工具

网站测速工具_超级ping _多地点ping检测 – 爱站网

发现有多个IP存在那么该网站就使用了cdn技术

nslookup

发现有多个IP存在那么该网站就使用了cdn技术

IP反查

ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名

IP反查域名,反向解析IP查询同一个IP的所有网站域名

虽然域名不止一个但大概都是相同的域名时为真IP,反之为假

绕过cdn的方法

查看 IP 与 域名绑定的历史记录

https://dnsdb.io/zh-cn/ ###DNS查询
微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区 ###微步在线
http://toolbar.netcraft.com/site_report?url= ###在线域名信息查询
http://viewdns.info/ ###DNS、IP等查询
全球 CDN 服务商查询_专业精准的IP库服务商_IPIP ###CDN查询IP

利用SecurityTrails平台

查询子域名

有的网站主域名用来cdn,但是因为经济问题可能子域名没有用

利用网络空间引擎搜索法

比如:FOFA,shodan,360,鹰图

利用fofa,先找到网站证书的序列号,再将其转成10进制,搜索“cert=10进制序列号”

利用SSL证书寻找真实原始IP

使用国外主机解析域名

有的网站没有做国外的cdn,利用一些网站从国外访问目标网站

网站邮件服务器

利用旁站

如果主站和旁站在同一服务器上,就可以通过子域名查找真实IP

利用SSL证书查询

SSL证书查询

工商数据收集

拿到目标公司名之后,先不要着急直接开始收集子域名,先统计好这家公司的股权架构,一般50%控股的可以算作有效目标,子公司资产将为我们提供不少的边缘业务系统

百度安全验证 –爱企查

企查查 – 查企业_查老板_查风险_企业信息查询系统 –企查查

天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统 –天眼查

启信宝-企业查询_企业信用信息平台 –启信宝

获客营销系统_ai智能拓客系统_企业获客系统-小蓝本获客系统 –小蓝本

域名Whois查询 – 站长工具 –站长之家

站长工具_whois查询工具_爱站网 –爱站

微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区 –微步

https://who.is/ –国外的whois平台

whois查询_域名查询_域名交易_阿里云企航(原万网)-阿里云 –阿里云域名信息查询

域名信息查询 – 腾讯云 –腾讯查询

Whois —中国互联网信息中心

https://beian.miit.gov.cn/#/Integrated/index –ICP(Internet Content Provider)备案查询

https://www.gsxt.gov.cn/index.html —国家企业信用信息公示系统

Ahrefs—Marketing Intelligence Tools Powered by Big Data. –SEO综合查询

Semrush – Online Marketing Can Be Easy –SEO综合查询

https://github.com/wgpsec/ENScan_GO –开源工具

利用上述网站重点观察:

– 企业股权架构

– 网站备案

– 对外公布的产品(小程序、公众号APP、iot设备等)

– 法人电话号、邮箱

其他可以搜索的

Bug Bounty Helper –二开谷歌语法

GitHub · Build and ship software on a single, collaborative platform · GitHub –GitHub

GitHub源码泄露肯定都听说过,但是真正找的源码的案例可能很少,可能是你用的方法有问题,网站域名、网站JS路径、网站备案、网站下的技术支持这些都可以放进去GitHub搜

FOFA  

ZoomEye – Cyberspace Search Engine

360网络空间测绘 — 因为看见,所以安全

鹰图平台(hunter)-奇安信网络空间测绘系统

利用目标网站的icon和前端源码,搜集很多同类网站,主站打不进去可以尝试找找0day

https://www.shodan.io/dashboard?language=en –shodan

shodan语法

  • city:搜索指定城市 例如:city:“tokyo     ”
  • country:搜索指定国家 例如:country:“JP”
  • http.title:搜索指定网站标题 列如:http.title:“hacked     by”
  • http.html:搜索指定网页类容 例如:http.html:“hello     world”
  • http.status:搜索指定返回响应码 例如:http.status:“200”
  • http.server:搜索指定返回中的server类型 例如:http.server:“PHP”
  • net:搜索指定网络范围或 IP段,例如:net:“8.8.0.0/16”
  • org:搜索指定的组织或机构,例如:org:“google”
  • port:搜索指定的端口或服务,例如:port:“22”
  • product:搜索指定的操作系统/软件/中间件,列如:product:“Samsung”
  • screenshot.label:搜索指定描述图像内容的标签     列如:screenshot.label:“ics”
  • os:搜索指定限定系统OS版本, 例如:os:“Windows Server 2008 R2”
  • hostname:搜索指定的主机或域名,例如:hostname:“google”
  • vuln:搜索指定CVE漏洞编号,例如:vuln:“CVE-2014-0723”
  • isp:搜索指定的ISP供应商,例如:isp:“China     Telecom”
  • version:搜索指定的软件版本,例如:version:“1.2.3”
  • geo:搜索指定的地理位置,参数为经纬度,例如:geo:“44.55,66.77”

 

APP、小程序、公众号信息收集

APP信息收集

七麦数据 -专业移动产品商业分析平台-关键词优化-ASA优化-七麦科技 –七麦数据

小程序和公众号

通过微信搜索公众号并去关注,然后进去点击文章之类的,下拉可以看到它的网页来源,大部分是微信提供的,所以需要去阅读原文,但是原文也可能是第三方提供的,所以还需要自己自行去判断,找到它的url后又可以去爆一波子域名了

当你不确定目标产品是什么时,比如你不知道他是谁家的WAF或者路由器,可以利用查看网站logo地址,然后复制logo地址,点击按图片搜索,到谷歌里面查询;也可以把目标logo下载下来,利用上传图片来查询,通过搜索出来的结果可以判断目标产品和厂商。

域名

域名的类型

1. 顶级域名(TLD, Top-Level Domain)

  • 通用顶级域名(gTLD, Generic Top-Level Domain)

    • .com(商业公司)
    • .org(组织机构)
    • .net(网络服务商)
    • .edu(教育机构)
    • .gov(政府机构)
    • .mil(军事机构)
  • 国家代码顶级域名(ccTLD, Country Code Top-Level Domain)

    • .cn(中国)
    • .us(美国)
    • .jp(日本)
    • .de(德国)
  • 新顶级域名(nTLD, New Top-Level Domain)

    • .tech
    • .online
    • .xyz
    • .club

2. 二级域名(Second-Level Domain, SLD)

二级域名位于顶级域名的前面,通常代表组织、品牌或服务的名称。例如,在域名 example.com 中,example 就是二级域名。二级域名是网站的主要部分,用于识别一个特定的网站或服务。

3. 子域名(Subdomain)

子域名是主域名的一个扩展部分,位于二级域名之前。子域名通常用来区分不同的服务、功能或者区域。例如,在域名 blog.example.com 中,blog 就是子域名。通过子域名,组织可以将不同的功能分配到不同的域名上,如:

  • mail.example.com(邮件服务)
  • shop.example.com(电商平台)
  • admin.example.com(后台管理)

子域名往往有时被用来隐藏不同的系统或服务,从而提供额外的攻击面,因此在渗透测试过程中,子域名的识别尤为重要。

4. 泛域名(Wildcard Domain)

泛域名是一种特殊的域名配置,可以匹配特定域名下所有的子域名。通过使用星号(*)作为域名的一部分,泛域名可以指向同一IP地址或资源。举例来说:

  • *.example.com:这将匹配所有以 .example.com 结尾的域名,比如 www.example.comblog.example.comadmin.example.com 等。

泛域名通常用于简化管理,但如果配置不当,可能会导致潜在的安全风险。

5. 反向域名(Reverse Domain)

反向域名通常是指某个域名的反向解析,即将IP地址映射到一个域名。这个概念与DNS解析相对,是指从IP地址反向查找域名。反向域名通常用于:

  • 服务器端识别客户端身份
  • 防止恶意攻击者伪造来源地址
  • 进行安全日志分析等

在信息收集中,反向域名的查询有助于分析目标系统的网络环境,找到更多的潜在攻击面。

6. 国际化域名(IDN, Internationalized Domain Name)

国际化域名(IDN)使得使用非拉丁字母(如中文、阿拉伯文、俄文等)的语言能够被用于构建域名。通过这种方式,可以让不同语言用户能够方便地访问网站。例如:

  • 中国.cn
  • пример.рф

虽然IDN提升了全球用户的访问便利性,但由于其存在的特殊字符,也成为了网络钓鱼攻击者用来伪装成合法网站的工具,因此在渗透测试时,IDN的识别和处理显得尤为重要。

7. 内部域名(Internal Domain)

内部域名指的是公司或组织内部使用的域名,通常不会公开。它们通常用于企业内部网络、内网服务等,只有在公司内部网络中有效。例如:

  • intranet.example.com
  • fileserver.local

这些内部域名可能没有通过公共DNS服务公开,因此不能通过常规的公共查询获得。然而,通过社交工程或者内部网络扫描,可以发现这些域名和相关服务,成为渗透测试中潜在的攻击面。

收集域名的方法

SSL证书

点击左上角的锁,连接安全里面右上角的证书图标打开就是这个页面

在这个地方就可以看到一些该网站的子域名,原理就是大厂一般会一证多用

证书爆错泄露域名

证书在线查询

​​​​​​zcrt.sh | Certificate Search

Attack Surface Management and Threat Hunting Solutions | Censys

域传送漏洞

在线DNS数据

https://www.virustotal.com/gui/home/search

https://dnsdumpster.com/

https://www.dnsdb.io/zh-cn/

自身泄露

robots.txt

谷歌语法,bing语法

在线子域名爆破

子域名枚举爆破工具

GitHub – shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具  –oneforall

GitHub – lijiejie/subDomainsBrute: A fast sub domain brute tool for pentesters

Layer

https://github.com/DavexPro/FuzSub

fierce-domain-scanner

御剑

基本目录、敏感目录及文件

在信息收集的过程中,网站目录扫描是一项至关重要的任务。通过扫描目标网站的目录结构,我们可以发现潜在的敏感文件、配置文件或其他安全隐患。很多时候,目录中的一些文件或路径本身就可能泄露关键信息,成为攻击者发起攻击的入口点。以下是一些常见的敏感文件和目录,以及它们在渗透测试中的重要性:

1. robots.txt 文件

robots.txt 是一个专门为搜索引擎机器人(例如Googlebot)设计的纯文本文件。它告诉搜索引擎哪些页面或目录不应该被索引或抓取。虽然这个文件的主要目的是避免某些敏感信息被搜索引擎收录,但如果我们知道了 robots.txt 文件的内容,实际上可以获取到网站中一些隐藏的目录和路径。例如:

User-agent: *
Disallow: /data/
Disallow: /db/
Disallow: /admin/
Disallow: /manager/
Allow: /images/

在上述示例中,Disallow 指定了不允许搜索引擎访问的路径,可能包含一些重要的后台目录或数据库目录。虽然这些目录被排除在搜索引擎外,但它们依然可能是攻击者潜在的攻击目标。因此,robots.txt 文件可能泄露关于目标网站结构的重要信息。

2. crossdomain.xml 文件

这个文件通常用于 Adobe Flash Player 和 Flex 应用的跨域访问控制,它可以告诉客户端程序哪些域名被允许访问当前服务器。如果配置不当,可能允许恶意网站与目标站点进行交互,从而导致信息泄露或跨站攻击。

3. sitemap.xml 文件

Sitemap.xml 文件通常由网站管理员提供,列出了网站上所有重要页面的URL。这不仅有助于搜索引擎的爬取,还可以帮助渗透测试人员快速了解网站的结构以及潜在的入口点。

4. 后台目录

目标网站的后台目录通常包含对管理员权限要求高的页面。通过弱口令、万能密码或者暴力破解等手段,攻击者可以尝试获取后台访问权限,进一步进行深度渗透测试。

5. 网站安装包

一些网站的安装包(如 .tar.gz.zip 格式)可能没有被完全清理,暴露了源代码、数据库配置文件等敏感信息。攻击者可以通过分析这些安装包来了解网站的架构和潜在的安全漏洞。

6. 网站上传目录

上传目录是一个常见的攻击点,攻击者可能通过上传恶意文件(例如Web Shell、PHP木马)来实现对网站的控制。测试人员需要特别关注该目录中的文件上传功能,寻找漏洞并尝试利用。

7. MySQL 管理页面

如果目标网站的MySQL管理页面没有妥善保护,它可能暴露给互联网用户。通过弱口令、暴力破解或者利用默认密码,攻击者可以尝试登录并获取数据库的控制权限,进而窃取数据或执行恶意操作。

8. phpinfo 页面

phpinfo() 是 PHP 内置的一个函数,它会显示PHP环境的详细信息,包括PHP版本、操作系统、安装的扩展、环境变量等。如果目标网站没有关闭或保护该页面,攻击者可以通过该页面获取到服务器的敏感配置信息。

9. 网站文本编辑器

像 FCKeditor、TinyMCE、KindEditor 等文本编辑器,常常作为网站后台的一部分。若配置不当,可能允许攻击者上传恶意脚本或通过编辑器执行跨站脚本(XSS)攻击。

10. 测试文件

在开发过程中,网站可能会保留一些测试文件,如 test.phptest.html。这些文件可能包含调试信息或其他敏感信息,攻击者可以利用它们获取有价值的数据。

11. 网站备份文件

网站的备份文件(例如 .rar.zip.7z.tar.gz.bak)常常保存了重要的数据库和源代码。如果这些文件没有妥善保护,它们可能成为攻击者获取敏感信息的突破口。

12. .DS_Store 文件

.DS_Store 文件是 macOS 系统自动生成的隐藏文件,通常包含文件夹的元数据。如果不小心暴露在网站目录中,攻击者可以通过该文件分析出文件夹的结构信息。

13. Vim 编辑器备份文件

当使用 Vim 编辑器时,编辑的文件会生成一个 .swp 文件作为临时备份。如果网站服务器上暴露了这些备份文件,攻击者可以获取到敏感的配置或代码文件内容。

14. WEB-INF/web.xml 文件

对于基于 Java 的网站,WEB-INF/web.xml 文件是一个重要的配置文件,通常包含数据库连接、访问控制和其他核心配置。如果泄露,它可能提供攻击者进行针对性的攻击的关键信息。

扫描目录的重要性

通过扫描网站目录结构并进行深入分析,我们可以发现敏感文件或目录的泄露。以下是几种常见的利用手段:

  • 后台目录:通过爆破、弱口令或万能密码尝试获取后台管理权限。
  • 安装包:安装包中可能包含数据库信息、源代码等,能帮助攻击者了解网站架构和配置。
  • 上传目录:通过上传恶意文件(如木马、Web Shell)进行远程控制。
  • MySQL 管理页面:尝试利用弱口令、默认密码或暴力破解等方式获取数据库控制权限。
  • PHPinfo:暴露PHP配置详情,可能泄露服务器敏感信息,供攻击者利用。

总之,目录扫描是信息收集中非常重要的一部分,能够帮助渗透测试人员发现潜在的漏洞和攻击路径。通过合理利用这些技巧,可以有效地提高渗透测试的成功率,同时也能帮助我们了解目标系统的防御情况和潜在的安全威胁。

目录扫描工具推荐

GitHub – maurosoria/dirsearch: Web path scanner  –dirsearch

https://sourceforge.net/projects/dirbuster/files/ —dirbuster

https://github.com/7kbstorm/7kbscan-WebPathBrute –7kbstorm

Webrobot

御剑

爬虫-中国菜刀

wwwscan

cansina

dirmap

越在前面的越推荐

端口扫描

通过端口扫描,我们可以识别网站开启的服务,并通过爆破、枚举或漏洞利用等手段,进一步突破防御,提升网站权限。这些端口的开放不仅能够为攻击者提供潜在的攻击入口,还能揭示系统和网络服务的弱点。常见的端口,如 135、137、138、139、445 等,通常会存在已知漏洞,成为攻击者常用的目标。

在进行端口扫描时,除了发现网站可能暴露的服务外,我们还需要特别注意一些特殊的情况。例如,扫描到的某个端口可能指向网站的旁站。针对旁站,攻击者可以通过进一步的漏洞探测进行渗透。而在某些情况下,管理员可能会修改默认服务端口,这需要我们通过手工分析和判断来确认。例如,当我们扫描到端口 8888 时,可以尝试远程桌面连接,发现它其实是将 RDP 服务(3389端口)配置在了 8888 上。

Windows 系统中的端口管理命令

在 Windows 系统中,我们可以使用一些命令来查看和管理端口的状态和相关连接信息。以下是几个常用命令:

  • 显示所有有效连接和监听状态
    使用 netstat -a 命令,可以查看当前所有有效的连接信息,包括已建立的连接(ESTABLISHED)、监听状态(LISTENING)、断开连接(CLOSE_WAIT)和处于联机等待状态(TIME_WAIT)的连接。

    netstat -a

     

  • 显示端口和地址信息(数字格式)
    使用 netstat -n 命令,以数字格式显示所有的地址和端口号,帮助我们直接看到哪些端口正在被监听。

    netstat -n

     

  • 列出所有端口及其对应的PID
    使用 netstat -ano 命令,可以列出所有端口的情况,并显示每个端口对应的进程 ID(PID)。这对我们进一步定位服务占用的端口非常有用。

    netstat -ano

     

  • 查看指定端口(如端口 80)占用的PID
    如果我们想查看端口 80 被哪个进程占用,可以使用以下命令:

    netstat -ano | findstr “80”

     

  • 查看占用端口 80 的具体进程
    通过 tasklist 命令,可以查看当前占用指定端口的进程,帮助我们进一步定位哪个程序或服务在运行。

    tasklist | findstr “80”

     

  • 结束指定进程
    如果我们想要结束占用特定端口的进程,可以使用 taskkill 命令,强制关闭指定进程。

    taskkill /f /t /im XX.exe

     

通过这些命令,我们可以有效地管理和分析端口情况,识别出潜在的漏洞点并进行渗透测试。同时,了解服务的实际端口和配置,对于绕过防火墙或进行漏洞利用至关重要。

常见端口的服务及对应的漏洞

  • 20:FTP服务的数据传输端口
  • 21:FTP服务的连接端口,可能存在 弱口令暴力破解
  • 22:SSH服务端口,可能存在 弱口令暴力破解
  • 23:Telnet端口,可能存在 弱口令暴力破解
  • 25:SMTP简单邮件传输协议端口,和 POP3 的110端口对应
  • 43:whois服务端口
  • 53:DNS服务端口(TCP/UDP 53)
  • 67/68:DHCP服务端口
  • 69:TFTP端口,可能存在弱口令
  • 80:HTTP端口,常见web漏洞
  • 110:POP3邮件服务端口,和SMTP的25端口对应
  • 135:RPC服务
  • 137/138:NMB服务
  • 139:SMB/CIFS服务
  • 143:IMAP协议端口
  • 161/162: Snmp服务,public弱口令
  • 389:LDAP目录访问协议,有可能存在注入、弱口令
  • 443:HTTPS端口,心脏滴血等与SSL有关的漏洞
  • 445:SMB服务端口,可能存在永恒之蓝漏洞MS17-010
  • 512/513/514:Linux Rexec服务端口,可能存在爆破
  • 873:Rsync ,可能存在Rsync未授权访问漏洞,传送门:rsync 未授权访问漏洞
  • 1080:socket端口,可能存在爆破
  • 1099:RMI,可能存在 RMI反序列化漏洞
  • 1352:Lotus domino邮件服务端口,可能存在弱口令、信息泄露
  • 1433:SQL Server数据库端口,可能存在弱口令
  • 1434:用于向请求者返回SQL Server使用了哪个TCP/IP端口
  • 1521:oracle数据库端口
  • 2049:NFS服务端口,可能存在NFS配置不当
  • 2181:ZooKeeper监听端口,可能存在 ZooKeeper未授权访问漏洞
  • 2375:Docker端口,可能存在 Docker未授权访问漏洞
  • 2601: Zebra ,默认密码zebr
  • 3128: squid ,匿名访问(可能内网漫游)
  • 3306:MySQL数据库端口,可能存在 弱口令暴力破解
  • 3389:Windows远程桌面服务,可能存在 弱口令漏洞 或者 CVE-2019-0708 远程桌面漏洞复现
  • 3690:SVN服务,可能存在SVN泄漏,未授权访问漏洞
  • 4440:Rundeck,弱口令admin
  • 4560:log4j SocketServer监听的端口,可能存在 log4j<=1.2.17反序列化漏洞(CVE-2019-17571)
  • 4750:BMC,可能存在 BMC服务器自动化RSCD代理远程代码执行(CVE-2016-1542)
  • 4848:GlassFish控制台端口,可能存在弱口令admin/adminadmin
  • 5000:SysBase/DB2数据库端口,可能存在爆破、注入漏洞
  • 5432:PostGreSQL数据库的端口
  • 5632:PyAnywhere服务端口,可能存在代码执行漏洞
  • 5900/5901:VNC监听端口,可能存在 VNC未授权访问漏洞
  • 5984:CouchDB端口,可能存在 CouchDB未授权访问漏洞
  • 6379:Redis数据库端口,可能存在Redis未授权访问漏洞,传送门:Redis未授权访问漏洞
  • 7001/7002:Weblogic,可能存在Weblogic反序列化漏洞,传送门:Weblogic反序列化漏洞
  • 7180:Cloudera manager端口
  • 8069:Zabbix服务端口,可能存在Zabbix弱口令导致的Getshell漏洞
  • 8080:Tomcat、JBoss,可能存在Tomcat管理页面弱口令Getshell,JBoss未授权访问漏洞,传送门:Tomcat管理弱口令页面Getshell
  • 8080-8090:可能存在web服务
  • 8089:Jetty、Jenkins服务端口,可能存在反序列化,控制台弱口令等漏洞
  • 8161:Apache ActiveMQ后台管理系统端口,默认口令密码为:admin:admin ,可能存在CVE-2016-3088漏洞,传送门:Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)
  • 9000:fastcgi端口,可能存在远程命令执行漏洞
  • 9001:Supervisord,可能存在Supervisord远程命令执行漏洞(CVE-2017-11610),传送门:Supervisord远程命令执行漏洞(CVE-2017-11610)
  • 9043/9090:WebSphere,可能存在WebSphere反序列化漏洞
  • 9200/9300:Elasticsearch监听端口,可能存在 Elasticsearch未授权访问漏洞
  • 10000:Webmin-Web控制面板,可能存在弱口令
  • 10001/10002:JmxRemoteLifecycleListener监听的,可能存在Tomcat反序列化漏洞,传送门:Tomcat反序列化漏洞(CVE-2016-8735)
  • 11211:Memcached监听端口,可能存在 Memcached未授权访问漏洞
  • 27017/27018:MongoDB数据库端口,可能存在 MongoDB未授权访问漏洞
  • 50000:SAP Management Console服务端口,可能存在 运程命令执行漏洞。
  • 50070:Hadoop服务端口,可能存在 Hadoop未授权访问漏洞
  • 61616:Apache ActiveMQ服务端口,可能存在 Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现
  • 60020:hbase.regionserver.port,HRegionServer的RPC端口
  • 60030:hbase.regionserver.info.port,HRegionServer的http端口

工具只推荐

Nmap: the Network Mapper – Free Security Scanner –nmap

语法可以看

Nmap 命令的常用实例 – lyshark – 博客园

旁站C段

旁站与C段探测:攻防中的战略

在渗透测试和红蓝对抗过程中,旁站和C段探测是两种关键的技术策略,尤其在面对防护强大的目标站点时,这些方法能帮助渗透测试人员突破防线并获取更多的攻击面。

1. 旁站(Subdomain)

旁站是指与目标网站部署在同一台服务器上的其他网站。在防护较强的主站上,直接找到漏洞并进行渗透可能非常困难。因此,当目标站点的安全防护非常严格时,攻击者往往会通过探测该站点的旁站来寻找漏洞。通过对旁站的漏洞进行利用,渗透者可能能够获得对主站的权限或进一步渗透至目标系统。

旁站通常比主站更容易被忽视,尤其在服务器上托管多个网站时,可能存在一些配置不当或安全漏洞。渗透测试人员可以通过工具或手工分析,列举目标域名下的其他子域名,并逐一进行安全评估。

2. C段(C-Class Network)探测

当目标站点没有旁站可供利用时,渗透测试人员通常会选择进行C段探测。所谓C段探测,是指扫描与目标站点服务器处在同一C类网络段的其他服务器。在一些情况下,网站可能购买了相邻的几个IP来部署多个分站或服务,这为渗透测试人员提供了潜在的攻击入口。

如果能够获取C段中其他服务器的管理信息,尤其是管理员的敏感数据(如密码、配置文件等),渗透者便可以尝试对主站进行撞库攻击,或者通过对分站的渗透控制间接影响到主站的安全。

3. C段扫描的攻防应用

对于红蓝对抗护网工作,C段扫描是一个非常重要的手段。在红队进行渗透测试时,扫描C段可以帮助发现同一网络中存在的其他潜在漏洞,甚至可以通过捕获和分析网络流量(如ARP欺骗)来劫持域名,从而影响到主站的控制。

然而,对于单一网站的渗透测试来说,C段扫描的意义相对较小。这是因为单一站点的服务器通常不会跨越多个IP段,而C段扫描主要针对的是部署在相同子网内的多个服务器。

4. C段嗅探的过程

C段的扫描和嗅探通常涉及到获取一个C类子网中的多个IP地址,并对这些IP进行安全评估。举个例子,如果目标服务器的IP为 192.168.0.1,那么其C段即为 192.168.0.0/24(即 192.168.0.1192.168.0.255)。在C段嗅探中,渗透测试人员会扫描该C段内的所有IP,寻找可能存在安全漏洞的设备或服务器。

通过ARP欺骗等技术,渗透测试人员可以获取网络流量,从而劫持C段中的某些服务器,进一步利用这些服务器的权限来对目标网络进行攻击。

总结:

  • 旁站:攻击者通过分析与主站共享同一服务器的其他站点,发现潜在漏洞。
  • C段探测:通过扫描同一C段内的其他服务器,获取敏感信息或利用其他服务器的弱点,从而间接攻击目标站点。
  • 红蓝对抗护网中,C段扫描具有重要意义,而对于单一网站的渗透测试,C段扫描则不一定有效。

在线查询

​​​​​​网站IP查询_IP反查域名_同IP网站查询 – 站长工具

属于北京市 华为云 数据中心_IP反查域名_同IP站点查询_同ip网站查询_爱站网

谷歌bing语法

site:125.125.125.*

http://cn.bing.com/search?q=ip:111.111.111.111

利用网络空间引擎搜索法

fofa、shodan在线工具 语法:ip=”106.15.141.18/24″

工具推荐

K8CScan

nmap

nmap -p 22,21,443,8080-Pn 172.178.40.0/24

nmap  -p  80,8080  –open  ip/24

masscan -p 22,21,443,8080-Pn –rate=1000172.178.40.0/24

goby

御剑

北极熊扫描器

整站分析

服务器类型

判断是windows服务器还是Linux服务器

可以根据TTL值判断

区分大小写

不区分大小写

判断网站使用的脚本类型:PHP、JSP、ASP、ASPX

1. 通过网站 URL 判断

网站的 URL 地址结构往往能透露出其所使用的脚本类型。例如:

  • .php:表示网站使用 PHP 作为服务器端语言。
  • .jsp:表示网站使用 Java 服务器页面(JSP)技术。
  • .asp.aspx:表示网站使用 ASP 或 ASP.NET 技术。

通过观察网站的 URL 后缀,可以快速了解网站可能使用的脚本类型。比如,www.example.com/index.php 表示该站点使用 PHP,而 www.example.com/login.jsp 则是 JSP。

2. 使用 Google 搜索指令

通过利用 Google 搜索引擎的高级指令,可以快速识别网站上使用的脚本类型。以下是几种常用的搜索指令:

  • site:xxx filetype:php:搜索特定网站(xxx)上的 PHP 文件。通过这个方法,你可以在目标站点上找到相关的 PHP 页面,从而推测该站点使用 PHP 技术。
  • site:xxx filetype:asp:同理,通过搜索 .asp 文件,判断目标站点是否使用 ASP 技术。

这些高级搜索指令可以帮助渗透测试人员在不直接访问站点的情况下,获取目标网站的相关信息。

3. 通过浏览器插件辅助判断

使用浏览器插件是一种简便且快速的方式来识别网站的技术栈,很多插件都可以帮助你判断网站使用的脚本类型。最常见的插件包括:

  • Wappalyzer:这款浏览器插件能够自动检测网站使用的技术堆栈,包括脚本语言、框架、服务器类型等。
  • BuiltWith:另一个常用的插件,能够显示网站的技术信息,包括使用的编程语言和相关的服务。

通过这些插件,渗透测试人员可以迅速识别出网站的技术栈,进一步帮助判断其使用的脚本类型。

4. 修改首页文件后缀查看页面响应

一种简单的手动方法是修改网站首页的文件后缀名,查看响应的变化:

  • 例如,将 index.html 修改为 index.phpindex.aspindex.jsp 等,查看页面是否正常返回。如果修改后,页面仍然能够正常加载,则说明网站支持对应的脚本类型。

    通过这种方式,可以快速验证目标网站所使用的脚本语言。

5. 通过搜索框查找相关文章辨别脚本类型

在一些网站的搜索框中输入任意字符,触发搜索请求。之后,通过观察返回的 URL 可以判断出网站的脚本类型。例如:

  • 如果搜索框返回的 URL 为 www.example.com/search.php?q=test,则表明该网站使用 PHP 技术。
  • 如果 URL 中包含 search.asp,则说明该站点可能是 ASP 技术。

通过这种方法,可以间接地判断网站所使用的脚本类型。

6. 通过爬虫工具爬取网站目录分析脚本类型

爬虫工具(如 Webrobot)能够自动化地扫描和爬取网站的页面目录。在爬取过程中,爬虫会分析每个页面的 URL 和返回结果,通过这些信息可以识别出使用的脚本类型。

  • Webrobot 等爬虫工具可以抓取站点的所有页面,并根据返回的 URL 后缀、响应头、错误页面等信息,推测出站点的技术栈。

    使用这些工具可以快速分析目标网站,尤其适用于大规模的渗透测试。

总结

  1. URL分析:通过网站的 URL 后缀来判断。
  2. Google搜索指令:通过 sitefiletype 指令进行文件类型的查找。
  3. 浏览器插件:使用插件(如 Wappalyzer、BuiltWith)帮助识别。
  4. 修改首页后缀:通过修改文件后缀查看响应变化。
  5. 搜索框分析:通过搜索框查询返回的 URL 来判断脚本类型。
  6. 爬虫工具分析:使用爬虫工具抓取网站目录并分析脚本类型。

网站指纹(Website Fingerprinting)

网站指纹识别是渗透测试中的一项关键技术,它通过分析和识别网站的特征,帮助渲染出网站的技术栈、使用的框架、服务器类型、以及潜在的安全漏洞。通过指纹识别,攻击者能够获得目标网站的关键信息,为后续的渗透测试和攻击提供方向。了解网站指纹有助于提升渗透测试的效率,并更精确地识别潜在的攻击面。

1. 什么是网站指纹

网站指纹是指通过分析网站的特征信息来识别其技术架构和服务器配置的过程。每个网站都有其独特的技术堆栈(如使用的Web框架、编程语言、服务器类型、CMS平台等),这些信息通常会通过HTTP响应头、URL结构、页面内容、特定的文件路径、甚至错误页面等方式泄露出来。攻击者通过获取这些信息,可以有效缩小渗透攻击的范围,提高攻击成功率。

2. 常见的网站指纹信息

  • Web 服务器类型:比如 Apache、Nginx、IIS、Tomcat 等。不同的Web服务器有不同的配置文件、错误页面和默认路径,这些信息可以通过响应头或访问特定路径来确定。

  • CMS平台:比如 WordPress、Drupal、Joomla 等。不同的CMS平台会有特定的URL模式、文件结构和默认登录路径。

  • Web框架:比如 Django、Flask、Ruby on Rails 等。框架的特征通常可以通过响应头或者URL中的模式来推测。

  • 编程语言:比如 PHP、ASP.NET、Node.js 等。某些特定的路径或错误消息可以揭示出后端使用的语言。

  • 插件和技术栈:一些网站使用的插件或技术栈,如 jQuery、Bootstrap、FontAwesome 等,可能在网站的HTML源码中留下线索。

  • HTTP 响应头:HTTP 响应头(如 ServerX-Powered-By 等)常常会透露服务器类型、使用的脚本语言、框架等信息。

  • 错误页面和文件结构:通过访问一些常见的文件路径(如 /admin/wp-login.php 等)或触发错误,攻击者可能可以发现CMS、框架的相关信息。

3. 网站指纹识别的方法

  • 查看 HTTP 响应头
    通过分析 HTTP 响应头中的 ServerX-Powered-By 等字段,攻击者可以快速确定 Web 服务器的类型和版本。例如,Server: Apache/2.4.29 (Ubuntu) 表明目标使用了 Apache 服务器,并且版本为 2.4.29。

  • 路径和 URL 模式分析
    通过访问特定路径(如 /wp-admin/administrator/index.php 等),攻击者可以识别出 CMS 或框架。不同的 CMS 和框架会有不同的默认路径和结构。

  • 检查默认页面和错误页面
    网站的默认页面(如 /index.php/default.aspx 等)和错误页面(如 404 页面、500 错误页面)往往包含指向特定技术栈的线索。

  • Web 指纹工具
    使用专门的指纹识别工具,如 WhatWebWappalyzerBuiltWith 等,可以自动化扫描并检测目标网站的技术栈。这些工具通过分析 HTTP 响应头、HTML 页面、JavaScript 文件等来识别技术平台。

  • 源代码分析
    通过查看页面的源代码,攻击者可以发现某些脚本、样式表文件、图像路径等,进而推测出网站所用的技术。例如,网站上如果嵌入了特定的 JavaScript 库(如 jQuery),就能表明目标站点可能使用了某种特定的框架或前端技术。

4. 常见的指纹识别工具

  • WhatWeb
    WhatWeb 是一个开源工具,可以通过分析网站的 HTTP 响应头、HTML 页面等,识别出网站使用的技术堆栈,如服务器类型、CMS、Web框架、JavaScript 库等。它非常适合渗透测试人员用来快速收集信息。

  • Wappalyzer
    Wappalyzer 是一个浏览器插件,可以识别出网站的 CMS、Web框架、编程语言、分析工具等。它通过分析页面的源代码、JavaScript、HTTP 响应头等,提供技术指纹信息。

  • BuiltWith
    BuiltWith 是一个在线工具,可以扫描网站并提供详细的技术栈报告,列出网站使用的服务器、CMS、JavaScript 库、分析工具等。它适合用于对网站的全面技术分析。

  • Nikto
    Nikto 是一个 web 服务器扫描工具,除了检查常见的漏洞外,它还可以进行基本的网站指纹识别,检测目标网站是否使用某些特定的服务或框架。

  • CMSmap
    CMSmap 是专门为渗透测试人员设计的 CMS 指纹工具,它支持识别常见 CMS(如 WordPress、Joomla、Drupal 等),并能够列出相关的漏洞信息。

  • TideFinger 潮汐指纹 TideFinger 潮汐指纹

  • yunsee.cn-2.0

5. 利用网站指纹进行攻击

  • Web框架漏洞:如果发现目标使用了某个老旧的框架(如 Django、Ruby on Rails 等),并且该框架存在已知漏洞,攻击者可以利用这些漏洞进行攻击。

  • CMS 漏洞:如果网站使用 WordPress、Joomla 或 Drupal 等CMS平台,攻击者可以利用已知的CMS漏洞,如插件漏洞、SQL注入、XSS 等,进行渗透。

  • 未修补的服务器漏洞:通过指纹识别,攻击者还可以确定目标服务器类型,如果服务器存在已知漏洞(如 Apache 服务器的特定版本存在漏洞),攻击者可以进行针对性的攻击。

CMS类型

判断CMS的方法

查看robots.txt

查看页面源代码

版权信息

特殊路由的提炼

通过指纹扫描工具,平台,插件

常见系统

企业网站系统:Metinfo(米拓)、蝉知、SiteServer CMS

B2C 商城系统:商派shopex、ecshop、hishop、xpshop

门建站系统:DedeCMS(织梦)、帝国CMS、PHPCMS、动易、cmstop

博客系统:wordpress、Z-Blog

论坛社区:discuz、phpwind、wecenter

问题系统:Tipask、whatsns

知识百科系统:HDwiki

B2B 门户系统:destoon、B2Bbuilder、友邻 B2B

人才招聘网站系统:骑士 CMS、PHP 云人才管理系统

房产网站系统:FangCms

在线教育建站系统:kesion(科汛)、EduSor

电影网站系统:苹果cms、ctcms、movcms

小说文学建站系统:JIEQI CMS、linhuaming

编程语言类型

php 类cms 系统:dedeCMS、帝国CMS、php168、phpCMS、cmstop、discuz,phpwind 等

asp 类 cms 系统:zblog、KingCMS 等

.net 类 cms 系统:EoyooCMS 等

java类cms 系统:RuoYi等

国外的著名cms 系统:ioomla、WordPress 、magento、drupal 、mambo

数据库类型

我们需要知道网站用的是哪种类型的数据库:Mysql、Oracle、SqlServer 还是Access 。虽然这几种数据库的语法大体上相同,但是还是有区别的。所以我们还是要知道目标网站用的是哪种数据库,并且数据库是哪个版本的

各端口对应数据库类型:

sql server–1433

oracle–1521

mysql-3306

postgresql-5432

access-默认不开放连接端口,数据库存储在 FTP 服务器上。

几种数据库的区别:

Access 全名是 Microsoft Office Access,是由微软发布的关联式数据库管理系统。小型数据库,当数据库达到 100M 左右的时候性能就会下降。数据库后缀名:.mdb 一般是asp 的网页文件用 access 数据库


SQL Server 是由 Microsoft 开发和推广的关系数据库管理系统(DBMS),是一个比较大型的数据库。端口号为1433。数据库后缀名.mdf


MySQL 是一个关系型数据库管理系统,由瑞典 MySQLAB 公司开发,目前属于Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的应用软件之一,MySQL 数据库大部分是php的页面。默认端口是3306


Oracle 又名 Oracle RDBMS,或简称 Oracle。是甲骨文公司的一款关系数据库管理系统。常用于比较大的网站。默认端口是1521


首先,成本上的差距,access 是不要钱的,mysql 也是开源的,sql server 是收费的一般也就几千,Oracle 的费用则数万。其次,处理能力,access 支持千以内的访问量,sqlserver支持几千到上万的访问,而 Oracle 则支持海量的访问。再次,从数据库的规模来看,access 是小型数据库,mysql 是中小型数据库,sql server 是中型数据库,Oracle 是大型数据库。

通常情况:

access-asp

mysql–php

oracle-jsp

sqlserver–aspx

posteresal–pho

常见搭配

ASP 和 ASPX:ACCESS、SQL Server

PHP:MysQL、PostgresQL

JSP:Oracle、MySQL

端口扫描判断数据库类型的方法较为准确,但是管理员也可能选择不开放外网数据库端口,开放内网的数据库端口,也有些管理员喜欢使用站库分离的方法或者使用WAF进行拦截端口扫描来防护站点,这样我们通过端口扫描判断数据库类型的方法便有些失效了。

WAF识别

手动输入payload

Nmap 探测

一种是 http-waf-detect

命令:nmap -p80, 443 –script=http-waf-detect ip

一种是 http-waf-fingerprint

命令:nmap -p80,443–script=http-waf-fingerprint ip

后台查找

1.弱口令默认后台:admin,admin/login.asp,manage,login.asp等等常见后台

2.查找网页的链接,一般来说,网站的主页有管理登录类似的东西, 大多数在网 站底部版权处或鲁在冒页导肌程等, 有些可能被管理员删掉 3 查看网站图片的属性有可能图片是上传大管理后台目录, 但是是在前台显示

4 查看网站使用的管理系统, 从而确定后台

5 用工具查找: wwwscan , i ntellitamper , 御剑, 进行爬虫、 字典穷举扫描 · 6.robots.txt 的帮助: robots.txt 文件告诉蜘蛛程序在服务器上什么样的文件可以 被查看

7 GoogleHacker 通过语法查找后台 ·

8 查看网站使用的编辑器是否有默认后台, FCK 、 ewb 等默认后台 ·

9 短文件利用短文件漏洞进行猜解 ·

10.子域名有可能管理后台为 admin.xxxxx.com 、 l ogin.xxxxx.com

11.sqlmap-sql-shell load_file ( ‘ d:/wwroot/index.php’ ) ;

利用 sql 注入查看文件源 码获取后台

12 社工, XSS 利用社会工程系获取后台, 利用存储型 XSs 获取后台

中间件

中间件是介于操作系统与应用程序之间的软件层,常用于实现复杂业务逻辑或分布式系统的功能。由于中间件承载大量业务逻辑和通信,成为攻击的高价值目标。

常见中间件

中间件

用途

常见漏洞

Tomcat

Java 应用服务器,支持 JSP/Servlet

弱口令爆破、管理后台未授权访问、文件上传

WebLogic

Java EE 应用服务器

远程代码执行、反序列化漏洞

JBoss

Java 应用服务器,支持企业级分布式系统

未授权访问、反序列化漏洞

GlassFish

Java 应用服务器,轻量级

弱口令、配置泄露

Nginx

高性能反向代理服务器

配置错误导致目录遍历、未授权访问

Apache

HTTP 服务器,市场占有率高

文件包含、目录遍历、模块漏洞(如Struts2)

IIS

Microsoft 提供的 Web 服务器

配置错误、目录遍历、常见文件上传漏洞

Resin

支持 JSP/Servlet 的轻量级服务器

目录遍历、文件读取

Shiro

权限框架,管理认证和授权

反序列化漏洞,特别是Key泄露

Zookeeper

分布式协调服务

未授权访问、数据泄露

Redis

内存数据库,常用于缓存

未授权访问,RCE,弱口令

Elasticsearch

搜索引擎,支持海量数据检索

未授权访问、RCE、敏感信息泄露

常见中间件漏洞

  1. 未授权访问
    • 部分中间件默认配置不安全,如未设置密码或权限控制。
    • 示例:Redis 默认无密码可被直接访问。
  1. 弱口令
    • 默认安装后未更改用户名/密码,攻击者通过暴力破解可轻松获取权限。
    • 示例:Tomcat 默认账号为tomcat/tomcat
  1. 反序列化漏洞
    • 攻击者利用中间件的反序列化机制,通过恶意构造的数据包执行任意代码。
    • 示例:WebLogic CVE-2017-3506。
  1. 远程代码执行 (RCE)
    • 通过漏洞直接执行任意代码。
    • 示例:Apache Struts2 漏洞。
  1. 目录遍历
    • 中间件配置不当,导致攻击者可以访问非公开目录。
    • 示例:Apache HTTPD 路径遍历漏洞。
  1. 信息泄露
    • 错误配置或调试模式开启导致敏感信息泄露。
    • 示例:GlassFish 管理控制台暴露在公网。

中间件版本探测

  • Nmap
    • 使用nmap -sV探测中间件版本。
    • 特定脚本检测:
  • 指纹识别工具
    • FOFA、ZoomEye、Shodan 等网络空间测绘工具。
    • Wappalyzer 浏览器插件用于识别技术栈。

中间件利用工具

工具

用途

Burp Suite

测试和利用中间件漏洞(如XSS、SQL注入等)

Metasploit

提供各种中间件漏洞的利用模块

Nmap Scripts

HTTP相关脚本扫描未授权访问、版本信息等

Exploit-DB

提供各类中间件的已公开漏洞利用脚本

Shodan

搜索中间件版本、开放服务的目标

敏感js文件提取

提取js工具

https://github.com/rtcatc/Packer-Fuzzer

 

 

 

 

请登录后发表评论