分析和管理网络

优质
小牛编辑
132浏览
2023-12-01

ANALYZING AND MANAGING NETWORKS

了解网络对任何一个有追求的黑客都是至关重要的。在许多情况下,你将通过网络攻击某些东西,而优秀的黑客需要知道怎样去和目标网络连接和交互。例如,您可能需要连接到视图中隐藏了 Internet 协议(IP)地址的计算机,或者你可能需要将目标的域名系统(DNS)查询重定向到您的系统,这些任务都相对比较简单,但是都需要一点 Linux 网络知识。本章节将向你展示一些在你的网络黑客冒险过程中进行分析和管理网络的基本的 Linux 工具。

使用 IFCONFIG 分析网络

ifconfig命令是检测活动网络接口并与之交互最基本的工具之一。你可以简单地在终端(terminal)输入 ifconfig 命令来查询你所在的网络活动连接状态。请自己尝试一下,你应该看到和清单 3­1 相似的输出。

kali >ifconfig

➊eth0Linkencap:EthernetHWaddr 00:0c:29:ba:82:0f

➋inet addr:192.168.181.131 ➌Bcast:192.168.181.255 ➍Mask:255.255.255.0

­­snip­­

➎lo Linkencap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0

­­snip­­

➏wlan0 Link encap:EthernetHWaddr 00:c0:ca:3f:ee:02

清单 3­1: 使用 ifconfig 获取网络信息

正如你所看到的,ifconfig 命令显示了有关系统上活动网络接口的一些有用信息。在输出的顶部是第一个侦测到的接口的名称 eth0 ➊,它是 Ethernet0 的缩写(Linux 从 0 开始计数而不是 1).这是第一个有线以太网连接接口。如果这里有更多的以太网接口,它们将使用同样的格式 (eth1, eth2 等等)。

接下来列出正在使用的网络类型 (Ethernet - 以太网),然后是 HWaddr 和一个地址,这是在每个网络硬件上标记的全局唯一地址。在这种情况下,网络接口卡 network interface card (NIC), 通常指的是媒体访问控制 media access control (MAC) 地址。

第二行包含有关当前分配给它的 IP 地址信息的网络接口 (本例中为 192.168.181.131 ➋); 其次是 Bcast ➌,或者说广播地址,用于向子网上的所有 IP 发送信息的地址;最后是子网掩码 (Mask ➍),用于确定 IP 地址的哪个部分连接到本地网络。你还可以在输出的这一部分中找到更多技术信息,但它超出了 Linux 网络基础章节的范围。

输出的下一部分显示另一个被称为 lo ➎ 的网络连接,它是环回地址(loopback address)的缩写,并且有时称为 localhost。这是个特殊的软件地址,可帮助你连接到自己的系统。未在系统上运行的软件和服务将无法被使用。你可以使用 lo 在你的系统测试某些内容,例如你自己的 web 服务器。本地主机通常用 IP 地址 127.0.0.1 表示。

第三个连接是接口 wlan0 ➏。只有当你拥有无线接口或适配器时,才会出现这种情况。请注意,它还会显示该设备 (HWaddr)的 MAC 地址。

来自 ifconfig 的此信息使您可以连接并操作局域网 (LAN) 设置,这是黑客攻击的基本技能。

使用 IWCONFIG 检查无线网络设备

如果你拥有一个无线网络适配器,你可以使用 iwconfig 命令来收集无线攻击的关键信息,例如适配器(网卡)的 IP 地址,MAC 地址,它所处的模式等等。当你使用像 aircrack­ng 这样的无线攻击工具时,你可以从使用该命令来收集特别重要的信息开始。

使用终端(terminal),让我们使用 iwconfig查看一些无线设备(详见清单 3­2)

kali >iwconfig

wlan0 IEEE 802.11bg ESSID:off/any

Mode:Managed Access Point: Not Associated Tx­Power=20 dBm

­­snip­­

lo no wireless extensions

eth0 no wireless extensions

清单 3­2: 使用 iwconfig 来获取无线适配器(网卡)信息

这里的输出告诉我们,唯一具有无线扩展的网络接口是 wlan0,这正是我们所期望的。lo 和 eth0 都没有任何无线扩展。

