红队web打点信息收集

news2024/11/18 23:51:29

目录

红蓝对抗

ICP备案查询—查询主域

主站域名一键查询

敏感信息收集

googlehack语法

目标邮箱号收集

子域名收集

被动信息收集

证书透明

fofa_viewer

在线子域名查询

第三方DNS服务

google语法

主动信息收集

oneforall

Sylas—从burp历史记录中提取子域

Layer5.0

端口扫描

CMS指纹识别

EHole

observer_ward

Finger

Wappalyzer

敏感目录、文件探测

dirsearch

--prefixes=

burp之discover content

JSFinder


红蓝对抗

在红蓝对抗中,一般是给定一批目标单位名称给你进行攻击,而你需要运用你毕生所学在互联网上对目标单位进行资产收集,从这些资产中找到通过一个突破口拿到服务器权限并进行内网横向移动。资产包括目标单位域名、app、公众号、小程序等,全资子公司资产,全资子子公司资产(需与主办方确认)。

一般如果目标公司进不去,我们还能从目标公司的全资子公司进行入手,那如何找目标公司的全资子公司了?

1. 以爱企查为例

输入企业名称—爱企查图谱—股权穿透图

 如下两个为该公司的百分之百控股的子公司,一般也可以作为渗透目标

2. 以企查查为例

输入单位名称—查看图谱—企业图谱

对外投资就是该公司的子公司

而且,一般情况下百分之百控股的子子公司也能作为渗透目标 

红蓝对抗中,给的目标单位几十个,资产特别多,攻击的时间也短,如何在有限的时间里快速找到突破口进入内网是非常重要的。我的思路大概就是:搜集所有单位的主域名—子域名——存活检测——指纹识别——漏洞批量检测——挑软柿子捏——单个web渗透,然后还有其他的C段查询,敏感端口爆破、app、公众号、小程序也可以同时进行收集

ICP备案查询—查询主域

通过ICP备案查询可以知道该单位备案了多少个网站,一个网站就是一个主域

网站备案是根据国家法律法规 需要网站的所有者向国家有关部门申请的备案,主要有和ICP备案和公安局备案。公安局备案一般按照各地公安机关指定的地点和方式进行。ICP备案可以自主通过官方备案网站在线备案或者通过当地电信部门两种方式来进行备案。

常说的网站备案就是ICP备案,备案的目的就是为了防止在网上从事非法的网站经营活动,打击不良互联网信息的传播,如果网站不备案的话,很有可能被查处以后关停。

域名所在ip的服务器在国内则需要备案,所在服务器为香港或者国外则不需要

那我们为什么要进行ICP备案查询了?进行ICP备案查询我们可以了解到该公司备案了多少个网站,通常一个网站就是一个主域。找到了主域之后我们可以分别对主域爆破子域。常用的查询站点如下

  • ICP备案查询 - 天眼查
  • 企查查
  • 小蓝本

1. ICP备案查询

如下这些站点都属于该公司,当然并不是所有网站都有效,得一个一个看

2. 天眼查

如下,在天眼查中搜索目标公司名称,如下我们可以着重关注网站备案、公众号等信息。

如下,网站备案中显示有有关网站6个

3. 小蓝本企业信息搜索

小蓝本查询出来的网站更多,备案的和未备案的都能查到。ps:未备案的域名除非服务器将开放的端口改为了非 常用端口才可以访问

如也查询到未备案的域名

主站域名一键查询

ENScanGo 是现有开源项目 ENScan 的升级版本,工具地址:https://github.com/wgpsec/ENScan_GO

这是一款由狼组安全团队的 Keac 师傅写的专门用来解决企业信息收集难的问题的工具,可以一键收集目标及其控股公司的 ICP 备案、APP、小程序、微信公众号等信息然后聚合导出。

填写有关cookie信息

#查询该公司的有关信息
ENScanPublic_amd64_windows.exe -n 北京xx技术有限公司   #默认从爱企查查询
ENScanPublic_amd64_windows.exe -n 北京xx技术有限公司 -type all
-o 文件夹  输出到文件夹位置
ENScanPublic_amd64_windows.exe -n 北京xx技术有限公司 -type all -invest-num 100 #导出控股比例100%的公司,即全资子公司

结果自动保存在当前目录 "\outs\公司名.xlsx"中

敏感信息收集

利用搜索引擎、github等托管平台配合一些google语法就可以搜到很多信息。 

