第1节 教材学习内容总结
本周学习了教材第四章的内容。教材第三章讲了“网络嗅探与协议分析”,并介绍了几种工具和实践作业。
1.网络嗅探
本节介绍了网络嗅探技术定义、分类、原理、实现方式、常用软件。
- 网络嗅探技术 sniff
是一种黑客窃听技术,截获数据报文(经过封包处理之后的二进制数据),结合网络协议分析技术。实现工具为网络嗅探器(sniffer)。
特点:被动性、非干扰性、隐蔽性。是一把双刃剑。
- 技术与工具分类
按照所监听的链路层网络进行分类:
以太网——有线局域网流行的链路层协议
,wifi——无线局域网流行的链路层协议
,二者是主要监听对象。分为:无线嗅探器、有线嗅探器。二者联系:在对数据包实际进行破解和分析时一样,但无线嗅探器可以读取和分析符合无线传输协议的数据包。
或按照实现方式分为:软件嗅探器(慢、不全面、便宜)、硬件嗅探器(快、全面、贵)。
- 原理
以太网工作支持一种混杂模式:该模式下的网卡能够接收一切通过它连接共享通信媒介的数据帧,而不管数据帧是否是传给它的。
部署有线局域网时分为共享式网络(集线器连接,拓扑基于总线方式,物理上是广播的)和交换式网络(交换机连接,检查“MAC地址-端口映射表”,只允许匹配成功的数据包通过并发送到特定端口,因此可以有效避免网络广播风暴)
三种攻击方式:MAC地址洪泛攻击、MAC欺骗、ARP欺骗。
实现
类UNIX平台下:内核态的BPF和用户态的libpcap抓包工具库实现。 windows平台下:内核态的NPF和用户态的winpcap。
软件
类UNIX平台:libpcap、tcpdump(命令行模式)、wireshark,其它如snort、dsniff、sniffit、linux_sniffer。 windows平台:wireshark、snifferpro、windump
tcpdump嗅探器:课本给出的使用参考、Linux tcpdump命令详解。
- 检测与防范
检测较为困难:
linux下 同一主机,检查网卡是否运行中混杂模式下;其他主机,基于混杂模式下操作系统和协议栈的不同特性,构造MAC地址有效而IP地址无效的ICMP Echo请求,看是否返回应答包。 windows下 检查一个包MAC地址前八位是否为0xff;响应时间。
防范:
采用安全的网络拓扑,升级为交换式网络,合理分段; 用静态ARP或者MAC-端口映射表代替动态机制; 重视网络数据传输的集中位置点的安全防范,如网关、路由器和交换机等; 避免使用明文传输口令或敏感信息的网络协议,使用加密及安全增强的网络协议。
2.网络协议分析
- 原理:对网络上传输的二进制数据包进行解析,恢复出各层网络协议信息以及传输内容。与解包原理类似但又有不同。本节还介绍了协议分析的典型过程及步骤。
- 技术实现:介绍了tcpdump、wireshark、snort的源码实现方式。
- wireshark使用:介绍了功能、主窗口、过滤语句等。
p137实践见第2节。
第2节 教材学习中的问题和解决过程
p137动手实践——攻防对抗
攻击方kali:192.168.11.68 防守方seed:192.168.11.214 彼此可以ping通 攻击方分别使用nmap -sT/-sS/-sU进行TCP connect()扫描、TCP SYN扫描、UDP端口扫描; 防守方使用sudo tcpdump -i eth6 host 192.168.11.68 -w 1.pcapng/2.pcapng/3.pcapng嗅探 将三个抓包文件拖入wireshark进行分析。
第3节 kali视频(6-10)学习
11.漏洞分析之OpenVAS使用
- 查看metasploitable IP地址:192.168.199.214,可以ping通。
- 访问OpenVAS web管理界面。对界面进行学习。
- 添加扫描目标。configuration——targets,默认目标是本机。点击new target,设置名字、主机名,其他保持默认即可。
- 创建扫描任务。scans——tasks——new task,创建名字、其他可以保持默认(full and fast)——create task。
- 主界面出现一行扫描任务和状态,点击start。点击任务名“scan”查看进度、漏洞。
- 查看漏洞详细信息,可以导出pdf报告文件(scan report)。
- 也可以quickstart一个扫描。
可以参考这篇文章对各个界面模块的介绍:OpenVas 漏洞扫描器使用教程
12.漏洞分析之扫描工具
除了OpenVAS,kali下还有web漏洞扫描器golismero、nikto以及系统信息扫描收集工具lynis、unix-privesc-check。
- golismero
自带测试工具,也可以导入其他扫描工具的结果,由python编写,也没有系统依赖性。
有四类插件:
终端输入golismero --help,查看帮助信息 输入golismero plugins查看插件。 扫描测试golismero scan http://xxx.xxx.xxx.xxx(靶机)
但信息过于杂乱,报告不够规范。
nikto.pl
nikto -h 靶机ip 对多个端口进行扫描命令:Perl nikto.pl -h ip -p port1,port2,port3(如80,88,443) 更新插件和数据库:Perl nikto.pl -update/nikto -h ip -update(此命令需要FQ)
扫描速度快且规范。
- lynis
用于对linux操作系统详细配置等信息进行枚举收集。
lynis --check-all,enter继续 实际用lynis --check-all -Q避免交互。
unix-privesc-check
unix-privesc-check standard 查看linux基本配置、安全相关信息。
13.漏洞分析之WEB爬行
针对WEB网站的扫描,需要对网站路径&页面&账户进行枚举/爆破。
首先,查看kali下的字典存放路径/home/usr/share/wordlists,或输入
cd /usr/share/wordlists/
,ls
,ls -la
。
apache users
查看apache有哪些账户:
apache-users -h ip(靶机地址) -l /usr/share/dirbuster/wordlists/appache-user-enum-2.0.txt(用户名字典) -p 80(指定一个端口号) -s 0(0表示没有ssl支持) -e 403(指定一个返回状态码) -t 10(指定10个线程)
cutycapt:网站截图工具
CutyCapt --url=http://www.example.org/ --out=localfile.png(生成一个图片名为localfile.png)
DIRB:强大的目录扫描工具
dirb http://172.xxx.xxx.xxx/
扫描地址、字典文件、判断根目录文件、进入子目录里进行深度扫描。还有其他使用example,可以终端直接输入dirb查看。
dirbuster
终端输入dirbuster,输入目标地址http://xxx.xxx.xxx.xxx,设置字典、线程(视频选择了directory-list-2.3-small.txt),点击start运行。
窗口标签页:扫描目录信息、速度、结果等。
- VEGA
scan——start new scan——输入目标地址——finish开始扫描。详细了解可以参考这篇博客 Kali Linux Web 渗透测试秘籍 第五章 自动化扫描。
- webslayer
14.漏洞分析之WEB漏洞扫描(一)
- Cadaver
Cadaver是一个用来浏览和修改WebDAV共享的Unix命令行程序,就像Subversion客户端,它使用了neon的HTTP库。
使用cadaver就像使用命令行的FTP程序,因此它很适合基本的WebDAV调试。它可以以压缩方式上传和下载文件,也会检验属性、拷贝、移动、锁定和解锁文件。
cadaver http://xxx.xxx.xxx.xxx/dav/——help——输入这些命令看能否正确执行。
- davtest
测试对支持webdav的服务器上传文件等。
davtest -url http://xxx.xxx.xxx.xxx/dav/,查看创建了哪些目录,上传了哪些文件。 metasploitable下)/var/www/dav$ 目录 ls -la
fimap
fimap -u 网址 --force-run 查看url、漏洞信息、配置、路径、系统、apache日志等。
15.漏洞分析之WEB漏洞扫描(二)
- JoomlaScanner
类似于Wpscan的扫描器,针对特定CMS。
- SkipFish
SkipFish是由google出品的一款自动化的网络安全扫描工具,它与Nikto和Nessus等其他开源扫描工具具有相似的功能,但SkipFish是通过HTTP协议处理且占用较低的CPU资源,因此运行速度比较快,每秒钟可以轻松处理2000个请求。
skipfish -o(output生成文件) 目录(如~/report123) 扫描网址(http://www.baidu.com/) ctrl+c结束,生成一个报告index.html。
- Uniscan-gui
是一个有图形界面的扫描工具。勾选扫描options——输入url——start即可扫描。
- W3AF
w3af是一个Web应用程序攻击和检查框架,该项目已超过130个插件,其中包括检查网站爬虫,SQL注入,跨站(XSS),本地文件包含(LFI),远程文件包含(RFI)等。该项目的目标是要建立一个框架,以寻找和开发web应用安全漏洞,所以很容易使用和扩展。
命令行下输入 w3af_gui即可打开,有图形界面。输入target——start。
- Wapiti
Wapiti的工作方式与nikto类似,也采用黑盒的方式主动的对被测web应用进行扫描,寻找其中潜在的安全缺陷,但不像nikto提供测试用例库,而是实现了内置的匹配算法。wapiti是由python语言开发的。
终端wapiti打开 输入wapiti.py http://www.xxx.com -v 2
- webshag:集成调用框架
调用Nmap,UScan,信息收集,爬虫(spider)等功能,使扫描过程更易。图形化界面,直接输入
target——确定
。
- WebSploit
WebSploit是一个开源项目,主要用于远程扫描和分析系统漏洞。