对于 wlan0,我们了解了我们的设备能够支持的 802.11 IEEE 无线标准:b 和 g , 两种早期的无线通信标准。现在大多数无线设备也包括 n ( n 是最新的标准)。

我们还从 iwconfig 中学习了无线扩展的模式(本例中为 Mode:Manage,不同于 monitor 或 promiscuous mode)。在破解无线密码时,我们需要使用到混杂模式(promiscuous mode)。

接下来,我们将看到无线网卡(适配器)未连接(未关联)到接入点 (AP) ,并且其功率为 20 dBm,这表示信号强度。 我们将在第 14 章节 中花更多时间介绍这些信息。

更改你的网络信息

具备更改你的 IP 地址和其他网络信息是一项十分有用的技能,因为它将帮助你来回穿梭于作为可信设备出现时才允许访问的其他网络。例如,在拒绝服务攻击 (DoS) 中,你可以使用欺骗的 IP 以致于攻击看上去来自其他地方,从而帮助你规避取证分析人员分析 IP 来源的可能。这在 Linux 上是一个相当简单的任务,使用 ifconfig 命令就可以完成它。

更改你的 IP 地址

要更改 IP 地址,请输入 ifconfig ,然后输入要重新分配的网络接口以及要分配给该接口的新 IP 地址。 例如,要将 IP 地址 192.168.181.115 分配给接口 eth0,请输入以下内容:

kali >ifconfig eth0 192.168.181.115

kali >

当你正确地执行此操作时,Linux 将简单地返回一个命令提示符并且没有任何输出。这是件好事(没有输出错误信息即代表执行成功)!

然后,当你再次使用 ifconfig 命令检查你的网络连接状态时,你应该能查看到你的 IP 地址被更改成你刚刚分配的那个新的 IP 地址。

更改你的子网掩码和广播地址

你也可以使用ifconfig命令改变你的子网掩码(netmask)和广播地址。例如,如果你想给相同的 eth0 接口分配信息,子网掩码为 255.255.0.0 a,广播地址为 192.168.1.255 你可以输入以下内容:

kali >ifconfig eth0 192.168.181.115 netmask 255.255.0.0 broadcast 192.168.1.255

kali >

再一次声明,如果你正确地执行此操作,Linux 仅以一个新的命令提示符作为响应。现在请再次输入 ifconfig 来验证每一个相关参数是否已相应更改。

欺骗你的 MAC 地址

你也可以使用 ifconfig 命令来改变你的 MAC 地址 (或者说 HWaddr). 这个 MAC 地址是全球唯一并且经常被当做一种安全措施来阻击黑客在网络外——或者说跟踪他们。更改你的 MAC 地址来欺骗不同的 MAC 地址几乎是很平常的操作,并且帮助你抵消这些安全措施。因此,这是一项非常有用的绕过网络访问控制技术。

如果你打算伪装你的 MAC 地址,简单地使用 ifconfig 命令的 down 选项来关闭该接口 (在本例中是 eth0) 。然后输入 ifconfig 命令并加上接口名称 (hw 表示硬件,ether 表示以太网) a 和新的伪造 MAC 地址。最后,使用选项 up 备份接口以进行更改。

这里有个例子:

kali >ifconfig eth0 down

kali >ifconfig eth0 hw ether 00:11:22:33:44:55

kali >ifconfig eth0 up

现在,当你使用 ifconfig 检查你的设置信息时,你应该能看到 HWaddr 更改成你新伪造的 MAC 地址。(原书英文版 IP address 勘误,根据上下文译者判断此处应为 MAC 地址)。

从 DHCP 服务器分配新的 IP 地址

Linux 有一个动态主机配置协议 (DHCP) 服务,它运行一个守护进程(daemon)— 一个在后台运行的进程—称为 dhcpd,或者说 dhcp daemon。DHCP 服务器为子网上的所有机器分配 IP 地址,并在随时维护将 IP 地址分配给哪台机器的日志文件。这使得它成为取证分析人员在攻击后追踪黑客的绝佳资源。出于这个原因,了解 DHCP 服务器的工作原理对一名黑客很有用。

通常来说,从局域网(LAN)连接到 internet,你必须有一个 DHCP 分配的 IP。因此,在你设置一个静态 IP 后,你必须返回和获取到一个新的 DHCP 分配的 IP 地址。为了这么做,你总是需要重启你的系统,但是我将向你演示怎么检索一个新的 DHCP 而不必关闭你的系统并重启它。