熟知的googlehack,gitdork,网盘泄露等等。

敏感信息一共要搜集这个几个方面:

  • googlehack
  • github泄露
  • 目标人员姓名/手机/邮箱

googlehack语法

别人已经写好了语法,直接将主域名放上去就行

在线Google Hacking小工具

目标邮箱号收集

红队攻防之邮箱打点入口 - 腾讯云开发者社区-腾讯云

批量收集目标邮箱的一些常规途径

1. Sign in • Hunter

点一下还能判断该邮箱号目前是否有效

2. Find email addresses of companies and people - Skymem

子域名收集

对于同一个域名,各种方式、工具搜集的结果都不相同,企图用一两种方式就全部将域名收集全,是不可能的。只有综合利用各种工具才能最大程度搜集全信息

被动信息收集

被动信息收集方式是指利用第三方的服务、公开渠道,去获得目标主机的信息,从而不与目标系统直接交互,避免留下痕迹。

证书透明

证书:当通过HTTPS访问web时,网站向浏览器提供数字证书,此证书用于识别网站的主机名,由证书颁发机构(CA,Certificate Authority)颁发。

证书透明:证书透明(CT)是证书颁发机构(CA)必须将其发布的每个SSL/TLS证书发布到公共日志的项目。SSL/TLS证书通常包含域名,子域名和电子邮件地址等信息。

利用Google提出的证书透明度(Certificate Transparency)查询公开的子域,一般查询结果包括域、签发者、有效期和签名等

在线查询地址:

crtsh: crt.sh | Certificate Search

censys: Censys

  1. 如crt.sh | Certificate Search,输入域名,点击search

大部分时候查找到的结果比其他工具多

  1. 如censys

可以免费注册获取API,登录账户之后点击

fofa_viewer

就是将fofa做成了一个图形化工具,然后引入fofa的api接口。比在浏览器中更好用。项目地址:https://github.com/wgpsec/fofa_viewer

我们下载jdk文件

1. 配置fofa api,没有fofa会员的话用不了

打开config.properties 配置email和key值(登录fofa后点击头像个人中心——个人资料——复制联系邮箱和api key)

2. 新建fafa.bat文件

填写:java -jar fofaviewer.jar

3. 双击bat文件启动fofa_view

和浏览器中的fofa语法相同,如搜索子域名

在线子域名查询

在线子域名查询 非常强大

第三方DNS服务

VirusTotal,VirusTotal会运行DNS复制功能,通过存储用户访问URL时执行的DNS解析来构建数据库。

有可能会发现一些其他工具都发现不了的子域

  1. 输入域名,然后回车

google语法

1. 搜索子域名,排除www主域

site:jd.com -www

主动信息收集

oneforall

首先推荐的就是oneforall这款工具,具体介绍可看,传送门 ——> OneForAll

依赖环境:python3

tips:工具所在的目录不能存在有空格的目录名称,否则文件无法保存

1. 首先安装依赖:pip install -r requirements.txt

2. 建议在开启了代理的情况下使用,能获取更多的结果

打开config/setting.py文件,修改如下

3. 常用用法

(1)爆破目标子域,默认保存为CSV文件

oneforall.py --target jd.com  run

结果保存在 \OneForAll-master\results\jd.csv 中

打开文件,ip字段如果有过个ip则存在cdn,否则为真实ip

注意事项

  • 只能保存为csv和json格式的文件,有两个配置文件一个setting.py,一个default.py。配置setting.py文件就行
  • 使用代理,但是不要代理所有模块

扩展api

建议添加扩展api,能获取到更多子域名

https://github.com/shmilylty/OneForAll/blob/master/docs/collection_modules.md

Sylas—从burp历史记录中提取子域

项目地址:https://github.com/Acmesec/Sylas

此工具需要数据库连接,这里我直接使用phpstudy中的mysql数据库,在里面创建一个数据库如:domain

  1. 创建一个数据库后连接数据库

  1. 新建项目名称,添加后记得选中,再点击确定

  1. 添加要提取的根域名

我们是浏览器访问baidu,会自动从burp历史流量中抓取子域

虽然上面有显示复制域名的按钮,但是并没有用。

写了个提取子域名的脚本,将抓取到的这些域名信息复制到domain.txt中

domain.py baidu.com

import re
import os
import argparse
#传参
parser = argparse.ArgumentParser(description='提取Sylas中的子域名')
parser.add_argument('domain',type=str,help='想要提取的子域名,如: "pyhton domain.py jd.com"') 
args = parser.parse_args()
domain = args.domain

