虚拟机中【安装】泰阿红队单兵作战系统(TaieRedTeamOS)

特别声明

1. 发布本文的目的是为了促进技术交流,提升本站读者的网络安全意识以及面对网络攻击时的防御能力,维护互联网的安定和平。本文涉及到的所有操作均没有对位于公网上的计算机系统造成任何危害。

2. 本站不直接提供本文涉及到的任何计算机程序的下载服务,本站服务器也不存储本文涉及到的任何计算机程序;

3. 技术是一把双刃剑,请您在遵守中华人民共和国及您所在地的有关法律法规的前提下阅读本文,确保自己的所有行为都合理合法,本站不对您阅读本文之后所做的任何行为担负任何责任;

4. 如果您不能遵守以上条款,请您立即关闭本页面。

继续阅读“虚拟机中【安装】泰阿红队单兵作战系统(TaieRedTeamOS)”

虚拟机中【临时使用】泰阿红队单兵作战系统(TaieRedTeamOS)

特别声明

1. 发布本文的目的是为了促进技术交流,提升本站读者的网络安全意识以及面对网络攻击时的防御能力,维护互联网的安定和平。本文涉及到的所有操作均没有对位于公网上的计算机系统造成任何危害。

2. 本站不直接提供本文涉及到的任何计算机程序的下载服务,本站服务器也不存储本文涉及到的任何计算机程序;

3. 技术是一把双刃剑,请您在遵守中华人民共和国及您所在地的有关法律法规的前提下阅读本文,确保自己的所有行为都合理合法,本站不对您阅读本文之后所做的任何行为担负任何责任;

4. 如果您不能遵守以上条款,请您立即关闭本页面。

继续阅读“虚拟机中【临时使用】泰阿红队单兵作战系统(TaieRedTeamOS)”

降低 Kali Linux 资源占用:配置使用 Xfce 4 桌面环境

前言

Xfce Desktop Environment website:
https://www.xfce.org/

Xfce-维基百科:
https://zh.wikipedia.org/wiki/Xfce

Xfce 不是最华丽的 Linux 桌面环境,但却是相当节省系统资源的 Linux 桌面环境。就我个人的使用习惯而言,在 Linux 上,特别是 Linux 虚拟机中使用 Xfce 桌面是一个极佳的选择,因为这样可以把有限的系统资源更多地用于处理生产性作业。
Xfce 最新的版本是 “4.12”.
Kali Linux 2019.1 以及该版本之前的一些版本使用的都是 Gnome 桌面环境而不是 Xfce, 因此,本文就从降低系统资源占用的角度出发,介绍一下将 Kali 的桌面环境从 Gnome 更换到 Xfce 4 的过程。

过程

安装 Xfce 4,命令:

apt install kali-defaults kali-root-login desktop-base xfce4 xfce4-places-plugin xfce4-goodies

在安装的过程中(可能)会要求我们选择提供图形化系统登录界面的图形管理程序(A display manage is a program that provides graphical login for the X Windows System.),只有一个显示管理器可以管理给定的 X server (X server 是用于管理图形化界面的服务器端程序),但是如果当前系统中安装了多个显示管理器包,就需要选择一个默认的显示管理器(Only one display manage can manage a given X server, but multiple display manager packages are installed. Please select which display manager should run by default.),这里我选择的默认显示管理器是 “gdm3”, 如图 1:

图 1
图 1

切换桌面:

update-alternatives --config x-session-manager

回显如下:

root@kali:~# update-alternatives --config x-session-manager
There are 3 choices for the alternative x-session-manager (providing /usr/bin/x-session-manager).

  Selection    Path                    Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gnome-session   50        auto mode
  1            /usr/bin/gnome-session   50        manual mode
  2            /usr/bin/startxfce4      50        manual mode
  3            /usr/bin/xfce4-session   40        manual mode

Press <enter> to keep the current choice[*], or type selection number:

输入 3 以启动 Xfce4,回显如下:

