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

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 常用端口

渗透测试常用端口号

07. 渗透测试之针对网站的信息收集_第1张图片

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

你可能感兴趣的:(渗透测试)