如何成为一名黑客(网络安全从业者)——网络攻击技术篇之扫描技术

网络攻击技术按照攻击流程可以分为3个阶段:攻击前的准备阶段、网络攻击阶段、成功入侵后的控制阶段。今天我们先介绍”攻击前的准备阶段——扫描技术“。

攻击前的准备阶段——扫描

在这个阶段,攻击者通过各种收集手段收集目标主机的信息,主要利用的是搜索引擎和扫描技术。通过外围信息收集和多种扫描技术,可以获得目标的IP地址、端 口、操作系统版本、存在的漏洞等攻击必需信息,为下一步的网络攻击做好前期的准备。具体来说,可以采用如下手段:

1、外围信息收集的方式

(1)使用Whois查询域名注册的相关信息

Whois 是Internet上提供的查找相关域名、IP地址、E-mail信箱、联系电话等信息的一种服务,有InterNIC负责维护,InterNIC的数据 库按不同的地区进行了划分,查询时应按不同地区进行查询。今天我们只关注中国的CNNIC,CNNIC是我国的域名体系注册管理机构,提供所辖范围内域名 信息查询Whois服务。(CNNIC网址:http://www.cnnic.net.cn/jczyfw/zwym/

(2)使用搜索引擎收集更多的外围信息

利用百度、Google等搜索引擎可以轻松查到目标主机的各种外围信息。Google Hack是一个搜索敏感信息的工具,通过编写一些简单的脚本就能搜索到重要的信息,甚至包括密码文件。(国内用户要想使用Google需要通过VPN,方法这里不赘述,网上有许多免费的VPN可供选择哦)对于Google Hack的防范措施就是不让Google检索敏感网页信息。可以通过访问:http://www.google.com/remove.html,按照其步骤要求删除自身站点或网页的信息。

2、IP地址扫描

IP地址扫描主要在网络攻击的开始阶段,用于获取目标计算机及其外围网络使用的IP网段,以及对应网络中处于开机状态的计算机。

我们可选用的工具有操作系统提供的ping、tracert命令,也可以使用一些自动化扫描工具,如Nmap、Superscan等。此类工具的原理和ping命令相同,不过提供了更方便的界面。(要明白这些网络工具的原理,大家需要认真学习一下网络方面的知识,推荐初学者看《图解TCP/IP》、《图解HTTP》等书,有一定网络基础的朋友研读一下《TCP/IP详解》卷一:协议)。)

3、端口扫描

一个开放的网络端口就是一条与计算机进行通信的虚拟信道,网络攻击者通过对网络端口的扫描可以得到目标主机开放的网络服务程序,从而为后续的攻击确定好攻击的网络端口。

针对网络端口进行的扫描可以通过手工命令实现,但效率不高;所以推荐利用端口扫描工具进行。网络端口扫描工具中功能最强、使用最普遍的是Nmap软件,它支持Linux和Windows等操作系统,并提供了多种端口扫描技术。

这里我们补充一下网络端口的知识:

网络端口是传输层TCP协议和UDP协议中所定义的。TCP协议通过套接字(Socket)建立起两台计算机之间的网络连接。套接字采用 [IP地址:网络端口号] 的形式来定义,网络端口类似于不同房间的门牌号,用于标志并区别不同的网络服务程序,同一台计算机上不同的网络服务程序采用不同的网络端口进行数据传输。

当建立一个TCP连接进行数据传输时,源主机的一个 [IP地址:网络端口号] 套接字会和目标主机的一个 [IP地址:网络端口号] 套接字对应,用于标识这个网络连接中源主机的源IP和网络服务程序,以及目标主机的目标IP和网络服务进程。利用网络连接传输的数据包就可以由套接字中的 IP地址和端口号找到需要传输的主机和网络服务程序了。

因此,网络端口和网络服务程序是一一对应的,通过扫描开放的网络端口就可以判断称呼计算机中正在运行的网络服务进程。(所以大家要学好”计算机网络“,以后 我会教大家如何用Python编写自己的扫描程序,对了,Python被称为是黑客语言,大家也要多多了解,以后也会出相关的教程的。关注我的公众号:Quark网络安全,查看最新教程。)

