安全基线、加固及漏洞验证笔记

一、系统漏洞验证
漏洞名称: Microsoft远程桌面协议RDP远程代码可执行漏洞(MS12-020)漏洞利用:
此漏洞可导致操作系统蓝屏,故本次未正式利用,利用方法如下:
使用MSF: use auxiliary/dos/windows/rdp/ms12_020_maxchannelids利用此漏洞我测试目标的远程端口为33890,当出现seems down就说明目标已经被攻击。如图已经蓝屏

漏洞名称: Windows Server服务RPC请求缓冲区溢出漏洞(MSO8
-067) windows2003居多
漏洞利用1:可使用ms08067小工具在window验证
漏洞利用2:MSF:msf> search ms-=08-067;msf > use exploit/windows/smb/ms08_067_netapi

漏洞名称: Microsoft Windows SMB NT Trans请求缓冲区溢出漏洞(MSO9-001)
漏洞利用:msf:ms09-001-write (该漏洞为dos攻击漏洞)

漏洞名称: Microsoft Windows SMB2报文协商越界内存引用漏洞(MSO9-050)
漏洞利用:此漏洞可能导致执行任意指令或导致系统蓝屏死机。
MSF:search ms09-050

漏洞名称: finger o@host用户名列表泄漏(Linux系统下)
漏洞利用:验证的时候,目标服务器未开启91端口
Msf auxiliary(apache_mod_isapi) > use auxiliary/scannerisnger/finger_users

漏洞名称: GNU Wget符号链接漏洞(CVE-2014-4877)
漏洞利用:首先先建立一个计划任务文件,文件内容是反弹一个交互式的shell到本机

漏洞名称:检测到远端rexec服务正在运行中
漏洞利用:利用此服务,可在获取密码的情况下执行系统命令。

rexec
rexec xx.xx.xx.xx -l root -n ifconfig

漏洞名称: GNU Bash环境变量远程命令执行漏洞(CVE-2014-6271)-bash漏洞
漏洞利用︰
漏洞验证,可以使用如下命令来检查系统是否存在此漏洞(在本机Bash环境下运行)∶
CVE-2014-6271测试方式:
env x='(){ :}; echo vulnerable' bash -c "echo this is a test"
如执行结果如下表明有漏洞:
vulnerable
this is a test
修补后,又被绕过,CVE-2014-7169最新测试方法:
env -i X='() {(a)=>' bash -c 'echo date"'; cat echo
如执行结果如下则仍然存在漏洞:
bash:X: line 1: syntax error near unexpected token =' bash: X: line 1: bash: error importing function definition for X'
Wed Sep 24 14:12:49 PDT 2014

漏洞名称: OpenSSL TLS心跳扩展协议包远程信息泄露漏洞(CVE-2014-0160)
漏洞利用:
此漏洞未利用成功,可能目标已经打上补丁或存在误报。Openssl.py脚本内容可直接百度"openssl.py"获取。
openssl.py xx.xx.xx.xx -p 443

漏洞名称: Microsoft SQL Server sp_replwritetovarbin远程堆溢出漏洞(CVE-2008-4270,CVE-2008-5416)
msfexploit(ms$8_067_netapi) > use exploit/windows/mssq1/ms09 004_sp_replwritetovarbin
数据库很多可能存在误报

漏洞名称: Oracle 8i TNS Listener缓冲区溢出漏洞
漏洞利用:
nsf exploit(msb9 064 sp repluritetovarbin) > use exploit/windows/oracle/tns arguments

漏洞名称: Oracle DBMS绕过登录访问控制漏洞(CVE-2006-0291)
漏洞利用:此漏洞存在于:
Oracle Oracle8i 8.1.7x.x
Oracle Oracle9i 9.2.0.7
Oracle 10g Release 2 (10.2.0.1.0)
Oracle 10g Release 1 (10.1.0.4.2)
漏洞利用程序
http://www.exploit-db.com/wp-content/themes/exploit/docs/75.pdf(失效)

