2017-2018-2 20179204《网络攻防实践》第六周学习总结

第1节 教材学习内容总结

本周学习了教材第五、六章的内容。

1.TCP/IP网络协议攻击

1.1 TCP/IP网络协议栈攻击概述

  • 网络安全属性:机密性、完整性、可用性、真实性、不可抵赖性。

  • 网络攻击模式:4种

模式 网络攻击模式 破坏性质 攻击技术
被动攻击 截获 机密性 嗅探、监听
主动攻击 篡改 完整性 数据包篡改、中间人攻击
主动攻击 中断 可用性 拒绝服务
主动攻击 伪造 真实性 欺骗
  • 安全缺陷与攻击技术

  • 原始报文伪造技术及工具

最流行的是欺骗技术——使用原始套接字(raw socket),绕过TCP/IP协议栈的报文封装处理和验证,构造出任意的数据报文。

工具包括netwox/netwag等。

1.2 网络层协议攻击

  • ip源地址欺骗(ip spoofing)

原理:攻击者伪造具有虚假源地址的ip数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。常用于拒绝服务攻击,nmap的-D选项就是用来配置假冒源IP地址的,操作见149页。

原因:ip协议在设计时只是用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。

步骤:

  1.对受信任主机进行拒绝服务攻击,使其丧失工作能力,避免在接收到响应包之后影响欺骗过程;
  2.对目标主机的TCP初始序列号(ISN)进行取样和猜测;
  3.伪造源地址为受信任主机IP的SYN数据包,发送给目标主机;
  4.等待目标主机将SYN/ACK包发送给已瘫痪的受信任主机;
  5.再次伪装成被信任主机向目标主机发送ACK包;
  6.连接建立,假冒被信任主机与目标主机进行通信;

防范:

  1.随机化初始序列;
  2.使用网络安全传输协议(IPsec);
  3.避免基于IP地址信任策略;
  4.在路由器和网关上实施过滤包机制;

"盲攻击"的概念。

  • ARP欺骗攻击

概念:攻击者在有线以太网或无线网络上发送伪造ARP信息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。

ARP协议工作原理:将网络主机的IP地址解析其MAC地址,然后在局域网内通过MAC地址进行通信。

ARP欺骗攻击原理:认为局域网内的所有用户都是可信的,是遵循协议规范的。

防范:静态绑定关键主机IP地址和MAC地址映射关系、ARP防范工具、VLAN虚拟子网细分网络拓扑、加密传输数据。

查找欺骗攻击源工具:LANSEE、nbtscan、anti arp、sniffer。操作见154页。

  • ICMP路由重定向攻击

概念:是指攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者制定的路由路径,从而进行嗅探或假冒攻击的一种技术。

步骤:

  1.攻击节点利用ip源地址欺骗技术,冒充网管ip地址,向被攻击节点发送icmp重定向报文,并将制定的新路由器ip地址设置为攻击节点;
  2.被攻击节点在接收到该报文后,会进行限制条件检查,由于该报文并不违背限制条件,因此会被接收,被攻击节点选择攻击节点作为新路由器(即网关);
  3.攻击节点可以开启路由转发,充当一个中间人,对被攻击节点与外部网络的通信进行全程嗅探监听,达到与arp欺骗蕾丝的攻击效果;
  4.在转发过程中,根据icmp路由重定向机制的设计原理,由于从被攻击节点到外部网络存在更优的路由路径,即直接通过原先的网关进行路由较重定向后的路由路径少一跳,因此攻击节点协议栈可能会向被攻击节点发送一个icmp重定向报文,指定原先网关作为新路由器,这个报文将使欺骗路由路径还原至原先正常状态。

防范:根据类型过滤一些icmp数据包,设置防火墙过滤,对于icmp重定向报文判断是不是来自本地路由器等。

操作见159页。

1.3 传输层协议攻击

  • TCP RST攻击

又称为伪造TCP重置报文攻击,假冒干扰TCCP通信连接的技术。TCP重置报文将直接关闭掉一个TCP会话连接。

  • TCP会话劫持攻击

目标是劫持通信双方已建立的TCP会话连接,假冒其中一方(通常是客户端)的身份,与另一方进行进一步通信。为攻击者提供了一种绕过应用层身份认证的技术途径。