root@kali:~# update-alternatives --config x-session-manager
There are 3 choices for the alternative x-session-manager (providing /usr/bin/x-session-manager).

  Selection    Path                    Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gnome-session   50        auto mode
  1            /usr/bin/gnome-session   50        manual mode
  2            /usr/bin/startxfce4      50        manual mode
  3            /usr/bin/xfce4-session   40        manual mode

Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/bin/xfce4-session to provide /usr/bin/x-session-manager (x-session-manager) in manual mode

卸载 Gnome 桌面环境:

apt remove gnome-core
apt remove gnome-shell

重启系统:

reboot

重新登录系统之后可以看到已经成功地将 Kali Linux 的桌面环境更换为 Xfce 4,如图 2:

图 2
图 2

Kali Linux 忘记系统登录密码后的重置密码操作

前言

如果忘记了系统的登录密码, 最关键的需求就是重置 root 用户的登录密码, 之后使用 root 账户可以修改其他账户的密码. 因此, 本文就介绍一下在不知道 root 用户登录密码的情况下如何重置 root 账户的密码.

操作环境

Kali Linux 2019.1

操作步骤

启动 Kali Linux, 在启动了 GNU GRUB (GNU 引导) 界面时按 e 进入编辑模式.
之后找到如图 1 所示的位置, 把其中的 ro 改成 rw, 并删除 .gz 后面的 quite, 替换成 init=/bin/bash.

图 1
图 1

修改后如图 2 所示:

图 2
图 2

修改完成之后, 使用 Ctrl +X 组合键继续系统的启动进程, 此时是可以无密码直接进系统的, 如图 3:

图 3
图 3

在图 3 中所示的 # 提示符后面输入重置密码的 passwd 命令即可修改 root 用户的密码并使用修改后的密码正常登陆系统.

Kali Linux 更换系统主题

操作环境

物理机操作系统:Windows 10 家庭版
虚拟机操作系统:Kali Linux 2018.4
虚拟化软件:VMware Workstation 15 Pro (15.0.2 build-10952284)

工具准备

GNOME 主题下载:
https://www.gnome-look.org/

这里我使用的主题是:
https://www.opendesktop.org/p/1263666/

我下载的文件名称是:

McOS-MJV-Dark-mode-Gnome-3.30-1.1.tar.xz

操作步骤

将该主题文件复制进/usr/share/themes/目录:

cp McOS-MJV-Dark-mode-Gnome-3.30-1.1.tar.xz /usr/share/themes/

进入系统主题所在的目录:

cd /usr/share/themes/

解压 .xz 文件:

xz -d McOS-MJV-Dark-mode-Gnome-3.30-1.1.tar.xz

解压 .tar 文件:

tar -xvf McOS-MJV-Dark-mode-Gnome-3.30-1.1.tar

点击打开“优化”工具:

图 1 中文状态下的优化工具
图 1 中文状态下的优化工具

如果在英文状态下,是这样的,点击”Tweaks”:

图 2 英文状态下的优化工具
图 2 英文状态下的优化工具

依次找到“外观/主题/”,选中刚才下载的主题即可更换主题:

图 3 使用优化工具更换系统主题
图 3 使用优化工具更换系统主题

更换系统主题后的Kali Linux:

图 4 系统主题更换完成
图 4 系统主题更换完成

ARP 协议与 ARP 攻击入门

作者:荒原之梦

一、ARP 协议

ARP 协议是一个年代相当“久远”的网络协议。ARP 协议制定于 1982 年 11 月,英文全称:Address Resolution Protocol,即“地址解析协议”。

