石景山富阳网站建设,捕鱼网站开发,php响应式个人博客网站设计,专业网站制作公司采用哪些技术制作网站?4.1. 概述
在情报收集阶段#xff0c;你需要采用各种可能的方法来收集将要攻击的客户组织的所有信息#xff0c;包括使用社交网络、Google Hacking技术、目标系统踩点等等。
而作为渗透测试者#xff0c;你最为重要的一项技能就是对目标系统的探查能力#xff0c;包括获知…4.1. 概述
在情报收集阶段你需要采用各种可能的方法来收集将要攻击的客户组织的所有信息包括使用社交网络、Google Hacking技术、目标系统踩点等等。
而作为渗透测试者你最为重要的一项技能就是对目标系统的探查能力包括获知它的行为模式、运行机理以及最终可以如何被攻击。
对目标系统所搜集到的信息将帮助你准确的掌握目标系统所部署的安全控制措施。
搜集哪些内容
* 第一步 * 目标系统IP地址范围* 详细的注册信息* DNS服务器位置* 电话号段* 网络、或安全管理员及其联系方式* 外部网络拓扑结构* 而后* 目标网络中活跃主机* 操作系统类型* 开放的端口* 端口后面运行的网络服务* 是否存在已公开的披露的安全漏洞* 最后(对初步选择的攻击目标服务实施更细致的信息探查)* 像用户账号* 共享资源* 网络服务类型与版本号* 服务配置信息通过收集这些信息 攻击者可以大致判断目标系统的安全状况 从而寻求有效的入侵途径与方法。
搜集方法 踩点 footprinting web搜索与挖掘DNS和IP查询网络拓扑侦查扫描 scanning 主机扫描端口扫描系统类型探查漏洞扫描查点 enumeration Flag抓取网络服务查点
4.2. 踩点 踩点就是对目标组织进行有计划、有组织的信息收集以得到目标完整剖析图的过程 4.2.1. Web信息搜索-google
子域名收集 site:xxxx.com
Goole Hacker(谷歌黑客)_360搜索
4.2.2. DNS查询-- dnsenum
DNSenum是一款非常强大的域名信息收集工具。
它能够通过谷歌或者字典文件猜测可能存在的域名并对一个网段进行反向查询。它不仅可以查询网站的主机地址信息、域名服务器和邮件交换记录还可以在域名服务器上执行axfr请求然后通过谷歌脚本得到扩展域名信息提取子域名并查询最后计算C类地址并执行whois查询执行反向查询把地址段写入文件。
本小节将介绍使用DNSenum工具检查DNS枚举。在终端执行如下所示的命令
rootKali-Panda:~# dnsenum --enum example.com
Smartmatch is experimental at /usr/bin/dnsenum line 698.
Smartmatch is experimental at /usr/bin/dnsenum line 698.
dnsenum VERSION:1.2.4
Warning: cant load Net::Whois::IP module, whois queries disabled.
Warning: cant load WWW::Mechanize module, Google scraping desabled.----- example.com -----Hosts addresses:
__________________example.com. 36912 IN A 93.184.216.34Name Servers:
______________a.iana-servers.net. 73 IN A 199.43.135.53
b.iana-servers.net. 73 IN A 199.43.133.53Mail (MX) Servers:
___________________Trying Zone Transfers and getting Bind Versions:
_________________________________________________Trying Zone Transfer for example.com on a.iana-servers.net ...
AXFR record query failed: NOTAUTHTrying Zone Transfer for example.com on b.iana-servers.net ...
AXFR record query failed: REFUSEDbrute force file not specified, bay.
rootKali-Panda:~# dnsenum 可以收集DNS的信息分为下述几类
主机IP地址该域的DNS服务器 该域的MX记录 可通过 dnsenum -h 获取帮助信息
rootKali-Panda:~# dnsenum -h补充nslook
$ nslookup baidu.com4.2.3. DNS信息获取-whois whois读作“Who is”非缩写是用来查询域名的IP以及所有者等信息的传输协议。简单说whois就是一个用来查询域名是否已经被注册以及注册域名的详细信息的数据库如域名所有人、域名注册商 典型用法
itcastitcast $ whois baidu.com4.2.4. 路由信息 获取dns信息之后尽可能获取目标网络的拓扑结构。 好找准攻击点 基本用法 traceroute host
rootKali-Panda:~# traceroute www.example.com
traceroute to www.example.com (93.184.216.34), 30 hops max, 60 byte packets1 localhost (192.168.0.1) 8.207 ms 8.908 ms 10.830 ms2 localhost (192.168.1.1) 10.732 ms 16.626 ms 16.735 ms3 * * *4 61.51.246.197 (61.51.246.197) 24.228 ms 25.782 ms 29.403 ms5 bt-230-081.bta.net.cn (202.106.230.81) 31.423 ms 219.232.11.29 (219.232.11.29) 29.724 ms 29.650 ms6 202.96.12.1 (202.96.12.1) 30.249 ms 124.65.194.25 (124.65.194.25) 9.982 ms 124.65.194.21 (124.65.194.21) 6.976 ms7 219.158.18.66 (219.158.18.66) 12.332 ms 219.158.5.146 (219.158.5.146) 10.793 ms 219.158.5.150 (219.158.5.150) 12.163 ms8 219.158.3.138 (219.158.3.138) 12.077 ms 219.158.16.82 (219.158.16.82) 20.989 ms 20.926 ms9 219.158.107.118 (219.158.107.118) 214.112 ms 214.534 ms 214.461 ms
10 219.158.33.194 (219.158.33.194) 251.167 ms 312.330 ms 312.398 ms
11 ffm-bb4-link.telia.net (62.115.142.194) 255.167 ms 251.091 ms ffm-bb3-link.telia.net (62.115.142.204) 310.773 ms
12 prs-bb3-link.telia.net (62.115.123.13) 324.318 ms prs-bb4-link.telia.net (62.115.122.138) 316.212 ms prs-bb3-link.telia.net (62.115.123.13) 315.887 ms
13 ash-bb3-link.telia.net (80.91.251.243) 247.043 ms ash-bb4-link.telia.net (62.115.122.159) 237.803 ms 238.235 ms
14 ash-b1-link.telia.net (80.91.248.157) 243.919 ms 306.199 ms 306.720 ms
15 verizon-ic-315151-ash-b1.c.telia.net (213.248.83.117) 311.853 ms 314.697 ms 249.671 ms
16 152.195.64.133 (152.195.64.133) 249.688 ms 152.195.65.133 (152.195.65.133) 325.343 ms 328.961 ms
17 93.184.216.34 (93.184.216.34) 252.255 ms 261.291 ms 253.151 ms
rootKali-Panda:~#补充内容 实现原理 每个网络包都有其存活期TTLTime To Live 单位是“下一跳” 当网络包经过一个路由器时 TTL-1 当TTL减为0时 则该网络包被丢弃 并回复源IP一个“ICMP Time exceeded”报文 且该ICMP包携带丢弃网络包的那个“主机”路由器的IP地址 traceroute送出一个TTL是1的IP datagram包括源地址目的地址和包发出的时间标签到目的地 当路径上的第一个路由器router收到这个datagram时它将TTL减1。此时TTL变为0了所以该路由器会将此datagram丢掉并送回一个「ICMP time exceeded」消息包括发IP包的源地址IP包的所有内容及路由器的IP地址traceroute 收到这个消息后便知道这个路由器存在于这个路径上接着traceroute 再送出另一个TTL是2 的datagram发现第2 个路由器...traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器这个重复的动作一直持续到某个datagram 抵达目的地Traceroute在送出UDP datagrams到目的地时它所选择送达的port number 是一个一般应用程序都不会用的号码30000 以上所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息而当traceroute 收到这个消息时便知道目的地已经到达了。
4.3. 扫描 如果把踩点比喻为实施盗窃前侦查外围环境以确定目标大楼那扫描就是从中找出有人居住的房间找出可供嵌入的门窗。。。。 4.3.1. 目标主机在线存活--ping
在检查主机是否在线的工具中 ping可能是最著名的工具了。 基本用法 ping [option] destination -c count: 发送 ”echo request“ 数据包总量-I interface address 设置源地址或网络接口-s packet size: 每个数据包的大小 默认56 在加上IPv4中8个字节的ICMP包头总计64. 示例
rootKali-Panda:~# ping -c 2 www.baidu.com
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq1 ttl56 time5.12 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq2 ttl56 time5.81 ms--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev 5.123/5.469/5.816/0.354 ms
rootKali-Panda:~#rootKali-Panda:~# ping -c 3 -s 128 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 128(156) bytes of data.
136 bytes from 192.168.0.1: icmp_seq1 ttl64 time2.79 ms
136 bytes from 192.168.0.1: icmp_seq2 ttl64 time2.09 ms
136 bytes from 192.168.0.1: icmp_seq3 ttl64 time3.56 ms--- 192.168.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev 2.091/2.817/3.566/0.602 ms
rootKali-Panda:~# 4.3.2. 目标主机在线存活-- nmap
Nmap是一个免费开放的网络扫描和嗅探工具包也叫网络映射器Network Mapper。该工具其基本功能有三个
一是探测一组主机是否在线其次是扫描主机端口嗅探所提供的网络服务 三是可以推断主机所用的操作系统。 通常用户利用Nmap来进行网络系统安全的评估而黑客则用于扫描网络。例如通过向远程主机发送探测数据包获取主机的响应并根据主机的端口开放情况得到网络的安全状态。从中寻找存在漏洞的目标主机从而实施下一步的攻击。
测试一个网络中活跃的主机。使用方法如下所示。
使用Nmap查看一个主机是否在线。执行命令如下所示
rootKali-Panda:~# nmap -sP 192.168.0.110
Starting Nmap 7.70 ( https://nmap.org ) at 2018-07-24 09:25 CST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 0.52 seconds
rootKali-Panda:~# nmap -sP 192.168.0.106
Starting Nmap 7.70 ( https://nmap.org ) at 2018-07-24 09:26 CST
Nmap scan report for localhost (192.168.0.106)
Host is up (0.00024s latency).
MAC Address: FC:F8:AE:06:92:2B (Intel Corporate)
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
rootKali-Panda:~# 使用nmap查看当前网络中活跃的主机
rootKali-Panda:~# nmap -sP 192.168.0.0/24
Starting Nmap 7.70 ( https://nmap.org ) at 2018-07-24 09:27 CST
Nmap scan report for localhost (192.168.0.1)
Host is up (0.0076s latency).
MAC Address: 14:75:90:50:57:DB (Tp-link Technologies)
Nmap scan report for localhost (192.168.0.100)
Host is up (0.068s latency).
MAC Address: EC:F3:42:CF:97:F3 (Guangdong Oppo Mobile Telecommunications)
Nmap scan report for localhost (192.168.0.101)
Host is up (0.12s latency).
MAC Address: 78:A8:73:CF:66:B2 (Samsung Electronics)
Nmap scan report for localhost (192.168.0.102)
Host is up (0.12s latency).
MAC Address: 60:A4:D0:A3:47:D2 (Samsung Electronics)
Nmap scan report for localhost (192.168.0.106)
Host is up (0.00018s latency).
MAC Address: FC:F8:AE:06:92:2B (Intel Corporate)
Nmap scan report for localhost (192.168.0.107)
Host is up (0.063s latency).
MAC Address: 2C:D9:74:20:D1:09 (Unknown)
Nmap scan report for localhost (192.168.0.111)
Host is up.
Nmap done: 256 IP addresses (7 hosts up) scanned in 1.87 seconds
rootKali-Panda:~# 4.3.3. 系统指纹信息 --nmap 本节通过主动方式收集目标系统指纹信息获取操作系统的类型 使用Nmap命令的-O选项启用操作系统测试功能。注意是大写字母O不是数字0
执行命令如下所示
rootKali-Panda:~# nmap -O 192.168.1.1
Starting Nmap 7.70 ( https://nmap.org ) at 2018-07-24 11:36 CST
Nmap scan report for localhost (192.168.1.1)
Host is up (0.0062s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
21/tcp filtered ftp
22/tcp filtered ssh
23/tcp filtered telnet
53/tcp open domain
80/tcp open http
MAC Address: D4:F9:A1:70:6B:25 (Huawei Technologies)
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3.5
OS details: Linux 3.5
Network Distance: 1 hopOS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 3.09 seconds
rootKali-Panda:~# 4.3.4. 系统指纹信息 -- p0f
p0f 采用被动式探测目标主机的操作系统类型
rootKali-Panda:~# p0f -i eth0 -f /etc/p0f/p0f.fp
--- p0f 3.09b by Michal Zalewski lcamtufcoredump.cx ---[] Closed 1 file descriptor.
[] Loaded 322 signatures from /etc/p0f/p0f.fp.
[] Intercepting traffic on default interface eth0.
[] Default packet filtering configured [VLAN].
[] Entered main event loop..-[ 192.168.1.228/33014 - 192.168.1.170/22 (syn) ]-
|
| client 192.168.1.228/33014
| os Linux 3.11 and newer
| dist 0
| params none
| raw_sig 4:640:0:1460:mss*20,7:mss,sok,ts,nop,ws:df,id:0
|
----小结 nmap 是主动式识别工具 优点 探测速度快缺点 目标主机可能会发现我们探测操作系统的行为p0f 为被动式识别工具 优点 不易被目标主机发现我们的探测行为缺点 比主动式识别方法的识别速度慢
对一个大范围的网络或活跃的主机进行渗透测试必须要了解这些主机上所打开的端口号。 也就是目标主机上所提供的服务。
4.3.5. 端口扫描 -- nmap
使用nmap工具查看192.168.1.1 主机上正在运行的服务。执行命令如下所示
rootKali-Panda:~# nmap 192.168.1.1
Starting Nmap 7.70 ( https://nmap.org ) at 2018-07-24 14:36 CST
Nmap scan report for localhost (192.168.1.1)
Host is up (0.0085s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
21/tcp filtered ftp
22/tcp filtered ssh
23/tcp filtered telnet
53/tcp open domain
80/tcp open http
MAC Address: D4:F9:A1:70:6B:25 (Huawei Technologies)Nmap done: 1 IP address (1 host up) scanned in 3.12 seconds
rootKali-Panda:~# 从命令结果可以看出 目标主机192.168.1.1 提供了ftp、ssh、telnet、http等服务。
常用参数
扫描特定端口 -p port-sT : tcp connect扫描防护-sU : udp扫描方式-sS : syn扫描
扫描特定端口22
rootKali-Panda:~# nmap -p 22 192.168.1.1
Starting Nmap 7.70 ( https://nmap.org ) at 2018-07-24 14:40 CST
Nmap scan report for localhost (192.168.1.1)
Host is up (0.0059s latency).PORT STATE SERVICE
22/tcp filtered ssh
MAC Address: D4:F9:A1:70:6B:25 (Huawei Technologies)Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds
rootKali-Panda:~#指定扫描端口范围 -p m-n 扫描从1到32之间的端口
rootKali-Panda:~# nmap -p 1-32 192.168.1.1
Starting Nmap 7.70 ( https://nmap.org ) at 2018-07-24 14:40 CST
Nmap scan report for localhost (192.168.1.1)
Host is up (0.027s latency).
Not shown: 29 closed ports
PORT STATE SERVICE
21/tcp filtered ftp
22/tcp filtered ssh
23/tcp filtered telnet
MAC Address: D4:F9:A1:70:6B:25 (Huawei Technologies)Nmap done: 1 IP address (1 host up) scanned in 1.29 seconds4.3.6. 端口服务指纹识别--nmap 为了确保有一个成功的渗透测试必须需要知道目标系统中服务的指纹信息。服务指纹信息包括服务端口、服务名和版本等。 使用Nmap工具查看192.168.41.136服务上正在运行的端口。执行命令如下所示
rootKali-Panda:~# nmap -sV -p 22 192.168.1.228
Starting Nmap 7.70 ( https://nmap.org ) at 2018-07-24 14:52 CST
Nmap scan report for localhost (192.168.1.228)
Host is up (0.00016s latency).PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4p1 Debian 10deb9u3 (protocol 2.0)
MAC Address: FC:F8:AE:06:92:2B (Intel Corporate)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelService detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.47 seconds此处使用一般会用-p 指定端口效率更高。 此处获取ssh的版本信息。
4.3.7. 漏洞扫描
4.3.7.1. Nessus介绍 Nessus 国外流行的漏洞扫描工具。多用来发现系统漏洞。 官网 Tenable® - 风险暴露管理公司 Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件。
1998年, Nessus 的创办人 Renaud Deraison 展开了一项名为 Nessus的计划其计划目的是希望能为因特网社群提供一个免费、威力强大、更新频繁并简易使用的远端系统安全扫描程序。经过了数年的发展, 包括 CERT 与 SANS 等著名的网络安全相关机构皆认同此工具软件的功能与可用性。
2002年时, Renaud 与 Ron Gula, Jack Huffard 创办了一个名为 Tenable Network Security 的机构。在第三版的Nessus 发布之时, 该机构收回了 Nessus 的版权与程序源代码 (原本为开放源代码), 并注册成为该机构的网站。 目前此机构位于美国马里兰州的哥伦比亚。
4.3.7.2. Nessus 漏洞扫描 使用Nessus进行漏洞扫描是我们需要了解的重点。 打开浏览器 输入IP:https://xx.xx.xx.xx:8834 , 用户名 root, 口令 itcast 显示如下登录界面 选择新建New Scan 扫描 在界面中选择Advanced Scan
填写扫描信息 * Name: 给本次扫描起个名字按自己心意即可 我一般用IP,网段 主机名
* Description 描述根据情况编写
* Folder 一种归类手段 默认即可
* Targets 重要 192.168.0.4 填写完成 下方点击 Save 保存 4.3.7.3. 漏扫报告解读 以国内厂商的漏扫报告我们一起看一下。 看一下报告首页。 我们一起看一下。
4.3.7.4. 对于漏扫报告的整改措施 发现漏洞vulnerabilities 有学术用脆弱性来翻译后 一般要求厂家进行安全整改。 整改措施大致可分为三类 安全升级 对存有漏洞的软件包进行升级 禁用某些服务某些服务自身缺陷 如使用telnet登录telnet协议明文传输远程桌面。。。 主机防火墙加固 *对于服务本身有缺陷 而又必须使用的场景 采用主机防火墙限制链接数量缩小攻击面。
4.4. 查点 踩点是确定目标主机 扫描是确定主机有多少服务端口 那么查点就是对识别的服务进行更加针对性的探查 来寻找真正可以攻击的入口。。。以及攻击过程中可能用到的数据。。。 4.4.1. 简单的旗标抓取 -- telnet 网络服务旗标抓取 利用客户端工具连接远程服务并观察输出或通过嗅探以收集关键信息的技术手段。一般限于明文传输的网络服务。 telnet 抓取 ssh旗标
itcastitcast $ telnet 127.0.0.1 22
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ^].
SSH-2.0-OpenSSH_7.4p1 Debian-10deb9u4
注意输出中的SSH-2.0-OpenSSH_7.4p1 Debian-10deb9u4 使用ssh协议2.0 openssh版本7.4p1 系统可能为debian。。。