教材学习内容总结
-
网络嗅探技术
利用计算机网络接口截获目的地为其他计算机的数据报文,监听网络流中所包含的用户账户密码或私密信息等 -
网络嗅探器(Sniffer)
实现嗅探的软件或硬件设备
嗅探获得数据→二进制格式数据报文
解析和理解二进制数据,获取各层协议字段和应用层传输数据→网络协议分析 -
网络嗅探的危害与作用
攻击者:内网渗透技术
窃取机密信息
为发起进一步攻击收集信息
防御者
管理员可以用来监听网络的流量情况,定位网络故障
为网络入侵检测系统提供底层数据来源基础
其他作用
开发网络应用的程序员可以监视程序的网络情况 -
以太网工作原理
载波侦听/冲突检测(CSMA/CD: 802.3, carrier sense multiple access with collision detection)技术
载波侦听:是指在网络中的每个站点都具有同等的权利,在传输自己的数据时,首先监听信道是否空闲
如果空闲,就传输自己的数据;如果信道被占用,就等待信道空闲
而冲突检测则是为了防止发生两个站点同时监测到网络没有被使用时而产生冲突
以太网的CSMA/CD技术,采用广播机制,所有在同一媒介信道上连接的工作站都可以看到网络上传递的数据 -
以太网工作模式
网卡的MAC地址(48位)
通过ARP来解析MAC与IP地址的转换
用ipconfig/ifconfig可以查看MAC地址
正常情况下,网卡应该只接收MAC地址与自己相匹配的数据帧这样的包和广播包 -
网卡完成收发数据包的工作,两种接收模式
混杂模式:不管数据帧中的目的地址是否与自己的地址匹配,都接收下来
正常模式:只会接受目标MAC地址与网卡自身MAC地址相匹配的数据帧或者目标MAC地址为广播地址的广播帧 -
为了嗅探以太网上的流量,就需要将网卡设置为混杂模式
-
根据以太网在实际部署局域网方式的不同,分为共享式网络和交换式网络两种。
- 共享式网络
通过Hub(集线器)连接
总线方式: 通过网络的所有数据包发往每一个主机
能够嗅探整个Hub上全部网络流量 - 交换式网络
通过Switch(交换机)连接
由交换机构造一个“MAC地址-端口”映射表
发送包的时候,只发到特定端口上,只能监听同一端口上流量,可通过流量映像口监听(SPAN)
- 共享式网络
-
交换式网络的嗅探攻击:MAC地址洪泛攻击;MAC欺骗;ARP欺骗
-
类Unix平台提供了标准的API支持:内核态: BPF(Berkeley Packet Filter);用户态函数库:libpcap;用户态嗅探程序:tcpdump等
-
Windows平台通过驱动程序来抓取数据包:驱动程序: NPF(NetGroupPacket Filter);用户态函数库:winpcap;用户态嗅探程序:windump等
-
WinPcap主要包括packet.dll和Wpcap.dll两个模块
其中packet.dll直接映射了内核的调用;Wpcap.dll提供了更加友好、功能更加强大的函数调用 -
网络嗅探软件
- 类Unix平台网络嗅探器软件
Libpcap抓包开发函数库;Tcpdump以及wireshark嗅探器软件;Snort、dsniff、sniffit和linux_sniffer - Windows平台网络嗅探器软件
NPF/winpcap/windump;SnifferPro;Buttsniffer、NetMon、Network Associates Sniffer
- 类Unix平台网络嗅探器软件
-
网络嗅探技术的防范措施
采用安全的网络拓扑
共享式以太网→交换式以太网拓扑
静态ARP或者MAC-端口映射表代替动态机制
重视网络数据传输的集中位置点的安全防范
避免使用明文传输口令/敏感信息网络协议, 使用加密协议 -
网络报文分析工具
集成工具: Wireshark
网络流重组: nstreams, snort
高层统计和摘要分析: Netflow, RRDTools
教材实践
-
在互联网上搜索自己的足迹
- 用
filetype:xls 身份证号 site:edu.cn
查看自己的身份证号是否忧隐私泄露的问题
- 搜索了自己的QQ号以及以前用过的手机号都不曾发现有意义的信息泄露
- 用
-
用nmap扫描特定靶机
选择一个Metasploitable2-Linux为此处练习的靶机,通过ifconfig
命令得到靶机的IP为192.168.200.7
使用nmap -v -sS 192.168.200.7
命令对主机端口进行扫描
使用nmap -v -O 192.168.200.7
命令,-O选项可以同时使用各类探查技术,并结合协议栈指纹特征库对目标主机操作系统做出简明准确的判断
使用nmap -v -sV 192.168.200.7
命令,-sV 参数用来扫描主机和端口上运行的软件的版本
-
使用Nessus扫描特定靶机
-
tcpdump
关于tcpdump的用法,这里有详细的介绍- 1.在命令行在使用命令
tcpdump -n src 192.168.200.6 and tcp port 80 and "tcp[13] & 18 == 2"
该命令表示捕获所有由主机发出的,SYN位置1,ACK位置0,发往80端口的数据包
- 2.同时在浏览器打开www.tianya.cn开始捕获信息
- 3.捕获结果如图
- 1.在命令行在使用命令
-
wireshark
- 主界面
- 动手实践
- 用Telnet进入BBS服务器
open www.bdwm.net
- 捕获(主机IP是172.16.49.151)
捕获到guest登录信息
- 用Telnet进入BBS服务器
- 主界面
-
攻防对抗试验
- 1.攻击机为kali,IP为192.168.200.7,靶机也是kali操作系统,IP为172.16.49.139
- 攻击机攻击命令
- 防守方用tcpdump嗅探
用wireshark分析文件
- 攻击机攻击命令
- 2.攻击机kali,IP为192.16.49.129,监听是kaili-Linux64,靶机为Metasploitable2-Linux,IP为172.16.49.100
监听后使用wireshar分析监听结果
从图中可以看出,是172.16.49.129进行广播,然后在红条出可以看出172.16.49.100进行了应答
推断攻击机使用的是TCP SYN扫描,而且扫描了多个端口
- 1.攻击机为kali,IP为192.168.200.7,靶机也是kali操作系统,IP为172.16.49.139
教材学习中遇到的问题及解决办法
- 主要是比如wireshark工具虽然学会了使用,但是对捕获到的信息不能很清楚的分析
- 要找相关资料进行进一步的学习
视频学习内容总结
openvas的使用
- 首先查看靶机是否能ping通
- 通过https://local:9392访问openvas的web界面
- 使用之前创建好的用户名和密码进行登录
- 登陆后用
congiguration
中的targets
添加扫描对象,创建后的扫描对象信息如图
- 新建扫描任务,创建后的任务信息如图所示
- 扫描后的结果如图
可以看详细的问题
kali漏洞扫描之其他的扫描工具
包括web扫描器Golismero与Nikto,以及系统信息扫描收集工具Lynis与unix-privesc-check
-
Golismero
是一款开源的Web扫描器,自带不少的安全测试工具,而且可以导入例如Openvas、Wfuzz、SQLMap、DNS recon等并自动分析
采用插件式的框架结构,纯python编写,并集成了很多开源的安全工具,没有系统依赖性
提供一系列接口,用户可自定义自己的插件
根据插件的功能可以分为四类:InportPlugin(导入插件)、TestingPlugin(测试插件)、ReportPlugin(报表插件)、UIPlugin(界面插件)
golismero scan http://192.168.200.7
,过程中调用第三方软件进行扫描,过程相对杂乱 -
漏洞扫描器Nikto.pl
开源的网页服务器扫描器,包含超过3300种有潜在危险的文件CGIs,超过625种服务器版本,超过230种特定服务器问题
使用nikto -h 192.168.200.7
命令进行扫描,目标是Web基本配置信息,服务器,PHP解析器等版本信息,扫描过程图如下
使用nikto.pl -h 192.168.200.7 -p 80.88.443
命令对多个端口进行扫描
更新插件和数据库用nikto.pl -h 192.168.200.7 -update
(可能需要FQ) -
Lynis 系统信息收集整理工具
对Linux操作系统详细配置等信息进行枚举收集,生成易懂的报告文件
使用命令lynis --check-setup -Q
进行扫描,-Q选项是避免交互的
-
unix-privesc-check
有两种模式:detailed
和standard
是一个脚本,运行在unix上
unix-privesc-check standard
查看标准模式下的运行状态(图中并未给出全部扫描结果)
Kali漏洞分析之WEB爬行
kali下面集成的工具有apache-users、burpsuite、cutycapt、dirb、dirbuster、vega、webscarab、webslayer
-
apache-users的使用方法(-p 端口号,-s是否支持SSL协议,0表示没有,-e 403制定返回的状态码,-t 10指定线程数)
apache-users -h 192.168.200.6 -l /usr/share/wordlists/dirbuster/apache-user-enum-2.0.txt -p 80 -s 0 -e 403 -t 10
-
cutycapt(网站截图工具)
使用方法cutycapt --url=http://www.baidu.com/ --out=baidu.png
截图保存在当前目录下
-
DIRB(强大的目录扫描工具)
使用方法见下图
-
Dirbuster(kali下的图形化目录扫描器,直观)
使用dirbuster
命令就可打开,扫描结果如图2
-
Vega(扫描漏洞)
-
WebSlayer(Web爆破攻击工具)
漏洞分析之WEB漏洞扫描
-
Cadaver(用来浏览和修改WebDAV共享的Unix命令行程序)
是自由软件,http://www.webdav.org/cadaver/
可以以压缩方式上传和下载文件,也会检验属性、拷贝、移动、锁定和解锁文件
用cadaver --help
查看帮助
用cadaver http://192.168.200.7/dav/
进入,通过get
或者put
可以下载和上传文件;在网页上输入http://192.168.200.7/dav/
就可以从客户端看结果 -
DAVTest
使用方法是davtest -url [存在漏洞的网站地址]
(下图用的是靶机)
可以看到kali扫描上传了存在漏洞的文件,之后靶机/var/www/dav/目录下新增了文件夹(红色标注部分),文件夹中的文件也和kali这边上传的文件一样
-
Deblaze(针对Flash远程调用等的枚举)
-
FImap(文件包含漏洞利用工具)
这里是具体介绍 -
Grabber
是一个WEB应用漏洞编辑器,可以指定扫描漏洞类型结合爬虫对网站进行安全扫描 -
Joom Scanner(针对特定CMS)
-
SkipFish
Google出的一款自动化的网络安全扫描工具
通过HTTP协议处理且占用较低的CPU资源,运行速度快,每秒可以轻松处理2000个请求
扫描方式```skipfish -o [输出目录] [扫描网址]``,其中-o参数是output的意思
扫描后文件存在命令中给出的目录中
打开index.html后看到扫描结果
-
uniscan-gui
-
W3AF
是一个Web应用程序攻击和检查框架,该项目已超过130个框架,包括检查网站爬虫,SQL注入(SQL Injection),跨站(XSS),本地文件包含(LFI),远程文件包含(RFI)等
该项目的目标是要建立一个框架,以寻找和开发Web应用安全漏洞
命令行下w3af_gui
即可打开 -
wapiti
实现了内置的匹配算法,由python开发,支持多种格式的安全测试验证报告
使用方法python wapiti.py http://www.xxxx.com -v 2
在kali下wapiti http://www.xxxx.com -v 2
-
webshag(集成调用框架)
调用Nmap,UScan,信息收集,爬虫等功能 -
WebSploit
是一个开源项目,主要用于远程扫描和分析系统漏洞
视频中遇到的问题及解决办法
- 首先是openvas的安装问题
上图中所遇到的问题是需要手动完成的
输入命令service openvas-scanner start
、service openvas-manager
最后一个问题是需要/etc/init.d/greenbone-security-assistant
来解决
完成之后,再次使用openvas-check-setup
命令后,看到如下图所示就大功告成了
学期目标
- 入门网络攻防,能走下来流程,最终能攻破防御较差的目标机
学习进度条
教材学习 | 视频学习 | 博客量(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 12章 | 20篇 | ||
第一周 | 《Linux基础入门》 | 1/1 | 练习Linux命令,在码云上面创建项目,学习使用博客园写博客并用Markdown编辑器规范格式 | |
第二周 | 第一二章 | 5个kali视频 | 2/3 | 初识网络攻防,了解基本知识 |
第三周 | 第三章 | 5个kali视频 | 1/4 | 学习了kali linux下信息收集阶段的探测工具 |
第四周 | 第四章 | 5个kali视频 | 1/5 | 学习了kali linux下漏洞分析的各种工具,wireshark的使用,学习了网络嗅探与协议分析 |
参考资料
- 《网络攻防技术与实践》 诸葛建伟