我们知道,虽然终端设备想要上网必须具有公有 IP 地址,但是在 Internet 的 TCP/IP 协议中,IP 地址的作用是标识一台主机或路由器与一条链路的接口,也就是说 IP 地址指明了数据由一个网络传输到另一个网络的路径,但是我们知道,为了节约 IP 地址,通常情况下,在一个内部网络中,主机常常使用 RFC 规定的三种私有 IP 地址作为局域网中主机的 IP 地址,而且主机的 IP 地址是由该网络的路由器动态分配的,如果数据的传输仅仅依赖于 IP 地址,那么当数据到达一个内部网络中时就可能因为目标主机的 IP 地址发生改变而将数据传输到了错误的目标主机。但是不同设备的物理地址(MAC 地址)是全网唯一的,而且一般也不会被改变(MAC 地址是写入网卡的,一般情况下是固定不变的),因此使用 MAC 地址作为信息的标识,定位目标网络设备就可以保证信息能够正确抵达目标主机。而通过目标设备的IP地址查找目标设备的 MAC 地址就是 ARP 协议的基本功能。

1.1. ARP 协议的工作过程

由于内部网络中主机的IP地址往往是动态分配的,因此,在主机中是有 ARP 缓存的,记录着本网络中 IP 地址与 MAC 地址的对应关系。那么,这个 ARP 缓存是怎么生成的呢?首先,当网络中的主机 A 需要向主机 B 发送信息时,会将包含目标 IP 地址的 ARP 请求广播到该网络中的所有主机上,网络中的其他主机在收到主机 A 的 ARP 请求后可以自主的发送 ARP 应答报文,应答中包含自己的 IP 和自己的 MAC 地址,主机 B 也会发送这样的应答报文给主机 A. 这样主机 A 就知道了主机 B 的 MAC 地址与 IP 地址了。

ARP 协议的工作是建立在网络中各个主机之间相互信任的基础上的,一台主机在收到其他主机的 ARP 应答报文时并不会采取措施校验该报文的真实性,而是直接就记录到了自己的 ARP 缓存中以备下次使用。

、ARP攻击

ARP 攻击的第一步就是 ARP 欺骗。由上述“ARP 协议的工作过程”我们知道,ARP 协议基本没有对网络的安全性做任何思考,当时人们考虑的重点是如何保证网络通信能够正确和快速的完成——ARP 协议工作的前提是默认了其所在的网络是一个善良的网络,每台主机在向网络中发送应答信号时都是使用的真实身份。不过后来,人们发现 ARP 应答中的 IP 地址和 MAC 地址中的信息是可以伪造的,并不一定是自己的真实 IP 地址和 MAC 地址,由此,ARP 欺骗就产生了。

2.1. ARP 攻击的分类

根据攻击的实现方式或者攻击的效果不同,可以将 ARP 攻击分成如下三种类型:

  • ARP 仿冒攻击:冒充内网中的网关或计算机;
  • ARP 欺骗攻击:欺骗内网中的网关或计算机;
  • ARP MAC 地址泛洪攻击。

2.2. ARP 仿冒与欺骗攻击

ARP 的应答报文是可以伪造的,因此,同时进行 ARP 仿冒与欺骗攻击就可以实现内网环境下的“中间人攻击”。

假设一个网络中有 3 台主机,分别为 A、B 和 C. 当主机 A 向网络中发送了 ARP 请求时,用于攻击的主机 C 可以假装是 B, 然后向主机 A 发送一个伪造的 ARP 应答报文,由于 A 并不会采取措施验证该报文真伪,而是直接存入自己的 ARP 缓存并在需要时使用(ARP 缓存分两种,一种是静态 ARP 缓存,该类缓存只要主机不关机就一直存在。另一类是动态 ARP 缓存,该类缓存是有时效限制的,一般 ARP 动态缓存的最长生命周期是 10 分钟,如果一个动态缓存项目在 2 分钟内没有被使用,则删除,如果在两分钟内被使用了,则增加两分钟的生命周期,直到达到 10 分钟的最长生命周期后进行更新),由此,C 就成功的欺骗了 A. 那么来自主机 B 的正确的应答报文去哪了?如果 A 收到了来自 B 的正确的应答报文,更新了自己的 ARP 缓存,那么 C 的 ARP 欺骗不就失败了吗?确实会发生这种情况,但是如果 C 不断的向网络中的各台主机大量发送伪造的 ARP 应答报文,直到同时欺骗了 A 和 B, C 就成功的对主机 A 和 B 进行了 ARP 欺骗。接下来 C 就可以监听 A 和 B 之间的流量,伪造 A 和 B 的通信内容或者阻止 A 和 B 的通信。