要从 DHCP 请求 IP 地址,可以使用 dhclient 命令并在其后加上相应网络接口简单地调用 DHCP 服务器,告知你希望分配地址。不同的 Linux 发行版使用不同的 DHCP 客户端,但是 kali 基于 Debian ,因而使用 dhclient 命令。因此,您可以指定一个新地址,如下所示:

kali >dhclient eth0

命令dhclient从指定地网络接口(这里是 eth0)发送 DHCPDISCOVER 请求。然后,它会从 DHCP 服务器(本例中是 192.168.181.131)获得一个 offer(DHCPOFFER)并使用 dhcp 请求确认对 DHCP 服务器的 IP 分配。

kali >ifconfig

eth0Linkencap:EthernetHWaddr 00:0c:29:ba:82:0f

inet addr:192.168.181.131 Bcast:192.168.181.131 Mask:255.255.255.0

根据 DHCP 服务器的配置情况,在每种情况下 IP 地址分配可能是不同的。

当你现在输入 ifconfig 时,你应该能看到 DHCP 服务器已经分配了新的 IP 地址,广播地址,子网掩码给你的网络接口 eth0。

熟练控制你的域名系统

黑客可以很容易从目标的域名系统(DNS)中找到一个信息宝库。DNS 在 internet 是一个至关重要的组成部分,尽管它的设计初衷是把域名转换成 IP 地址,但是黑客可以使用它从目标处收集信息。

使用 dig 检测 DNS

DNS 是把像 hackers­arise.com 这样的域名转换成相应的 IP 地址的服务;通过这种方式,你的机器知道如何到达它。没有 DNS 我们将不得不记住成千上万我们最喜欢的网站的 IP 地址——即使对于一个专业学者来说,这也不是一项小任务。

对于有尖端的黑客来说,dig是众多有用的 Linux 命令之一,它提供一种途径来收集目标域名的相关 DNS 信息。在进行攻击之前,存储在这里的 DNS 信息可以被认为是前期侦察获取信息的关键部分。这些信息可能包含目标名称服务器(将目标名称转换成 IP 地址的服务器)的 IP 地址,目标邮件服务器以及潜在的所有子域名和 IP 地址。

例如,输入dig hackers-arise.com并加入选项 ns(nameserver 的缩写)。对于 hackers­arise.com 这个名称服务器显示在清单 3­3 的 ANSWER SECTION 部分。

kali >dig hackers-arise.com ns

­­snip­­

;; QUESTION SECTION:

;hackers­arise.com. IN NS

;; ANSWER SECTION:

hackers­arise.com. 5 IN NS ns7.wixdns.net.

hackers­arise.com. 5 IN NS ns6.wixdns.net.

;; ADDITIONAL SECTION:

ns6.wixdns.net. 5 IN A 216.239.32.100

­­snip­­

清单 3­3: 使用 dig 和它的 ns 选项从一个域名服务器获取信息

另外请注意,在 ADDITIONAL SECTION 部分,dig 查询显示了为 hackers­arise.com 提供服务的 DNS 服务器的 IP 地址(216.239.32.100)。

你也可以使用dig命令来获取电子邮件服务器信息,通过连接一个域名并加上选项 mx(mx 是邮件交换服务的缩写)。该信息对于电子邮件系统的攻击中至关重要。例如,www.hackers­arise.com 电子邮件服务器上的信息在显示在清单 3­4 的 AUTHORITY SECTION 部分中。

kali >dig hackers-arise.com mx

­­snip­­

;; QUESTION SECTION:

;hackers­arise.com. IN MX

;; AUTHORITY SECTION:

hackers­arise.com. 5 IN SOA ns6.wixdns.net. support.wix.com 2016052216 10800

3600 604 800 3600

­­snip­­

清单 3­4: 使用 dig 和它的 mx 选项来获取域名邮件交换服务器上的信息

最常见的 Linux DNS 服务是 Berkeley Internet Name Domain(BIND)。在某些情况下,Linux 用户将 DNS 称为 BIND,但是不要混淆:DNS 和 BIND 都将各个域名映射到 IP 地址。

更改你的 DNS 服务器

