青春时代是一个短暂的美梦,当你醒来时,它早已消失得无影无踪了。
 
今日:0    总帖:57
admin
40350
相信我们在使用XP、2003最苦恼的一种情况就是某天开机突然提示: 童年一直觉得这个问题除了按提示说的使用安装盘才能解决,直到长大以后才发现好傻。。。 那么如果出现这种情况该怎么解决呢? (1)直接复制装完系统以后系统备份的那个文件过来替换即可(不丢失大部分数据,仅丢失驱动及部分软件信息) 是的,你没看错,就是直接复制过来就可以了,不信,那就按以下操作试下看看就知道了,不是吗 ① 首先我们需要准备好一个PE工具箱,这里可以使用我们的 点击跳转,也可以使用第三方的,不需要太多功能,只需要有一个PE系统,或者带有DOS工具箱的即可(如果使用DOS工具箱,请查看第四条) ②准备好以后,重启,用U盘引导,进入PE工具箱,启动PE系统,然后等待启动完成以后,到我们的系统目录下寻找一个repair的文件夹,双击打开,是不是可以看到里面有几个文件,其他我们不用管,只需要把那个SYSTEM复制到我们提示文件丢失的那个文件夹里(C:\windows\system32\config)替换原有文件即可。 ③重启,是不是发现已经可以正常启动了, 但此时会发现一些软件无法正常运行,这是正常的,因为SYSTEM这个文件里面包含了一些程序所需要的参数,而我们修复这个文件实际上就是把这个文件初始化了,接下去我们只需要把这些无法正常运行的软件重新安装一下即可 ④该条适用于DOS工具箱:进入DOS工具箱,如果我们的DOS工具箱没有自行挂载NTFS分区,建议手动执行下挂载,然后输入以下命令:c:\ Cd c:\Windows\repair Copy system c:\Windows\system32\config\system 然后,重启即可 (2)按照文字所述方法进行修复 (3)重装系统(极不推荐,除非说正好为没有理由而重装系统而烦恼的时候)=================================================================== 注意: 1.如果是Windows Vista及以上版本,该问题已转由系统可以自行进行修复,如果系统无法修复,可尝试到C:\Windows\System32\config\RegBack 查看是否有备份 2.如果有使用数据库的,使用以上第一个方法会导致数据库无法正常使用,但请放心,数据并没有丢失,而我们也不需要按照网上说的执行卸载数据库引擎,再重新安装(这样会导致数据库丢失,如果复制出来,后续也需要重新合并) 解决方法: ① 首先打开CMD,然后执行这个命令:sc create MSSQLSERVER binpath= "文件路径" displayname= "MSSQLSERVER" start= auto 注意这里的格式,“=”后面是必须空一格的,否则会出现错误。 执行完成以后,查看服务里面是否已经多一条MSSQLSERVER的服务,有的话,尝试启动,看能否正常启动,如果没有其他问题一般都是可以正常启动的,只要可以启动,那基本上已经成功一半了 ② 在开始菜单或添加卸载程序里,找到mssql,然后选择修复,等待完成后重启(中途可能会提示一些错误,直接忽略就可以了,因为有些东西我们并没有修复,但不会影响使用),如无意外一般都可以正常使用了 3.如果该目录为空,则表明您的系统可能为精简版或者修改过的版本,由于修改版对于该目录会认为是没必要,可以精简的,所以在诸如:电脑公司版、雨林木风版、番茄花园版等系统中可能存在该目录为空的情况,这种情况下,只能考虑重装或者使用完整镜像光盘进行尝试修复
5 0 1888天前
admin
9575
首先我们需要明白内存是什么,内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。 内存是由内存芯片、电路板、金手指等部分组成的。 那么虚拟内存又是什么,虚拟内存别称虚拟存储器(Virtual Memory)。电脑中所运行的程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽。为解决该问题,Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。若计算机运行程序或操作所需的随机存储器(RAM)不足时,则 Windows 会用虚拟存储器进行补偿。它将计算机的RAM和硬盘上的临时空间组合。当RAM运行速率缓慢时,它便将数据从RAM移动到称为“分页文件”的空间中。将数据移入分页文件可释放RAM,以便完成工作。  一般而言,计算机的RAM容量越大,程序运行得越快。若计算机的速率由于RAM可用空间匮乏而减缓,则可尝试通过增加虚拟内存来进行补偿。但是,计算机从RAM读取数据的速率要比从硬盘读取数据的速率快,因而扩增RAM容量(可加内存条)是最佳选择。 虚拟内存是Windows 为作为内存使用的一部分硬盘空间。虚拟内存在硬盘上其实就是为一个硕大无比的文件,文件名是PageFile.Sys,通常状态下是看不到的。必须关闭资源管理器对系统文件的保护功能才能看到这个文件。虚拟内存有时候也被称为是“页面文件”就是从这个文件的文件名中来的。 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,WINDOWS运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,这部分空间即称为虚拟内存,虚拟内存在硬盘上的存在形式就是 PAGEFILE.SYS这个页面文件。 说完基础的,现在我们再来解释为什么使用虚拟内存会导致性能降低,这里就需要引入缺页的概念了 内存的组织 我们计算机并不是按字节来在管理内存的,而是通过”页”这个概念,一页有若干字节。就像我们描述一本书的厚度时.通常说一本书有多少页,而不是说这本书有多少字。假设我们计算机是12位的,那么一共有212212个字节,我们假设一个页的大小是64个字节那么我们的计算机就有64页,其中,2626个字节用6个比特位可以表示,将其画出来就是如图所示的结构  形象来说页号就是”一本书的页数”,页偏移就是每页的”字数”,而这本书的特点就是每页上的字数都是一样的。 虚拟内存 虚拟内存说是内存,其实是一个存放在磁盘上N个连续的空间,里面存有数据。当它被置入内存中,就变成了实实在在的内存。它的存储结构也是和物理内存一样的,如图所示 我们用虚拟页(virual page)来描述某一块虚拟内存空间,任何时候  虚拟页只有三种状态 • 在磁盘没有被创建(没有被分配) • 在磁盘上创建出来了,等待被加入内存中 • 已经被加在入内存了 虚拟内存和物理内存的映射 要把虚拟内存装入物理内存,就要有虚拟地址VA和物理地址PA的一个映射关系。这个关系是由操作系统,MMU实现,存放在物理内存中一个叫页表(page table)的数据结构来维护的,页表是一个页表条目(Page Table Entry)的数组,虚拟地址空间中的每个页在页表中一个固定的偏移量都有一个PTE,假设PTE还有一个有效位表示该虚拟地址的状态,1表示已经创建了虚拟地址,0表示没有创建。而pte指向的内容就是物理地址。 简单来讲,页表这种映射关系就是数组,其中pte内容是(虚拟地址+有效位 ),把pte当作下标,那么pte指向的内容就是物理地址 当然如果虚拟内存大于物理内存,一个虚拟地址就必须能被映射在多个物理内存的地址,通常有直接映射和全映射,组间映射。 这里采用的是全映射,即:任意一块虚拟内存可一倍映射在任意一块物理内存。 使用虚拟内存的好处 我们知道,程序是存储在硬盘上的,程序运行起来变成进程,才加载入内存,物理内存是占用一个少一个,怎么保证不同进程之间的数据不会发生冲突呢? 假设实际上我们的程序在运行起来时使用的是一片全新的虚拟内存,一大片空间随意挥霍,最后通过页表的映射成物理地址,就可以解决数据冲突的问题,而且我们可以规定哪一片虚拟空间是只读的,是不可访问的,在页表里将其标记,如果违反标记就强制中断翻译成物理地址的过程,保护了我们的程序和物理内存。 如何翻译虚拟内存 cpu在执行程序读取数据时,使用的是虚拟地址。 在CPU内部有一个MMU单元,他通过从CPU接受到的虚拟地址生成一个PTEA(上文中pte的地址)在cache或者内存中通过PTEA找到了PTE,就把他送至MMU,PTE中有对应的物理地址,MMU解析后就将这个物理地址(pa)送至内存或者缓存中进行读取数据(注意 cpu大多情况下是和缓存打交道) 缺页 在虚拟地址和物理地址映射时,当然还有一种情况是通过PTE发现虚拟地址没有对应的物理地址,( PTE有效位为0 ) 就会引发一个”缺页的异常”  我们知道PTE有效位为0 有两种状态,若这个虚拟页没不存在,这时候程序崩溃(一种可能程序是把任意整型赋值给指针去解引用指针)。另一种状态是虚拟页已经存在,但是没有被加载入内存中,叫做硬性页缺失。那么操作系统会寻找物理内存空闲的地方,从磁盘加载虚拟页到内存或者指定内存中一个”已经修改过的页面”(狭义上就是已经读取,修改过该内存的数据)写入磁盘,再把虚拟页从磁盘写入内存和CPU内存之间有一个缓存SRAM一样,磁盘和内存也是通过一个DRAM缓存来交换数据的,当发生硬性页缺失时,内存会进入磁盘读写数据 内存和硬盘打起交道 硬盘就像那个 树懒Flash  内存向硬盘提问题用了1秒  硬盘反应过来 要花一天的时间硬性页缺失导致的性能损失是很大的。以一块7200rpm的主流机械硬盘为例,其平均寻道时间为8.5毫秒, 读入内存需要0.05毫秒。相对的,DDR3内存的访问延迟通常在数十到100纳秒之间,性能差距可能会达到8万到22万倍。 形象的说,如果发生硬性页缺失,电脑性能会瞬间下降8万到22万倍.
3 0 2040天前
admin
7891
将以下代码复制到文本中,保存成bat,右键以管理员身份执行即可 32位版: %SystemRoot%\System32\OneDriveSetup.exe /uninstall taskkill /F /IM explorer.exe takeown /f %UserProfile%\OneDrive icacls %UserProfile%\OneDrive /grand Administrator:F takeown /f %LocalAppData%\Microsoft\OneDrive icacls %LocalAppData%\Microsoft\OneDrive /grand Administrator:F takeown /f %ProgramData%\Microsoft OneDrive icacls %ProgramData%\Microsoft OneDrive /grand Administrator:F RD "%UserProfile%\OneDrive" /Q /S RD "%LocalAppData%\Microsoft\OneDrive" /Q /S RD "%ProgramData%\Microsoft OneDrive" /Q /S RD "C:\OneDriveTemp" /Q /S REG Delete "HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f REG Delete "HKEY_USERS\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run\OneDriveSetup" /f explorer 64位版: %SystemRoot%\SysWOW64\OneDriveSetup.exe /uninstall taskkill /F /IM explorer.exe takeown /f %UserProfile%\OneDrive icacls %UserProfile%\OneDrive /grand Administrator:F takeown /f %LocalAppData%\Microsoft\OneDrive icacls %LocalAppData%\Microsoft\OneDrive /grand Administrator:F takeown /f %ProgramData%\Microsoft OneDrive icacls %ProgramData%\Microsoft OneDrive /grand Administrator:F RD "%UserProfile%\OneDrive" /Q /S RD "%LocalAppData%\Microsoft\OneDrive" /Q /S RD "%ProgramData%\Microsoft OneDrive" /Q /S RD "C:\OneDriveTemp" /Q /S REG Delete "HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f REG Delete "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f REG Delete "HKEY_USERS\DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run\OneDriveSetup" /f explorer 如需更完整的清理可下载我们的脚本后执行 附件:OneDriveClear
1 0 2052天前
admin
5687
原文地址:http://os.51cto.com/art/201807/577526.htm了解如何在 Linux 中暂时禁用 iptables 防火墙来进行故障排除。还要学习如何保存策略以及如何在启用防火墙时恢复它们。有时你需要关闭 iptables 防火墙来做一些连接故障排除,然后你需要重新打开它。在执行此操作时,你还需要保存所有防火墙策略。在本文中,我们将引导你了解如何保存防火墙策略以及如何禁用/启用 iptables 防火墙。有关 iptables 防火墙和策略的更多详细信息请阅读我们的文章。保存 iptables 策略临时禁用 iptables 防火墙的第一步是保存现有的防火墙规则/策略。iptables-save 命令列出你可以保存到服务器中的所有现有策略。root@kerneltalks # # iptables-save # Generated by iptables-save v1.4.21 on Tue Jun 19 09:54:36 2018 *nat :PREROUTING ACCEPT [1:52] :INPUT ACCEPT [1:52] :OUTPUT ACCEPT [15:1140] :POSTROUTING ACCEPT [15:1140] :DOCKER - [0:0] ---- output trucated---- root@kerneltalks # iptables-save > /root/firewall_rules.backup因此,iptables-save 是可以用来备份 iptables 策略的命令。停止/禁用 iptables 防火墙对于较老的 Linux 内核,你可以选择使用 service iptables stop 停止 iptables 服务,但是如果你在用新内核,则只需清除所有策略并允许所有流量通过防火墙。这和你停止防火墙效果一样。使用下面的命令列表来做到这一点。root@kerneltalks # iptables -F root@kerneltalks # iptables -X root@kerneltalks # iptables -P INPUT ACCEPT root@kerneltalks # iptables -P OUTPUT ACCEPT root@kerneltalks # iptables -P FORWARD ACCEPT这里 –-F:删除所有策略链-X:删除用户定义的链-P INPUT/OUTPUT/FORWARD :接受指定的流量完成后,检查当前的防火墙策略。它应该看起来像下面这样接受所有流量(和禁用/停止防火墙一样)# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination恢复防火墙策略故障排除后,你想要重新打开 iptables 的所有配置。你需要先从我们在第一步中执行的备份中恢复策略。root@kerneltalks # iptables-restore </root/firewall_rules.backup启动 iptables 防火墙然后启动 iptables 服务,以防止你在上一步中使用 service iptables start 停止了它。如果你已经停止服务,那么只有恢复策略才能有用。检查所有策略是否恢复到 iptables 配置中:# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy DROP) target prot opt source destination DOCKER-USER all -- anywhere anywhere DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere -----output truncated-----就是这些了!你已成功禁用并启用了防火墙,而不会丢失你的策略规则。
1 0 2125天前
admin
9943
          由于频繁安装和删除软件,结果导致打开所有的.vbs脚本时,都会弹出“无法找到VBScript脚本引擎”的错误框。网上搜了一些解决办法,都无效。我的系统是win7。    如果系统是xp,网上给出一种解决办法,有人用它解决了此问题。  “这里给出无法找到脚本引擎"vbscript"的解决方法:     1)找到文件: C:\WINDOWS\inf\wsh.inf,右键“安装”;     2)开始→运行行里输入: regsvr32 urlmon.dll shdocvw.dll jscript.dll vbscript.dll /s 一般使用上述两个步骤就可解决问题。”    如果注册失败请到这里下载修复工具:http://blog.sina.com.cn/s/blog_3d730bdf0101c5hv.html    但是win7及更高的系统中的“ C:\WINDOWS\inf\ ”文件夹下根本就没有wsh.inf文件。后来使用英文搜索,找到了问题的解决办法。原因是安装一些杀毒软件(如卡巴、瑞星等),改变了注册表中默认打 开.vbs脚本的dll库。卸载杀毒软件后,注册表中这些信息仍没有被删除,所以导致打开.vbs脚本时,会去调用杀毒软件程序的dll库,才出现了此问题。    “开始”->“运行”->“regedit”,找到项“HKEY_CLASSES_ROOT\CLSID \{B54F3741-5B07-11cf-A4B0-00AA004A55E8}\InprocServer32”,将它的“默认”值改为“C: \Windows\system32\vbscript.dll”(不需要引号,此dll库才是windows中默认打开.vbs脚本的程序)。我在修改 “默认”值时,被拒绝修改,后来经过同事指点,是它没有写权限,所以在项“InprocServer32”上右键选择“权限”,给你当前用户添加“完全控 制”的权限,再修改即可解决此问题。