#打开并读取文件
f = open("domain.txt",'r')
data = f.read()
f.close()

#正则查找子域
sub = re.findall(r'\S*.%s' %(domain), data)  #正则中插入变量

if os.path.exists("result-domain.txt"):
    os.remove("result-domain.txt")
if sub:
    for i in sub:
        print(i)
        with open("result-domain.txt",'a') as file:
            file.write(i+'\n')
    print("共提取:",len(sub),"个子域名。结果保存在当前路径'result-domain.txt'文件中")
    os.system("result-domain.txt")

else:
    print("未能提取出子域名,请重新输入根域名")

Layer5.0

项目:https://github.com/euphrat1ca/LayerDomainFinder/releases/tag/3

端口扫描

快速扫描大量主机

nmap -sS -Pn -n --open --min-hostgroup 4 --min-parallelism 1024 --host-timeout 30 -T4 -v -p 1-65535 -iL url.txt

CMS指纹识别

网站指纹:网站指纹包括应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据库等

渗透测试的时候如果通过一定的方法获取CMS类型、Web服务组件类型及版本信息可以帮助安全工程师快速有效的去验证已知漏洞

常见指纹检测的对象

  • CMS信息:比如大汉CMS、织梦、帝国CMS、phpcms、ecshop等;
  • 前端技术:比如HTML5、jquery、bootstrap、pure、ace等;
  • Web服务器:比如Apache、lighttpd, Nginx, IIS等;
  • 应用服务器:比如Tomcat、Jboss、weblogic、websphere等;
  • 开发语言:比如PHP、Java、Ruby、Python、C#等;
  • 操作系统信息:比如linux、win2k8、win7、kali、centos等;
  • CDN信息:是否使用CDN,如cloudflare、360cdn、365cyd、yunjiasu等;
  • WAF信息:是否使用waf,如Topsec、Jiasule、Yundun等;
  • IP及域名信息:IP和域名注册信息、服务商信息等;
  • 端口信息:有些软件或平台还会探测服务器开放的常见端口。

EHole

EHole旨在帮助红队人员在信息收集期间能够快速从C段、大量杂乱的资产中精准定位到易被攻击的系统,从而实施进一步攻击。

项目:https://github.com/EdgeSecurityTeam/EHole

EHole(棱洞)2.0提供了两种指纹识别方式,可从本地读取识别,也可以从FOFA进行批量调用API识别(需要FOFA密钥),同时支持结果JSON格式输出。

  1. 本地识别

Ehole3.0-Win.exe -h

  • -u url 单个网站识别
  • -l url.txt 批量识别
  • -json export.json 导出json格式

  1. FOFA识别:

注意:从FOFA识别需要配置FOFA 密钥以及邮箱,在config.ini内配置好密钥以及邮箱即可使用。

ps: 该工具需要输入带http或https的网站,否则不识别,而observer_ward不需要

observer_ward

使用之前先“-v”更新指纹库

指纹库:C:\Users\df\AppData\Roaming\observer_ward

项目:https://github.com/0x727/ObserverWard

observer_ward.exe -u   #更新指纹库
observer_ward.exe -t  url      #单个地址识别
observer_ward.exe -f  url.txt  #批量识别
observer_ward.exe -f  url.txt --proxy http://127.0.0.1:7890
observer_ward.exe -f  url.txt  -c 1.csv   3导出为csv文件

Finger

https://codeload.github.com/EASY233/Finger/zip/refs/heads/main

Wappalyzer

火狐的插件

敏感目录、文件探测

一般爆破目录不附带恶意Payload的话,WAF基本不会拦截的,除非有防DDOS、CC攻击的设备

dirsearch

项目地址:GitHub - maurosoria/dirsearch: Web path scanner

常用参数如下

  • -h 查看帮助
  • -u xx 目标域名xx
  • -e php 扫描网站的类型为php, 类型如php,asp,jsp
  • -t 40 线程为40,默认为30
  • -x 400, 404, 503 排除响应码400...,即响应码为这个的不输出到屏幕上
  • --full-url 输出完成的url模式,这样直接点击就能访问扫描出的结果
  • -s 设置请求之间的延时

1. 以线程为40的速度扫描php的网站,不显示503,400,404状态码

dirsearch.py  -t 40  -e php  -x 503,404,400  -u http://jxxx.cn/