二、系统漏洞加固
1、打补丁
那些利用容易、涉及主机较多(消除大部分风险为主)
2、改配置
临时加固-让漏洞不可用
3、弱口令

网络设备加固-注意事项:
升级OS:可能导致网络设备无法正常工作(事先需对OS、配置文件进行备份,一旦发现问题立即退回);
根据安全要求配置访问列表:可能导致某些用户无法访问、管理复杂度上升(改回即可恢复);
关闭不必要的服务:可能导致部分相关服务不可用,改动前需经网络管理员确认(改回即可恢复);
对路由协议进行安全配置:可能导致网络连接不正常(改回即可恢复);

主机系统加固-注意事项:
安装Patch: 可能会导致某些特定的服务不可用甚至主机崩溃(尽量采用可卸载
的Patch安装方式,如无法卸载则我司根据以往的经验以及被加固主机的应用特点提出的建议,由管理员最终确认);
修改配置文件禁止某些默认用户登陆: 可能导致某些特定服务不可用(改回配置文件即可恢复);
停掉某些不必要的系统服务:可能导致某些应用程序不可用,需管理员事先确认(重新启动服务即可恢复);
对主机上的某些应用程序进行升级或对配置文件进行调整,以增强安全性:可能导致应用程序运行不正常(改回配置即可恢复);
文件系统加固,调整重要系统文件的安全属性和存取权限:可能导致某些程序无法正常运行(改回属性和权限即可恢复);

数据库加固-注意事项:
针对系统平台选择安装数据库Patch:可能导致数据库无法正常工作,其他依赖于数据库的应用程序也将受到影响(根据我司的实施经验由实施工程师提出建议,由数据库管理员进行确认,必要时可咨询厂商技术人员)
将数据库某些帐户的密码改为强壮的密码:可能导致某些登陆数据库的应用程序需要重新设置(加固前通知相关应用系统管理员,同时设置应用程序);
禁止数据库系统使用不必要的网络协议︰可能导致某些依赖于相关协议的应用程序无法正常工作(改动前需由数据库管理员进行确认);
正确分配数据库相关文件的访问权限:可能导致被遗漏的用户无法访问相关文件(重新设置即可);
删除无用的存储过程或扩展存储过程:可能导致数据库的某些功能无法使用,实施前需经数据库管理员确认。

中间件加固-注意事项:
针对系统平台选择安装中间件或网络服务Patch:可能导致中间件或网络服务无法正常工作,其他依赖于这些中间件的应用程序也将受到影响(根据我司的实施经验由实施工程师提出建议,由系统管理员进行确认,必要时可咨询厂商技术人员) ;
修改某些默认的安全配置:可能导致某些关联的程序不可用,需管理员事先确认
(修改回原来的配置即可恢复)。

风险规避:
1、充分的交流
在确定加固方案之前,会与客户进行方案的深层次沟通,让客户知晓每一个安全加固项可能会给系统带来的影响,并结合实际情况和丰富的安全服务经验,确定安全加固实施的时间和范围。
2、加固方案验证
在将具体的安全加固方案提交给客户前,加固人员会进行必要的验证,确保加固项不会导致加固目标工作异常。
3、操作记录
加固人员会对项目过程中的每一个关键环节进行详细的记录,包括什么时候收到客户信息、什么时候进行了哪些工作等等,以便出现意外后进行追查。

补丁服务器WSUS:
1、确定操作系统版本
2、systeminfo查看安装的补丁
3、测试目标是否存在漏洞
4、加固后测试

