IT技术互动交流平台

如何编写Windows安全检查脚本?(简化为批处理)

作者:鬼魅羊羔  来源:IT165收集  发布日期:2016-07-14 22:03:39

Linux安全检查的写了,Web日志的也写了,变态客户天天有,最近遇见的特别多。之前用C#写了个一键式的Windows服务器日常检查的程序,但是客户还是觉得麻烦。因为有的服务器没有装.NET环境,非要我写成批处理。
其实真的很想骂人,@#!%@%&省略一些不好听的话——你咋不上天呢!
抱怨归抱怨,但是客户要求还是得满足。
大家应该知道,Windows系统问题太多,要关注的地方也数不胜数,做日常检查,真的要一个命令一个命令的翻,确实麻烦,而且,重点是注册表,挨个的展开,绝对是一个闹心的活儿。我把一些常用的命令做了个整合,有些检查方法用C#写起来很方便,用批处理就有点不好写了
这个批处理主要检查的内容是:
1、系统信息检查
2、端口状态检查
3、添加/卸载记录
4、IE浏览器记录
5、用户检查
6、隐藏用户检查
7、进程检查
8、注册表启动项检查
9、通信检查
10、CMD使用记录检查
11、C盘部分文件夹捆绑文件检查

也就十几项吧。因为是批处理,大家可以自己根据需求添加。。一个批处理,没啥技术难度,就不细讲了。
有一个使用重点,如果是涉及到注册表检查的,需要给注册表赋予权限,才能通过reg query来读取,大部分注册表是不允许直接读取的。权限问题吧。。
这里用到了类似这样的操作
HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsersNames [1 2 19]
注册表相关权限如下:
用regini,是系统自带的注册表权限工具1   - Administrators 完全访问2   - Administrators 只读访问3   - Administrators 读和写入访问 4   - Administrators 读、写入、删除访问 5   - Creator 完全访问6   - Creator 读和写入访问 7   - everyone 完全访问8   - everyone 只读访问9   - everyone 读和写入访问 10 - everyone 读、写入、删除访问 11 - Power Users 完全访问12 - Power Users 读和写入访问 13 - Power Users 读、写入、删除访问 14 - System Operators 完全访问15 - System Operators 读和写入访问 16 - System Operators 读、写入、删除访问 17 - System 完全访问18 - System 读和写入访问 19 - System 只读访问20 - Administrators 读、写、执行访问21 - Interactive User 完全访问22 - Interactive User 读和写入访问 23 - Interactive User 读、写入、删除访问命令格式为HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun [2 9 19]
里面部分命令用到了wmic,这个工具挺好用,就是很多高级的用法,百度没有,能找到的资料真的有限。
因为实在是没太多技术含量的东西,批处理命令,大家都懂得。。
不废话了,贴出脚本命令,供大家娱乐下。
@echo off
echo                                        "Windows系统安全检查脚本"
if exist d:检查结果 (
   echo
) else (
md d:检查结果
)
if not exist d:检查结果 md d:检查结果
     
echo "系统信息检查"
systeminfo >d:检查结果系统信息.log
echo "端口信息检查"
netstat -anb >d:检查结果端口信息.log
echo "进程检查"
tasklist&net start >d:检查结果进程检查.log
echo "进程路径检查"
wmic process get name,executablepath,processid >d:检查结果进程路径检查.log
echo "默认共享检查"
net share >d:检查结果默认共享检查.log
echo "用户信息检查"
net user & net localgroup administrators >d:检查结果用户信息检查.log
echo "隐藏用户检查"
echo HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsersNames [1 2 19]>d: egg.ini&echo HKEY_LOCAL_MACHINESAMSAM [1 2 19] >>d: egg.ini & regini d: egg.ini® query HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsersNames >d:检查结果隐藏用户检查.log&del d: egg.ini
echo "注册表启动项检查"
reg query HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun & reg query HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun >d:检查结果注册表启动项检查.log
echo "安全策略检查"
secedit /export /cfg LocalGroupPolicy&type LocalGroupPolicy >d:检查结果安全策略检查.log
echo "IE浏览器记录检查"
reg query HKEY_CURRENT_USERSoftwareMicrosoftInternet" "ExplorerTypedURLs >d:检查结果IE浏览器记录检查.log
echo "添加和卸载记录"
reg query HKEY_LOCAL_MACHINESOFTWAREMICROSOFTWINDOWSCURRENTVERSIONUNINSTALL /s /v DisPlayname >d:检查结果添加和卸载记录.log
echo "异常状态检查"
reg query HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows" "NTCurrentVersionSvcHost /s /v netsvcs® query HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows" "NTCurrentVersionSvcHost /s /v LocalService >d:检查结果异常状态检查.log
echo "通信检查"
netstat -a >d:检查结果通信检查.log
echo "CMD记录"
reg query HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerRunMRU >d:检查结果CMD记录.log
echo "文件记录检查"
reg query HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerTypedPaths >d:检查结果文件记录检查.log

echo "文件记录检查2"
reg query HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerComDlg32OpenSaveMRU* /v * >d:检查结果文件记录检查2.log
echo "程序记录"
reg query HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerComDlg32LastVisitedMRU >d:检查结果程序记录.log
echo "程序记录"
reg query HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerComDlg32LastVisitedMRU >d:检查结果程序记录.log
echo "C盘捆绑文件检查"
echo "正常可执行文件返回结果为1,不可执行文件结果为0,返回结果为2的,为存在捆绑内容文件。"
echo "请点击回车继续!"
set /p var=find /c /i "this program" c:*  c:Inetpub*  C:UsersAdministratorDesktop* c: emp* >d:检查结果捆绑文件检查.log
%var%
if %ERRORLEVEL% == 0 goto yes
goto no
:yes
exit
:no
find /c /i "this program" c:*  c:wmpub* c:Inetpub* C:Documents and SettingsAdministrator桌面* >d:检查结果捆绑文件检查.log
echo "鬼魅羊羔"
执行结果会保存在D:检查结果文件夹下




注:
1、C盘捆绑文件检查有时候会有些问题,如果检查的目录不存在,这个命令就会被丢弃。。大家根据需要自己改吧。
2、默认输出的文件夹是在D:检查结果中,这个也可以根据需要自己改下。
也许有的人看完会说,这么简单的批处理也拿出来发。确实这东西没什么技术含量,但是,因为我是个菜鸟,也是为了造福跟我一样的菜鸟们而已,就这么简单。
超级文件监控程序V2.0改进版(网站防挂马好手),这个是根据shack2的文件监控程序改的,除了监控以外,增加了对触发创建、修改、更名等文件的内容判断功能,如果内容中含有webshell特征,则会自动进行处理。被检测到的网马存活不会超过20秒。监控网站目录是个利器哟,只不过还是C#的。。。
增加了大概170多个特征和关键函数的识别,还是有一定的识别能力的。

 

延伸阅读:

Tag标签: 脚本  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规