防范措施:禁用主机上的源路由;采用静态绑定ip-mac映射表以避免arp欺骗;引用和过滤icmp重定向报文;采用网络层加密机制,即ipsec协议是对抗tcp会话劫持攻击最通用的办法。

  • TCP SYN洪泛拒绝服务攻击

是目前比较有效而又非常难于防御的一种网络攻击方式,目的是使服务器不能够为正常访问的用户提供服务。

TCP SYN Flood又称泛洪攻击,是目前最为有效和流行的一种拒绝服务攻击形式,利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能为正常用户服务。

攻击主机向受害主机发送大量伪造源地址的TCP SYN报文,受害主机分配必要的资源,然后向源地址返回SYN/ACK包,并等待源端返回ACK包。

利用Netwox进行TCP SYN Flood攻击。

SYN Flood攻击防范措施:SYN-Cookie技术、防火墙地址状态监控技术

  • UDP洪泛拒绝服务攻击

向目标主机和网络发送大量UDP数据包,造成目标主机显著地计算负载提升,或者目标网络的网络拥塞,从而使目标主机和网络陷入不可用的状态,造成拒绝服务攻击。

  • TCP/IP网络协议栈攻击防范措施

    	检测、预防与安全加固
    	网络安全协议
    	下一代互联网协议
    

第2节 课堂测试——sql注入实验

1.实验准备

实验需要三样东西, Firefox、 apache、 phpBB2(镜像中已有)。

  • 运行 Apache Server:镜像已经安装,只需运行命令 sudo service apache2 start
  • phpBB2 web 应用:镜像已经安装,通过 http://www.sqllabmysqlphpbb.com 访问,应用程序源代码位于/var/www/SQL/SQLLabMysqlPhpbb/
  • 配置 DNS:上述的 URL 仅仅在镜像内部可以访问,原因是我们修改了/etc/hosts文件使 http://www.sqllabmysqlphpbb.com 指向本机 IP 127.0.0.1。如果需要在其他机器访问,应该修改 hosts 文件,使 URL 映射到 phpBB2 所在机器的 IP。
  • 关闭对抗措施:PHP 提供了自动对抗 SQL 注入的机制,被称为 magic quote,我们需要关闭它。输入命令sudo gedit /etc/php5/apache2/php.ini,将magic_quotes_gpc = On修改为magic_quotes_gpc = Off。 sudo service apache2 restart命令重启 Apache。

2.对select语句的攻击

  • 首先访问虚拟机内的URL:www.sqllabmysqlphpbb.com。在进入 phpBB之前系统会要求你登陆。这个登陆认证由服务器上的 login.php 实现,需要用户输入用户名和密码来通过认证。用户键入用户名和密码后,login.php 会将它们与 mysql 数据库中的 username 和user_password 字段进行比较,如果匹配就登陆主界面。和其他大多数 web 应用程序一样,PHP程序使用 SQL 语言与背后的数据库交互。在 phpBB2 中,下面的语句实现了对用户的认证。

    	SELECT 	user_id,username,user_password,user_active,user_level,user_login_tries,user_last_login_try
    	FROMUSERS_TABLE
    	WHERE username=‟$username‟ANDuser_password=‟md5($password)‟;
    	if(foundonerecord)	
    	then{allowtheusertologin}
    
  • 正常情况下,如果输入错误的用户名或密码,肯定是登录不了的。但是对于有SQL注入漏洞的网站来说,只要构造特殊的“字符串”,就能够成功登录。如在用户名输入框中输入' or 1=1#,密码随便输入,此时合成的SQL查询语句为:select * from users where username='' or 1=1#' and password=md5('')。

  • “#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,不会去执行。即select * from users where username='' or 1=1#' and password=md5('')等价于select * from users where username='' or 1=1,因为1=1永远成立的,即where子句总是为真,该sql语句进一步简化之后,等价于select * from users。

  • 因此,这里我们输入ted'#,就可以在不知道ted密码的情况下登录了。


