木马攻击
预备知识
木马
什么是木马
木马是隐藏在正常程序中的具有特殊功能恶意代码,是具备破坏,删除和修改文件,发送密码,记录键盘,实施Dos攻击甚至完全可能告知计算机等特殊功能的后门程序。它隐藏在目标计算机里,可以随计算机自动启动并在某一端口监听来自控制端的控制信息。
特点
- 具有欺骗性
- 隐蔽性
- 自动运行性
- 不自我繁殖(与病毒的区别)
- 不”刻意“感染其它文件
原理:C/S
一般木马都采用C/S(client/server,即服务器/客户端)运行模式,因此它分为两部分,即客户端和服务器端木马程序。植入你的电脑的是它的“服务器”部分,而所谓的“黑客”正是利用“客户端”进入运行了“服务器”的电脑。
其原理是,当服务器端程序在目标计算机上被执行后,一般会打开一个默认的端口进行监听,当客户端向服务器端主动提出连接请求,服务器端的木马程序就会自动运行,来应答客户端的请求,从而建立连接。第一代和第二代木马就采用这种方式。
众所周知,基于TCP/IP协议接入互联网的电脑有0到65535共256×256个端口。通常我们上网的时候,电脑通过139端口与外界保持联系。运行了木马程序的“服务器”以后,你的电脑就会有另一个或几个端口被打开,使黑客可以利用这些打开的端口进入你的系统,你的系统安全和个人隐私也就全无保障了!
技术发展
1、木马的反弹端口技术
随着防火墙技术的发展,它可有效拦截从外部主动发起的连接的木马程序。但防火墙对内部发起的连接请求则认为是正常连接,第三代第四代木马就是利用这个缺点,其服务器端程序主动发起对外连接请求,再通过某些方式连接到木马的客户端,就是说“反弹式”木马是服务器端主动发起连接请求,而客户端是被动的连接。
2、线程插入技术
我们知道,一个应用程序在运行之后,都会在系统之中产生一个进程,同时,每个进程分别对应了一个不同的进程标识符。系统会分配一个虚拟的内存空间地址段给这个进程,一切相关的程序操作,都会在这个虚拟的空间中进行。一般情况下,线程之间是相互独立的,当一个线程发生错误的时候,并不一定会导致整个进程的崩溃。“线程插入”技术就是利用线程之间运行的相对独立性,使木马完全地融进了系统那个内核。系统运行时会有很多的进程,而每个进程又有许多的线程,这就导致了查杀利用“线程插入”技术木马程序的难度。
攻击流程:
配置木马
传播木马
运行木马
信息泄露
建立连接(利用信息)
远程控制
中木马的症状:
如果电脑莫名其妙地死机或重启;
如果硬盘在无操作的情况下频繁被访问;
如果系统无端搜索软驱、光驱;
如果系统速度异常缓慢,系统资源占用率过高……
如果电脑随意弹出窗口,系统配置参数发送改变
那么有人再远程控制你的电脑
杀马
- 查端口
- 恢复win.ini,system.ini文件
- 杀毒软件
实验目的
1、 理解掌握木马运行以及传播的原理。
2、 通过手动删除木马,掌握检查木马和删除木马的技巧。
3、 增强对木马的安全防范意识。
实验环境
(1) 硬件环境:两台连接成局域网的PC机,分别为PC1和PC2
(2) 软件环境:Windows XP,冰河V8.4
实验
冰河木马植入与控制
分别进入虚拟机中PC1与PC2系统。在PC1中安装服务器端,在PC2中安装客户端。
(1)服务器端PC1。打开C:\tool\“木马攻击实验”文件夹,在“冰河”文件存储目录下,双击G_SERVER。
G_Server是木马的服务器端,即用来植入目标主机的程序。此时,会弹出“Windows安全警报”窗口如图1,点击“解除阻止”,木马的服务器端便开始启动。(如果防火墙已关闭会直接运行不会弹窗)
P1 IP:10.1.1.90
(2)客户端PC2。打开C:\tool\“木马攻击实验”文件夹,在“冰河”文件存储目录下,双击G_CLIENT。
G_Client是木马的客户端,即木马的控制端。此时,会弹出“Windows安全警报窗口”如图2,点击“解除阻止”,则可打开控制端。
打开控制端G_CLIENT后,弹出“冰河”的主界面
添加主机。输入名称和服务端P1的IP地址
访问口令:填入每次访问主机的密码,“空”即可
监听端口:冰河默认的监听端口是7626
看见PC1,添加成功
命令控制台命令的使用方法
红框是口令命令
各分支含义如下:
“系统信息及口令”:可以查看远程主机的系统信息,开机口令,缓存口令等。可看到非常详细的远程主机信息,这就无异于远程主机彻底暴露在攻击者面前
“历史口令”:可以查看远程主机以往使用的口令
“击键记录”:启动键盘记录后,可以记录远程主机用户击键记录,一次可以分析出远程主机的各种账号和口令或各种秘密信息
控制类命令
各分支含义如下:
“捕获屏幕”:这个功能可以使控制端使用者查看远程主机的屏幕,好像远程主机就在自己面前一样,这样更有利于窃取各种信息,单击“查看屏幕”按钮,然后就染成了远程主机的屏幕。可以看到,远程主机屏幕上的内容就显示在本机上了,显示内容不是动态的,而是每隔一段时间传来一幅。
“发送信息”:这个功能可以使你向远程计算机发生Windows标准的各种信息,在“信息正文”中可以填入要发给对方的信息,在图表类型中,可以选择“普通”,“警告”,“询问”,“错误”等类型。按钮类型可以选择“确定”“是”“否”等类型。
“进程管理”:这个功能可以使控制着查看远程主机上所有的进程
“窗口管理”:这个功能可以使远程主机上的窗口进行刷新,最大化,最小化,激活,隐藏等操作。
“系统管理”:这个功能可以使远程主机进行关机,重启,重新加载“冰河”自动卸载”冰河”的操作
“鼠标控制”:这个功能可以使远程主机上的鼠标锁定在某个范围内
“其他控制”:这个功能可以使远程主机进行自动拨号禁止,桌面隐藏,注册表锁定等操作
尝试发送信息这个功能,在旁边窗口填写相应信息,点击发送
然后回到PC1看见
网络类命令
各分支的含义是:
“创建共享”:在远程主机上创建自己的共享
“删除共享”:在远程主机上删除某个特定的共享
“网络信息”:查看远程主机上的共享信息
文件类命令
“文件浏览”、“文件查找”、“文件压缩”、“文件删除”、“文件打开”等菜单可以查看、查找、压缩、删除、打开远程主机上某个文件。“目录增删”、“目录复制”、可以增加、删除、复制远程主机上的某个目录。
文件打开尝试
到PC1看见,文件确实被打开了
注册表读写
注册表读写提供了“键值读取”、“键值写入”、“键值重命名”、“主键浏览”、“主键增删”、“主键复制”的功能。
设置类命令
设置类命令提供了“更换墙纸”、“更改计算机名”、“服务器端配置”的功能
删除冰河木马
删除冰河木马主要有以下几种方法:
(1)客户端的自动卸载功能
点击“控制类命令”前面的“+”,点击“系统控制”可看到“自动卸载冰河”按钮并点击,在弹出的窗口里面点击“是”
(2)手动卸载
在实际情况中木马客户端不可能为木马服务器端自动卸载木马,我们在发现计算机有异常情况时(如经常自动重启,密码信息泄露时),就应该怀疑是否已经中了木马,这时我们应该查看注册表,此处操作在PC1中进行,在“开始”→“运行”里面输入“regedit”
依次打开一下目录
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
在目录中发现了一个默认的键值C:\WINNT\System32\kernel32.exe,这就是“冰河”密码在注册表中加入的键值,选中它,右键,点击删除,即可把它删除如图16删除冰河木马的。
然后依次打开目录
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices
在目录中也发现了一个默认的键值C:\WINNT\System32\kernel32.exe,这也是“冰河”木马在注册表中加入的键值,将它删除
上面两个注册表的子键目录Run和Runservices中存放的键值是系统启动时自动启动的程序,一般病毒程序,木马程序,后门程序等都放在这些子键目录下,所以要经常检查这些子键目录下的程序,如果有不明程序,要着重进行分析。
修改文件关联也是木马常用的手段,“冰河”木马将txt文件的缺省打开方式由notepad.exe改为木马的启动程序,除此之外,html、exe、zip、com等文件也都是木马的目标,所以,在最后需要回复注册表中的txt文件关联功能。
方法是找到注册表的HKEY_CLASSES_ROOT\txtfile\Shell\open\command下的默认值,选中“(默认)”,单击鼠标右键,选择修改如图18编辑字符串。
将数值数据C:\Windows\System32\Sysexplr.exe%1改为正常情况下的C:\Windows\notepad.exe%1即可
如何发现木马?
1.win.ini文件下【windows】字段中
load=和run=后面有东西,中木马
2. system.ini文件下【386Enh]】字段
”driver=路径\程序名“有陌生程序
3.电脑状态,常常出现不明弹窗、电脑自己动等中木马
画出木马工作流程图,加深对木马原理理解