第2章 黑客常用的系统攻击方法
黑客原理与防范措施 黑客发展的历史 网络威胁 网络扫描 网络监听 常用黑客技术的原理(木马、缓冲区溢出等) 黑客攻击的防范
黑客发展的历史 Hacker的由来 黑客、骇客(Cracker )
信息安全受到的威胁
攻击复杂度与所需入侵知识关系图
威胁的动机 贪心 - 偷窃或者敲诈 恶作剧 – 无聊的计算机程序员 名声 – 显露出计算机经验与才智,以便证明他们的能力和获得名气 报复/宿怨 – 解雇、受批评或者被降级的雇员,或者其他任何认为其被不公平地对待的人 无知 – 失误和破坏了信息还不知道破坏了什么 黑客道德 - 这是许多构成黑客人物的动机 仇恨 - 国家和民族原因 间谍 -政治和军事目的谍报工作 商业 -商业竞争,商业间谍
黑客守则 1) 不恶意破坏系统 2) 不修改系统文档 3) 不在bbs上谈论入侵事项 4) 不把要侵入的站点告诉不信任的朋友 5) 在post文章时不用真名 6) 入侵时不随意离开用户主机 7) 不入侵政府机关系统 8) 不在电话中谈入侵事项 9) 将笔记保管好 10) 要成功就要实践 11) 不删除或涂改已入侵主机的帐号 12) 不与朋友分享已破解的帐号
黑客入侵攻击的一般过程 1. 确定攻击的目标。 2. 收集被攻击对象的有关信息。 3. 利用适当的工具进行扫描。 1. 确定攻击的目标。 2. 收集被攻击对象的有关信息。 3. 利用适当的工具进行扫描。 4. 建立模拟环境,进行模拟攻击。 5. 实施攻击。 6. 清除痕迹。
口令攻击 通过猜测或获取口令文件等方式获得系统认证口令 从而进入系统 危险口令类型 . 用户名 . 用户名变形 . 生日 . 常用英文单词 . 5为以下长度的口令 暴力破解:举例 NAT
网络安全扫描技术
网络安全扫描技术在网络安全行业中扮演的角色 (1)扫描软件是入侵者分析将被入侵系统的必备工具 (2)扫描软件是系统管理员掌握系统安全状况的必备工具 (3)扫描软件是网络安全工程师修复系统漏洞的主要工具 (4)扫描软件在网络安全的家族中可以说是扮演着医生的角色 1.合法使用:检测自己服务器端口,以便给自己提供更好的服务; 2.非法使用:查找服务器的端口,选取最快的攻击端口
网络安全扫描技术分类 一.一般的端口扫描器 二.功能强大的特殊端口扫描器 三.其他系统敏感信息的扫描器
扫描器原理-预备知识
预备知识-TCP头
预备知识-IP头
常用的扫描软件 X-scan nmap Fluxay ipscan
端口扫描程序Nmap Nmap简介 Nmap支持的四种最基本的扫描方式: (1)Ping扫描(-sP参数)。 (2)TCP connect()端口扫描(-sT参数)。 (3)TCP同步(SYN)端口扫描(-sS参数)。 (4) UDP端口扫描(-sU参数)。
专用扫描器的介绍 (1)CGI Scanner (2)Asp Scanner (3)从各个主要端口取得服务信息的Scanner (6)远程控制系统扫描器
代理猎手
企业级扫描系统 一.优秀网络安全扫描系统的介绍: (1)ISS 公司的Internet Scanner (2)NAI 公司的cybercop Scanner 二.系统(本地)扫描器和远程扫描器
企业级扫描系统要素 (1)速度 (2)对系统的负面影响 (3)能够发现的漏洞数量 (4)清晰性和解决方案的可行性 (5)更新周期 (6)所需软硬件环境要求 (7)界面的直观性和易用性 (8)覆盖范围
网络安全扫描软件的局限性 (1)扫描器难以智能化 ,不能完全代替人工分析 (2)扫描器依赖升级工作,才能确保长期的有效性 (3)使用扫描器,必须考虑到有关法律的规定和限制,不能滥用
总结 (1) 扫描器和其它产品一样,只是一个工具,我们不能完全依赖他的工作,人的因素也是至关重要的。 (2) 扫描器能够发挥的功能取决于人,人的工作是大量的同时是必不可少的。只有人的努力才能够确保扫描器功能的强大。 (3) 扫描器质量的好坏,在于开发公司在安全实践中积累的经验和更新能力。
Sniffer原理 Sniffer,中文可以翻译为嗅探器,也就是我们所说的数据包捕获器。 采用这种技术,我们可以监视网络的状态、数据流动情况以及网络上传输的信息等等。
网卡工作原理 网卡内的单片程序先接收数据头的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,认为该接收就在接收后产生中断信号通知CPU,认为不该接收就丢弃不管。CPU得到中断信号产生中断,操作系统就根据网卡驱动程序中设置的网卡中断程序地址调用驱动程序接收数据,驱动程序接收数据后放入信号堆栈让操作系统处理。
网卡的工作模式 普通方式: 混杂模式(promiscuous):够接收到一切通过它的数据
网络监听原理 嗅探者B FTP 服务器C 普通用户A 以太网(HUB) Login Mail Username: herma009<cr> Password: hiHKK234 <cr> 以太网(HUB) Username: herma009<cr> Password: hiHKK234 <cr> FTP Login Mail 服务器C 普通用户A
网络监听原理 一个sniffer需要作的: 把网卡置于混杂模式。 捕获数据包。 分析数据包
HUB工作原理
HUB工作原理
交换环境下的SNIFF
交换环境下的SNIFF
ARP spoof 嗅探者B IP:10.1.1.3 MAC:20-53-52-43-00-03 Switch的MAC地址表 服务器C router Switch的MAC地址表 switch 服务器C IP:10.1.1.1 MAC: 20-53-52-43-00-01 Username: herma009<cr> Password: hiHKK234 <cr> 普通用户A IP:10.1.1.2 MAC: 20-53-52-43-00-02 FTP
常用的SNIFF (1)windows环境下 :图形界面的SNIFF netxray sniffer pro (2)UNUX环境下 :UNUX环境下的sniff可以说是百花齐放,他们都有一个好处就是发布源代码,当然也都是免费的 。 如sniffit,snoop, tcpdump, dsniff Ettercap(交换环境下)
常用的SNIFF (1).Sniffer Pro (2). Ethereal (3). Net monitor (4). EffTech HTTP Sniffer (5). Iris
如何防止SNIFF 进行合理的网络分段 用SSH加密 Sniffer往往是入侵系统后使用的,用来收集信息,因此防止系统被突破。 防止内部攻击。 AntiSniff 工具用于检测局域网中是否有机器处于混杂模式 (不是免费的)
木马(Trojan horse) 木马是一种基于远程控制的黑客工具 隐蔽性 潜伏性 危害性 非授权性
木马与病毒、远程控制的区别 病毒程序是以自发性的败坏为目的 木马程序是依照黑客的命令来运作,主要目的是偷取文件、机密数据、个人隐私等行为。 隐蔽、非授权性
木马的工作原理 实际就是一个C/S模式的程序(里应外合) 端口 操作系统 TCP/IP协议 TCP/IP协议 操作系统 端口 控制端 被植入木马的PC(server程序) 端口 操作系统 TCP/IP协议 TCP/IP协议 操作系统 端口 端口处于监听状态 被植入木马的PC(client程序) 控制端
木马实施攻击的步骤 1. 配置木马 木马伪装: 信息反馈: 2. 传播木马 3. 启动木马 4. 建立连接 5. 远程控制
木马伪装方法 1.木马文件的隐藏与伪装 (1)文件的位置 (2)文件的属性 (3) 捆绑到其他文件上 (4) 文件的名字: (3) 捆绑到其他文件上 (4) 文件的名字: (5) 文件的的扩展名 (6)文件的图标
发现木马的方法 系统的异常情况 打开文件,没有任何反应 查看打开的端口 检查注册表 查看进程
1. 木马运行中的隐藏与伪装 (1) 在任务栏里隐藏 (2) 在任务管理器里隐藏 (3)隐藏端口
木马启动方式 win.ini system.ini 启动组 注册表 捆绑方式启动 : 伪装在普通文件中 设置在超级连接中
防御 发现木马:检查系统文件、注册表、端口 不要轻易使用来历不明的软件 不熟悉的E-MAIL不打开 常用杀毒软件并及时升级 查在安装新的软件之前,请先备份注册表在安装完软件以后,立即用杀毒软件查杀Windows文件夹和所安装的软件的所在文件夹。如果杀毒软件报告有病毒,这时请将它杀掉,杀毒完成后,重新启动计算机
木马传播方式 主动与被动: 主动种入 通过E-mail 文件下载 浏览网页
流行木马简介 冰 河 back orifice Subseven 网络公牛(Netbull) 网络神偷(Nethief) 广外女生 Netspy(网络精灵)
拒绝服务攻击(DoS) DoS--Denial of Service DoS攻击的事件 : 2000年2月份的Yahoo、亚马逊、CNN被DoS攻击 2002年10月全世界13台DNS服务器同时受到了DDoS(分布式拒绝服务)攻击。 2003年1月25日的“2003蠕虫王”病毒 2004年8月,共同社报道:日本近期共有上百网站遭到黑客袭击。
(DoS): SYN 攻击者 目标主机 SYN/ACK 等待应答 SYN:同步 SYN/ACK:同步/确认 SYN/ACK
拒绝服务攻击(DoS)(控制) . . 目标主机 . . 等待应答SYN/ACK . SYN SYN SYN SYN SYN/ACK 攻击者 SYN/ACK SYN/ACK 1 . . 等待应答SYN/ACK . SYN/ACK SYN/ACK SYN/ACK SYN/ACK n
以windows 为例SYN攻击 花费时间(秒) 累计花费时间(秒) 第一次,失败 3 尝试第1 次,失败 6 9 尝试第2 次,失败 12 21 尝试第3 次,失败 24 45 尝试第4 次,失败 48 93 尝试第5 次,失败 96 189
行行色色的DOS攻击 死亡之ping SYN Flood Land攻击 泪珠(Teardrop)攻击
DDoS攻击时序(分布式拒绝服务) 攻击准备: 1)攻击者攻击诸客户主机以求分析他们的安全水平和脆弱性。 代理程序 安置代理 各种客户主机 目标系统 攻击者 攻击准备: 1)攻击者攻击诸客户主机以求分析他们的安全水平和脆弱性。 2)攻击者进入其已经发现的最弱的客户主机之内(“肉机”),并且秘密地安置一个其可远程控制的代理程序(端口监督程序demon)。
DDoS攻击时序(分布式拒绝服务) 指令 目标系统 发起攻击: 攻击的代理程序 虚假的连接请求 指令 攻击者 目标系统 发起攻击: 3)攻击者使他的全部代理程序同时发送由残缺的数字包构成的连接请求送至目标系统。 4)包括虚假的连接请求在内的大量残缺的数字包攻击目标系统,最终将导致它因通信淤塞而崩溃。
自我传播的电子邮件e-mail病毒 一个病毒被发给许多的客户。只要他们打开并且启动该病毒,... 按指数率增长 一个病毒被发给许多的客户。只要他们打开并且启动该病毒,... ...该病毒将再继续传播,传送它本身到别的客户,诸如此类(病毒感染呈指数增长)。
缓冲区溢出(buffer overflow) 把1升的水注入容量为0.5升的容量中 通过缓冲区溢出进行的攻击占所有系统攻击总数的80%以上。
缓冲区溢出实例 void function(char *str) { char buffer[16]; strcpy(buffer,str); } void main() { char large_string[256]; int i; for( i = 0; i < 255; i++) large_string[i] = 'A'; function(large_string); }
缓冲区溢出原理
什么是缓冲区溢出 缓冲区溢出指的是一种系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。
缓冲区溢出出现情况 缓冲溢出安全问题在下列环境中能出现: * 当直接往缓冲直接读入时 * 当从一个大的缓存拷贝入小的缓存时 * 当将其它进程的输入放入一个字符串缓存