3.对 UPDATE 语句的攻击

  • 当用户想要在 phpBB2 中修改他们的资料时,可以点击 Profile,然后填写表单修改。用户发送修改请求后,会执行include/usercp_register.php中的一条 UPDATE SQL 语句。在这条语句中同样有一个 SQL 注入漏洞。

  • 下面演示以ted登陆,目标是修改admin的资料信息,包括他的密码。攻击成功后将可以登陆 Ted 的账号。

  • 点击Memberlist查看admin的信息,可以看到一个带参数的脚本,猜测admin的id为2。

  • 我们再在interests栏中输入1234'where user_id=2#,即将update语句中interests后的语句全部注释掉,并将where条件设置成admin的id。

  • 再次点击Memberlist查看admin的信息,可以看到admin的interests改为1234。

  • Current password里输入ted密码(ted),New password里输入1,即可将admin的密码修改为1了。


4.对抗sql注入

  • 使用magic_quotes_gpc避开特殊字符。修改/etc/php5/apache2/php.ini的magic_quotes_gpc = On,然后重启Apache。


  • 使用addslashes()来避开特殊字符
  • 使用mysql_real_escape_string避开特殊字符

第3节 kali视频(21-25)学习

21.密码攻击之在线攻击工具

  • Cewl

爬行网站获取关键信息创建密码字典。

  • CAT

很小的安全审计工具,扫描Cisco路由器的一般性漏洞:例如默认密码,SNMP community字串和一些老的IOS bug。

  • Findmyhash

在线哈希破解工具,借助在线破解哈希网站的借口制作的工具。并不如国内的cmd5好用。


  • 老牌破解工具HYDRA

破解单一用户则使用小写l,若要拆分用户则用大写L;同理若固定一个密码使用写小写p,一个文件则使用大写P。

使用参数简单易懂:

  破解FTP服务:hydra -L user.txt -F ftp://127.0.0.1:21
  破解SSH服务:hydra -L user.txt -F ssh://127.0.0.1:22
  SMB:hydra -L user.txt -F ssh://127.0.0.1
  破解MSSQL账号密码:hydra -L user.txt -F ssh://127.0.0.1:1433

猜解到用户名和密码可看到高亮显示。

service ssh status判断ssh服务是否打开

使用指令打开ssh服务

  1.修改sshd_config文件,命令为:vi /etc/ssh/sshd_config
  2.将#PasswordAuthentication no的注释去掉,并且将NO修改为YES //我的kali中默认是yes
  3.将#PermitRootLogin yes的注释去掉 //我的kali中默认去掉了注释
  4.启动SSH服务,命令为:/etc/init.d/ssh start // 或者service ssh start



hydra -l root -P -/pass.txt -F ssh://192.168.75.33:22 错误,没有密码表文件。

  • hydra-gtk图形化界面

  • Medusa

Medusa类似于Hydra的一款工具,使用方法类似。

Medusa -h 192.168.235.96 -u root -P //wordlists rockyou.txt -M ssh //-h 目标IP地址

选择不同服务只要修改-M后面的参数即可。

  • NcRACK

NcRACK 相似的功能基本类似,但突出了RDP(3389)爆破功能,如使用命令:
ncrack -vv windows.pwd 192.168.1.101:3389,CL=1 -f

  • onesixtyone

onesixtyone是一个snmp扫描工具,用于找出设备上的SNMP Comunity字串,扫描速度非常快。

  • Patator

Patator是一款Python编写的多服务破解工具,如枚举一个服务用户名密码。

Patator ssh_login host=127.0.0.1 user=root password=FILE0 0=pass.txt -x ignore:mesg='Authenticaton failed.'

  • phrasen|drescher
    phrasen|drescher多线程支持插件式的密码破解工具

  • THC-PPTP-Bruter

22.密码攻击之离线攻击工具(一)

  • creddump套件

Kali linux下离线攻击工具中的cache-dump、lsadump与pwdump均为creddump套件的一部分,基于python的哈希抓取工具。

  • Chntpw

用来修改Window SAM文件实现系统密码修改、清除,亦可在kali作为启动盘时作删除密码的的用途。

  • Crunch

实用的密码字典生成工具,可以指定位数生成暴力枚举字典。

  • Dictstat(新版改名为pack)

是一款字典分析工具,可以分析出一个现有字典分布情况,也可按照一定的过滤器提取字典。同一项目下的工具还有MaskGen与PolicyGEN。

  • Fcrackzip

kali下一款ZIP压缩包密码破解工具。

  • Hashcat

