07. 渗透测试之针对网站的信息收集

news2024/11/18 6:04:44

07. 渗透测试之针对网站的信息收集

01 信息收集简介

什么是信息收集

信息收集(Information Gathering)是指通过各种方式获取所需要的信息。信息收集是信息得以利用的第一步,也是关键的一步。信息收集工作的好坏,会影响整个渗透流程的进行。收集的信息越多后期可进行测试利用的目标就越多。信息收集包含资产收集但不限于资产收集。

信息收集的意义

信息收集对于渗透测试前期来说是非常重要的。信息收集是渗透测试成功的保障。只有我们掌握了目标网站或目标主机足够多的信息之后,才能更好地进行渗透测试。

信息收集的分类

主动信息收集

通过直接访问网站,在网站上进行操作,对网站进行扫描等。这种是有网络流量经过目标服务器的信息收集方式。

被动信息收集

基于公开的渠道,比如搜索引擎等,在不与目标系统直接交互的情况下获取信息,并且尽量避免留下痕迹。

这两种方式各有优势,主动信息收集你能获得更多的信息,但是痕迹较为明显,容易被溯源。被动信息收集因为不是针对网站进行特定的扫描,所以一般来说收集的信息会相对较少,但是你的行动并不会被目标主机发现。所以我们要灵活运用不同的收集方式,才能保证信息收集的完整性。

02 域名资产收集

2.1 域名介绍

