教材学习内容
网络安全CIA属性:机密性(Confidentiality)、完整性(Integ rity)、可用性(Availability)。其他两个补充属性:真实性(Authentication)、不可抵赖性(Non-Repudiation)一可审查性
(Accountability)网络攻击基本模式:截获(嗅探(sniffing)和监听(eavesdropping ))、中断(拒绝服务(Dosing))、篡改(数据包篡改(tampering))、伪造(欺骗(Spoofing))
- 如何防止会话劫持:
- 避免攻击者成为通信双方的中间人
部署交换式网络,用交换机代替集线器
禁用主机上的源路由
采用静态绑定IP-MAC映射表以避免ARP欺
过滤ICMP重定向报文 - TCP会话加密(I Psec协议)
避免了攻击者在得到传输层的端口及序列号等关键信息 - 防火墙配置
限制尽可能少量的外部许可连接的IP地址 - 检测
ACK风暴:AC K包的数量明显增加
- 避免攻击者成为通信双方的中间人
TCP SYN Flood
SYN洪泛攻击
利用TC P三次握手协议的缺陷
大量的伪造源地址的SYN
连接请求
消耗目标主机的连接队列资源
不能够为正常用户提供服务- UDP Flood攻击
- UDP协议
无状态不可靠
仅仅是传输数据报 - UDP Flood
带宽耗尽型拒绝服务攻击
分布式拒绝服务攻击(DDoS)
利用僵尸网络控制大量受控傀儡主机
通常会结合IP源地址欺骗技术
- UDP协议
- 监测、预防与安全加固
- 网络接口层一主要安全威胁是网络嗅探
局域网中的监听点检测
网络设计上尽量细分和优化网络结构
关键路径上的网关、路由器等设备的严格安全防护
各类网络采用上层的加密通信协议 - 互联层
多种检测和过滤技术来发现和阻断网络中欺骗攻击
增强防火墙、路由器和网关设备的安全策略(egress filtering)
关键服务器使用静态绑定IP-MAC映射表、使用IPsec协议加密通讯等预防机制 - 传输层
加密传输和安全控制机制(身份认证,访问控制) - 应用层
加密,用户级身份认证,数字签名技术,授权和访问控制技术以及主机安全技术如审计、入侵检测
- 网络接口层一主要安全威胁是网络嗅探
网络安全是相对的,没有绝对的安全
在网络协议栈的各个层次上实施网络访问控制机制
网络层:包过滤
传输层:电路级代理
应用层:应用层代理/网关
教材实践
网络层攻击:
ARP缓存欺骗
ARP缓存是ARP协议的重要组成部分。当使用ARP协议解析了某个MAC地址和IP地址的映射关系,该映射便会被缓存下来。因此就不用再使用ARP协议来解析已存在缓存中的映射关系。但是因为ARP协议是无身份认证的,所以ARP缓存很容易被恶意的虚假ARP数据报实施欺骗。这样的攻击被称为ARP缓存欺骗(或ARP缓存投毒)。在这样的攻击中,攻击者通过伪造ARP数据报来欺骗被攻击主机的电脑使之缓存错误的MAC地址和IP地址映射。因攻击者的动机不同,攻击的结果也有很多。例如,攻击者可以使被攻击主机的默认网关IP映射到一个不存在的MAC地址达到DoS攻击,攻击者也可以使被攻击主机的通信重定向至其他机器等等。
ICMP重定向攻击
ICMP重定向报文是路由器为网络中的机器提供最新的路由信息以达到最短路由而使用的。当主机收到一个ICMP重定向报文就会根据报文来更新自己的路由表。由于缺乏确认机制,如果攻击者想要使被攻击主机使用特定路由,他们只要向被攻击主机发送欺骗性的ICMP重定向报文,使它改变路由表即可。
传输层攻击
SYN flood攻击
SYN flood攻击是DoS攻击的一种形式,攻击者向被攻击主机的TCP端口大量发送SYN请求包,但不去完成TCP的”三次握手”的过程,例如攻击使用一个假的IP地址,或只是简单地不再继续建立TCP连接的过程,这都使被攻击主机处于”半连接”状态(即在”三次握手”过程中,有了前两次握手,SYN包和SYN-ACK包的传输,但没有最后一次ACK包的确认)。被攻击主机的主机会使用一个队列来保存这种半连接的状态,当这个队列存储空间满了的时候,目标主机便无法再接受任何其它连接。这一队列的空间大小事实上是一个系统变量,在Linux中,可以这样查看它的大小:
sysctl -q net.ipv4.tcp_max syn backlog
。我们还可以使用netstat -na
令去检查队列的使用情况。处于半连接的连接状态被标示为”SYN-RECV",完成了”三次握手”的连接被标示为”STABLISHED".SYN Cookie保护机制:如果攻击看起来并不成功,可以检查一下目标主机的SYNCookie机制是否被开启。SYN cookie是针对SYN flood攻击的一种保护机制。这一机制会在探测到SYN flood攻击时开始生效。可以使用sysctl命令去打开或关闭这一机制:
sysctl -a I grep cookie(查看SYN cookie的当前状态)``````sysctl -w net.ipv4.tcp_ syncookies=0(关闭SYN cookie)``````sysctl -w net.ipv4.tcp_ syncookies=1(打开SYN cookie)
TCP RST攻击
需要实施TCP RST攻击。实验方法:对一个视频流的TCP连接实施攻击。大多数的视频分享网站会通过TCP连接来传输数据,目标是干扰被攻击主机与视频源之间的TCP连接(已经假定攻击机和被攻击主机在同一局域网内)。
访问视频网站并观看视频的过程一般为,被攻击者使用浏览器访问一个视频网站,并选择播放某个视频,大多数情况下视频的完整内容被存放在一个不同的主机上,该主机接下来会与被攻击主机建立起TCP连接,从而使被攻击主机能够接收视频的内容
TCP会话劫持(bonus)
TCP会话劫持的目标是劫持一个已经存在于两台被攻击主机之间的TCP连接,在会话中注入恶意的内容。如果这是一个telnet会话连接,攻击者可以注入一些恶意的命令,使得被攻击主机运行这些恶意的命令。在这个任务中,我们使用telnet作为例子,并且仍然假定攻击机与目标主机在同一个局域网内。关于wireshark的一些提示:如果你使用wireshark进行监听,请注意在默认情况下wireshark显示的TCP连接的序列号(sequence number)是相对序列号(relative sequence),也就是当前序列号减去TCP连接建立之初的起始序列号,要查看真实的”绝对”序列号,右键点击协议内容,在”protocol preference”菜单中去掉”Relative Sequence Number and Window Scaling”这一项前面的勾。
教材学习中遇到的问题及解决办法
ARP欺骗试验中,有台主机ARP有缓存,需要通过
arp -d
进行清除缓存,再使用arp -a
查看时就可以看到ARP缓存已经没有了试验中,机器环境中并没有netrwox软件,并且课本中提供的netwox网页下载页面访问不了
视频学习内容
密码攻击是安全测试中必不可少的一环,在线攻击多为一个服务远程连接并使用用户名与密码破解
kali下对密码攻击做了四个分类:GPU工具集、Passing the Hash、离线攻击、在线攻击
kali密码攻击之在线攻击工具
Cewl
可以通过爬行网站获取关键信息创建一个密码字典CAT(Cisco-Auditing-Tool)
一个很小的安全审计工具,扫描Cisco路由器的一般漏洞:例如默认密码,SNMP community字串和一些老的IOS bugFindmybash
在线哈希破解工具,借助在线破解哈希网站的接口制作的工具,但是不如国内的cmd5强大
我们在知道数字1经过MD5加密后为c4ca4238a0b923820dcc509a6f75849b
,然后可以通过命令findmyhash MD5 -h c4ca4238a0b923820dcc509a6f75849b
,此命令通过连接各个网站,然后找出原本的字符串- Hydra
是一个老牌破解工具,使用参数如下:- 破解FTP服务
hydra -L user.txt -P pass.txt -F ftp://127.0.0.1:21
- 破解SSH服务
hydra -L user.txt -P pass.txt -F ssh://127.0.0.1:22
- 破解SMB服务
hydra -L user.txt -P pass.txt -F smb://127.0.0.1
- 破解MSSQL账户密码
hydra -L user.txt -P pass.txt -F mssql://127.0.0.1:1433
- 破解FTP服务
Medusa
与Hydra工具类似,Medusa -h 192.168.235.96 -u root -P //wordlists/rockyou.txt -M ssh
NCrack
相似的功能基本类似,但是突出了RDP(3389)爆破功能,如使用命令ncrack -vv -U windows.user -P windows.pwd 192.168.1.101:3389,CL=1 -f
Onesixtyone
是一个SNMP(simple network monitoring protocol)扫描工具,用于找设备上的SNMP Community字串,扫描速度非常快Patator
是一款Python编写的多服务破解工具,如枚举一个服务用户名密码pataor ssh_login host=172.0.0.1 user=root password=FILE0 0=pass.txt -x ignore:mesg='Authentication failed.'
phrasen|drescher
多线程支持插件式的密码破解工具THC-PPTP_Bruter
针对PPTP VPN端点(TCP端口1723)的暴力破解程序,支持最新的MSChapV2验证,对Windows和Cisco网关测试通过。用以探测微软的Anti-Brute Force Implementation中存在的一个漏洞,并通过此漏洞,尝试以每秒300个密码进行暴力破解
kali密码攻击之离线攻击
Creddump套件
kali下离线攻击工具中的Cache-dump、lsadump与pwdump均为Creddump套件的一部分,基于Python的哈希抓取工具,项目地址:https://code.google.com/p/creddump/source/checkoutChntpw
用来修改Windows SAM文件实现系统密码修改,亦可在kali作为启动盘时做删除密码的用途,参考例子Dictstat
是一款字典分析工具,可以分析出一个现有字典分布状况,也可按照一定的过滤器提取字典。Fcrackzip
kali下的一款ZIP压缩包密码破解工具Hashcat
Hashcat系列软件是比较强大的密码破解软件,系列软件包括Hashcat(只支持CPU破解)、oclHashcat(支持GPU加速,分AMD和NIVDA版)、oclRausscrack(支持GPU加速)
参数介绍:- Hashid
一款简单易用的哈希分析工具,可以判断哈希或哈希文件是何种哈希算法加密的 HashIdentifyer(与Hashid类似 )
John the ripper
老牌密码破解工具,常用于Linux Shadow中账户的密码破解,社区版也支持MD5-RAW等哈希的破解
此处遇到一些问题,还未解决Johnny
对应于命令行版的John,Johnny将其图形化,更易于使用和操作Ophcrack
彩虹表Windows密码HASH破解工具。命令行版为ophcrack-cliPyrit
是一款无线网络密码破解工具,借助GPU加速,可以让WPA2密码破解更效率
使用analyze检查抓到的包pyrit -r xxx.cap analyze
开始跑包(单纯字典)pyrit -r xxx.cap -i yyy.dic -b ssid attack_passthrough
也可以将PYRIT与CRUNCH结合使用crunch 8 8 1234567890 | pyrit -i - -r /file/hack01-cap -b bssid attack_passthrough
Rcrack
彩虹表密码哈希工具,使用了第一代彩虹表(RT格式),首先,需要有足够容量的彩虹表Rcracki_mt
彩虹表哈希破解工具,不同的是此工具支持最新格式的彩虹表进行哈破解。彩虹表仍然是不可缺少的存在Rsmangler
字典处理工具,可以生成几个字串的所有可能组合形式,在生成社工字典时亦可用到。可以选择关闭某些选项SIPCrack
针对SIP protocol协议数据包的破解工具,支持PCAP数据包与字典破解SUCrack
借助su命令进行本地root账户的密码破解Truecrack
一款针对TrueCrack加密文件的密码破解工具
kaili密码攻击之哈希传递
在Windows系统中,系统通常不会存储用户密码登录,而是存储密码的Hash值。在我们远程登录系统的时候,实际上向远程传输的就是密码的Hash。当攻击者获取了存储在计算机上的用户名和密码的hash值的时候。虽然不知道密码值,但是仍然可以通过直接连接远程主机,通过传送密码的hash值来达到登录的目的
Passing the hash套件
要进行哈希传递攻击,首先我们要有目标主机的哈希信息Keimpx
一款Python编写的哈希传递工具,可以通过已有的哈希信息GET一个后门SHELLMetasploit
模块exploit/windows/smb/psexec亦可完成HASH攻击
kali无线安全分析工具
kali下无线安全分析工具包括RFID与NFC工具、软件定义无线电工具、蓝牙Hack工具与常规无线网络分析工具
RFID与NFC工具
专业的分析硬件如Proxmark3软件定义无线电
蓝牙工具集
- 无线网的分析工具
Cowpatty
一款知名的WPA-PSK握手包密码破解工具EAPMD5PASS
针对EAP-MD5的密码破解工具图形化的Fern WiFi cracker(Python编写)
无线网络分析中,如果使用虚拟机中的kaliLinux,则需要外置无线网卡MDK3
是一款无线DOS攻击测试工具,能够发起BeaconFlood、AuthenticationDoS、Deauthentication/Disassocation Amok等模式的攻击,另外他还针对隐藏ESSID的暴力探测模式、802.1X渗透模式、WIDS干扰等功能wifite
自动化的无线网审计工具,可以完成自动化破解。Python脚本编写,结合Aircrack-ng套件与Reaver工具Reaver
对开启WPS的路由器PIN码进行破解
视频学习中遇到的问题及解决办法
对于无线攻击中老师介绍的攻击软件,并没有办法实践,需要相应的硬件,这只能在以后的应用中具体去用了,现阶段无法实践
John the ripper实践中遇到的问题
学期目标
- 入门网络攻防,能走下来流程,最终能攻破防御较差的目标机
学习进度条
教材学习 | 视频学习 | 博客量(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 12章 | 20篇 | ||
第一周 | 《Linux基础入门》 | 1/1 | 练习Linux命令,在码云上面创建项目,学习使用博客园写博客并用Markdown编辑器规范格式 | |
第二周 | 第一二章 | 5个kali视频 | 2/3 | 初识网络攻防,了解基本知识 |
第三周 | 第三章 | 5个kali视频 | 1/4 | 学习了kali linux下信息收集阶段的探测工具 |
第四周 | 第四章 | 5个kali视频 | 1/5 | 学习了kali linux下漏洞分析的各种工具,wireshark的使用,学习了网络嗅探与协议分析 |
第五周 | 第十一、十二章 | 5个kali视频 | 1/6 | 学习了kali linux下漏洞分析之数据库评估软件的使用,也学习了SQL、XSS注入方面的一些知识 |
第六周 | 第五、六章 | 5个kali视频 | 1/7 | 学习了kali linux下密码攻击的一些知识,学习了网络TCP/IP网络协议工具以及网络安全防范技术 |
参考资料
- 《网络攻防技术与实践》诸葛建伟著