360 likes | 608 Views
第1章 网络安全基础. 指导教师 : 杨建国. 2013年8月10日. 第1章 网络安全基础. 1 .1 网络安全概述 1 .2 网络黑客 1 .3 网络基础 1 .4 网络攻防概述. OSI参考模型 TCP/IP参考模型 TCP/IP各层安全 网络协议 网络服务 网络命令 攻防编程 网络渗透. 1 . 3 网络基础. 一. OSI ( Open Systems Interconnection ) 参考模型. 2.OSI 各层功能 :. 互连设备所在 OSI 七层模型的位置及其用途 :. TCP/IP. OSI. 7. 应用. 应用.
E N D
第1章 网络安全基础 指导教师:杨建国 2013年8月10日
第1章 网络安全基础 • 1.1 网络安全概述 • 1.2 网络黑客 • 1.3 网络基础 • 1.4 网络攻防概述
OSI参考模型 TCP/IP参考模型 TCP/IP各层安全 网络协议 网络服务 网络命令 攻防编程 网络渗透 1.3网络基础
TCP/IP OSI 7 应用 应用 在模型中 不存在 表示 6 会话 5 传输 4 传输 网际 3 网络 网络接口 数据链路 2 物理 1 二.TCP/IP参考模型 • OSI模型与TCP/IP模型比较:
应用层 Telnet FTP SMTP 其它 传输层 TCP UDP 网际层 IP(ICMP、ARP、RARP) LANs Internet 无线分组网 网络接口层 • IP 、 TCP和UDP的关系如图所示: • TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、 SMTP、TELNET、FTP、ARP、TFTP等许多协议
0 D类地址 11110 110 10 网络标识 网络标识 保留将来使用 主机标识 主机标识 C类地址 E类地址 B类地址 7 15 23 31 1110 多投点地址 0 网络标识 主机标识 A类地址 128.0.0.0~191.255.255.255 240.0.0.0~247.255.255.255 192.0.0.0~223.255.255.255 224.0.0.0~239.255.255.255 1.0.0.0~127.255.255.255 • IP地址的五种形式:
2.端口地址: • 它是应用层与传输层之间的接口 • 分为:固定端口号0-1024、随机的端口号(如1433) • 端口地址即TCP或UDP地址
3.物理地址: • 网卡地址、以太网地址、MAC地址、适配器地址 • 它是一个48位地址、采用16进制编码: 08-00-5A-21-A7-22 • 分成了6个字节,前3个字节是IEEE分配给硬件厂商的,后3个字节是厂商赋予自己生产的网卡 • 它在世界内是唯一的 如何绑定IP地址
4.用户名: • 计算机名:WINS服务器 • 邮件地址:邮件服务器 • 网址:DNS服务器、WEB服务器 • FTP地址:FTP服务器 • IP地址:DHCP服务器
5.子网掩码: • 它是一个32位地址 • 用于屏蔽IP地址的一部分以区别网络标识(全“1”表示)和主机标识(全“0”表示),并说明IP地址是在局域网上,还是在远程网上 • 如:255.0.0.0、255.255.0.0、255.255.255.0
6.网关地址: • 网关不能完全归为一种网络硬件,它是能够连接不同网络的软件和硬件的结合产品 • 因特网网关:允许并管理局域网和因特网间的接入 • 局域网网关:运行不同协议或运行于OSI模型不同层上的局域网网段间可以相互通信
7.NAT(Network Address Translator): • 网络地址转换:是一种将私有地址转化为公网地址的转换技术。一个主机可以配置一个私有地址,它只要在一定的范围内唯一即可 • NAT不仅解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机
8.子网: • 【问题】:假设某一单位有4个物理网络,但是它只申请了一个B类地址142.10.0.0,怎么办? • 子网:将一个大的网络划分成几个较小的网络,而每一个网络都有其自己的子网地址。A类、B类与C类IP地址都可以划分子网
9.VLSM(Variable Length Subnet Mask): • 【问题】:某个单位有5个物理网络,但是申请了一个C类地址,这5个物理网络连接的主机数分别是60、60、60、30、30,怎么办? • 变长子网掩码:不同子网使用的子网掩码长度是不同的
10.超网(supernetting): • 【问题】:一个单位申请了4个C类地址,想组成一个子网,怎么办? • 超网:将一个组织所属的几个C类网络合并成 为一个更大地址范围的逻辑网络
11.无类地址: • 斜线记法:A.B.C.D/n • 有类地址只是无类地址的一个特例,如255.0.0.0/8 • 无类地址也可以划分子网,但没必要构成超网 • 无分类域间路由选择CIDR(Classless Inter-Domain Routing)就是为了解决无类地址域间路由问题的
ARP 域名 IP地址 物理地址 DNS RARPBOOTP 12.域名、IP地址和物理地址的之间的协议: • 域名系统: • DNS:是Internet 上主机名称的管理系统,主要用途是把主机名和电子邮件地址映射为IP 地址 • 上海DNS服务器:202.96.209.5 202.96.209.133 • 顶层域分为:通用域、国家域和地区域
13.IPv6地址: • IPv6地址长度是128位,包括16个字节: 2001:da8:8007:44a:226:18ff:fe25:6720 • IPv6地址有3种格式: • 冒号16进制形式: 2001:da8:8007:208:0:0:0:171 • 压缩形式: 2001:da8:8007:208::171 • 混合形式: fe80::5efe:192.168.0.8 • 注意:fe80::5efe:192.168.0.8%2,百分号2,表示接口2上的IP地址
15.无线网络的比较 用户 数据率 1 Gb/s 100 Mb/s 10 Mb/s 1 Mb/s 100 kb/s 10 kb/s 4G 移动通信 802.15.3 超宽带 Wi-Fi WiMAX 802.11g, a 802.16 802.11b 3G 移动通信 802.15.1 蓝牙 802.15.4 ZigBee 2G 移动通信 覆盖范围 PAN LAN MAN WAN
16.虚拟网络VLAN的概念: • 虚拟网络建立在局域网交换机之上 • 以软件方式实现对逻辑工作组的划分与管理 • 逻辑工作组的结点组成不受物理位置的限制 • 一个逻辑工作组的结点可以分布在不同的物理网段上,但它们之间的通信就像在同一个物理网段上一样
17.VPN(Virtual Private Network)虚拟专用网络 • 它可以通过特殊的加密的通讯协议在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路 • VPN的核心就是在利用公共网络建立虚拟私有网
18.网络命令 (1)PING (2)IPCONFIG (3)TRACERT (4)ROUTE (5)NETSTAT (6)ARP (7)HOSTNAME (8)NBTSTAT (9)NET (10)AT (11)FINGER (12)FTP (13)GETMAC (14)IPC$ (15)RCP (16)TELNET (17)NSLOOKUP
19.网络渗透(渗透测试) • 渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制,换一 • 句话来说,就是证明一下之前所做过的措施是可以实现的,然后再寻找一些原来没有发现过的问题,这个就是渗透测试。但是到目前为止,渗透测试还没有一个完整的定义 • 渗透测试的意义:许多时候,无论是网站还是系统的开发者,在开发过程中乃至结束都很难会注意到所开发的应用的安全问题,这样就造成了大量的存在瑕疵的应用暴露于外部网络之上,直接就触生了信息安全的产生,也就有了我们下面要做的渗透测试;渗透测试在于发现问题、解决问题。经过专业人员渗透测试加固后的系统也会随之变得更加坚固、稳定、安全
信息收集 目标 脚本层分析 系统层分析 应用层分析 渗透测试过程解析 通过各种方式获取所需要的信息。信息收集是信息得以利用的第一步,也是关键的一步。信息收集工作的好坏,直接关系到整个渗透测试工作的质量。 对web运行脚本进行常规漏洞测试(asp,jsp,php...)比如有sqlinjection,跨站,xss,命令注射等 对支持脚本运行应用平台进行安全测试,一些常见的网站支持应用平台有 (iis,apache,tomcat..)常见的网站平台漏洞有:溢出,远程代码执行,人为漏洞等。 对支持应用平台系统的底层系统进行反汇编分析,常见的漏洞有:溢出,远程代码执行, 跨权限运行等
渗透测试的风险 在进行渗透测试之前,需要知道渗透测试本身也暗藏着风险。 首要的风险来自于您给了第三方探究您网络基础架构的权力。您要假设该单位是可以信任的,但如果执行测试的某个人有问题,自然就会存在他私下利用所发现的漏洞的风险。 第二个风险来自于渗透测试人员在测试期间的行动。测试人员所进行的扫描和探测,很可能使您的网络变慢,并会降低您的服务器的响应时间。 此外,某些操作可能导致某个或多个系统的崩溃
谁来进行渗透测试? 渗透测试的结果依赖于进行测试的团队的技术水平。正如有些入侵者能够进入您的系统,而另外一些入侵者却不能一样,一个优良的渗透测试团队才可能找到其他人忽略的漏洞。所以,选择适当的人进行测试至关重要。 最重要的问题是避免使用自己的IT 人员执行渗透测试。这是因为您越熟悉需要测试的系统和所部署的安全措施,在测试过程中就越容易忽视一些问题。这是因为,如果在构建自己的防御时,您忽视了某个漏洞,那么在进行渗透测试时,极有可能再次忽视它。因此,请专业的拥有完全开放思维的第三方渗透测试人员来进行测试是非常必要的。 在选择第三方的渗透测试人员时,您需要考虑:这个渗透测试团队包括哪些人?这些人的经验如何?他们为这家单位工作了多长时间?他们拥有哪些专业资格和认证?他们是否遵循某种方法(如开源安全测试方法)?他们如何进行渗透测试?他们的工作时间有多长?在测试之后,他们会提供哪些报告和建议,其详细程度如何?
制定渗透计划 许多时候,工程师在做渗透测试的之前,都不会注意一些前期的准备工作,认为这个是 没有意义的;其实做什么都是一样,如果前期准备工作做不好的话,后面的事情就会 杂乱无章,我们在做渗透测试也是一样,工作之前,要先看需测试类型,才能做下面的判断,测试工作。 如何制定渗透测试计划? 1.目标简单明确 2.有条理的制定前期方案 3.与对方的接触,交流增加了解 4.实施方案内容 …………..
渗透结果预评估 在对相关系统,应用前期渗透测试结束之前之后,我们先需要对其进行预评估以增加 结果的准确性和减少错误的几率,渗透测试预评估就像是一个结果出来之前的一个二次验证,预评估之后才能更准确的选择方式,发现问题,出现错误的几率才会减小。 预测有机械性与分析性两种类型: 机械性的预测是凭感观的因果关系来预测。这种预测只是简单性的预测,由于角度的不同因而得出答案也不同。分析性的预测是从计划观点、心理观点、统计观点来分析。这应该说是一种综合性的方法,所以驾驭难度也较大,但准确率较高。
常见的渗透测试手法(1) Sqlinjection(sql注射) 1. http://www.xxx.com/news.asp?id=1 对于这样的一个连接,需要测试是否存在sql注射漏洞, 具体的做法为 第一步: http://www.xxx.com/news.asp?id=1 ‘ 爆错,继续下一步 http://www.xxx.com/news.asp?id=1 and 1=1 返回正常; http://www.xxx.com/news.asp?id=1 and 1=2 返回异常,存在sql注射漏洞,下面就可以使用 Select语句查询出网站的管理账号密码,如果存在过滤或者不支持select方式,则可以使用下面一种方式:/**/and/**/ 1=1 正常 1./**/and/**/ 1=2 异常 存在注射(SQLinjection)漏洞 2./**/and/**/ord(mid(version),1,1)>51/* 如果返回正常 则为mysql数据库 3./**/order/**/by/**/10 查找字段大小,后面的数字10不停修改,直到页面返回错误 4.uion select (如果前面查到的字段长度为11) 5.格式为 union select 1,2,3,4,5,6,7,8,9,10,11 /* 6.看看是否为root,是可用laodfile函数进行系统操作,否则继续根据爆出的位置继续爆username password 8.如果执行上面的语句,打开页面上显示的数字为2,4 就应该把2,4内容替换成username password 9.则uion select 1,username,3,password,5,6,7,8,9,10,11 from admin/* 这句话的意思是根据前面爆出的账户密码的位置进行爆内容操作
常见的渗透测试手法(2) Xss(跨站漏洞) 1. http://www.xxx.com/news.asp?id=1 对于这样的一个连接,需要测试是否存在xss跨站漏洞, 具体的做法为 http://www.xxx.com/links/对于这种隐藏域连接,可以先找一下有没有 留言的地方,在留言的地方输入一些javascript或者html测试 对于link.asp?id=xxx 这种连接,可以直接在连接后输入敏感标签测试 File contains(远程文件包含) 如果要测试一个网站是否存在远程文件包含漏洞,则可以寻找”=“这样的连接 比如http://www.xxx.com/link.php?id=1我们可以http://www.xx.com/link.php?id=xx.php 如果出现关键性错误,则可以直接利用别的空间,包含进去一个webshell