文章目录
- 信息收集-被动信息收集介绍
- 收集手段
- 收集内容
- 信息用途
- 信息收集-域名解析过程以手段
- 域名解析过程
- 信息收集 DNS
- **DNS 信息收集-NSLOOKUP**
- **DNS 信息收集-DIG**
- **查询网站的域名注册信息和备案信息**
- 信息收集-被动信息收集手段大全
- **使用 Maltego 收集子域名信息**
- 子域名介绍
- 查询子域名手段
- **使用 Maltego CE 进行子域名挖掘**
- 无翻墙 Shodan 搜索引擎
- 无翻墙免费注册登录
- **Shodan 搜索技巧**
- 资产检索 FOFA 国内搜索
- FOFA 基础语法
- **Google 搜索引擎技巧**
- 常见最新漏洞公布网站
- 信息收集-主动信息收集
- 基于 ping 命令的探测
- **ARPING**
- **使用 arping 命令查看局域网中的 IP 是否有冲突**
- **通过脚本来实现对网络的自动扫描**
- **模拟 IP 地址冲突**
- 使用 netdiscover 进行被动方式探测局域中存活的机器
- 主动模式
- 被动模式
- HPING3 DOS 攻击的实验
- 使用 HPING 进行压力测试
- SYN Flood洪水攻击过程
- 使用 FPING 查看局域中运行了哪些机器
- 基于 Nmap 的扫描方式
- 使用 nc 扫描端口
- 信息收集-优化缓解 DDOS 攻击
- DDOS 简介介绍
- DDOS 攻击应用
- DDOS 防御手段
信息收集-被动信息收集介绍
收集手段
主动搜集,如nmap扫描端口
被动收集,如谷歌搜索
目的是利用公开渠道,不留下痕迹
收集内容
- IP地址段,批量收集
- 域名信息,大量注册信息
- 邮件地址,钓鱼等
- 文档图片数据,有利于渗透的信息
- 私人信息
- 技术架构
- 公开的商业信息
信息用途
- 描述目标
- 发现目标
- 社会工程学攻击(公关)
- 物理缺口(漏洞)
信息收集-域名解析过程以手段
域名解析过程
信息收集 DNS
DNS 信息收集-NSLOOKUP
1、将域名解析为 IP 地址
┌──(root xuegod53)-[~]
└─# ping xuegod.cn
PING xuegod.cn (101.200.128.35) 56(84) bytes of data.
64 bytes from xuegod.cn (101.200.128.35): icmp_seq=1 ttl=52 time=90.3 ms
域名的 IP
2、使用 nslookup 查看域名
┌──(root xuegod53)-[~]
└─# nslookup xuegod.cn
Server: 114.114.114.114 #DNS 服务器
Address: 114.114.114.114#53 #DNS 服务器地址
Non-authoritative answer:
Name: xuegod.cn #我们解析的域名
Address: 101.200.128.35 #解析到的 IP 地址
例 2:查看百度
┌──(root xuegod53)-[~]
└─# nslookup www.baidu.com
Server: 114.114.114.114
Address: 114.114.114.114 #53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 220.181.38.149
Name: www.a.shifen.com #是 www.baidu.com 的域名别名
Address: 220.181.38.150
DNS 信息收集-DIG
语法:
- dig (选项) 需要查询的域名
- @<DNS 服务器地址>: 指定进行域名解析的域名服务器;
- any #显示所有类型的域名记录。默认只显示 A 记录
──(root xuegod53)-[~]
└─# dig xuegod.cn
──(root xuegod53)-[~]
└─# dig @114.114.114.114 xuegod.cn
──(root xuegod53)-[~]
└─# dig @114.114.114.114 xuegod.cn any #any 表示查询所有
1 使用-x 参数 IP 反查域名
┌──(root xuegod53)-[~]
└─# dig -x 114.114.114.114
114.114.114.114.in-addr.arpa. 22 IN PTR public1.114dns.com
# 114.114.114.114 反向解析为 public1.114dns.com
2 查询 DNS 服务器 bind 版本信息
查询 DNS 版本信息的目的:可以通过版本信息来查找相关版本漏洞的利用方式
3 查看 dnspod 的域名服务器 ns3.dnsv4.com 使用 bind 的软件版本信息
┌──(root xuegod53)-[~]
└─# dig txt chaos VERSION.BIND @ns3.dnsv4.com
;; QUESTION SECTION:
;VERSION.BIND. CH TXT
;; ANSWER SECTION:
VERSION.BIND. 0 CH TXT "1.1.1711.01" #这是软件包版本信息
查询结果是可能被拉入黑名单
- txt 记录类型
- chaos 类级别
- version 版本信息
查询网站的域名注册信息和备案信息
1、Whois 查询方式 Web 接口查询和 Whois 命令查询
(1)、通过 Web 接口查询:
阿里云:https://whois.aliyun.com/
站长之家:http://whois.chinaz.com/
(2)、Whois 命令查询
┌──(root xuegod53)-[~]
└─# whois xuegod.cn
2、备案信息查询
(1)、Web 接口查询
http://icp.chinaz.com/
(2)、天眼查
https://www.tianyancha.com/
信息收集-被动信息收集手段大全
使用 Maltego 收集子域名信息
该工具的主要重点是分析通过互联网访问的数据之间的真实世界关系,其中包括足迹互联网基础设
施和收集有关拥有该网络的人员和组织的数据。通过使用 OSINT(开源情报)技术,通过查询 whois 记
录,社交网络,DNS 记录,不同的在线 API,提取元数据和搜索引擎来搜索这些数据之间的连接。该工
具将提供广泛的图形布局结果,允许对数据进行聚类,使关系准确和即时。
子域名介绍
顶级域名
域名的最后一个部分,即是域名最后一点之后的字母
例如在 http://example.com 这个域名中,顶级域是.com(或.COM),大小写视为相同。
常见的顶级域主要分 2 类:
1、通用顶级类别域名共 6 个
包括用于科研机构的.ac;用于工商金融企业的.com;用于教育机构的.edu;用于政府部门的.gov;用于互联网络信息中心和运行中心 的.net;用于非盈利组织的.org。
2、国家及地区顶级域
如".cn"代表中国,".uk"代表英国等,地理顶级域名一般由各个国家或地区负责管理。.jp 代表什么?
子域名(Subdomain Name)
凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。
挖掘子域名的重要性
子域名是某个主域的二级域名或者多级域名,在防御措施严密情况下无法直接拿下主域,那么就可以采用迂回战术拿下子域名,然后无限靠近主域。
查询子域名手段
1. 子域名挖掘工具 :Maltego 子域名挖掘机。
2. 搜索引擎挖掘 如: 在 Google 中输入 site:qq.com
**3. 第三方网站查询:**http://tool.chinaz.com/subdomain、https://dnsdumpster.com/
**4. 证书透明度公开日志枚举:https://crt.sh/ 、**http://censys.io/
**5. 其他途径:https://phpinfo.me/domain (推荐)、**http://dns.aizhan.com
使用 Maltego CE 进行子域名挖掘
先翻墙后,再注册
Maltego CE 官网:https://www.paterva.com/web7/buy/maltego-clients/maltegoce.php
因为注册过程的验证码是 google 的技术,不翻墙使用不了。
首先我们到官网注册一个账户,因为目前该工具不登录是不能正常使用的,同学们需要使用 gmail邮箱或 163 进行注册。
注册帐号网址:https://www.paterva.com/web7/community/community.php
无翻墙 Shodan 搜索引擎
虽然目前人们都认为谷歌是最强劲的搜索引擎,但 Shodan 才是互联网上最可怕的搜索引擎。与谷
歌不同的是,Shodan 不是在网上搜索网址,而是直接进入互联网背后的通道。Shodan 可以说是一款
“黑暗”谷歌,一刻不停的在寻找着所有和互联网关联的服务器、摄像头、打印机、路由器等等。还可以直接显示出目标的具体地理位置信息。
无翻墙免费注册登录
**访问:Shodan 官网:**https://www.shodan.io
- 可以使用 google 帐号登录
使用 Shodan 最好是注册一下因为不注册的话功能会受限制
- 打开这个链接注册:https://account.shodan.io/register
Shodan 搜索技巧
技巧 1:通过 Shodan 搜索 Webcam 网络摄像头设备
- 在搜索框中输入“webcam”或“网络摄像头”进行搜索。这里提醒大家只是为了给大家演示搜索结果。不要随便尝试登录别人的网络设备,以免带来一些不必要的麻烦。
例 2:查看北京的网络摄像头
- 输入: city:beijing webcam
例 3:直接搜索: webcam
- http://121.176.166.183:8080/home.html
技巧 2:Shodan 搜索指定 IP 地址
- 在搜索框中输入 net:101.200.128.35 #IP 地址是学神论坛的 IP 地址
资产检索 FOFA 国内搜索
FOFA 基础语法
详细语法规则见于官网https://fofa.so/
无会员限制搜索次数
Google 搜索引擎技巧
我们通常使用搜索引擎都是直接搜索自己想要的内容,正常情况下我们都是直接使用语言进行描述问题来进行搜索,然后搜索引擎也有特定语法可以使用,熟练掌握搜索引擎的语法可以让你的搜索效率和准确率大幅度提升,当然我们学习这种技巧是为了寻找存在漏洞的页面,或者存在敏感信息的文件。
Google 常用语法说明
- site 指定域名
- inurl URL 中存在的关键字页面
- intext 网页内容里面的关键字
- Filetype 指定文件类型
- intitle 网页标题中的关键字
- link 返回你所有的指定域名链接
- info 查找指定站点信息
- cache 搜索 Google 里的内容缓存
技巧 1:inurl,拆开来,就是 in url ,它的作用是限定在 url 中搜索。
-
例:输入内容:inurl:qq.txt
我们可以看到有很多存在 QQ 账号密码信息的页面,不过时间是比较久远的。这里只是演示方法。
技巧 2: “inurl:admin_login.asp” 查找后台登录页面
我们可以看到全部都是后台登录的页面。
技巧 3 “intitle:index.of .bash_history”
- intitle 表示标题
- index.of 表示包含 index.of 字段,出现该字段表示网站目录是对我们开放的,我们可以查看到网站
- 目录下的所有文件信息。
- .bash_history 表示我们要筛选的文件名称,也可以替换成其他的敏感信息文件,该文件记录了用户的历史命令记录
http://www.lamardesigngroup.com/homedir/
例 2:查找 mysql 的配置文件 my.cnf
如:https://www.artila.com/download/9200/Linux/Utility/mysql-all/mysqld/etc/
例 3:查找 discuz 论坛中存储 mysql 密码的配置文件 config_global.php
intitle:index.of config_global.php
技巧 4 “cache:xuegod.cn”
cache 返回的结果是被搜索引擎收录时的页面,比如一些页面被删除了,我们通过 cache 还是可以访问。
我们看到 Google 缓存的日期为 6 月 3 日,他也会提示我们当前页面可能已经更改,所以我们查看一些被删除的内容是完全可能的。
技巧 5 “Kali filetype:torrent”
Kali 是我们要搜索的关键字,至于同学们关心什么奇怪的内容老师就不知道了。手动斜眼笑。
filetype 指定文件类型
torrent 文件类型名称 // torrent 是种子文件,可以填写任意扩展名。
技巧 6 “apache site:bbs.xuegod.cn”
apache 是我们搜索的关键字
site 可以查询网站的收录情况
bbs.xuegod.cn 目标网站:学神官方论坛
使用场景,我们通常在一些网站中找到一些有用的信息是非常麻烦的 ,因为站内的搜索功能并不是那么好用,所以我们使用该方式可 以快速的查找到自己想要的信息。
技巧 7 “intext:user.sql intitle:index.of” 组合使用技巧
intext:user.sql 查询包含 user.sql 用户数据库信息的页面
intitle:index.of 表示网站目录是开放状态。
我们可以看到有很多页面都包含了敏感信息。老师找到了一个数据库备份的页面。
http://western-blotting.com/oc_v1.5.2.1_database_dump/
技巧 8 “s3 site:amazonaws.com filetype:xls password”
s3 关键字,亚马逊的一种服务器类型。
site:amazonaws.com 目标是亚马逊云平台。
filetype:xls password 文件类型 xls 包含密码的文件。
我们点开一些链接会自动下载 xls 的表格文件文件中包含了用户名密码信息。
这里给大家提个醒,不要下载什么文件都直接打开,一定要开启杀毒软件,原因是黑客会利用我们这种行为,伪造一个包含信息的页面,我们打开页面后下载的文件就有可能是包含病毒的文件。
9 谷歌黑客数据库:https://www.exploit-db.com/google-hacking-database
站长工具 https://cha.qinghua.cc/
常见最新漏洞公布网站
美国著名安全公司 Offensive Security 的漏洞库 http://www.exploit-db.com [比较及时]
赛门铁克的漏洞库 http://www.securityfocus.com (国际权威漏洞库)
国家信息安全漏洞共享平台 http://www.cnvd.org.cn/
国内安全厂商——绿盟科技 http://www.nsfocus.net
俄罗斯知名安全实验室 https://www.securitylab.ru/vulnerability/
CVE 常见漏洞和披露 http://cve.mitre.org
信息安全漏洞门户 http://vulhub.org.cn/index
安全客 https://www.anquanke.com/
美国国家信息安全漏洞库 https://nvd.nist.gov/
知道创宇漏洞库 https://www.seebug.org/
信息收集-主动信息收集
主动收集的特点
- 直接与目标系统交互通信
- 无可避免地留下访问痕迹
- 可能被封杀
- 扫描发送不同的探测,根据返回结果判断目标状态
基于 ping 命令的探测
PING
PING 命令是我们常用的判断主机之间网络是否畅通,同样也是能判断我们的目标主机是否存活。
┌──(root xuegod53)-[~]
└─# ping 192.168.1.1 -c 1
Traceroute 命令也可以对路由进行跟踪
我们从当前主机到目标主机之间肯定要经过很多网络设备,我们怎么才能知道中间经过了哪些网络设备?
┌──(root xuegod53)-[~]
└─# traceroute xuegod.cn
ARPING
在以太网中,数据传输的目标地址是 MAC 地址,一个主机要和另一个主机进行直接通信,必须要知道目标主机的 MAC 地址。
ARP 协议主要负责将局域网中的 32 位 IP 地址转换为对应的 48 位物理地址,即网卡的MAC 地址,保障通信顺利进行。
arp 工作原理如下:
使用 arping 命令查看局域网中的 IP 是否有冲突
1)对 arping 命令的结果进行筛选,只取 ip 地址
通过脚本来实现对网络的自动扫描
1)打开脚本
┌──(root xuegod53)-[~]
└─# vim arping1.sh #插入以下红色内容
#!/bin/bash
if [ "$#" -ne 1 ];then #判断用户是否输入了至少一个参数如果没有输入参数,输出提示信
息并退出
echo "Usage - ./arping.sh [interface]"
echo "Excample - ./arping.sh eth0"
echo "Example will perform an ARP scan of the local subnet to which eth0 is
assigned"
exit
fi
interface=$1 #将用户输入的参数传递给 interface 变量
prefix=$(ifconfig $interface | grep "inet " | cut -d 't' -f 2 | cut -d '.' -f 1-3) #获取本机 IP地址网段 192.168.1
#对整个网段进行 arping
for addr in $(seq 1 254);do
arping -c 1 $prefix.$addr | grep "bytes from" | cut -d" " -f 5 | cut -d "(" -f 2 | cut -d")"
-f 1
done
// 命令说明示意图
2)给我们写好的脚本加上执行权限
linux 中可执行程序需要拥有执行权限才可以直接执行
┌──(root xuegod53)-[~]
└─# chmod +x arping1.sh
// 示意图
4)执行脚本
模拟 IP 地址冲突
1 再开一台 centos 虚拟机 xuegod63,把 网关IP 地址改成 192.168.1.1
[root@xuegod63 ~]# ifconfig ens33 192.168.1.1
2 执行我们的脚本,进行扫描
┌──(root xuegod53)-[~]
└─# ./arping1.sh eth0 #查看局域网中是否存在 arp 攻击
3 出现两个一样的ip地址,说明有人冒充网关
使用 netdiscover 进行被动方式探测局域中存活的机器
netdiscover 是一个主动/被动的 ARP 侦查工具。(推荐)
使用 netdiscover 工具可以在网络上扫描 IP 地址,检查在线主机或搜索为它们发送的 ARP 请求。
主动模式
主动模式顾名思义就是主动的探测发现网络内主机,就是发送数据包,但是这种方式往往会引起网络管理员的注意
┌──(root xuegod53)-[~]
└─# netdiscover -i eth0 -r 192.168.1.0/24 #@-i 指定网卡 @-r 指定网段
被动模式
被动模式的方法更加隐蔽,
但是速度会比较慢,
网卡被设置为混杂模式来侦听网络内的 arp 数据包进行被动式探测,
这种方式就需要网络内设备发送 arp 包才能被探测到。
┌──(root xuegod53)-[~]
└─# netdiscover -p
HPING3 DOS 攻击的实验
hping3 是一个命令行下使用的 TCP/IP 数据包组装/分析工具,
通常 web 服务会用来做压力测试使用,
也可以进行 DOS 攻击的实验。
同样 Hping 只能每次扫描一个目标。
使用 HPING 进行压力测试
我们先测试网站正常访问
http://www.xuegod.cn/
对 xuegod.cn 进行压力测试
┌──(root xuegod53)-[~]
└─# hping3 -c 1000 -d 120 -S -w 64 -p 80 --flood --rand-source xuegod.cn
// 命令解释
-c 1000 = 发送的数据包的数量。
-d 120 = 发送到目标机器的每个数据包的大小。单位是字节
-S = 只发送 SYN 数据包。
-w 64 = TCP 窗口大小。
-p 80 = 目的地端口(80 是 WEB 端口)。你在这里可以使用任何端口。
--flood = 尽可能快地发送数据包,不需要考虑显示入站回复。洪水攻击模式。
--rand-source = 使用随机性的源头 IP 地址。这里的伪造的 IP 地址,只是在局域中伪造。通过路
由器后,还会还原成真实的 IP 地址。
对外网无法伪造ip地址,因为经过路由器,被其记录
打开抓包工具/netstat -antup | grep 80(监听80端口并分页)
网络地址将无法访问
SYN Flood洪水攻击过程
SYN Flood 原理,客户端向服务端发送大量 SYN 请求,服务端响应 SYN+ACK 然后进入 SYN-RCVD 状态等待客户端进行三次握手最后一步。发送大量 SYN 请求就会导致服务器产生大量 SYN-RCVD 队列, 直至将服务器的队列资源耗尽达到 DOS 攻击的目的。
使用 FPING 查看局域中运行了哪些机器
Fping 就是 ping 命令的加强版他可以对一个 IP 段进行 ping 扫描,而 ping 命令本身是不可以对网段进行扫描的。
启动扫描,并保存存活主机信息
┌──(root xuegod53)-[~]
└─# fping -ag 192.168.1.0/24 > fping.txt
或
┌──(root xuegod53)-[~]
└─# fping -ag 192.168.1.1 192.168.1.254 > fping.txt
// 命令解释
-a 表示只显示存活主机
-g 表示对地址段进行扫描如果不加可以对某个 IP 进行扫描
>fping.txt 表示将扫描的结果重定向到 fping.txt ,原因是如果扫描一个网段的话输出结果是非常
多的,我们输出重定向到文件中只会获得存活的主机信息。
打开文件
root@xuegod53:~# cat fping.txt
基于 Nmap 的扫描方式
Nmap,也就是 Network Mapper,最早是 Linux 下的网络扫描和嗅探工具包。
例:扫描 192.168.1.0 这个网段
┌──(root xuegod53)-[~]
└─# nmap -sn 192.168.1.0/24
或
┌──(root xuegod53)-[~]
└─# nmap -sn 192.168.1.1-254
// -sn 参数说明:表示只 ping 扫描,不进行端口扫描
使用 nmap 进行半连接扫描
nmap 扫描类型主要有 TCP 的全连接扫描(会在被扫描机器留下记录),半连接扫描(不会留下记录)
┌──(root xuegod53)-[~]
└─# nmap -sS 101.200.128.35 -p 80,81,21,25,110,443
// -sS 表示使用 SYN 进行半连接扫描
使用 nc 扫描端口
nc 是 netcat 的简写,有着网络界的瑞士军刀美誉。
因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具
nc 的作用:
1.实现任意 TCP/UDP 端口的侦听,nc 可以作为 server 以 TCP 或 UDP 方式侦听指定端口
端口的扫描,nc 可以作为 client 发起 TCP 或 UDP 连接
机器之间传输文件
机器之间网络测速
nc 参数:
-nv 表示我们扫描的目标是个 IP 地址不做域名解析
-w 表示超时时间
-z 表示进行端口扫描
┌──(root xuegod53)-[~]
└─# nc -nv -w 1 -z 192.168.1.1 1-100
信息收集-优化缓解 DDOS 攻击
DDOS 简介介绍
分布式拒绝服务攻击(英文意思是 Distributed Denial of Service,简称 DDoS)是指处于不同位置的
多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些
机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击,
其中的攻击者可以有多个。
DDOS 攻击应用
目前 DDOS 攻击的方式越来越多,攻击者成本也越来越低,特别是在游戏行业以及各种行业间的恶意
竞争中 DDOS 愈发猖獗。而应对 DDOS 攻击却没有任何一种简单有效的方案。只能投入大量的资金进行防护
DDOS 攻击的目的只有一个,就是让目标服务无法正常为用户提供服务。
举个例子阿里云 DDOS 高防最低的 30Gb 保底防 护需要 21.216W/年,这还只是最低的 30Gb,600Gb 则需要 379.746W/年。阿里云游戏盾最低也要 96W/年。云原生防护 56.16W/年。而发起一次 DDOS 攻击的成本也只有几千块钱。双方的投入成本完全不对等,这对于刚创业的公司来说无疑是灾难性的。
DDOS 防御手段
企业受到 DDOS 攻击后应当立即到当地网监部门进行报案,采取法律手段正当维护自身权益。