黑客技术Word格式文档下载.docx
《黑客技术Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《黑客技术Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。
●隐藏方式
●木马程序的文件,进程,启动隐藏
●通讯方式
●与远程的木马客户控制端的通信,发送信息,执行命令等.通常采用tcp,udp,icmp网络协议,或是采用加密技术。
●
5
幻灯片6
木马传播方式
●web网页(挂马):
将木马程序嵌入到网页中。
通常采用web脚本语言(JavaScript),ActiveX控件,hta网页文件。
●下载文件
●邮件传播:
附件,网页链接
●系统漏洞
●网络共享访问
●文件捆绑:
使用专门的捆绑软件(如zbind)
●文件伪装
6
幻灯片7
Windows下木马启动技术
●修改系统配置
●注册表自启动键值
●[HKEY_LOCAL_MACHINE/HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
●RUNONCE,RUNSERVICE等键值
●文件关联
●以系统服务或驱动程序形式启动
●调用Win32API函数CreateService创建一个服务或者替换注册表中的ImagePath或ServiceDll键值
7
幻灯片8
木马隐身技术
●隐身是指木马为了保护自己和隐藏木马文件及行为,使主机用户无法发现木马的技术。
●木马隐身技术包括:
●木马程序的隐身
●服务端进程的隐身
●网络连接的隐身
●常规隐身技术
●设置文件属性:
系统或隐藏(attrib+R+H+S)
●用难以区分的名字命名文件
●将文件放到隐蔽的目录中
●以DLL方式加载
8
幻灯片9
Windows进程隐藏技术
●有多种技术方法获取活动进程信息:
●PSAPI(ProcessStatusAPI):
建立一个系统钩子,拦截PSAPI的EnumProcessModules等函数,监视对进程和服务的遍历调用操作,当检测到进程ID(PID)为木马程序的服务器端进程的时直接跳过,这样就实现了进程的隐藏。
金山词霸使用这种技术,通过拦截了TextOutA,TextOutW函数来截获屏幕输出,屏幕取词翻译的。
●PDH(PerformanceDataHelper)
●ToolHelpAPI
●杀毒软件和木马软件都可以利用上述技术显示或隐藏活动进程。
●隐藏进程方式:
用户层和内核层
9
幻灯片10
Windows下的钩子(hook)概念
●钩子是一个处理消息的程序段,当特定的消息产生时,在没有到达目的窗口(程序)前,钩子程序就先捕获该消息并处理该消息。
●钩子(hook)是Windows中重要的接口,可以截获并处理发给其他应用程序的消息,钩子是WINDOWS留给我们的“后门”。
●每个Hook都有一个指针列表,称之为钩子链表,由系统来维护。
这个列表的指针指向的回调函数,即钩子的各个处理子程序。
钩子子程序处理系统或某一特定类型的事件。
10
幻灯片11
DLL木马技术
●动态链接库(DLL):
是在程序运行时根据需要动态加入库,程序的体积小.但是运行可执行程序时需要同时运行动态链接库.
●所有的WindowsAPI函数都是在DLL中实现的。
DLL是可执行的但不能向应用程序那样独立运行,必须由其他进程调用加载到内存中执行。
●DLL木马就像是一个寄生虫,木马以DLL文件的形式存在,寄宿在某个重要的系统进程中。
通过宿主来调用DLL文件,实现远程控制的功能。
11
幻灯片12
特洛伊式DLL木马
●木马化DLL将系统DLL重新命名,将自己命名为系统DLL名,这样木马化DLL可以接收消息并通过函数转发器将正常的调用转发给原DLL,而截获并处理特定的木马控制消息。
●木马化DLL技术也存在问题,比如当修复安装、安装补丁、升级系统、检查数字签名等操作时都有可能导致木马化DLL失效。
●windows系统利用数字签名技术保护这些关键文件不被恶意篡改.系统可以自动从dllcache中恢复被篡改的文件。
12
幻灯片13
动态嵌入DLL木马技术
●动态嵌入技术:
将代码嵌入到正在运行的其他进程中的技术。
目前有多种动态嵌入技术如Hook、挂接API、远程线程.
●远程线程技术(RemoteThread)就是把当前进程中部分代码注入到另一个进程作为线程执行。
●动态嵌入式DLL木马启动方式:
DLL不能直接运行,需要一个可执行文件使用动态嵌入技术将该DLL木马注入到其他正常进程中,让被嵌入的进程调用这个DLL的DllMain函数,激发木马运行,最后启动木马的程序结束运行,木马启动完毕。
启动DLL木马的EXE非常重要,它被称为加载器(Loader)。
13
幻灯片14
通过Rundll32.exe启动的DLL木马
●Rundll32.exe可以调用其他32位dll.比如“3721“的自启动就是在注册表[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下,新添了一个“CnsMin”的键值,
●启动命令是“Rundll32.exeE:
\WINDOWS\DOWNLO~1\CnsMin.dll,Rundll32”。
这样每次启动系统后“CnsMin.dll”都会被Rundll32.exe调用,而在进程列表出现的则是Rundl32.exe。
●查杀方法:
首先将“rundll32.exe”进程终止,查找注册表启动键值,从启动命令的路径中找到相应的DLL文件并删除即可。
14
幻灯片15
木马网络通讯技术
●常规方式
●绑定端口,后门作为服务端运行,等待连接。
●反向连接,后门作为客户端运行,主动连接外网的client。
●端口复用:
重绑定合法端口,绕过防火墙。
●传输的数据加密
●传输的数据通过HTTP,SOAP等协议封装
●利用FTP协议打开通路
●加密木马的命令和数据。
15
幻灯片16
网页木(挂)马
●网页挂马就是攻击者通过在正常的页面中(通常是网站的主页)插入一段代码。
浏览者在打开该页面的时候,这段代码被执行,然后下载并运行某木马的服务器端程序,进而控制浏览者的主机。
●自动下载功能的代码
● <
SCRIPTLANGUAGE="
icyfoxlovelace"
src="
●代码中“src”的属性为程序的网络地址,本例中“
●自动运行程序功能的代码
●<
javascript"
type="
text/javascript"
>
varshell=newActiveXObject("
shell.application"
);
shell.namespace("
c:
\\Windows\\"
).items().item("
Notepad.exe"
).invokeverb();
<
/SCRIPT>
16
幻灯片17
网页木马生成器
●网页木马生成器是可视化的程序,利用IE的各种漏洞,实现将木马程序生成一个网页,即网页木马。
然后将网页木马上传到Web服务器或免费主页空间上挂马。
●挂马:
将一个网页木马放到一个网站上,当用户访问该网站时就会中木马。
●浮动帧标签<
iframe>
:
浮动帧标签实现将一个HTML网页嵌入到另一个网页里,实现“画中画”的效果。
将网页木马的宽、高、边框设置为了“0”,那么网页木马没有显示,但实际上嵌入的网页木马已经打开了。
Iframe是实现网页木马挂马的最常用方式。
17
幻灯片18
挂马技术
●框架嵌入式挂马
●网页木马被攻击者利用iframe语句,加载到任意网页中都可执行的挂马形式,是最早也是最有效的的一种网络挂马技术。
通常的挂马代码如下:
●<
iframesrc=width=0height=0>
<
/iframe>
●在打开插入该句代码的网页后,就也就打开了
18
幻灯片19
挂马技术2
●js调用型网页挂马
●黑客先制作一个.js文件,然后利用js代码调用挂马的网页。
通常代码如下:
scriptlanguage=javascriptsrc=
19
幻灯片20
挂马技术3
●图片伪装挂马
●攻击者将木马代码植入到test.gif图片文件中,实例代码如:
iframesrc="
height=0width=0>
imgsrc=
●当用户打开
20
幻灯片21
网页木马的防范策略
●即时安装安全补丁
●改名或卸载(反注册)最不安全的ActiveXObject(IE插件)
●提高IE的安全级别,禁用脚本和ActiveX控件
21
幻灯片22
其他类型木马
●反弹端口型木马:
传统木马是由服务器开监听端口等待客户端连接。
而反弹端口木马是由客户端开一个监听端口,服务器对客户端进行主动连接。
好处是防火墙对输出的数据限制较少,更加隐蔽。
●输出shell木马:
该木马将接受的数据重定向到命令解释器(shell如cmd.exeorbash)在shell和socket之间传递数据,相对于建立了一个telnet会话。
●ICMP木马:
ICMP木马利用特定格式的ICMP_ECHOREPLY(Ping的响应数据包)实现与木马客户端通信。
22
幻灯片23
木马免杀技术
●木马免杀技术是指通过修改文件或进程的特征使查杀木马软件的检测特征码失效.常见的免杀技术包括:
●文件免杀
1.加花技术:
通过向木马程序中添加空指令改变特征码,让杀毒软件检测不到特征码,关键要确定杀毒软件定义的特征码.
2.修改文件特征码
3.加壳:
4.修改加壳后的文件
●内存免杀
修改特征码
●行为免杀
23
幻灯片24
加壳/脱壳
●加壳技术:
利用特定的算法对EXE、DLL文件里的资源进行压缩并在原程序加上一段保护程序(壳),壳具有保护、压缩和加密功能.运行时壳首先获得运行控制权,再运行真实文件,从而起到保护作用。
常见的加壳工具:
Aspack2.11,UPX,Pecompactv1.82,UPX1.20
●壳的特征代码:
加壳后程序入口处会有一段特殊代码.不同加壳工具加过壳的文件,壳的特征代码是不同的.
●脱壳:
脱壳指的就是将文件外边的壳去除,恢复文件没有加壳前的状态。
●
24
幻灯片25
木马检测技术
●特征码:
最广泛的反病毒和木马检测技术,静态扫描技术。
执行效率高,误报低。
●文件完整性检查技术
●虚拟机检测技术
●实时监控:
从文件、邮件、网页等多个不同的角度对流入、流出系统的数据进行过滤,检测并处理其中可能含有的非法程序代码。
●异常行为分析
25
幻灯片26
后门技术
BackdoorTechnique
26
幻灯片27
什么是后门(backdoor)
●后门(backdoor):
是指绕过系统安全认证模块(正常登录途径)而获取对计算机系统或程序的秘密访问权的程序。
后门通常是通过安装后门软件或是修改已有的系统程序(木马程序)来实现的。
●后门与木马程序有明显地区别,后门为入侵者提供了一个系统秘密访问通道,木马是伪装的恶意程序,主要实现控制功能。
目前,木马技术的发展趋势是木马程序集成了后门功能。
幻灯片28
NetCat
●NetCat大小仅60k左右,但功能强大,故有“网络瑞士军刀”的美誉。
●最初的版本是1995年由Hobbit所撰写,主要在Unix平台执行,1997年,WeldPond撰写了NT版本。
●NetCat可用来管理系统和侦查网络故障,也可以作为一个后门程序。
●网上有两种版本的NetCat
●一个是@stake公司的netcat(也就是最初的版本)
●一个是GNU的netcat(它的功能更多,不过GNU的没有windows平台的版本)
幻灯片29
Netcat
●Netcat(简称为nc)的原理很简单,就是从网络的一端读入数据,然后输出到网络的另一端。
它可以使用tcp和udp协议。
●Nc的主要功能:
●连接到远程主机上的某个端口(conneting)
●监听本地主机上的某个端口(listening)
●扫描远程主机(scaning)
●远程主机绑定shell(binding)
●文件传输(transfering)
幻灯片30
Netcat应用
●基本操作格式
●nc[-options]hostnameport[s][ports]...
●telnet服务器模式(绑定命令)
●Nc的-e选项,用来指定在连接后执行的程序
●在windows平台上可以指定-ecmd.exe,linux则指定-ebash.
●server:
nc-l-p1234-ecmd.exe
●client:
nc192.168.0.11234就可以远程登陆server
30
幻灯片31
NetCat应用实例
●针对IIS的植入后门案例
●首先将NetCat上载至一个IISServer
●nc–L–p10001–ecmd.exe
●-L告诉netcat不要中断联机而是等待联机
●-p我们所要listen特定的port
●-e当联机后我们要执行的程序
●将其转换成UnicodeURL的command
●http:
//<
ExploitURL>
/c+nc+-L+-p+10001+-e+cmd.exe
幻灯片32
●在入侵的服务器上执行NetCat,启动NetCat在IIS上监听的端口(10001),执行cmd.exe程序
幻灯片33
Rootkit
●Rootkit一词最早出现在Unix系统上。
黑客为了取得系统管理员级的root权限,或者为了清除被系统记录的入侵痕迹,会重新编译一些软件程序(术语称为kit),例如ps、netstat、w、passwd等.这些软件即称作Rootkit,也被视为一项黑客技术。
幻灯片34
Rootkit的组件
●针对Unix和Linux的rootkit最多,rootkit是由几个独立的程序组成的,一个典型rootkit包括:
●以太网嗅探器程序(networksniffer),用于获得网络上传输的用户名和密码等信息。
●木马程序(trojan),例如:
inetd或者login,为攻击者提供后门。
●隐藏攻击者的目录和进程的程序,例如:
ps、netstat、rshd和ls等。
●日志清理工具(logcleaner),如:
zap、zap2或者z2,清除wtmp、utmp和lastlog等日志文件。
●提供telnet、shell和finger等后门服务。
●清理/var/log和/var/adm目录中其它文件的一些脚本。
●监视网络流量和击键记录。
幻灯片35
HistoryofRootkits
●1989:
Phrack25articlebyBlackTieAffaironwtmpwiping
●1994:
CERTadvisoryCA-1994-01aboutSunOSrootkits
●1996:
LinuxRootkits(lrk3released)
●1997:
Phrack51articlebyhalflifeonLKM-basedrootkits
●1998:
SilvioCesare’skernelpatchingviakmempaper
●1999:
GregHoglund’sNTkernelrootkitpaper
幻灯片36
Attackgoals
●Networksniffer
●Includingpasswordgrabberutility
●Passwordcracker
●Vulnerabilityscanners
●Autorooter
●Automaticallyappliesexploitstohostranges
●DDOStools
幻灯片37
RootkitTypes
●BinaryRootkits
●Replaceuserprogramslikels,netstat,andpstohidemaliciousactivity
●Addbackdoorstoprogramslikeloginandsshd
●LibraryRootkits
●Replacecoresystemlibraries(glibc)tointerceptcommonsystemcallstohideactivitiesandaddbackdoors
●KernelRootkits
●Modifysystemcalls/structuresthatalluser-modeprogramsrelyontolistusers,processes,andsockets
●Addbackdoorstokernelitself
幻灯片38
拒绝服务攻击技术
DenialofService(DoS)
38
幻灯片39
●拒绝服务攻击(DoS):
使计算机系统或网络无法提供正常的服务。
通常利用系统漏洞导致应用程序或系统崩溃或是非法占用过多的计算机资源(网络带宽、文件空间、CPU处理能力、内存空间、连接的进程数),无法响应正常用户的合法请求
●DoS攻击技术
39
幻灯片40
远程拒绝服务式攻击总结
攻击名
工作方式
攻击平台
Land
(1997)
发送一个假的数据包,它的源IP地址和源端口号与目标主机IP地址和目的端口号相同,旧的TCP/IP协议栈在这种情况下就会崩溃。
Windows系统,Unix系统,路由器,打印机
Latierra
与Land攻击类似,但同时向目标主机的多个端口发送多种类型的Land数据包
同上
Pingof
Death
(1996)
发送一个超长(大于65535个字节)的Ping数据包,旧的TCP/IP协议栈无法处理而崩溃。
Windows系统,Unix系统。
Jolt2
(2000)
发送一些数据包碎片,长度为零。
这些数据包碎片就像一串数据包的第一个。
目标主机会消耗处理器全部能力来重新组装这些数据包碎片
win9X,NT,
2K
40
幻灯片41
Teardrop
Newtear
Bonk
Syndrop
发送重叠的数据包碎片,即在数据包头内碎片的长度被设置成不正确的值,这些数据包碎片重组时无法正确排队,目标主机就会崩溃。
win9X,NT
Linux
Winnuke
向一个windows主机开放文件共享系统端口(TCP端口139)发送格式错误数据。
目标主机使用服务器信息块(SMB)协议无法对其进行格式化,导致系统瘫痪。
系统显示“可怕的蓝屏”
41
幻灯片42
SYNFLOOD攻击原理
●协议设计缺陷:
●操作系统的TCP/IP协议栈的请求建立TCP连接的队列长度是有限的。
当队列排满时,后面的连接请求就被拒绝。
在TCP连接的三次握手中,服务器在发出SYN+ACK应答报文后如果没有收到客户端的ACK报文的(三次握手无法完成)。
这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYNTimeout,一般来说这个时间大约为30秒-2分钟);
42
幻灯片43
Synflood攻击过程
●Step1:
攻击程序向被攻击服务器发送大量带有虚假源地址(未被使用的)的TCPSYN包,请求建立TCP连接。
●Step2:
当服务器收到这些数据包时,向虚假源地址发送一个SYN/ACK的响应数据包,由于源地址是不存在的地址,因此,