zoukankan      html  css  js  c++  java
  • 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码进行破解。

  • 相关阅读:
    java 运算
    java String
    java的数据类型
    Python: str() 和 repr() 的区别
    Linux命令:which
    Linux命令:locate
    Linux命令:ifconfig
    Linux命令:whereis
    Linux命令:rz 和 sz
    Linux命令:scp
  • 原文地址:https://www.cnblogs.com/20179204gege/p/8846792.html
Copyright © 2011-2022 走看看