2.3. ARP MAC 地址泛洪攻击

交换机中会保存一份内网中活跃主机的 MAC 地址与 IP 地址对应关系的数据表,此时,如果交换机要转发数据包的主机在该数据表中,那么,交换机就会按照 MAC 地址与端口自动完成数据包的转发。

但是,如果交换机与内网中的某台主机长时间未通信,那么,相应的 MAC 地址表就会因“老化”而被自动删除。交换机会直到下次需要与该主机进行通信时才会通过广播的方式获取该主机的 MAC 地址。

于是,ARP MAC 地址泛洪攻击的原理就是向交换机发送大量的伪造 MAC 地址,挤占掉交换机 MAC 地址数据表的全部存储空间,使得因发生老化而被删除的 MAC 地址无法再被重新添加,此时,从交换机发出的所有数据包都会变成请求获取内网目标主机 MAC 地址的广播包——这时,我们就可以对交换机发动 ARP 仿冒与欺骗攻击了。

2.4. 为什么 ARP 攻击只能发生在局域网

当我们在说“ARP 攻击”时,我们还常常和另外一个词连系在一起:“局域网”。为什么ARP 攻击只能发生在局域网呢?或者说为什么 ARP 协议只能在局域网内发挥作用?这和互联网通信的原理以及 ARP 协议的功能有关。简单的说,我们可以这样理解:

我们知道,IP 地址位于 OSI 模型的第三层(网络层),MAC 地址位于 OSI 模型的第二层(数据链路层)。而路由器工作在三层或者三层以上。由此看来,用于连接 IP 地址与 MAC 地址的 ARP 协议是不能跨越第三层的(ARP 工作在网络层),因此 ARP 广播包也不可能通过路由器到达其他网络。

图 1.

上面的这个解释很好理解,但是并不是很严密的解释,也没有触及到问题的核心。如果要完全解释“为什么 ARP 攻击只能发生在局域网内部?”这个问题,我们就必须更深入的理解 TCP/IP 协议和路由器的工作原理。

在 TCP/IP 协议中,数据的传输有三种方式:单播、组播和广播。单播就是一对一的通信,组播(也称多播)是一对多的通信(如视频直播)。单播和组播都是可以跨越物理网络进行通信的,也就是进行通信的主机之间可以不在一个子网内部。但是,广播就有一些特别了,由于广播域的存在(一般一个局域网就是一个广播域),所以路由器在收到广播数据时是会拒绝向其它网络转发的,路由器实际上起到了分离广播域,隔离广播数据的作用。

ARP 攻击之所以能够产生,就是因为伪造了对 ARP 广播的应答,综合上述分析可知,如果用于攻击的主机并不在目标网络中,就接收不到目标网络中 ARP 请求的广播,其伪造的 ARP 应答也无法到达目标网络。因此,ARP 攻击只能发生在局域网(子网)内部。正因如此,我们只能对目标主机 IP 地址网络号部分以及子网掩码与我们的攻击机器 IP 地址网络号部分和子网掩码相同的主机发动 ARP 攻击。

三、补充

3.1. RARP 协议

ARP 协议的作用就是在已知内网其他设备的 IP 地址的情况下,获取这些内网设备的 MAC 地址的协议。而 RARP 协议(RARP: Reverse Address Resolution Protocol, 即“反向地址转换协议”)则是为了让只知道自己的 MAC 地址的设备从网关那里获取自己的 IP 地址的协议。

和 ARP 协议一样,RARP 协议也工作在网络层。

3.2. IPv6 NDP 协议

ARP 协议是在 IPv4 中使用的地址解析协议,但在 IPv6 中,已经使用 NDP (NDP: Neighbor Discovery Protocol, 即“邻居发现协议”) 协议取代了 ARP 协议的功能。

和 ARP 协议一样,NDP 协议也工作在网络层。