默认使用一个字典,字典位置在:\dirsearch-master\db\dicc.txt。可以在里面加上自己的字典

然后就能扫描到

--prefixes=

可以在所有字典前加自定义n个前缀,这样字典数量就会翻n倍,比如原来字典有100个数,加了一个前缀就有100*n个,它会把原来的字典跑一遍,加上前缀后的字典再跑一遍

#加上一个前缀
--prefixes=ssrc/           
#加上两个前缀
--prefixes=ssrc/,bjcfg/

我在网站目录中加了ssrc和bjcfg两个个目录,正常字典是跑不出来的,我加上这个参数后就能跑出来了

burp之discover content

有时能够发现其他工具发现不了的一些目录

  1. 选择discover content

  1. 设置目录爆破起点

  1. 可以以title进行排序查看结果

JSFinder

在网站的JS文件中,会存在各种对测试有帮助的内容。

地址:https://github.com/Threezh1/JSFinder

JSFinder是一款用作快速在网站的js文件中提取URL,子域名的工具。

提取URL的正则部分使用的是LinkFinder

JSFinder获取URL和子域名的方式:

修改几个参数:

(1)响应超时时间改为12,以及加a上代理(代理还是建议不加,影响速度),因为我本机一直开启clash

  1. 简单爬取
python JSFinder.py -u http://www.xx.com

  1. 深度爬取

深入一层页面爬取JS,时间会消耗的更长,获取的信息也会更多。建议使用-ou 和 -os来指定保存URL和子域名的文件名。

python JSFinder.py -u https://baidu.com -d
python JSFinder.py -u https://baidu.com -d -ou url.txt -os sub.txt

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

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

相关文章

【node.js从入门到精通】使用express创建web服务器,路由,进行中间件的创建链接路由及其他中间件

目录 前言 初识express 使用express创建基本的web服务器 初识express路由 路由匹配概念 路由模块化 中间件 中间件和路由的区别 定义中间件函数 中间件作用 局部生效中间价 中间件分类 1.应用级别中间件 2.路由级别的中间件 3.错误级别中间件 4.内置中间件 5.自定义…

带你深入理解js事件循环机制

同步任务和异步任务(微任务和宏任务) JavaScript是一门单线程语言 分为同步任务和异步任务 同步任务是指在主线程上排队执行的任务,只有前一个任务执行完毕,才能继续执行下一个任务。 异步任务指的是,不进入主线程…

Pro1:图片的隐藏和显示

什么是JavaScript?实现目标实现代码实现效果实现方法💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交…

axios 中如何取消请求_从不会使用到精通原理_番茄出品

start 最近频繁遇到一个问题,axios 是如何取消请求的?这篇文章将从新手小白的视角出发,从 axios 取消逻辑的基础使用,到原理分析,带你彻底了解并掌握 axios 中取消请求的“秘密”。编写时间:2023/02/24-23…

520到了,教你做个JavaWeb表白墙小项目

目录 1.配置 Maven 项目 1.1 创建 Maven 项目 1.2 引入相关依赖 1.3 项目总结构 2. 约定前后端交互接口 3.服务端代码 3.1 创建Message类 3.2 创建工具类 3.3 添加信息类(AddMessage) 3.4 查询信息类(MessageList) 4. …

vue3中的配置代理

如图,配置代理就是在客户端与服务器中充当中介的角色 目录 关于配置代理,首先我们的要知道为什么要配置代理,配置代理做了什么事情 一、跨域是什么 二、如何解决 三、配置代理案例 1. 下面是我自己在后端尝试解决跨域的例子 2.然后在vue中…

【Vue项目实战】Vue3中动态修改样式和级联样式优先顺序详解

Vue实战笔记目录前言一、ref修改样式1、通过 Vue 的 ref 组件获取 DOM 元素节点注:这边比较一下,和 DOM操作 document.getElementById(id) 这个方法有什么区别2、通过 ref 修改 DOM 元素节点样式二、通过v-bind对Html元素的样式(style)进行动态绑定三、v…

端午假期整理了仿天猫H5 APP项目vue.js+express+mongo

