20189320《网络攻防》第六周作业
一、Kali视频学习总结
(一)密码攻击之在线攻击工具
密码攻击是安全测试中必不可少的一环,在线攻击多为对一个服务远程连接并使用用户名与密码破解,Kali下的在线密码攻击工具有:
1.Cewl
可以通过爬行网站获取关键信息创建一个密码字典。
2.CAT(Cisco-Auditing-Tool)
一个很小的安全审计工具,扫描Cisco路由器的一般性漏洞,例如默认密码、SNMP community字串和一些老的IOS bog。
3.Findmyhash
在线哈希破解工具,借助在线破解哈希网站的借口制作的工具。
例如,
$ findmyhash MD5 -h c4ca4238a0b923820dcc509a6f75849b /* 破解1的密文 */
对比可以看出,Findmyhash并不如国内的cmd5强大。
4.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
若能猜解得到用户名密码,可看到高亮显示,同时Hydra有图形界面版本Hydra-gtk(如下图所示)。
5.Medusa
类似与Hydra的一款工具,使用方法类似。
例如,
$ medusa -h 192.168.43.132 -u root -P //wordlists/rockyou.txt -M ssh
如要选择服务,只要改变-M后的参数即可。
6.NCrack
相似的功能基本类似,但突出了RDP(3389)爆破功能,如使用命令:
$ ncrack -vv -U windows.user -P windows.pwd 192.168.1.101:3389 CL=1 -f
7.Onesixtyone
是一个snmp扫描工具,用于找出设备上的SNMP community字串,扫描速度非常快。
8.Patator
是一款Python编写的多服务破解工具,如枚举一个服务用户名密码:
$ patator ssh_login host=127.0.0.1 user=root passwd=FILE0 0=pass.txt -x ignore:mesg='Authentication failed.'
9.phrasen | drescher
多线程支持插件式的密码破解工具。
10.THC-PPTP-Bruter
是针对PPTP VPN端点(TCP端口1723)的暴力破解程序。支持最新的MSChapV2验证,对Windows和Cisco网关测试通过。用以探测微软的Anti-Brute Force Implementation中存在的一个漏洞,并通过此漏洞,尝试以每秒300个密码进行暴力破解。
(二)密码攻击之离线攻击工具
在线密码攻击在渗透测试中很重要,但对于测试过程中得到的哈希、加密数据,又需要离线破解工具辅助解决。
1.Creddump套件
Kali Linux下离线攻击工具中的Cache-dump、lsadump与pwdump均为creddump套件的一部分,基于Python的哈希抓取工具。
2.Chntpw
用来修改Window SAM文件实现系统密码修改,也可以在Kali作为启动盘时做删除密码的用途。
3.Crunch
实用的密码字典生成工具,可以指定位数生成暴力枚举字典。
例如,生成1到3位的指定的数字产生字符串:crunch 1 3 0876
可以看到,生成了所有的1到3位,由0876组成的字符串的字典。
4.Dictstat
是一款字典分析工具,可以分析出一个现有字典分布状况,也可按照一定的过滤器提取字典。
5.Fcrackzip
是Kali下的一款zip压缩包密码破解工具。
6.Hashcat
其系列软件是比较强大的密码破解软件,包含Hashcat、oclHashcat;还有一个单独新出的oclRausscrack。其区别在于Hashcat只支持cpu破解;oclHashcat和oclRausscrack则支持gpu加速。oclHashcat分为AMD版和NIVDA版。
7.Hashid
一款简单的哈希分析工具,可以判断哈希或哈希文件是何种哈希算法加密的。
如对123的MD5值进行分析:
8.HashIdentifyer
是与HashID类似的一款工具。
9.John the ripper
老牌密码破解工具,常用于Linux Shadow中账户的密码破解,社区版也支持MD5-RAW等哈希的破解。
例如我们对本机的系统哈希进行密码破解:
在短短1s之内得到密码明文。
10.Johnny
对应于命令行版的John,Johnny将其图形化,更易使用与操作。
11.Ophcrack
彩虹表Windows密码HASH破解工具。对应有命令行版的ophcrack-cli。
12.Pyrit
一款无线网络密码破解工具,借助GPU加速,可以让WPA2密码破解更效率。使用方法如下:
(1)使用analyze检查抓到的包:pyrit -r xxx.cap analyze
(2)开始跑包(单纯字典):pyrit -r xxx.cap -i yyy.dic -b ssid attack_passthrough
13.Rcrack
彩虹表密码哈希工具,使用了第一代彩虹表(RT格式)。使用很简单,按照参数破解即可。
14.Rcracki_mt
又一款彩虹表哈希破解工具,不同的是此工具支持最新格式的彩虹表进行哈希破解。
15.Rsmangler
字典处理工具,可以生成几个字符串的所有可能组合形式,在生成社工字典时亦可用到。可以有选择性地关闭某些选项。
16.Samdump2与BKhive
Linux下破解Windows下哈希的工具。使用方法如下:
17.SIPCrack
针对SIP protocol协议数据包的破解工具,支持PCAP数据包与字典破解。
18.SUCrack
借助su命令进行本地root账户的密码破解。
对root密码猜解,远程可用ssh去破解,但是效率不高,而且很容易被防火墙等过滤掉。在本地使用su命令,就不会有这些问题。
19.Truecrack
一款针对TRUECrypt加密文件的密码破解工具,可以加密硬盘还有隐藏的文件。
(三)密码攻击之哈希传递攻击
passing the hash,中文一般翻译为哈希传递攻击,在Windows系统中,系统通常不会存储用户登录密码,而是存储密码的哈希值,在远程登录系统的时候,实际上向远程传递的就是密码的哈希值。当攻击者获取了存储在计算机上的用户名和密码的哈希值时,攻击者虽然不知道密码值,但是仍然可以通过直接连接远程主机,通过传送密码的哈希值来达到登录的目的。
1.Passing the hash套件
要进行哈希传递攻击,首先我们要有目标主机的哈希信息,可以使用pwdump7抓取哈希。使用PTH套件,每个工具都针对win下响应的exe文件,如使用pth-winexe可以借助哈希执行程序得到一个cmdshell,使用命令如下:
$ pth-winexe -U Administrator%哈希 //目标地址 cmd /* 借助哈希执行程序得到一个反弹的正向连接shell。 */
2.Keimpx
一款Python编写的哈希传递工具,可以通过已有的哈希信息get一个后门shell。
3.Metasploit
其中模块exploit/windows/smb/psexec亦可完成哈希传递攻击。
(四)无线安全分析工具
随着无线网络的兴起,Kali下为我们准备了丰富的无线网络攻击套件。Kali下无线安全分析工具包括RFID与NFC工具、软件定义无线电工具、蓝牙Hack工具与常规无线网络分析工具。
1.RFID/NFC工具
与之相关的是IC卡的攻击与破解,如饭卡、工卡、房卡、水卡都可以成为攻击测试的目标。
2.软件定义无线电
可以做很多有趣又邪恶的事情,比如轻松地破除汽车的防护,参考网站:http://geekcar.net/archives/7748
3.蓝牙工具集
蓝牙在生活中使用愈来愈多,针对于蓝牙的安全检测工具也有不少。
4.无线网络分析工具
BackTrack系列曾以此闻名,包括Aircrack-ng无线网络分析套件等工具。
(1)Aircrack
Aircrack-ng是一个与802.11标准的无线网络分析有关的安全软件,主要功能:网络侦测、数据包嗅探、WEP和WPA/WPA2-PSK破解。Aircrack-ng可以工作在任何支持监听模式的无线网卡上并嗅探802.11a、802.11b、802.11g的数据。该程序可运行在Linux和Windows上。Linux版本已经被移植到了Zaurus和Maemo系统平台,并概念验证可移植到iPhone。
(2)Cowpatty
一款知名的WPA-PSK握手包密码破解工具。
(3)EAPMD5PASS
针对EAP-MD5的密码破解工具。
(4)图形化的Fern-Wifi-Cracker
值得一提的是,无线网络分析中,如果使用虚拟机中的Kali Linux,则需要外置无线网卡。在虚拟机中把外置的无线网卡勾选到Kali下面,可以设置无线网卡的接口,使用该接口就可以扫描周围的无线网,进行进一步的攻击测试。
(5)MDK3
是一款无线DOS攻击测试工具,能发起Beacon Flood、Authentication DoS、Deauthentication/Disassociation Amok等模式的攻击,还具有针对隐藏ESSID的暴力探测模式、802.1X渗透测试、WIDS干扰等功能。
(6)Wifite
自动化的无线网审计工具,可以完成自动化破解。Python脚本编写,结合Aircrack-ng套件和Reaver工具。
(7)Reaver
对开启WPS的路由器PIN码进行破解。
二、教材学习总结
(一)TCP/IP网络协议栈攻击
1.网络安全属性与攻击模式
(1)网络安全的三个基本属性
从安全属性来看,机密性、完整性、可用性构成了网络安全的三个基本属性。国际电信联盟(ITU)在X.800安全体系标准中还定义了网络安全的其他两个属性,包括真实性和不可抵赖性。
(2)网络攻击基本模式:(被动)截获、(主动)中断、篡改和伪造。
2.TCP/IP网络协议栈安全缺陷与攻击技术
TCP/IP网络协议栈的分层模型:网络接口层、互联网层、传输层和应用层。针对不同的层出现了不同的攻击技术。
3.原始报文伪造技术及工具
原始报文伪造技术及工具包括:原始套接字(raw socket)、netwox、netwag。
(二)网络层协议攻击
1.IP源址欺骗
(1)原理:只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。
(2)步骤:对受信任的主机进行拒绝服务攻击、对目标主机的TCP初始序列号(ISN)进行取样和猜测、伪造源地址为受信任的主机IP的SYN数据包发送给主机、等待目标主机将SYN/ACK包发给已经瘫痪的受信任的主机、再次伪装成被信任的目标主机发送ACK包、建立连接。
(3)应用场景:拒绝服务攻击中。
(4)工具:netwox、wireshark、nmap。
(5)防范措施:使用随机化的初试序列号、使用网络层安全传输协议、避免采用基于IP地址的信任策略、在路由器和网关上实施包过滤。
2.ARP欺骗
(1)原理:攻击者在有线以太网或者无线网上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。
(2)应用场景:交换式网络、构造中间人攻击、恶意代码即为ARP病毒。
(3)工具:DSniff中的Arpspoof、arpison、Ettercap、netwox。
(4)防范措施:静态绑定关键主机的IP地址和MAC地址映射关系、使用相应的ARP防范工具、使用VLAN虚拟子网细分网络拓扑、加密是传输数据。
3.ICMP路由重定向攻击
(1)ICMP报文类型:差错报告类(目的站不可达、数据报超时、数据包参数错误)、控制类报文(请求/应答类和通知类)。
(2)原理:利用ICMP路由重定向报文改变主机路由表,向目标主机发送重定向消息,伪装成路由器,使得目标机器的数据报文发送至攻击机从而加强监听。
(3)工具:netwox 防范措施:根据类型过滤一些ICMP数据包,设置防火墙过滤,对ICMP重定向报文判断是不是来自本地路由器的。
(三)传输层协议攻击
1.TCP RST攻击
伪造TCP重置报文攻击,假冒干扰TCP通信连接的技术方法。
2.TCP会话劫持攻击
劫持通信双方已经建立的连接,假冒其中一方的身份与另一方进行进一步通信。
防范措施:禁用主机上的源路由、采用静态绑定IP-MAC映射表以及避免ARP欺骗,引用和过滤ICMP重定向报文。
3.TCP SYN Flood拒绝服务攻击
难防御,目的是使服务器不能正常访问的用户提供服务。又称为SYN洪泛工具。
防范措施:SYN-Cookie技术、防火墙地址状态监控技术。
4.UDP Flood
通过目标主机和网络发送大量的UDP数据包,造成目标主机显著的计算负载提升,或者目标网络的网络拥塞,从而使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击。
防范措施:禁用或过滤监控和响应服务、禁用或过滤其他的UDP服务等。