三、安全基线检查
1、Windows
身份鉴别:用户名操作、默认用户名、GUST、远程枚举等......
访问控制:共享账号、远程关机、本地关机、本地权限指派等......
安全审计:Windowstime服务(时间同步)、针对那些日志审计
资源控制:登录超时管理
剩余信息保护:不显示上次的用户名、密码存储不可还原、安装补丁
恶意代码防范:安装防病毒软件
入侵防范:syn防护
安全基线项说明:启用SYN攻击保护;指定触发SYN洪水攻击保护所必须超过的TCP连接请求数阀值为5,指定处于SYN_RCVD状态的TCP连接数的阈值为500;指定处于至少已发送一次重传的
SYN_RCVD状态中的TCP连接数的阈值为400。
检测操作步骤
版本:Windows 2003 Server、Window XP、Windows 7在“开始->运行-→>键入regedit"
查看注册表项
HKEY_LOCAL_MACHINE\SVSTEM\CurrentControlSet(Services\SynAttackProtect;推荐值: 2。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpMaxPortsExhausted;推荐值:5。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet|Services\TcpMaxHalfOpen;推荐值数据:500。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpMaxHalfOpenRetried。推荐值数据: 400。版本:Windows 2008 Server
开始->运行->键入regedit,在注册表项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下,值名称为
SynAttackProtect=2、EnableDeadGWDetect=O、KeepAliveTime= 300000、DisablelPSourceRouting=2、TcpMaxConnectResponseRetransmissions=2、TcpMaxDataRetransmissions=3、PerformRouterDiscovery=O

常用命令:
桌面 explorer
控制面板 control
本地安全策略 secpol.msc
组策略 gpedit.msc
注册表 regedit
开机启动 msconfig
本地用户和组 lusrmgr.msc
事件查看器 eventvwr
查看共享 fsmgmt.msc
计算机管理 compmgmt.msc
磁盘管理 diskmgmt.msc
服务管理 services.msc
防火墙 firewall.cpl
网络连接 ncpa.cpl
添加删除程序 appwiz.cpl

2、linux
身份鉴别:
是否存在非root,uid=0:awk -F: '($30) { print $1 }' /etc/passwd
是否有空口令:awk -F: '($2
"") { print $1 }' /etc/shadow
访问控制:
文件系统-查找未授权的SUID/SGID文件
用下面的命令查找系统中所有的SUID和SGID程序,执行:for PART in grep -v ^# /etc/fstab | awk '($6 !="0"") {print $2 } ; do find $PART \( -perm -04000 -o -perm -02000 \) -type f -xdev -print Done SUID/SGID是一种特殊权限,设置了suid的程序文件,在用户执行该程序时,用户的权限是该程序文件属主的权限。例如程序文件的属主是root,那么执行该程序的用户就将暂时获得root账户的权限。sgid与suid类似,只是执行程序时获得的是文件属组的权限。 安全基线项说明:文件系统-检查任何人都有写权限的目录 检测操作步骤:在系统中定位任何人都有写权限的目录用下面的命令: for PART in awk '($.3 == "ext2" || $3 == "ext3"")l
{ print $2 } /etc/fstab ; do
find $PART -xdev -type d ( -perm -0002 -a ! -perm - 1000 ) -printDone
基线符合性判定依据:若返回值非空,则低于安全要求;
安全基线项说明:文件系统-查找任何人都有写权限的文件
检测操作步骤:在系统中定位任何人都有写权限的文件用下面的命令
for PART in 'grep -v ^# /etc/fstab | awk '($6 !=“0") {print $2 }':
do find $PART -xdev -type f ( -perm -0002 -a ! -perm -1000 )
-print
Done
安全审计:
syslog日志-more etc/rsyslog.conf 参数:authpriv.*;
给history添加时间戳:vim ~/.bash_profile
export HISTTIMEFORMAT="%F %T“
export HISTTIMEFORMAT="%F %T'whoami'"

资源控制
入侵防范

三、中间件基线及加固
IIS
Tomcat
Apache: rpm -qa | grep httpd(查看是否安装) ps-ef | grep httpd(查看进程)
Jboss
weblogic
四、数据库
mssql
mysql
oracle

posted @ 2022-05-07 10:45  XX的小姑凉  阅读(1557)  评论(0)    收藏  举报