效果 源码 源码太多,放github上了点击 遇到的问题 连接mongodb数据库多个集合(model文件) mongodb与mysql数据库连接不同,sql在定义查询语句时可以连接不同的表mongodb需要在开始定义好连接要用到的表 module.exports {dbPr…

echarts-wordcloud 血泪总结使用说明 (配置项及其不足点优化)

基本使用方法 echarts-wordcloud是基于echarts的一个词云库,是我常用的一个组件,业务上用的多一点,但是这个库在echarts的官网文档里面没有说明,git上的说明也很少,有些配置需要自己摸索,下面都是我的血泪…

css动画效果

动画1&#xff08;沿着椭圆转动&#xff09; 其实是个2D转动&#xff0c;只不过咱们设置椭圆&#xff0c;然后加上scale缩放&#xff08;近大远小&#xff09;&#xff0c;看上去就是3D效果 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head…

使用Node.js手撸一个建静态Web服务器,内部CV指南

文章里有全部代码&#xff0c;也可以积分下载操作步骤如上图文章结束 话说这个键盘真漂亮~~ 文章目录使用Node.js手撸一个建静态Web服务器一、动静态服务器的概念1.1 静态Web服务器概念1.2 静态Web服务器的优点1.3 快速搭建的途径二、 手撸指南2.1 框架搭建2.2 CtrlC/V2.3 启动…

Vue使用ElementUI对table的指定列进行合算

前言 最近有一个想法&#xff0c;就是记录自己花销的时候&#xff0c;table中有一项内容是花销的金额。然后想在table的底部有一项内容是该金额的总计。 然后我就顺着elementui的table组件寻找相关的demo&#xff0c;还真发现了一个这样的demo。 对于这个demo&#xff0c;官方…

css实现轮播图

轮播图&#xff1a;就是多张图片按照一定的时间和顺序依次从某个窗口来向用户展示图片 轮播图的实现代码&#xff1a; 1&#xff09;创建一个容器来进行轮播图的展示 这里的容器就是最外部的盒子 注意最外部盒子设置宽高时要与我们进行展示的图片的宽高保持一致&#xff0c…

npm i 安装不上依赖怎么办

起因 在github上下载的项目需要使用npm i来安装依赖。但是安装过程需要很久&#xff0c;然后安装完了又发现安装过程报错了。导致项目跑不起来。原因是某些依赖没有成功的安装上去 解决办法&#xff08;依次试&#xff0c;每次试新的命令最好把上次安装node_modules删掉&#…

threejs三维地图大屏项目分享

这是最近公司的一个项目。客户的需求是基于总公司和子公司的数据&#xff0c;开发一个数据展示大屏。 大屏两边都是一些图表展示数据&#xff0c;中间部分是一个三维中国地图&#xff0c;点击中国地图的某个省份&#xff0c;可以下钻到省份地图的展示。 地图上&#xff0c;会做…

(Select)解决:Element-ui 中 Select 选择器下拉框样式及输入框样式的修改问题(背景色透明与悬停背景色变化与下拉框边距变化等操作)

Ⅰ、Element-ui 提供的组件与想要目标情况的对比&#xff1a; 1、Element-ui 提供组件情况&#xff1a; 其一、Element-ui 自提供的代码情况为(示例的代码)&#xff1a; // Element-ui 自提供的代码&#xff1a; <template><el-select v-model"value" pla…

JS对象详解

JS对象详解 js的对象是什么&#xff1f;js的对象类型有哪些&#xff1f;具体实例是什么&#xff1f; 一、ECMA-262对JS对象的定义&#xff1a; 属性的无序集合&#xff0c;每个属性存放一个原始值、对象或函数&#xff1b; 对象是无特定顺序的值的数组&#xff1b; 对象是一…

用 JSP 连接 MySQL 登入注册项目实践(JSP + HTML + CSS + MySQL)

目录 一、写在前面 二、效果图 三、实现思路 四、实现代码 1、login总界面 2、registercheck总代码 3、logoutcheck总代码 4、amendcheck总代码 相关文章 jsp实现简单登入注册界面功能用jsp实现简单登入注册界面功能&#xff08;css美化&#xff09;&#xff08;软件i…

【前端点击穿透】pointer-events属性详解

什么是pointer-events&#xff1f; pointer-events 属性是一个指针属性&#xff0c;是用于控制在什么条件下特定的图形元素可以成为指针事件的目标。 This CSS property,when set to “none” allows elements to not receive hover/click events,instead the event will occur…

使用Three.js实现web端显示点云

需要了解html、js、websocket的基本使用&#xff0c;建议浏览three.js文档中场景、渲染器、光源、相机以点模型、Buffergeometry的相关知识 第一步&#xff0c;创建html文件 <!DOCTYPE html> <html><head><meta charset"utf-8"><title&…