20169219 2016-2017-2《网络攻防》第六周作业
教材学习内容总结
第5章 TCP/IP网络协议攻击
网络安全属性:机密性、完整性、可用性。
网络攻击的四种基本模式:截获、中断、篡改、伪造。
TCp/IP网络协议的安全缺陷与攻击技术
TCP/IP协议栈层次 | 网络协议 | 存在的安全缺陷 | 对应的攻击技术 | 破坏安全属性 |
---|---|---|---|---|
网络接口层 | 以太网协议 | 共享传输媒介并明文传输 | 网络嗅探与协议分析 | 机密性 |
以太网协议 | 缺乏MAC身份认证机制 | MAC欺骗攻击 | 真实性 | |
PPP协议 | 明文传输 | 网络嗅探与协议分析 | 机密性 | |
互联层 | IPv4 | 缺乏IP地址身份认证机制 | IP地址欺骗 | 真实性 |
IPv4 | 处理IP分片时的逻辑错误 | IP分片攻击 | 可用性 | |
ICMP | ICMP路由重定向缺乏身份认知 | ICMP路由重定向 | 完整、真实性 | |
ICMP | 广播地址对Ping的放大器效应 | Ping Flood,Smurf | 可用性 | |
ARP | 采用广播问询且无验证机制 | ARP欺骗 | 真实性 | |
BGP等 | 缺乏较强的身份认证机制 | 路由欺骗攻击 | 完整性、真实性 | |
传输层 | TCP | TCP三次握手存在连接队列瓶颈 | TCP SYN Flood | 可用性 |
TCP | TCP会话对身份认证不够安全 | TCP RST攻击 | 真实性、可用性 | |
TCP | TCP会话对身份认证不够安全 | TCP会话劫持 | 真实性、可用性 | |
UDP | N/A | UDP Flood | 可用性 | |
应用层 | DNS | DNS验证机制不够安全 | DNS欺骗 | 完整性、真实性 |
SMB | SMB协议的NTLM认证机制存在安全缺陷 | SMB中间人攻击 | 真实性、可用性 | |
HTTP | URL明文,缺乏完整性保护,编码滥用 | 钓鱼 | 完整性、真实性 | |
HTTP | 内嵌链接滥用 | 网页木马攻击 | 完整性 |
IP源地址欺骗是指攻击者伪造具有虚假源地址的IP数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。
IP源地址欺骗可以实现的根本原因在于:IP协议在设计时只使用数据包中的目标地址进行转发,而不对源地址进行真实性的验证。
第6章 网络安全防范技术
动态可适应网络安全模型:PDR(Protection、Detection、Response)与PPDR(Policy、Protection、Detection、Response)
PDR:抵御入侵时间>检测机制发现入侵时间+响应机制有效应对入侵时间。
PPDR:网络安全=根据风险分析制定安全策略(Policy)+执行安全防护策略(Protection)+实时检测(Detection)+实时响应(Response)。其中安全策略是模型的核心。
视频学习总结
1. Kali密码攻击之在线攻击工具
1.1 Cewl
Cewl可以通过爬行网站获取关键信息创建一个密码字典。
官网:http://digi.ninja/projects/cewl.php
1.2 CAT
一个很小的安全审计工具,扫描Cisco路由器的一般性漏洞,例如默认密码,SNMP,community字串和一些老的IOS bug
1.3 Findmyhash
在线哈希破解工具,借助在线破解哈希网站的接口制作的工具。
破解密码c4ca4238a0b923820dcc509a6f75849b
最终破解成功
但是并不如国内的cmd5强大。
1.4 老牌破解工具Hydra
参数使用方法
破解FTP
hydra -L user.txt -P pass.txt -F ftp://127.0.0.1:21
单一用户用-l+用户名
如果用户名也需要猜解就用“-L
+字典文件”
一个固定密码就用-p
,文件就用-P
然后“-F
+测试的服务+地址+端口号”
破解本机ssh
首先用命令service ssh start
打开ssh服务
然后用命令service ssh status
查看ssh状态
执行命令hydra -l root -P ~/pass.txt -F ssh://127.0.0.1:22
但是出现问题,提示找不到pass.txt文件。
1.5 Medusa
类似于Hydra的一款工具,使用方法类似。
例如:
Medusa -h 192.168.235.96 -u root -P //worldlists/rockyou.txt -M ssh
1.6 NCrack
相似的功能基本类似,但突出了RDP(3389)爆破功能,如使用命令:
ncrack -vv -U windows.user -P windows.pwd 192.168.1.101:3389,CL=1 -f
1.7 ONesixtyone
onesixtyone是一个snmp扫描工具,用于找出设备上的SNMP Community字串,扫描速度非常快。
1.8 Patator
Patator是一款Python编写的多服务破解工具,如枚举一个服务用户名密码:
patator ssh_login host=127.0.0.1 user=root password=FILE0 0=pass.txt -x ignore:mesg='Authentication failed'
1.9 THC-PPTP-Bruter
THC-PPTP-Bruter是针对PPTV VPN端点(TCP端口1723)的暴力破解程序。
2. Kali密码攻击之离线攻击工具(一)
在线密码攻击在渗透测试中很重要,但对于测试过程中得到的哈希,加密数据,又需要离线破解工具辅助解决。
2.1 Creddump套件
Kali Linux下离线攻击工具中的Cache-dump、lsadump与pwdump均为creddump套件的一部分,基于python的哈希抓取工具,项目地址:
http://code.google.com/p/creddump/source/checkout
2.2 chntpw
用来修改Windows SAM文件实现系统密码修改,亦可在Kali作为启动盘时做删除密码的用途。参考例子如:http://blog.csdn.net/pyuffti/article/setials/20387189
2.3 Crunch
实用的密码字典生成工具,可以指定位数生成暴力枚举字典
生成1~3个字符串,由0219四个数字组成的字典如下
2.4 Dictstat
Dictstat是一款字典分析工具,可以分析出一个现有字典分布状况,也可以按照一定的过滤器提取字典
2.5 Fcrackzip
Kali下的一款 zip压缩包密码破解工具
2.6 Hashcat
Hashcat系列软件是比较强大的密码破解软件,系列软件包括Hashcat、oclHashcat;还有一个单独新出的oclRausscrack。其区别为Hashcat只支持cpu破解;oclHashcat和oclGausscrack则支持gpu加速,oclHashcat则分为AMD版和NIVDA版。
一些参数的介绍如下:
-m (--hash-type=NUM) hash种类,下面有列表,后面跟对应数字
-a (--attack-mode=NUM) 破解模式,下面也有列表
2.7 Hashid
一款简单易用的哈希分析工具,可以判断哈希或哈希文件是何种哈希算法加密的。
HashIdentifyer是一款与HashID类似的一款工具
2.8 John the ripper
老牌密码破解工具,常用于Linux Shadow中账户的密码破解,社区版也支持MD5-RAW等哈希的破解
破解步骤:
cat /etc/shadow > ~/johnshadow
john johnshadow
john --show johnshadow
对应于命令行版的John,Johnny将其图形化,更易使用与操作
3. Kali密码攻击之离线攻击工具(二)
3.1 Ophcrack
彩虹表windows密码哈市破解工具,对应有命令行版的ophcrack-cli
3.2 Pyrit
Pyrit是一款无线网络密码破解工具,借助GPU加速,可以让WAP2密码破解更效率。
使用analyze检查抓到的包:
pyrit -r xxx.cap annlyze
开始解包(单纯字典):
pyrit -r xxx.cap -i yyy.dic -b ssid attack_passthrough
3.3 Rcrack
彩虹表密码哈希工具,使用第一代彩虹表,当然首先,要有足够容量的彩虹表。
3.4 Rcracki_mt
又一款彩虹表哈希破解工具,不同的是次攻击支持最新格式的彩虹表进行哈希破解,当然,彩虹表仍然是不可缺少的关键存在。
3.5 Rsmangler
字典处理工具,可以生成几个字串的所有可能组合形式,在生成社工字典时亦可用到,可以有选择的关闭某些选项。
3.6 Samdump2与BKhive
Linux下破解windows下哈希工具
3.7 SIPCrack
SIPCrack是针对SIP protocol协议数据包的破解工具,支持PCAP数据包与字典破解
SUCrack是借助su命令进行本地root账户的密码破解。
3.8 Truecrack
一款针对TrueCrypt加密文件的密码破解工具
4. Kali密码攻击之哈希传递
Passing the Hash,中文一般翻译为Hash传递攻击。在windows系统中,系统通常不会存储用户登录密码,而是存储密码的hash值,在我们远程登录系统的时候,实际上向远程传输的就是密码的hash。当攻击者获取了存储在计算机上的用户名和密码的hash值的时候,他虽然不知道密码值,但是仍然可以通过直接连接远程主机,通过传送密码的hash值来达到登录的目的。
要进行哈希传递攻击,首先我们要有目标主机的哈希信息。
4.1 Keimpx
一款Python编写的哈希传递工具,可以通过已有的哈希信息GET一个后门SHELL。
Metasploit 模块exploit/windows/smb/psexec亦可完成HSAH传递攻击。
5 Kali无线安全分析工具
5.1 RFID/NFC工具
与之相关的是IC卡的攻击与破解。
5.2 软件定义无线电
可以做很多有趣又邪恶的事情,比如轻松的破除汽车的防护
5.3 蓝牙工具集
5.4 无线网络分析工具
BackTrack系列曾以此闻名,包括Aircrack-ng无线网络分析套件等工具
1. Aircrack
Aircrack-ng是要给与802.11标准的无线网络分析有关的安全软件,主要功能有:网络侦测、数据包嗅探,WEP和WPA/WPA2-PSK破解。Aircrack-ng可以工作在任何支持监听模式的无线网卡上并嗅探802.11a,802.11b,802.11g的数据。
Name | Description |
---|---|
aircrack-ng | 破解WEP以及WPA(字典攻击)密钥 |
airdecap-ng | 通过已知密钥来解密WEP或WPA嗅探数据 |
airmon-ng | 将网卡设定为监听模式 |
aireplay-ng | 数据包注入工具(Linux和Windows使用CommView驱动程序) |
airodump-ng | 数据包嗅探:将无线网络数据输送到PCAP或IVS文件并显示网络信息 |
airtun-ng | 创建虚拟管道 |
packetforge-ng | 创建数据包注入用的加密包 |
Tools | 混合、转换工具 |
airbase-ng | 软件模拟AP |
airdecloak-ng | 消除pcap文件的WEP加密 |
airdriver-ng | 无线设备驱动管理工具 |
airolib-ng | 保存、管理ESSID密码列表,计算对应的密钥 |
airserv-ng | 允许不同的进程访问无线网卡 |
buddy-ng | easside-ng的文件描述 |
easside-ng | 和AP接入点通讯(无WEP) |
tkiptun-ng | WPA/TKIP攻击 |
wesside-ng | 自动破解WEP密钥 |
2、Cowpatty | |
也是一款知名的WAP-PASK握手包密码破解工具 | |
3、MDK3
MDK3是一款无线DOS攻击测试工具,能够发起Beacon Flood,AUthentication Dos、Deauthentication/Disassociation Amok等模式的攻击,另外它具有针对隐藏ESSID的暴力探测模式、802.1X渗透测试、WIDS干扰等功能。
使用参考:http://somoker.blog.163.com/blog/static/24586302820152191817628
4、Wifite
自动化的无线网审计工具,可以完成自动化破解。Python脚本编写,结合Aircrack-ng套件与Reaver工具。
5、Reaver
对开启WPS的路由器PIN码进行破解
出现的问题及解决方法
在用hydra破解本机密码时找不到字典文件
用locate命令查看pass.txt文件地址
根据找到的文件地址,查看这些文件,发现都不是我要找的用户名和密码
查找资料,了解到Linux系统将加密的密码散列包含在一个叫做shadow的文件里,该文件的绝对路径为/etc/shadow。
查看此文件,看到root用户有一串的散列值,
使用John the Ripper工具破解Linux用户密码
1)使用unshadow提取密码散列。执行命令如下所示:
root@kali:~# unshadow /etc/passwd /etc/shadow > /tmp/linux_hashes.txt
执行以上命令后,会将/etc/passwd/文件与/etc/shadow/文件结合在一起,生成一个叫做linux_hashes.txt的文件,保存在/tmp/目录中。
2)破解Linux用户密码。执行命令如下所示:
root@kali:~# john --format=crypt --show /tmp/linux_hashes.txt
结果显示没有成功
注意:使用John the Ripper开始破解Linux密码之前,需要使用支持破解不同类型密码散列的John the Ripper版本。如果用错版本或者使用未打补丁的John the Ripper,程序将返回错误信息No password hashes loaded(没有价值密码散列)。大多数现代Linux系统都使用SHA散列加密算法保存密码。
学习进度条
学习时间(新增/累计) | 博客量(新增/累计) | 重要成长 | |
---|---|---|---|
目标 | 400小时 | 30篇 | |
第1周 | 15/15 | 1/1 | linux基础知识 |
第2周 | 20/35 | 2/3 | 安全工具、环境搭建 |
第3周 | 15/50 | 2/5 | Nma使用 |
第4周 | 15/65 | 1/6 | |
第5周 | 15/80 | 1/7 | |
第6周 | 15/95 | 1/8 |