20169305 2016-2017-2《网络攻防与实践》第九周学习总结
nmap的使用与分析
一、知识汇总
(引源:http://jingyan.baidu.com/article/47a29f24312010c0142399f1.html)
简介:Nmap是一款网络扫描和主机检测的非常有用的工具。Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作系统。
Nmap是一款非常强大的实用工具,可用于:检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本)Nmap是一个非常普遍的工具,它有命令行界面和图形用户界面。
1、TcpSYN扫描
TcpSYN扫描这是一个基本的扫描方式,它被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息。Nmap发送SYN包到远程主机,但是它不会产生任何会话。因此不会在目标主机上产生任何日志记录,因为没有形成会话。这个就是SYN扫描的优势,如果Nmap命令中没有指出扫描类型,默认的就是TcpSYN。但是它需要root/administrator权限。
2、UDP端口扫描
UDP端口扫描顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口。它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的。
二、实践
1、对Windows靶机(IP:192.168.29.160)的nmap扫描(包括TCP、UDP和版本的扫描)
从图一和图二的输出信息中,可以看到Windows 靶机(192.168.29.160)上开启的TCP端口有135、139、445、1025、5000,开放的UDP端口有123、135、137、138等及这些端口所对应的服务。靶机的MAC地址为00:0C:29:E3:C0:C5。还可以看到Host is up,扫描TCP和UDP分别用时13.33s和14.47s。在图三中可以看到Windows靶机的版本信息。
2、对Linux靶机(IP:192.168.29.120)的nmap扫描(包括TCP、UDP和版本的扫描)
从图一的输出信息中,可以看到Linux靶机(192.168.29.120)上开启的TCP端口有21、22、23、25、80等及这些端口所对应的服务。靶机的MAC地址为00:0C:29:71:0A:35。还可以看到Host is up,扫描TCP用时0.26s。在图二中可以看到Linux靶机的版本信息。
3、对SEED靶机(IP:192.168.29.121)的nmap扫描(包括TCP、UDP和版本的扫描)
从图一的输出信息中,可以看到SEED靶机(192.168.29.121)上开启的TCP端口有22及这些端口所对应的服务。靶机的MAC地址为00:0C:29:B8:34:52。还可以看到Host is up,扫描TCP用时0.26s。在图二中可以看到SEDD靶机的版本信息。
4、开放的网络服务
从以上输出信息可以看到,不同靶机开放的网络服务不同。
实验中遇到的问题和解决过程
在扫描Linux和SEED靶机的过程中,对UDP端口的扫描总是出现如下问题(待解决):
总是处于停滞状态,个人感觉是没有开放的UDP端口,然后指定两个端口(53和51)进行扫描,之所以后面加上-Pn那是因为 -Pn参数是绕过ping进行扫描,如果有些服务器是放在防火墙下面的禁PING的,就有可能会被跳过。所以用-Pn来强制性地扫描
通过对这两个端口的指定扫描发现这两个端口是closed,虽然不能说明其他的UDP端口是否是open状态,也不具有一般性,还在寻找其他的解决方法。
教材学习总结
第九章 恶意代码安全攻防
1、基础知识
恶意代码是指使计算机按照攻击者的意图执行以达到恶意目标的指令集。类型包括:计算机病毒、蠕虫、恶意移动代码、后门、特洛伊木马、僵尸程序、内核套件、融合型恶意代码。
计算机病毒的基本特性:感染性、潜伏性、可触发性、破坏性、衍生性
僵尸网络命令与控制机制包括:
(1)基于IRC协议的命令与控制机制
(2)基于HTTP协议的命令与控制机制
(3)基于P2P协议的命令与控制机制
2、恶意代码分析方法
恶意代码的静态分析技术:反病毒软件扫描、文件格式识别、字符串提取分析、二进制结构分析、反汇编、反编译、代码结构与逻辑分析、加壳识别与代码脱壳。
恶意代码的动态分析技术:快照对比、系统动态行为监控、网络协议栈监控、沙箱、动态调试。
第十章 软件安全攻防——缓冲区溢出和shellcode
1、软件安全概述
美国国家标准技术研究院NIST将安全漏洞定义为:在系统安全流程、设计、实现或内部控制中所存在的缺陷和弱点,能够被攻击者所利用并导致安全侵害或对系统安全策略的违反,包括三个基本元素:系统的脆弱性或缺点、攻击者对缺陷的可访问性以及攻击者对缺陷的可利用性。
困境三要素:复杂性、可扩展性和连通性。
2、Linux平台上的栈溢出与shellcode
Linux的平台攻击技术:NSR、RNS和RS模式。
3、缓冲区溢出攻击的防御技术
尝试杜绝溢出的防御技术
允许溢出但不让程序改变执行流程的防御技术
无法让攻击代码执行的防御技术
视频学习内容
Magictree的使用(引源:http://blog.csdn.net/jeanphorn/article/details/44886247)
- 启动Magicree 直接在命令行下输入magictree即可:
2.添加节点
使用Ctrl+N快捷键,弹出一个Input对话框,输入IP地址。这将使用两个额外的节点来填充树,一个用于testdata,另一个为主机host。
学习进度条
学习目标(本学期)
1、本学期学习计划
完成网络攻防课程的学习,动手实践相关内容
2、本周完成内容
课本第九、十章内容的学习,学习了视频36-38的内容
参考资料
《网络攻防技术与实践》
《计算机网络(第六版)》