强大的密码破解软件,系列软件包含Hashcat,oclHashcat,还有一个单独新出的oclRausscrack,其区别为Hashcat不支持GPU加速,oclGausscrack则支持GPU加速,速度显而易见,oclHashcat则分为AMD版和NAVID版。


  • Hashid

简单易用的哈希分析工具,可以判断哈希或哈希文件是何种哈希算法加密的。

  • HashIdentify

是一款Hashid类似的一款工具。

  • John the ripper

老牌密码破解工具,常用于Linux shadow中账户的密码破解,社区版也支持MD5-raw等哈希的破解。有图形化版johnny。


图形化版本:

23.密码攻击之离线攻击工具(二)

  • Ophcrack

彩虹表(是一个用于加密散列函数逆运算的预先计算好的表)Windows密码哈希破解工具,对应有命令行版的ophcrack-cli。

  • pyrit

是一款无线网络密码破解工具,借助GPU加速,可以让WPA2密码破解更效率。

  • Rcrack

彩虹表密码哈希工具,使用了第一代彩虹表(RT格式),当然首先,我们要有足够容量的彩虹表,使用很简单,按照参数破解即可。

  • rcracki_mt

又一款彩虹表哈希破解工具,不同的是此工具支持最新格式的彩虹表进行哈希破解。当然,彩虹表仍然是不可缺少的关键存在。

  • rsmangler

字典处理工具,可以生成几个字串的所有可能组合形式,在生成社工字典时亦可用到。可以有选择性的关闭某些选项。

  • Samdump2与BKhive

  • SIPCrack

SIPCrack是针对SIP protocol协议数据包的破解工具,支持PCAP数据包与字典破解。

  • SUCrack

使用su命令进行本地root账户的密码破解。

  • Truecrack

一款针对TrueCrypt加密文件的密码破解工具。

24.密码攻击之哈希传递攻击

在Windows系统中,用户口令都是以哈希值的方式存储,在我们远程登录系统的时候,实际上向远程传输的就是密码的hash,当攻击者获取了存储在计算机上的用户名和密码的hash值的时候,他虽然不知道密码值,但是仍然可以通过直连远程主机,通过传送密码的hash值来达到登陆的目的。

  • PTH套件

要进行哈希传递攻击,首先我们要有目标主机的哈希信息,以Pwdump7抓取hash为例,pth套件每个工具都针对win下响应的exe文件,如使用pth-winexe可以借助哈希执行程序得到一个cmdshell。

  • Keimpx

一款Python编写的哈希传递工具,通过已有哈希信息get一个后门shell。

使用PWDUMP7抓取哈希,将文件保存至根目录,使用keimpx的-c参数作为文件凭据。

检测到Adminstrator可以进行哈希传递攻击,是否获得shell。

得到shell的端口号,如2090,可以nc 2090获得shell。

  • Metasploit

模块exploit/windows/smb/psexec亦可完成HAsh传递攻击。

25.无线安全分析工具

Kali无线安全分析工具包括RFID/NFC工具集,软件定义无线工具,蓝牙Hack工具与常规无线网络分析工具。

  • Aircrack

是一个与802.11标准的无线网络分析有关的安全软件,主要功能:网络侦测,数据包嗅探,WEP和WPA/WPA2-PSK破解,Aircrack-ng可以工作在任何支持监听模式的无线网卡上并嗅探802.11a,802.11b,802.11g的数据。该程序可运行在Linux和Windows上,Linux版本已经被移植到了Zaurus和Maemo平台上。

  • Cowpatty

一款知名的WPA-PSK握手包密码破解工具。

  • eapmd5pass

针对EAP-MD5的密码破解工具。

  • 图形化的Fern WiFi Cracker

无线网络分析中如果要使用虚拟机中的kali Linux,则需要外置无线网卡。

  • MDK3

是一款无线DOS攻击测试工具,能够发起Beacon Flood、Authentication DoS、Deauthentication/Disassociation Amok 等模式的攻击。另外还有其他针对隐藏ESSID的暴力探测模式,802.1x渗透测试,WIDS干扰等功能。

  • wifite

自动化的无线网审计工具,可以自动化破解,Python脚本编写,结合Aircrack-ng套件与Reaver工具。

  • Reaver

对开启WPS的路由器PIN码进行破解。

posted @ 2018-04-15 11:56  20179204葛鸽  阅读(479)  评论(0编辑  收藏  举报