四十三,木马原理详解、远程服务器IPC$漏洞及木马植入实验
chenpack 2024-12-19 10:23 305 浏览 0 评论
一.木马详解
很早之前作者介绍了“Web安全学习路线及木马、病毒和防御初探”,而这篇将结合案例更深入地讲解木马知识,希望对您有所帮助。注意,本文的实验绝对禁止在真实环境中去完成,作者将引用B站视频中虚拟机实验复现,未经授权的测试或攻击行为我们一律禁止。本文仅作为科普文章并提升读者的安全防范意识,关闭远程服务端口。
实训目标:
通过经典的木马攻击还原场景,来学习木马的制作,并实现植入木马对目标主机进行完全控制。现实中,木马发送给目标有很多种方法,比如发送垃圾邮件、点击垃圾链接、访问HS网站、从非官方网站下载软件等,并且很多人在中木马之后还不知道。本篇文章的实验主要是针对服务器的木马植入展开。
特洛伊木马:
比喻侵入内部的破坏性因素。来源于希腊神话中特洛伊战争,特洛伊人劫持了希腊最美的女人海伦,古希腊为了夺回海伦,发动了对特洛伊的远征,围困十年之久,但就是攻不下这个城池,最后希腊人建造了一个强大的木马(木头做的马),让希腊武士藏在木马中,然后假装撤兵,特洛伊人把这个木马当作战利品,晚上希腊武士趁其熟睡打开城门攻城。现在计算机病毒也命名为特洛伊木马,它会想方设法植入目标,从内部瓦解对方。
木马通常称为黑客程序、恶意代码,也称为特洛伊木马
基于远程控制的黑客工具。
木马的特性:
隐蔽性
潜伏性
再生性
木马的组成:
客户端程序
客户端程序是安装在攻击者(黑客)方的控制台,它负责远程遥控指挥,比如黑客需要数据则控制远程恶意代码或木马程序去搜集数据
服务端程序
服务器端程序即是木马程序,它被隐藏安装(植入)在被攻击(受害)方的电脑上,目标主机也称为肉鸡
木马的危害:
盗取用户信息,比如网游账户、网银信息、QQ密码等。QQ密码虽然加密,但输密码时可以通过键盘记录发送给客户端
传播病毒
占用系统资源,降低电脑效能
将本机作为工具来攻击其他设备等
中了木马的征兆:
硬盘不停的读写
鼠标键盘不停使唤
窗口突然被关闭
新的窗口莫名其妙地打开
木马传播途径:
网页浏览时利用浏览器漏洞或浏览器插件(Flash、迅雷等)漏洞
通过QQ、MSN等及时通讯软件,发送恶意网址链接或木马病毒文件
使用U盘等移动存储介质。电脑别轻易插入不认识人的U盘,社会工程学会利用人性贪婪瓦解内部防火墙
打开陌生的邮件,通过电子邮件内恶意代码或含木马病毒的附件
伪装成多媒体影音文件或植入木马的应用软件,利用P2P平台和网址传播
利用操作系统漏洞或弱口令直接远程植入
下载来源不明的程序
如何防御:
提高警惕性,别占小便宜,别点击垃圾链接或邮件
从官网下载程序,密码设置复杂
设置防火墙和杀毒软件,定期杀毒并清理电脑
防止社会工程学诱骗或攻击
二.木马实验
1.实验环境
环境介绍:
虚拟机软件:VMware V12.0版本
虚拟机:Windows XP(模拟黑客攻击机)、Windows Server 2003(模拟被木马控制方)
黑客工具:HGZ软件、NTscan
实验流程:
1.开启虚拟机,将xp和2003桥接到VMnet1上
2.配置IP地址并测试网络连通性:XP配置IP为10.1.1.1/24、2003配置IP为10.1.1.2/24
3.制作木马:使用HGZ制作木马,并将木马生成在D盘
4.IPC $ 暴力爆破密码
5.与目标主机建立IPC $
6.植入木马到目标主机
7.设置目标主机运行木马
8.成功控制目标主机
2.配置网络
第一步,开启两台虚拟机。
使用还原快照如下图所示:
第二步,桥接网络。XP和2003系统均设置为VMnet1网络。
接着配置IP地址,Windows XP系统IP地址配置为10.1.1.1。
Windows Server 2003配置IP地址为10.1.1.2
尝试ping 10.1.1.2 -t,当网络建立好之后,我们开始制作木马。
3.制作木马
第一步,制作木马。使用HGZ制作木马。
首先我们解压HGZ压缩包,如下图所示。
解压之后如下图所示:
HGZ软件运行如下图所示。左边显示自动上线主机(肉鸡),凡是中木马的肉鸡都会自动上线,木马会主动连接控制方并请求被完全控制。
首先我们需要生成木马,点击“配置服务程序”生成木马。
IP通常是黑客电脑的IP地址,因为生成的木马需要植入目标,它会自动连接黑客并发送信息,故填写“10.1.1.1”地址。接着点击底部的方块,选择所制作木马的保存路径。
存储至D盘,并且命名为system,尽量和真实的名称类似,其隐蔽性更高。
在“安装选项”中,只勾选“安装成功后自动删除安装文件”选项,切勿勾选提示安装成功和运行显示图标。
为什么木马比较难找?因为我们会将木马服务名称和描述修改,伪装成正常程序所运行的服务。比如服务名称修改为“windows system”,描述信息修改为“system重要进程”。
本地服务查找如下图所示:
高级选项可以将木马伪装成“IEXPLORE.EXE”进程
最后点击“生成服务器”,成功制作木马。
可以在D盘看到生成的木马。
4.植入木马
接下来我们需要植入木马并自动运行,主要包括4个步骤:
IPC $ 暴力爆破
与目标主机建立IPC $
植入木马到目标主机
设置目标主机运行木马
其基本思路是希望对方能运行木马,但运行前需要将木马植入到目标主机上,那么如何植入呢?在未经授权情况很难将木马拷贝到别人的电脑上。这里需要利用IPC $漏洞,调用445端口号实现。445端口中有个IPC $ ,称之为空连接,没有固定文件夹的共享;而C$ 、D$ 、E$ 代表分区共享,是有固定文件夹的。换句话说,445端口打开就相当于我们可以在局域网中轻松访问各种共享文件夹,如果您的电脑是弱密码,很容易就被攻破,这里使用IPC $ 暴力爆破。
补充1:
IPC $ 暴力爆破是有条件的,就是别人有服务接口,比如对方开了FTP服务。hydra工具是出名的暴力爆破工具,之前的文章“三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二))”也讲述过。Web渗透之前通常需要扫描IP地址和开启的端口号、服务等,信息收集的方法有很多,通过收集发现目标开启的接口,接着才是通过暴力爆破获取最后的密码。
445端口
该端口是一个毁誉参半的端口,有了它我们可以在局域网中轻松访问各种共享文件夹或共享打印机,但也正是因为有了它,黑客们才有了可乘之机,他们能通过该端口偷偷共享你的硬盘,甚至会在悄无声息中将你的硬盘格式化掉。2017年10月,由于病毒“坏兔子”来袭,国家互联网应急中心等安全机构建议用户及时关闭计算机以及网络设备上的445和139端口。勒索病毒也与445端口号相关。
如何预防呢?
关闭该服务端口,或配置高级防火墙且屏蔽任何人访问445。
IPC$(Internet Process Connection)
IPC$ 是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。IPC $ 是NT2000的一项新功能,它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。NT2000在提供了 IPC $ 功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(C$ 、D$ 、E$ …)和系统目录(C:\windows)共享。所有的这些初衷都是为了方便管理员的管理。但好的初衷并不一定有好的收效,一些别有用心者会利用IPC$访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测。
接着开始讲解具体的操作。
第一步,收集信息再进行暴力爆破。
通过扫描软件收集信息,其原理是发送ping请求判断其是否在线,先扫描IP地址。推荐前文:
八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
当服务器IP地址确定之后,我们还可以扫描开放的端口号。软件包括Nmap、ScanPort等。
简单总结: 首先扫描IP地址,接着扫描开放的端口,比如80端口、21端口、445端口等。如果开放80端口,可以通过软件(如Acunetix Web Vulnerability Scanner)进一步扫描网页漏洞,属于服务类漏洞;如果攻击445端口或21端口,则属于系统类攻击。确定漏洞之后,我们需要进一步利用漏洞进行Web渗透。
第二步,调用命令访问共享。
输入如下命令进行共享访问,它会提示您输入登录账号和密码。
net use \\10.1.1.2\ipc$
返回结果提示“登录失败:未知的用户名或错误密码”,接下来怎么办呢?我们只能进行暴力爆破。
第三步,使用NTscan软件暴力爆破,该软件支持远程连接IPC $和利用字典文件。
字典文件为“NT_pass”(密码)和“NT_user”(用户名),小的字典有几KB、几兆的,大的字典有上TB的。服务器用户名通常会设置为administrator、Admin等,如果您是网站管理员,建议将服务器的用户名和密码修改,而且服务器一定要设置密码且不为弱密码(长度限制、大小字母数组特殊符号组成)。
字典文件通常包括一些弱密码,包括空密码、弱密码、常用密码、公司名称、公司符号或缩写、客户信息、老板生日等。下图仅展示了简单的密码,如“123456”、“password”、“%null%”等。
真实的字典会很大,比如作者133MB的密码字典文件,可用于暴力爆破,网络安全工程师,通常都有属于自己的密码字典文件、目录扫描字典文件等。
接着运行软件,输入IP地址“10.1.1.2”,选择IPCsan连接共享“IPC $”。
点击“Start”开始扫描,成功获取了密码“123.com”,如下图所示。
第四步,与目标主机建立IPC $ 空连接。
远程连接输入用户名和密码。
net use \\10.1.1.2\ipc$ 123.com /user:administrator
此时,服务器被连接之后它是没有反应的,如下图所示。
注意:一旦建立IPC $ 空连接之后,目标的 C$ 、 D$ 、E$(C盘、D盘、E盘)都不需要再输入账号和密码,可以直接进行操作。 接着我们尝试操作服务器,将木马拷贝到服务器中。怎么实现呢?
第五步,拷贝木马到服务器中。
建议大家将木马程序拷贝到C盘中深层次的目录下,这里仅拷贝到C盘根目录。
copy d:\system.exe \\10.1.1.2\c$
注意:这条copy命令之所以能够被使用,是因为我们利用445端口漏洞已经建立了空连接。此时我们查看服务器,可以看到“system.exe”程序已经被植入了。
为什么我们的HGZ软件没有提示上线呢?这是因为木马程序还没有运行。
第六步,远程运行我们的木马。
如果输入“time”是获取本机的当前时间,如果输入“net time \10.1.1.2”是获取服务器的时间。
知道时间之后,我们可以通过命令给对方植入一个计划任务,计划任务可以定时执行一个程序。虽然不能双击这个程序,但是能够定时执行这个程序。
at \\10.1.1.2 09:50 c:\system.exe
该命令表示服务器“10.1.1.2”在9点50执行system.exe程序。
输入命令“at \10.1.1.2”可以看到,该计划已经执行。
当时间到了9点50,可以看到“SHIMISI”服务器已经上线,这就是一台被我们控制的肉鸡。
打开“SHIMISI”服务器,可以看到C盘、D盘和E盘的内容。
假设我们想往控制的2003服务器传文件,选中E盘,然后点击上传图标,选择本地软件后点击“确定”。
可以看到,对方电脑E盘中出现了我们上传的文件。同样,我们可以将对方服务器的内容下载至本地。
点击“捕获屏幕”按钮。
可以看到对方的屏幕已经被成功控制,而且为实时画面。
点击左上角“传送鼠标和键盘操作”,可以接管控制服务器电脑的鼠标和键盘。
点击“视频语音”按钮,再点击“开始视频监控”,可以进行摄像头拍摄。所以大家一定注意,平时不用要关闭摄像头或封住。
点击“Telnet”图标可以进行命令行控制。
比如在E盘调用命令“md yedaociyiyou”,可以创建文件夹。
服务器成功创建了该文件夹。
远程控制命令比如关机重启等,注册表修改等。
注意:该木马修改了服务,只要开机就会自动运行该木马而为我们所用。
再次声明:HGZ木马现在很容易被杀死或察觉,也有不容易被杀死,大家一定不能拿去用于攻击,它会违反相关的法律,HGZ的作者可能还在里面。我们作为安全工程师,希望您们去了解漏洞背后的原理,更好地进行防御,绿色网络需要我们共同维护。
补充:如何关闭远程服务或445端口呢?
作者打开自己的笔记本,输入命令“net share”,可以看到共享服务都是启动的,这是存在漏洞的。
在运行中输入services.msc,然后找到服务。
我们需要将它关闭,设置为“禁用”。
再次运行,发现共享服务被成功关闭。
netstat -an命令能看到所有和本地计算机建立连接的IP,它包含四个部分:proto(连接方式)、local address(本地连接地址)、foreign address(和本地建立连接的地址)、state(当前端口状态)。通过这个命令的详细信息可以完全监控自己的计算机上的连接。
三.总结
写到这里,这篇基础性文章就此结束。本文详细讲解了木马的原理知识,通过远程服务器445端口相关的IPC $ 漏洞复现了一个木马制作、植入、运行、控制的过程,作者的初衷一方面是做网络安全的普及,另一方面希望提高读者的安全防范意识。如何防御呢?
提高警惕性,别占小便宜,别点击垃圾链接或邮件
从官网下载程序,密码设置复杂,防止弱口令(数字大小写符号)爆破
设置防火墙和杀毒软件,定期杀毒并清理电脑
防止社会工程学诱骗或攻击
关于软件或系统漏洞,及时关闭远程服务或端口
摄像头、麦克风、路由器、网关、服务器等系统漏洞及人为防御
禁止禁止禁止做任何危害网络安全的行为,作为安全工程师,需要我们共同维护绿色网络
希望这系列文章对您有所帮助,真的感觉自己技术好菜,要学的知识好多。这是第43篇原创的安全系列文章,从网络安全到系统安全,从木马病毒到后门劫持,从恶意代码到溯源分析,从渗透工具到二进制工具,还有Python安全、顶会论文、黑客比赛和漏洞分享。未知攻焉知防,人生漫漫其路远兮,作为初学者,自己真是爬着前行,感谢很多人的帮助,继续爬着,继续加油。
相关推荐
-
- flutter CustomScrollView sliverList内数据变化会导致每个item都会重新build flutter的listview
-
让Flutter应用程序性能提高倍的个技巧Flutter应用程序以其精美的设计和流畅的功能而闻名,但性能问题会很快破坏用户体验。借助这个优化性能的专家技巧,将您的应用提升到一个新的水平。使用WidgetsBindingOb...
-
2025-06-27 02:00 chenpack
- Installshield版本_install 1
-
[西门子PLC]STEP7-Micro/WINSMART编程软件常见安装中出现的问题嗨,朋友们!咱们在安装smart软件的时候,难免会碰到各种各样的问题。PLCTechnique这就来给...
- 用什么软件打开.mmap_用什么软件打开ai格式
-
8张图讲清楚mmap实现原理大家好,最近在研究Linux内核以及Linux系统编程的时候,经常会碰到mmap内存映射,mmap函数是实现高性能编程的一个关键点,下面我通过几张图详细介绍一下mmap实现...
- windows98镜像_windows98img镜像下载
-
穿越时间·Windows操作系统镜像存档Windows操作系统最初发行于年月,支持x86、x64和ARM32处理器平台,它是微软最后支持WindowsMediaCenter的系统,也是最后一个...
- 题目:构建新发展格局的关键在于
-
构建新发展格局的关键在于经济循环的有效衔接和畅通看一下这道题,他说构建新发展格局的关键在于经济情怀的经历循环的行之有效,环环相扣,畅通无阻,还是简单有序。接下来看后面的体式,后面一定要对前一空做解释的...
- 一劳永逸,全自动万能排班表,操作简单到你无法想象,值得收藏点赞!
-
云嵩智能分饭机:人性设计,无需专业培训,员工快速上手随着餐饮业务规模的不断扩大,餐饮企业在运营过程中不可避免地需要引入更先进、更高效的商业厨房设备。不可否认,这些设备能够显著提升餐厅的运营效率,但传统...
- WinHttp用法_winhttp服务启动不了
-
计算机网络基础——http详解1简单汇总2主要介绍HTTP协议简介超文本传输协议(英文:HyperTextTransferProtocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信...
- mysql全文索引使用_mysql全文索引作用
-
使用MySQL全文索引,我让女同事的代码快了倍普通的工作日,很平常的一天。上午上班,和往常一样写代码,旁边的妹子有点异样,一副一筹莫展的样子,似乎被什么问题困扰了。本着同事之间应该互相帮助的工作态度,...
- java replaceall 含有特殊字符
-
又被“教育”了,Java中那些让我傻傻分不清楚的7个小细节前言最近我们通过sonar扫描代码的时候,发现了很多问题。除了常规的bug和安全漏洞之外,还有几处方法用法错误,引起了我极大的兴趣。我为什么会...
- 分享Windows Server 2003 官方原版ISO镜像下载地址
-
分享电脑系统镜像下载网站,开源、纯净操作系统是一种管理计算机硬件和其它软件的一种程序。现在的操作系统可以分为以下几类:1.微软的Windows:这个不用多说,大家熟悉的Windows、Window...
- 加密英文-加密文件系统的英文缩写是什么
-
“密码”千万不要说“secretnumber”,老外都这么说Hello,September!QQ密码,微信密码,银行卡密码,抖音密码,快手密码,各种各样的软件登录密码,手机电脑解锁密码…...
- BIOS界面的firmware update_bios界面的分辨率
-
为读取提速——硬盘的深度维护硬盘是操作系统的载体,因此要提高系统的读取速度,就需要对硬盘进行一番深度维护,这样才能从根本上提高系统的运行速度。不过现在的硬盘容量都很大,很多深度维护操作也只有假期有时间...
- 数据结构与算法 目录 《数据结构与算法详解》
-
数据结构与算法完整版|超详细图解,看这一篇就够了反转链表反转一个单链表。输入:1-˃2-˃3-˃4-˃5输出:5-˃4-˃3-˃2-˃1解法1:迭代,重复某一过程,每一次处理结果作为下一次...
- 安捷伦8753es面板按键功能说明 安捷伦e5071c说明书
-
一代经典之HP8753系列网络分析仪今天的故事从一台战损级Agilent8753ES说起。笔者接触的第一款矢量网络分析仪就是Agilent系列,当初的款型还比较早,都是挂HP的标(HP8...
- mysql 新建数据库_mysql 新建数据库的语句
-
MySQL创建数据库我的重点还是放在数据表的操作,但第一篇还是先介绍一下数据表的容器数据库的一些操作。主要涉及数据库的创建、修改、删除和查看,下面演示一下用SQL语句创建和用图形工具创建。后面主要使用...
你 发表评论:
欢迎- 一周热门
-
-
维基百科Wikipedia镜像网站列表
-
超炫html+css+javascript幻化3D相册 (含背景音乐)程序员表白必备
-
6款图片查看器,丝滑干净无广告!(图片查看器软件)
-
不能读取文件“itunes.library.itl”因为它是由更高级别的itunes所创建的
-
用java编写一个QQ群发信息_用java语言写qq聊天程序
-
StreamReader StringReader 区别 reader和inputstream的区别
-
Windows Server 2003 详细安装与配置
-
作为一名独立开发者,我是如何建立我的科技创业公司的
-
计算机集成制造系统有哪些_计算机集成制造系统有哪些类型
-
虚拟化测评 虚拟化测试方案_虚拟化测试工程师招聘
-
- 最近发表
-
- flutter CustomScrollView sliverList内数据变化会导致每个item都会重新build flutter的listview
- Installshield版本_install 1
- 用什么软件打开.mmap_用什么软件打开ai格式
- windows98镜像_windows98img镜像下载
- 题目:构建新发展格局的关键在于
- 一劳永逸,全自动万能排班表,操作简单到你无法想象,值得收藏点赞!
- WinHttp用法_winhttp服务启动不了
- mysql全文索引使用_mysql全文索引作用
- java replaceall 含有特殊字符
- 分享Windows Server 2003 官方原版ISO镜像下载地址
- 标签列表
-
- int.tryparse (62)
- list转list (108)
- repeat函数 (66)
- git force (69)
- springboot /error (71)
- mysql 更新 (74)
- save as pdf (63)
- lock tables (66)
- 同步 异步 阻塞 非阻塞 (62)
- rsyslog (66)
- querystring (63)
- c++ override (70)
- css 动画库 (61)
- vsphere web client (65)
- int32_t (63)
- c# task.run (68)
- find -size (64)
- golang flag包 (70)
- 二维数组作为参数传入函数 (62)
- sudo su root (60)
- crontab 安装 (61)
- c# 数组转成list (60)
- 下拉按钮 (64)
- 滚动条美化 (61)
- stringutils (61)