TCP协议和UDP协议的端口号在0~65535范围内,其中1024以下的端口保留给常用的网络服务。例如,21端口为FTP服务,23为TELNET,25为SMTP,80为HTTP,110为POP3等。

扫描技术有很多种,下面先将常见的端口扫描技术的列举出来,今天我们先介绍一些黑客常用扫描技术,以后有时间我们再一一学习以下:
(1)TCP全连接扫描
(2)TCP SYN 扫描
(3)TCP FIN 扫描
(4)UDP 的 ICMP 端口不可达扫描
(5)ICMP 扫描
(6)乱序扫描和慢速扫描

端口扫描工具是黑客常用的工具,如Nmap、SuperScan、Netcat、X-port、PortScanner、Netscan tools、Winscan等,大家可以尝试使用不同的扫描工具,并找到适合自己的。

4、漏洞扫描

获取了目标主机的IP、端口等信息后,下一步网络攻击者要扫描检测目标主机和目标网络中存在的安全漏洞,以便利用漏洞进行入侵,获得对目标主机的控制权。

漏洞扫描工具可以分为以下两种:

(1)网络漏洞扫描工具

网络漏洞扫描工具针对网络中的主机和网络设备,发送漏洞探测数据包进行漏洞的扫描。它主要利用模拟攻击技术扫描出具体的漏洞类型。

(2)主机漏洞扫描工具

主机漏洞扫描工具通过漏洞特征匹配技术和补丁安全信息的检测来进行操作系统和应用软件系统的漏洞检测。

常用的网络漏洞扫描工具有Nessus、X-Scan、SSS、绿盟极光漏洞扫描器。

具有主机漏洞扫描功能的工具包括Nessus、360安全卫士等。

5、弱口令扫描

目前有很多主机和网络服务器都可以通过用户名和口令进行远程登录。攻击者也非常关注这些可供远程登录的服务器,尤其关注用户名和口令。为了拿到相关服务器的 用户名和口令,攻击者常采用扫描技术来探测用户名和弱口令。对弱口令等登录信息的扫描主要有以下两种:

(1)基于字典攻击的弱口令扫描技术

这种技术需要实现构造常用口令的字典文件,现在网络中需要登录的网址众多,因此用户设置口令时往往有设置简单口令的习惯,我们可以利用字典生成软件和已知的相关信息来有目的的生成字典文件。

(2)基于穷举攻击的弱口令扫描技术

这种弱口令扫描技术利用穷举的方法构造探测用的口令字典。但是对于一个较长的字母与数字混合排列的口令,使用穷举的方法进行口令破解的代价是非常高的。

因此,攻击者往往将字典攻击结合穷举攻击的方法,可在一定程度上可弥补穷举攻击破解耗时长、效率低的弱点,是一种可行的弱口令破解方法。而网站则会采用让用户输入验证码的方法来避免攻击者进行口令的扫描。

6、综合漏洞扫描

综合漏洞扫描工具是一种自动探测系统和网络安全性弱点的工具,它集成了IP地址扫描、网络端口扫描、网络漏洞扫描等多种扫描技术。使用者可以及时找出各系统的漏洞以及漏洞相关呢荣,不用每天关注各种系统发布的漏洞信息。

目前常用的综合漏洞扫描工具非常多,其中Nessus是 功能非常全面的开源综合漏洞扫描工具。它集成了Nmap端口工具,支持plugin安全插件结构体系,用户可以通过不断更新插件来进行更有效更复杂的扫 描.Nessus支持Windows、UNIX/Linux等主流的操作系统,可以对网络漏洞和系统漏洞进行全面的漏洞扫描,并能根据检测结果向使用者提 供了一份详尽的安全性分析报告。

7、扫描的防范技术

因为扫描通常是入侵的前奏,因此作为安全维护人员和白帽黑客,我们更要关注防范的方法。从上面的介绍我们知道,众多扫描技术的原理都可以归纳为由源主机向目标主机发送各种扫描的数据包,并根据目标主机的反馈信息探测出其IP地址、网络端口、漏洞弱口令等。

所以,我们需要采取的措施也很简单,只要在目标主机和网络的外围边界部署防火墙即可。此外,还可以采用安全检测工具对扫描行为进行检测。

本文转自:博客园 - Stone,转载此文目的在于传递更多信息,版权归原作者所有。