域名(Domian Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。

由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网络名称系统(DNS,Domian Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

2.2 域名的分类

顶级域名:.com .org .cn .net

二级域名:baidu.com google.com

三级域名:www.baidu.com www.google.com

政府域名:.gov

商业域名:.com

教育域名:.edu

2.3 whois查询

whois查询的重要性:通过whois查询可以获得域名注册者邮箱地址等信息,一般情况下对于中小型网站域名注册者就是网站管理员。利用搜索引擎对whois查询到的信息进行搜索,获取更多域名注册者的个人信息。

查询方法:可通过以下网站进行在线查询

c 站长之家查询接口

https://whois.aliyun.com/ 阿里云查询接口

https://www.whois365.com.cn/ 全球whois查询

2.4 子域名收集

子域名的概念:

子域名指二级域名,二级域名是顶级域名(一级域名)的下一级。

比如mail.hetian.com和bbs.hetian.com是hetian.com的子域,而hetian.com则是顶级域名.com的子域。

搜索引擎获取:

google hacking:通过google搜索语法 site:hetianlab.com 查找网站根域名带有hetianlab.com字段的网站获取子域名

https://fofa.info/ 通过fofa搜索语法domain = "baidu.com"查找根域名带有此字段的站点

https://www.zoomeye.org/ 钟馗之眼搜索语法site:baidu.com查找根域名带有此字段的站点**(不太常用)**

https://www.shodan.io shodan搜索语法 hostname:baidu.com 查找根域名带有此字段的站点

https://quake.360.cn/quake/#/index 360搜索语法domain:"baidu.com"查找根域名带有此字段的站点

https://chaziyu.com/ 一个在线子域名查询站点

https://phpinfo.me/domain/

https://hunter.qianxin.com

工具收集:

Layer子域名挖掘机:(不太推荐)

https://github.com/euphrat1ca/LayerDomainFinder/releases/

03 端口探测扫描

3.1 端口简介

端口介绍:

在Internet上,各主机间通过TCP/IP协议发送和接受数据包,各个数据包根据其目的主机的IP地址来进行网络中的路由选择,从而顺利地将数据包传送给目标主机

协议端口

根据提供服务类型的不同,端口可分为以下两种:

TCP端口:TCP是一种面向连接的可靠的传输层通信协议

UDP端口:UDP是一种无连接的不可靠的传输层协议

TCP协议和UDP协议是独立的,因此各自的端口号也互相独立。

3.2 端口类型

  1. 周知端口(Well Known Ports)

    周知端口是众所周知的端口号,范围从0到1023,其中80端口分配给WWW服务,21端口分配给FTP服务等。我们在IE的地址栏里输入一个网址的时候是不必指定端口号的,因为在默认情况下WWW服务的端口是”80“。网络服务时可以使用其他端口号的,如果不是默认的端口号则应该在 地址栏上指定端口号,方法是在地址栏后加上冒号 ”:“,再加上端口号。比如使用 ”8080“ 作为WWW服务的端口,则需要在地址栏里输入 ”网址:8080“。

    但是有些系统协议使用固定的端口号,它是不能被改变的,比如139端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。

  2. 动态端口(Dynamic Ports)

    动态端口的范围是从49152到65535。之所以称为动态端口,是因为它 一般不固定分配某种服务,而是动态分配。

  3. 注册端口

    端口1024到49151,分配给用户进程或应用程序。这些进程主要是用户选择安装的一些应用程序,而不是已经分配好了公认端口的常用程序。这些端口没有被服务器资源占用的时候,可以为用户动态选用为源端口。

3.3 常用端口

渗透测试常用端口号

在这里插入图片描述

3.4 端口探测扫描

nmap下载地址

http://www.nmap.com.cn/

基础用法

nmap 127.0.0.1 -p 80 (指定单个端口)

nmap 127.0.0.1 -p 1-100 (多个端口)

nmap 127.0.0.1 -p-(所有端口)

扫描目标服务版本 nmap -O -sV 127.0.0.1 -p 80

全面扫描 nmap -A 127.0.0.1 -p-

扫描多个目标

nmap 127.0.0.1 127.0.0.2

nmap 127.0.0.1-100

nmap -iL target.txt(nmap在同一目录下,扫描这个txt内的所有主机)

nmap -sS -v -T4 -Pn -p 0-65535 127.0.0.1 扫描全部端口

nmap -sV -T4 -Pn 127.0.0.1 扫描服务版本信息

nmap -T5 -O -A -V --script vuln 127.0.0.1 简单检测是否存在漏洞问题

Railgun1.3.8.0

04 自动化web扫描工具ARL灯塔使用

4.1 自动化web扫描工具ARL灯塔搭建

安装docker

添加Docker PGP key:

curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -

配置Docker APT repository:

echo ‘deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable’ | sudo tee /etc/apt/sources.list.d/docker.list

更新APT

sudo apt-get update

如果您安装了旧版本的Docker,请卸载它们:

apt-get remove docker docker-engine docker.io

安装docker:

apt-get install docker-ce

查看docker状态:

systemctl status docker

启动docker:

systemctl start docker

开机自动启动:

systemctl enable docker

安装pip,kali默认安装了python2.7 python3.7,所以直接使用apt安装pip

apt install python3-pip

安装docker-compose:

pip install docker-compose

安装git:

apt-get install git

拉取ARL文件

git clone https://github.com/TophantTechnology/ARL

进入目录

cd ARL/docker

docker volume create arl_db

docker-compose pull

docker-compose up -d 开启

输入服务器地址默认端口为5003

https://192.168.34.121:5003/login 进行访问

默认端口5003(https),默认用户名密码为admin/arlpass

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

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

相关文章

全国各城市疫情达峰进度条感染高峰时间表最新

防疫政策放开之后,多位专家就研判,未来一个多月内全国疫情将达到感染高峰。而近日,一张全国各地疫情进度和最终高峰的预计时间表流传,对各城市首轮感染高峰期进行了预测。那么,全国各城市疫情达峰进度条如何了&#xf…

怎么高效的开发一款成功的产品?Working Backwards

过去的几天一直在回顾整个产品团队过去一年所做的工作,有的工作有亮点,有的工作可以说是乏善可陈。对于不好的,发现其中的一个核心原因就是没有坚持“以终为始”的原则。现将我2021年10月写的一篇公司内部博客再次分享给团队,也分…

Simple Yet Effective Graph Contrastive Learning for Recommendation

1. 摘要 图神经网络(GNN)是一种强大的基于图的推荐系统学习方法。最近,结合对比学习的gnn在处理高度稀疏数据时,在数据增强方案的推荐方面表现出了优异的性能。尽管它们取得了成功,但大多数现有的图对比学习方法要么在用户-项目交互图上执行随…

JAVA零基础小白学习教程之day08_接口多态

day08-JAVAOOP 课程目标 1. 【理解】什么是接口 2. 【掌握】接口的定义格式 3. 【掌握】接口的使用 4. 【理解】接口的成员特点 5. 【理解】类和接口 抽象类和接口之间的关系 6. 【掌握】单继承多实现 7. 【理解】接口之间的多继承 8. 【掌握】接口的案例 9. 【理解】什么是…

一个程序员的新冠防护最佳实践

至今未阳,做了几次抗原检测都是阴性,所以把个人的防护经验给广大程序员朋友分享一下,尤其家里有小孩老人的可以参考一下。 我一天的防护操作 1、午餐 吃午饭时,走楼梯不去挤电梯,而且是在其他人吃完饭后&#xff0c…

Unreal Engine中调试常用方法

目录 常用调试方法 AddOnScreenDebugMessage UE_LOG:在控制台看调试信息 在蓝图中直接调用PrintString 自定义日志分类 声明 定义 简化日志输出的宏 日志格式化输出 常用调试方法 在虚幻引擎中常用的打印日志方法有三种,分别是:UE_…

C++运算符重载,匿名对象

目录 1、加号运算符重载 1.1 通过自己写成员函数,实现两个对象相加属性后返回新的对象 1.2通过成员函数实现加法运算符重载 1.3通过全局函数实现加法运算符重载,运算符重载也可以发生函数重载 1.4总结--对于内置的数据类型的表达式运算符是不可以改变…

Python+Requests实现接口自动化测试

一般对于自动化的理解,有两种方式的自动化。 第一,不需要写代码,完全由工具实现,这种方式的工具一般是公司自己研发的,方便黑盒测试人员使用。这种工具的特点是学习成本低,方便使用,但是通用性…

面向5G C-RAN组网的机房配置标准与模型

【摘 要】当前5G网络建设成本高,投资压力大,基站建设进度受铁塔公司制约;基站机房电费、租赁、服务费用逐年上升,运营维护压力大。面向未来5G建设,通过C-RAN组网,实现BBU集中化部署,可促进降本增效,实现低成本建网。首先分析了C-RAN区所处的网络位置,其次从BBU框多基…

java基于springboot的心理健康管理网站-计算机毕业设计

运行环境: 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架springbootvue 项目介绍 心灵治愈交流平台的主要使用者分为管理员和用户、心理咨询师,实现功能包括管理员:首页、个人中心、系统公告管理、用户管理、心…

网上订餐项目(附源代码及数据库)

目录 一、项目概要 二、项目展示 三、数据库 四、项目源码 五、毕设专栏 首页 登录界面 注册页面 一、项目概要 系统主要功能模块有: (1)首页菜品:主要包括购买菜品、菜品加入购物车的功能 (2)我的…

django-rest-framework

文章目录 (1)Web应用模式及API接口 (2)Restful规范 (3)drf安装和简单使用 (4)源码分析 (5)序列化器-Serializer (6)局部和全局响应配…

STL篇之vector

一、介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它…

NR HARQ (四)dynamic codebook

微信同步更新欢迎关注同名modem协议笔记 上篇提到type-1 HARQ-ACK codebook,即semi-static codebook,UE要为每个PDSCH候选位置生成反馈,也会包含实际没有下行传输的PDSCH,再加上配置CBG的场景,HARQ-ACK 码本中包含的无…

SpringBoot系列之数据库初始化-datasource配置方式

在我们的日常业务开发过程中,如果有db的相关操作,通常我们是直接建立好对应的库表结构,并初始化对应的数据,即更常见的情况下是我们在已有表结构基础之下,进行开发; 但是当我们是以项目形式工作时&#xff…

java微信支付v3系列——3.订单创建准备操作

微信支付的下单操作分为了5种,分别是JSAPI、APP、H5以及Native支付及小程序支付,之所以将支付放在单独一个章节,而不是按照支付类型划分一个章节,是因为支付所传递的数据都是相似的,方便我们更好的封装。 本章节是支付…

20221222英语学习

托福词汇 sociology n.社会学 given adj.规定的,特定的;假定的 narrative n.叙述;记叙体,叙述技巧 deplore vt.悲叹,哀叹,公开谴责 despoil vt.夺取,掠夺;毁坏,破坏…

Kubernetes:环境搭建

文章目录1、k8s 概念1.1、基本概念1.2、基本术语2、k8s 架构2.1、k8s 节点2.2、k8s 组件2.2.1、master 组件2.2.2、node 组件3、k8s 集群安装配置3.1、docker3.2、主机环境调整3.3、安装 kube 工具3.4、Master 节点初始化3.5、node 节点初始化3.6、重置节点4、k8s 集群升级4.1、…