2019/10/2电子科技大学计算机科学与工程学院计算系统与网络安全ComputerSystemandNetworkSecurity2019/10/2第9章网络攻防技术结论网络攻击阶段及相关工具网络安全常识操作系统简介(自学)网络简介2019/10/2第9章网络攻防技术结论网络攻击阶段及相关工具网络安全常识操作系统简介(自学)网络简介2019/10/2开始任何攻击或探测之前,请注意你自己也将暴露在攻击目标或监管系统面前,并请遵守信息安全职业道德!-周世杰2019/10/2网络简介协议分层协议层N+1协议层N协议层N-1协议层N+1协议层N协议层N-1发送方计算机接收方计算机2019/10/2OSI七层模型2019/10/2TCP/IP分层模型ARPRARPTCPUDPIPICMPIGMPSMTPHTTPTELNETDNSSNMP应用层传输层网络层网络接口层2019/10/2TCP/IP网络传输层网络层数据链路层物理层应用层传输层网络层数据链路层物理层应用层网络层数据链路层物理层2019/10/2TCP/IP数据封装2019/10/2TCP/IP进一步讨论传输控制协议TCP用户数据报UDP网际协议IPInternet控制消息协议ICMP传输层网络层2019/10/2TCPTCP源端口(16)TCP目的端口(16)序列号(32)确认号(32)数据偏移(4)保留(6)控制位(6)窗口(16)校验和(16)紧急指针(16)选项(如果有)填充位数据2019/10/2TCP(续)控制字段:每一位代表一种控制功能从左至右为:紧急指针URG、ACK应答域有效、立即发送PSH、复位RST、同步序列号SYN、释放连接FIN2019/10/2TCP(续)校验和包括TCP协议头、数据和一个伪头部伪头部组成源地址目的址00000000协议号TCP数据长度伪头部2019/10/2TCP(续)三次握手带有初始序列号的SYNaACKSYNa,且带有初始序列号的SYNbACKSYNbConnection2019/10/2TCP(续)问题:6位保留位用来作什么?2019/10/2UDPTCP源端口(16)TCP目的端口(16)消息长度(16)数据校验和UDP=UnreliableDamnProtocolUDP=UserDatagramProtocol2019/10/2IP2019/10/2IP(续)IP地址子网掩码路由器交换机集线器网关网闸(NetworkAirGap)2019/10/2IP(续)IP分片3位标志:是否分片2019/10/2IP(续)问题:8位服务类型一般没有使用,我们可以用它来做什么?2019/10/2ICMPICMP是TCP/IP中重要的协议之一ICMP使用与IP相同的首部格式,在首部之后,在IP数据包的数据部分,ICMP加入一个ICMP类型字段,ICMP余下的格式依赖于ICMP类型字段ICMP的类型:响应应答(0)、目的不可到达(3)、源抑制(6)、重定向(5)、响应(8)、超时(11)、参数问题(12)、时间戳(13)、时间戳应答(14)、消息请求(15)、消息应答(16)2019/10/2数据链路层以太网数据帧格式2019/10/2数据链路层(续)以太网地址介质访问控制(MAC)地址(简称MAC地址)是48位地址当数据包要通过LAN发送到另外一个系统时,它必须知道哪个物理节点应该接收数据数据到达以太网后,不能发送到IP地址,而必须发送到物理网卡(NIC)实现IP地址和MAC解析的协议是地址解析协议(ARP)2019/10/2ARP当一个系统有数据需要发送到LAN上时,它发送一个ARP请求ARP被广播到LAN上知道该IP的计算机发送ARP响应收到ARP响应之后,IP地址和MAC地址的映射信息会在本地缓存(ARP地址解析表)ARP地址解析表会周期性的被清空ARP一般不会通过路由器广播2019/10/2第9章网络攻防技术结论网络攻击阶段及相关工具网络安全常识操作系统简介(自学)网络简介2019/10/2网络安全常识潜在的攻击者竞争对手黑客政治家有组织的罪犯恐怖主义者政府雇佣杀手虚伪朋友不满的员工客户供应商厂商商务伙伴契约者、临时雇员和顾问2019/10/2攻击者的水平脚本小孩(ScriptKiddies)普通技能攻击者高级技能攻击者安全专家杰出攻击者2019/10/2两个概念黑客能赋予计算机扩展的能力,使其超越最初设计的人计算机窃贼恶意攻击计算机系统的人2019/10/2建立攻击环境Alice双启动:windows+LinuxEve双启动:windows+LinuxBob双启动:windows+Linux2019/10/2第9章网络攻防技术结论网络攻击阶段及相关工具网络安全常识操作系统简介(自学)网络简介2019/10/2网络攻击阶段及工具攻击的阶段性侦察扫描决绝服务攻击掩盖踪迹和隐藏使用应用程序和操作系统的攻击获得访问权使用网络攻击获得访问权维护访问权2019/10/2网络攻击阶段及工具(续)侦察扫描决绝服务攻击掩盖踪迹和隐藏使用应用程序和操作系统的攻击获得访问权使用网络攻击获得访问权维护访问权2019/10/2侦察侦察是攻击的第一步,这就如同匪徒一般侦察是利用公开的、可利用的信息来调查攻击目标侦察包括以下技术低级技术侦察Web搜索Whois数据库域名系统(DNS)侦察通用的目标侦察工具2019/10/2低级技术侦察社交工程物理闯入垃圾搜寻你能找出垃圾搜寻的例子吗?2019/10/2Web搜索搜索一个组织自己的web站点有电话号码的职员联系信息关于公司文化和语言的信息商务伙伴最近的合并和兼并公司正使用的技术使用搜索引擎搜索论坛BBS(电子公告栏)Usenet(新闻组)2019/10/2Whois数据库搜索什么是whois数据库:包括各种关于Internet地址分配、域名和个人联系方式的数据库研究.com,.net,.org域名研究非.com,.net和.org域名国家代码:教育(.edu):军事代码(.mit):whois.nic.mit政府(.gov):whois.nic.gov2019/10/2Whois数据库搜索(续)搜索目标域名2019/10/2Whois数据库搜索(续)搜索目标IP美国Internet注册局:欧洲网络协调中心:亚太网络协调中心:中国互联网络信息中心:亚太网络信息中心2019/10/2DNS搜索nslookup2019/10/2通用工具SamSpade工具Netscantools基于web的工具.......2019/10/2网络攻击阶段及工具(续)侦察扫描决绝服务攻击掩盖踪迹和隐藏使用应用程序和操作系统的攻击获得访问权使用网络攻击获得访问权维护访问权2019/10/2扫描扫描是在侦察之后,企图发现目标的漏洞扫描需要花费许多时间2019/10/2扫描内容战争拨号网络测绘端口扫描漏洞扫描躲避IDS2019/10/2战争拨号战争拨号是搜寻调制解调器查找电话号码:电话薄、Intenet、whois、web站点、社交工程工具THC-scan2.02019/10/2网络测绘网络测绘是绘制目标的网络拓扑结构发现活跃主机PingTCP或UDP数据包扫描跟踪路由:Traceroute(UNIX)Tracert(Windows)网络测绘工具Cheops:端口扫描端口扫描类型TCP连接扫描:三次握手TCPSYNTCPFINXma:发送TCPURG、PSH等TCP空扫描TCPACKFTP跳跃UDPICMP工具:nmap2019/10/2FTP跳跃支持FTP转发的FTP服务器FTP控制连接2019/10/2扫描的目的发现活跃的主机发现开放的端口确定目标使用的操作系统协议栈指纹(Fingerprint)2019/10/2如何扫描防火墙NMAP扫描目标主机开放端口如何扫描防火墙,确定其开放端口呢?firewall2019/10/2Firewall路由器路由器防火墙TTL=4Port=1,TTL=4Port=2,TTL=4Port=3,TTL=4Port=4,TTL=4超时消息2019/10/2漏洞扫描漏洞扫描寻找以下漏洞一般的配置错误默认的配置缺点知名系统的漏洞漏洞扫描的组成漏洞数据库用户配置工具扫描引擎当前活跃的知识库结果库和报告生成工具漏洞数据库用户配置工具扫描引擎活跃的知识库结果库和报告生成2019/10/2漏洞扫描工具SARA,SANT,Nessus,......2019/10/2NessusNessus以插件形式提供漏洞检查Nessus基于客户/服务器结构客户服务器2019/10/2躲避IDS上述扫描均存在“网络噪音”,易被IDS识别出来如何躲避IDS?IDS如何工作?如何躲避?2019/10/2IDS如何工作IDS2019/10/2如何躲避IDS?弄乱流量改变数据的结构或语法弄乱上下文IDS无法识别完整的会话方法:网络层躲避应用层躲避2019/10/2网络层躲避只使用片断发送片断泛洪以意想不到的方式对数据包分段微小片段攻击片段重叠工具:fragroute2019/10/2Fragrouter2019/10/2应用层躲避躲避IDSCGI:whisker()URL编码/./目录插入过早结束的URL长URL假参数TAB分隔大小写敏感Windows分隔符(‘\’)空方法会话拼接(在网络层分片)2019/10/2网络攻击阶段及工具侦察扫描决绝服务攻击掩盖踪迹和隐藏使用应用程序和操作系统的攻击获得访问权使用网络攻击获得访问权维护访问权2019/10/2使用应用程序和操作系统的攻击获得访问权在获得目标潜在的漏洞之后,攻击者将设法获得对目标系统的访问权脚本小孩的攻击过程:查找漏洞数据库下载工具发送攻击真正的攻击者:自己动手!2019/10/2常用的攻击方法基于堆栈的缓冲区溢出密码猜测网络应用程序攻击2019/10/2基于堆栈的缓冲区溢出攻击什么是堆栈?堆栈是一种数据结构,用来存储计算机上运行进程的重要信息堆栈的操作表现位LIFO:后进先出什么数据存储在堆栈中?存放与函数调用有关的信息2019/10/2进程内存布局内存低端内存高端文本区(包括程序代码和只读数据)(已初始化区)数据区(未初始化区)栈区大小固定对应可执行文件的文本区大小可变对应可执行文件的数据区大小动态变化临时存储区典型操作为push,pop2019/10/2栈内存低端内存高端填充方向栈底是固定地址栈顶指针(栈指针)SP栈帧指针FP:指向栈的固定数据块栈帧:包含函数的参数、局部变量以及恢复前一个栈帧的数据信息(如指令指针的值)2019/10/2栈(续)当发生函数调用时,进程要做的第一件事情是保存以前的栈帧指针(FP),以便以后可以恢复它所指向的栈帧,随后,进程将创建一个新的栈帧,并将SP指针指向该新的的栈帧(该过程称之为过程调用开始procedureprolog)当别