在某些情况下,你可能希望使用其他 DNS 服务器。为了这么做,你将编辑一个在操作系统名为/etc/resolv.conf 纯文本文件。使用文本编辑器打开这个文件——这里我使用 Leafpad。然后,在你的命令行输入你选择的编辑器准确的名称并在后面加上文件的位置和文件名。例如:

kali >leafpad /etc/resolv.conf

将我指定的图形文本编辑器 Leafpad 里打开位于/etc 目录下的 resolv.conf 文件在。这个文件的内容看上去应该如图 3­1 所示。

图 3­1: 在文本编辑器中的典型的 resolv.conf 文件

正如你在第三行看到的,我的名称服务器在这里设置为 192.168.181.2 的本地 DNS 服务器。它正常工作,但是如果我希望添加或者替换 DNS 服务器为 8.8.8.8 的 Google 公共 DNS 服务器。我需要在/etc/resolv.conf 文件中添加以下行来指定这个名称服务器 :

nameserver 8.8.8.8

然后我需要保持这个文件。但是,你也可以通过输入以下指定命令达到同样的效果:

kali >echo "nameserver 8.8.8.8"> /etc/resolv.conf

这个命令回显字符串 nameserver 8.8.8.8 并将其重定向(>)到文件/etc/resolv.conf 中,替换掉当前的内容。你的/etc/resolv.conf 文件现在应如图 3-2 所示。

图 3­2: 更改 resolv.conf 文件信息来指定 Google DNS 服务器

如果你现在打开/etc/resolv.conf 文件,你将看到它将 DNS 请求指向 Google 的 DNS 服务器而不是本地 DNS 服务器。你的机器现在将转到 Google 公共 DNS 服务器来解析域名成 IP 地址。这意味着域名解析将花费更长的时间(可能是几毫秒)。因此,为了保持速度但保留使用公共服务器的选项,你可能需要在 resolv.conf 文件中重新保存本地 DNS 服务器,然后使用公共 DNS 服务器进行后续操作。操作系统按/etc/resolv.conf 文件中列出的顺序查询每个 DNS 服务器,因此只有在本地 DNS 服务器中找不到域名时,系统才会引用公共 DNS 服务器。

映射您自己的 IP 地址

在你的操作系统中一个被称为 hosts 的特殊文件总是执行域名——IP 地址转换。这个 hosts 文件位于/etc/hosts,与 DNS 有点类似,你可以使用它来指定你自己的 IP 地址——域名映射。换句话说,当你在浏览器输入 www.microsoft.com(或者其他任何域名)时,你可以决定浏览器将访问哪个 IP 地址而不是让 DNS 服务决定。对于黑客,这对于劫持局域网上的 TCP 连接以使用 dnsspoof 等工具将流量定向到恶意 Web 服务器非常有用。

在命令行中,输入以下命令 (你可以将首选文本编辑器替换为 Leafpad):

kali >leafpad /etc/hosts

你应该看到你的 hosts 文件,如图 3-3 所示

图 3­3: 默认 Kali Linux hosts 文件

默认情况下,hosts 文件只包含 localhost 的映射(127.0.0.1)和你的系统主机名(本例中为 Kali, 位于 127.0.1.1)。但是你可以按照你的意愿添加任何 IP 地址映射到任何域名。举个如何使用它的例子,你可以将 www.bankofamerica.com 映射到你的本地网站,地址为 192.168.181.131。

127.0.0.1 localhost

127.0.1.1 kali

192.168.181.131 bankofamerica.com

# The following lines are desirable for IPv6 capable hosts

::1 localhost ip6­localhost ip6­loopback ff02::1 ip6­allnodes

ff02::2 ip6­allrouters

在 IP 地址和域名中间请确保你输入的是 TAB 键,而不是空格键。

随着您越来越多地参与黑客攻击工作并了解像 dnsspoof 和 Ettercap 这样的工具,您将能够使用 hosts 文件将访问 www.bankofamerica.com 的局域网上的任何流量定向到您的 Web 服务器 192.168.181.131。

这些实际上都非常简单,对吧?

总结

任何黑客都需要一些基本的 Linux 网络技能来连接、分析和管理网络。随着你的进步,这些技能在侦察、欺骗和连接目标系统中将变得越来越有用。