5 0 2133天前
admin
7677
随着Windows 10的完善,目前win10系统下可以安装Linux子系统,通过安装子系统就不必再装双系统,但是子系统安装好后运行的窗口类似开启了一个终端,没有图形界面,那么,这个经验就是教大家怎么去安装Linux图形界面。安装方法就不在这里讲述了,这里我们假定大家已经装好Linux系统进入方法有以下几种:1。在左下角的Cortana中搜索Ubuntu,点击进入,看到的界面就如同我们在Ubuntu下的终端界面,在这个窗口测试一下ls命令,无误。2.通过CMD/Windows Power Shell中,输入bash进入也是可以的进入正题目前网络上主要为两种方案:一。远程桌面协议(参考:https://jingyan.baidu.com/article/ed2a5d1f98577809f6be17a3.html)我们在Linux命令行下依次输入以下命令:更新sudo apt-get update安装 xorgsudo apt-get install xorg安装xfce4sudo apt-get install xfce4安装xrdpsudo apt-get install xrdp配置xrdpsudo sed -i 's/port=3389/port=自定义为你自己的端口/g' /etc/xrdp/xrdp.ini上面是配置端口,其中第一个port3389为固定端口,后一个port为对外访问端口,也即是你之后连进来的端口向xsession中写入xfce4-sessionsudo echo xfce4-session >~/.xsession重启xrdp服务sudo service xrdp restart如果有防火墙,允许就好了。以上内容设置完成后,就可以通过远程桌面连接上去了,用户名与密码为你Linux子系统的密码二。使用第三方插件实现(例如:X-Windows 资料来源:https://blog.csdn.net/u011138447/article/details/78262369)
2 0 2171天前
admin
17540
昨晚更新系统,更新完成后今天开机打开远程桌面意外却提示了 英文提示: An authentication error has occurred. The function requested is not supported Remote computer:xxx.xxx.xx This could be due to CredSSP encryption oracle remediation For more information, see https://go.microsoft.com/fwlink/?linkid=866660 中文提示: 经过查询资料得知 微软相关资料页面:点击访问 知道原因,问题就很好解决了,我们可以通过以下两种方法进行解决 1.如果可以直接访问,则只需在主机上通过安装对应的Windows 补丁即可解决 2.对于无法进行直接访问的,可以通过打开组策略(gpedit.msc),找到如下策略: 策略路径:“计算机配置”->“管理模板”->“系统”->“凭据分配” 英文版策略路径名称:“Computer Configuration”-> "Administrative Templates" -> "System" -> "Credentials Delegation" 设置名称: 加密 Oracle 修正 (Encryption Oracle Remediation) 默认为未配置,我们只需要将其改为已启用,防护级别改为“易受攻击”,应用并保存即可正常连接**ps:在Windows Server 2012 R2中已看不到此选项,建议尝试更新系统后再尝试,或也可尝试通过导入以下注册表尝试解决,如果仍旧无法解决,建议暂时通过修改系统属性中远程桌面的安全选项以解决连接问题注册表路径HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters值AllowEncryptionOracle数据类型DWORD是否需要重启?是运行regedit打开注册表管理器。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\创建两级文件夹,也就是新建项。CredSSP\Parameters然后再Parameters下新建DWORD 32位,修改名称AllowEncryptionOracle。双击修改值为2.如觉得操作麻烦,也可直接导入以下注册表文件:注册表文件(本地下载)     注册表文件(云文件:0KB)附上KB4093120 官方下载地址:Microsoft Update Catalog
5 0 2175天前
admin
5852
    相信很多和我一样的linux新手都会在安装linux后,输入命令下载文件,常常为输入一个长长的url地址而烦心吧。所以在安装linux后,第一步我们应该及时安装VMware Tools,这样会省不少事。好了,废话少说,开始进入正题吧:如何在Linux命令行模式下安装VMware Tools。选择菜单栏“虚拟机”——“安装VMware tools” ,等待系统自动更换ISO光盘**mount /dev/cdrom /mnt cd /mnt tar zxvf VMwareTools-9.6.0-1294478.tar.gz -C /root/(安装到的目录) cd /root/ cd vmware-tools-distrib/ ./vmware-install.pl最后,我们只需要一路回车到底,完成后重启系统。
3 0 2188天前
admin
10251
      近日需要更换一台惠普的笔记本硬盘成固态,机器是HP17q-bu100TX 17.3寸笔记本,电池是2850mah,网上查是2017年8月份的新机。 不多说,开始拆,拆下电池后,接下来把所有可见的螺丝拧下来却怎样也拆不开,后网上搜索该机型也找不到相关的内容,无奈只好自己研究,后看到说惠普的机型都喜欢在硅胶下隐藏螺丝,把机器四个硅胶扣下,终于发现最后的四颗螺丝,拧下来后,剩下的只需要沿着键盘那里的封一点一点的用指甲或者卡片划开,就可以拆下 螺丝位置图主板一览部分细节部分细节
8 0 2321天前
admin
6372
原文发表于2017年第8期《网络安全与信息化》,转发到博客。更多相关资料可参看视频教程“局域网安全实战”,http://edu.51cto.com/course/10348.html 转载自:http://yttitan.blog.51cto.com/70821/1975137DHCP攻击针对的目标是网络中的DHCP服务器,原理是耗尽DHCP服务器所有的IP地址资源,使其无法正常提供地址分配服务。然后在网络中再架设假冒的DHCP服务器为客户端分发IP地址,从而来实现中间人攻击。本文以神州数码CS6200交换机为例,从原理、实施、防御三个方面对DHCP攻击进行了全面介绍。1. DHCP工作过程DHCP客户端从服务端申请到IP地址等网络配置信息需要经过四个步骤,每个步骤需要发送相应类型的数据报文,如图1所示。图 1 DHCP工作过程①首先由客户端以广播方式发出“DHCP Discover”报文来寻找网络中的DHCP服务端。②当服务端接收到来自客户端的“DHCP Discover”报文后,就在自己的地址池中查找是否有可提供的IP地址。如果有,服务端就将此IP地址做上标记,并用“DHCP Offer”报文将之发送回客户端。③由于网络中可能会存在多台DHCP服务端,所以客户端可能会接收到多个“DHCP Offer”报文。此时客户端只选择最先到达的“DHCP Offer”,并再次以广播方式发送“DHCP Request”报文。一方面要告知它所选择的服务端,同时也要告知其它没有被选择的服务端,这样这些服务端就可以将之前所提供的IP地址收回。④被选择的服务端接收到客户端发来的“DHCP Request”报文后,首先将刚才所提供的IP地址标记为已租用,然后向客户端发送一个“DHCP Ack”确认报文,该报文中包含有IP地址的有效租约以及默认网关和DNS服务器等网络配置信息。当客户端收到“DHCP ACK”报文后,就成功获得了IP地址,完成了初始化过程。2.    DHCP攻击原理与实施下面搭建如图2所示的实验环境,神州数码CS6200交换机作为正常的DHCP服务端在网络中提供地址分配服务,攻击者在Kali Linux上对交换机发起DHCP攻击,使其地址池资源全部耗尽,然后攻击者再启用假冒的DHCP服务器在网络中提供地址分配服务。在假冒DHCP服务器所提供的网络配置信息中,默认网关被设置为Kali Linux的IP地址192.168.1.5(正确的默认网关应该是交换机的IP地址192.168.1.1),被攻击主机在获取了假冒DHCP服务器所提供的网络配置信息后,就会将所有的上网数据全部发送给Kali Linux。此时只要在Kali Linux上启用路由转发功能,就可以将被攻击主机的上网流量全部正常转发出去,因而并不影响其正常通信,但是其访问互联网的所有数据都可以在Kali Linux上被截取到。图 2实验环境下面将分步骤来依次完成DHCP攻击过程。2.1    在交换机中配置DHCP服务#首先启用DHCP功能:CS6200 (config)#service dhcp#创建名为test的地址池,并进入地址池的局部配置模式:CS6200 (config)#ip dhcp pool test#指定地址池可供分配的地址范围,一般都是指定一个网段地址:CS6200 (dhcp-test-config)#network-address192.168.1.0 255.255.255.0#指定默认网关,一般就是交换机的地址:CS6200(dhcp-test-config)#default-router 192.168.1.1#指定DNS服务器地址:CS6200(dhcp-test-config)#dns-server 202.102.134.68#设置租期,格式是“天时分”,比如“lease8 0 0 ”表示租期是8天,“lease0 8 0”表示租期是8小时。CS6200 (dhcp-test-config)#lease 0 80#设置地址池中不用于分配的地址(需要在全局配置模式下做):CS6200 (config)#ip dhcpexcluded-address 192.168.1.1 192.168.1.20设置完成后,在被攻击主机上可以成功看到分配到的IP地址等信息。图 3被攻击主机获取的正确网络配置信息#在交换机上可以查看到已经分配出去的IP地址。CS6200#shwoip dhcp bingdingTotaldhcp binding items:1,thematched:1IPaddress                    Hardwareaddress              Lease expiration                Type192.168.1.21        00-0C029-81-BA-30  Thurs Jun 15 15:08:00 2017     Dynamic为了验证攻击的效果,在开始攻击之前,我们先将已经分配出去的IP地址收回。#在交换机上收回分配出去的IP地址:CS6200#clear ip dhcp binding all#在被攻击主机上释放已经获取到的IP地址:ipconfig /release2.2    DHCP耗尽攻击下面模拟攻击者在Kali Linux中实施攻击,这里要用到一个名为Yersinia的攻击工具。Yersinia是一款底层协议攻击入侵检测工具,能实施针对多种网络协议的多种攻击。在Kail中执行“yersinia –G”命令打开图形化的Yersinia界面,运行之后,点击“Launch attack”,选择DHCP,然后选择发送DISCOVER包,开始进行攻击,如图4所示。图 4在Yersinia中实施攻击在攻击持续的情况下,在交换机中执行CS6200#shwoip dhcp server statistics命令查看DHCP的统计信息,可以看到交换机已经接收到了大量的DHCP DISCOVER数据包,如图5所示,地址池资源已被耗尽。图 5交换机接收到大量的DHCPDISCOVER数据包此时在被攻击主机上执行“ipconfig /renew”命令重新申请IP地址,就无法申请到IP地址等网络配置信息了。2.3    DHCP假冒攻击耗尽DHCP服务端的地址资源之后,攻击者就可以架设自己的DHCP服务器,从而实现DHCP假冒攻击首先在假冒的DHCP服务器上架设DHCP服务,指定地址池范围为192.168.1.100~200,并将默认网关指向Kali Linux的IP地址192.168.1.5。需要注意的是,在将DHCP服务架设好之后,先暂时不要将服务激活,由于此时Kali Linux上的DHCP 耗尽攻击仍在继续,一旦激活服务,这台假冒DHCP服务器的地址资源也将会很快被耗尽。下面在Kali Linux上停止攻击,并快速激活假冒DHCP服务器上的DHCP服务,可以看到被攻击主机成功从假冒服务器处申请到了IP地址,如图6所示。图 6被攻击主机获取到的假冒网络配置信息这里同样需要注意一个问题,在将Yersinia停止攻击之后,一定要快速激活假冒DHCP服务器上的DHCP服务。这是因为Yersinia的攻击原理是发送大量的DHCP Discover报文,交换机会向其返回DHCP Offer报文,而在这个Offer报文中所提供的IP地址并未真正分配出去,在等待一段时间之后(大约5分钟),交换机会自动将IP地址收回,因而只要停止攻击之后过一段时间,交换机就会自动恢复正常。攻击成功之后,被攻击主机的上网流量就将全部被导向到Kali Linux。在Kali中需要执行下面的命令开启路由转发功能,以便将被攻击主机的数据转发到互联网。echo 1> /proc/sys/net/ipv4/ip_forward最后,就可以在Kali Linux中利用Wireshark等抓包工具来截获被攻击主机的上网数据了。不过对于这种DHCP攻击方式,只能单向截获从被攻击主机发往互联网的数据,而无法截获从互联网发回给被攻击主机的数据,这是由于DHCP攻击无法去攻击默认网关等网络出口设备,要想真正实现双向截获数据的中间人攻击,还是要通过ARP欺骗等攻击方式。3.    防范DHCP假冒攻击在交换机上通过传统的DHCPSnooping技术就可以来防范DHCP假冒攻击。当启用了DHCP Snooping功能之后,交换机的所有端口都将无法接收DHCP Offer报文,这样假冒的DHCP服务器就无法向外分配IP地址了。下面在神州数码CS6200交换机上启用并配置DHCP Snooping功能。#启用DHCP Snooping功能:CS6200(config)#ip dhcp snooping enable#将DHCP Snooping应用于指定的VLAN,这里应用于默认的VLAN 1:CS6200(config)#ip dhcp snooping vlan 1启用了DHCP Snooping功能之后,还需要设置如果从某个端口收到假冒DHCP服务报文后,将对这个端口如何处理。处理动作有两个:l  shutdown:端口检测到假冒DHCP Server时,将shutdown此端口。l  blackhole:端口检测到假冒DHCP Server时,将以伪装数据包的vid和源mac设置blackhole来阻止此Mac的流量,也就是将假冒服务器的数据暂时丢弃一段时间,可选择的时间范围为10~3600秒。比如将20号端口设置为接收到假冒服务器报文后,将数据暂时丢弃300秒。CS6200 (config-if-ethernet1/0/20)#ip dhcp snooping actionblackhole recovery 300由于shutdown的处理动作过于严格,因而建议采用blackhole模式进行防范。4.    防范DHCP耗尽攻击DHCP Snooping功能只能防止假冒攻击,而无法防止耗尽攻击。这是由于耗尽攻击所采用的都是客户端正常发送的DHCPDiscover报文,因而DHCPSnooping对其无能为力。可以通过交换机的Port-Security(端口安全性)功能来防范耗尽攻击。因为Yersinia伪造的每个DHCPDiscover报文的源MAC地址都是不同的,在交换机中执行CS6200#showmac-address-table命令查看MAC地址表,就会发现在KaliLinux所连接的10号端口上产生了大量的MAC地址表条目。CS6200#showmac-address-tableReadmac address table….Vlan              Mac Address               Type                    Creator                 Ports1             00-03-0f-3e-e6-90             STATIC               System                 CPU1             ec-a8-6b-61-64-a1             DYNAMIC          Hardware             Ethernet1/0/101             00-07-72-01-47-8b     DYNAMIC          Hardware             Ethernet1/0/101             00-0a-b5-14-d5-dd            DYNAMIC          Hardware             Ethernet1/0/10……我们通过Port-Security技术来限制交换机每个端口可以学习到的最大MAC地址数量,这样就可以有效地来防范DHCP耗尽攻击。比如在交换机的10-15号端口上启用Port-Security,并设置每个端口可以学习的最大MAC地址数量为2,违规动作为restrict,这样当安全MAC地址的数量达到端口允许的限制时,交换机就会将带有未知源地址的数据帧丢弃,并记录日志。#开启交换机CPU控制学习功能:CS6200(config)#mac-address-learning cpu-control                 #进入端口配置模式:CS6200(config)#interface ethernet 1/0/10-15#启用Port-Security:CS6200(config-if-port-range)#switchport port-security#设置最大MAC地址数量为2:CS6200(config-if-port-range)#switchport port-security maximum 2#设置违规动作为restrictCS6200(config-if-port-range)#switchportport-security violation restrict这样在交换机上通过设置DHCP Snooping再结合Port-Security功能,就可以有效地防范DHCP攻击,从而增强局域网的安全性。
35 0 2373天前
快速发帖 高级模式
桂公网安备 45010302000666号 桂ICP备14001770-3号
感谢景安网络提供数据空间
本站CDN由七牛云提供支持
网站已接入ipv6
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
如果某些内容侵犯了您的权益,请通过右侧按钮与我们联系
Your IP: 3.144.212.145 , 2024-04-27 04:45:44 , Processed in 0.28027 second(s).
Powered by HadSky 8.3.7
知道创宇云安全