既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
1616147942_605475e6d7c07ab49cc92.png!small?1616147943284
人工分析:目标主机 192.168.1.127 在 2020-5-20 17: 39 登录成功的源 IP 有两个:192.168.1.127 和 192.168.1.162,账户均为 Administrator,属于单账号多 IP 登录,存在账号密码外泄的风险。
工具分析:通过日志分析工具统一采集系统登录日志,解析关键字段:事件类型为登录,结果是否登录成功,设置多维度关联告警规则触发单账号多IP登录告警,即在登录成功的前提下,多条日志中源用户字段相同,源IP不同,表示通过同一账号不同的源IP登录系统成功。
5.非上班时间登录
告警发生场景:员工在非上班时间登录系统,比如在下班时间 22:00-4:00 登录系统,这种情况比较危险,极有可能存在不法意图。
攻击方式:恶意员工或者黑客获取员工账号后,在非上班时间登录系统。检测思路:可以通过人工查看原始日志分析,或者通过日志审计工具解析原始日志,获取用户登录时间字段,命中非上班时间,并且能成功登录系统就触发非上班时间登录告警。
日志来源:系统登录日志
1)Linux 环境登录日志查看
Linux 用户登录日志存放在 /var/log/secure 中,以 CentOS 7 为例,查看 secure.log,看到登录日志样例如下:
May 8 23:47:09 localhost sshd[1657]: Accepted password for root from 192.168.114.1 port 57115 ssh2
May 8 13:14:49 localhost sshd[51628]: Failed password for root from 192.168.114.1 port 49237 ssh2
人工分析:根据关键字“Accepted”判断登录成功,关键字“Failed”判断登录失败。根据日志信息里的时间判定是否在非上班时间,如果在非上班时间,且登录成功,则命中检测规则,需要进行告警提示用户当前存在该风险。如果在非上班时间,但登录失败的,则没有命中检测规则,不需要进行告警。
2)Windows 环境登录日志查看
以 Windows10 为例,在“事件查看器-安全”中查看 Windows10 登录日志,通过筛选关键字“审核成功”可查看登录成功的日志,筛选关键字“审核失败”可查看登录失败的日志。根据系统记录时间判定是否在非上班时间内。
1616147978_6054760a4c53acde17552.png!small?1616147978485
人工分析:过滤出审核成功的登录日志,根据日志信息里的时间判定是否在非上班时间,如果在非上班时间登录成功,则命中检测规则,需要进行告警提示用户当前存在该风险。通过人工分析日志,需要运维人员逐一登录目标资产收集原始日志,在海量日志场景中效率比较低,而且容易遗漏数据或者延误,无法在第一时间发现系统安全威胁,有巨大的安全隐患。检测思路可以复用到日志分析工具中作为告警规则,通过日志分析工具能够在海量日志场景中基于告警规则即刻识别安全威胁, 解决人工分析痛点。
工具分析:日志分析工具基于日志采集-日志解析-告警触发-报表展示的标准化流程,采集原始的 linux 和 Windows 登录日志,根据日志样例分别建立 linux 和 Windows 登录日志解析规则,将非结构化的日志信息中有价值的信息解析成关键字段,例如将事件类型解析为 login,登录结果解析为成功或失败,事件发生时间原样记录,定义非上班时间的时间范围,如果发生时间命中非上班时间范围,且登录结果成功,则实时触发告警展示,通过短信、微信、邮件等方式转给运维人员及时处理。
6. 堡垒机登录
告警发生场景:目前最主要的威胁来自内部人员,防火墙等安全设备只能防御来自外部的攻击,内部人员安全管理必须通过堡垒机实现,堡垒机用于运维安全审计,解决多点登录、分散管理、账号共享难以定位责任人、人为操作风险不可控等问题,一旦出现绕堡垒机登录行为,攻击者非法登录绕过了堡垒机的审计,存在严重的安全威胁。
攻击方式:攻击者用非堡垒机IP登录系统,绕过堡垒机审计。
检测思路:可以通过人工查看原始日志分析,或者通过日志审计工具解析原始日志,获取用户登录的源IP,登录结果是否成功,如果登录成功,且源IP不在堡垒机IP列表中,则触发绕堡垒机登录告警。日志来源:系统登录日志1)Linux 环境登录日志查看
Linux 用户登录日志存放在 /var/log/secure 中,查看 secure.log,看到登录日志样例如下:
May 8 09:47:09 localhost sshd[1657]: Accepted password for root from 192.168.114.1 port 57115 ssh2
May 8 13:14:49 localhost sshd[51628]: Failed password for root from 192.168.114.1 port 49237 ssh2
人工分析:Accepted 代表登录成功,源 IP 192.168.114.1 不在堡垒机 IP 列表中,则属于绕堡垒机登录行为,触发告警。Failed 代表登录失败,可以忽略此条登录日志,不符合告警触发条件。
2)Windows 环境登录日志查看
例如,查看 Windows server 2012 服务器的登录日志,通过菜单“工具”-“事件管理器”-“Windows 日志”-“安全”可以发现登录日志,原始登录日志样例如下:
1616148000_6054762097fb10aa89af8.png!small?1616148000775
可以看到事件 ID 为 4624,结果为审核成功,代表登录成功。
点击“详细信息”,选择“XML”视图,可以看到详细的 Windows server 登录日志关键信息,包括登录类型为10,表示此次登录是远程桌面登录,非本地登录或文件共享登录。源IP为 192.168.1.162。
1616148007_60547627eec83d35a983b.png!small?1616148008102
人工分析:Windows server 登录日志审核成功的代表登录成功,通过过滤事件 ID 4624的登录日志,查看详细信息中找到源IP 192.168.1.162,发现该 IP 不在堡垒机 IP 列表中,则属于绕堡垒机登录行为,触发告警。
通过人工分析日志,需要运维人员逐一登录目标资产收集原始日志,尤其是 linux 和Windows 跨平台的日志无法统一处理,尤其比如 Windows server 登录日志想要看到源IP,还需要进一步点击详情,在海量日志场景中效率非常低。检测思路可以复用到日志分析工具中作为告警规则,通过日志分析工具能够在海量日志场景中基于告警规则即刻识别安全威胁,解决人工分析痛点。
工具分析:通过日志分析工具统一采集各种类型资产的登录日志,快速解析出关键信息:登录结果以及源IP,检测思路为登录成功,且源IP不在堡垒机IP列表中,命中规则即刻触发告警。基于告警可以生成报表展示,方便运维人员及领导实时查看绕行风险趋势,及时处置,避免风险扩大化。样例如下:
2020-05-20T17:39:25.486713+08:00 WIN-5GR4VO5INR0 Microsoft-Windows-Security-Auditing 492 - [seci-win-2008 Keywords=“-9214364837600034816” EventType=“AUDIT_SUCCESS” EventID=“4624” ProviderGuid=“{54849625-5478-4994-A5BA-3E3B0328C30D}” Version=“1” Task=“12544” OpcodeValue=“0” RecordNumber=“540” ThreadID=“1472” Channel=“Security” Category=“登录” Opcode=“信息” SubjectUserSid=“S-1-5-18” SubjectUserName=“WIN-5GR4VO5INR0$” SubjectDomainName=“WORKGROUP” SubjectLogonId=“0x3e7” TargetUserSid=“S-1-5-21-1283914313-648295371-1762289952-500” TargetUserName=“Administrator” TargetDomainName=“WIN-5GR4VO5INR0” TargetLogonId=“0x521844” LogonType=“10” LogonProcessName=“User " AuthenticationPackageName=“Negotiate” WorkstationName=“WIN-5GR4VO5INR0” LogonGuid=”{00000000-0000-0000-0000-000000000000}" TransmittedServices=“-” LmPackageName=“-” KeyLength=“0” ProcessName=“C:\Windows\System32\winlogon.exe” IpAddress=“192.168.1.162” IpPort=“0” ImpersonationLevel=“%%1833” EventReceivedTime=“2020-05-20 17:39:26” SourceModuleName=“eventlog” SourceModuleType=“im_msvistalog”] 事件发生时间=2020-05-20 17:39:25
7、密码猜测
告警发生场景:攻击者多次登录服务器,通过暴力破解密码、社工获取密码线索等方式猜测密码,登录失败多次后登录成功。攻击方式:攻击者通过暴力破解密码、社工获取密码线索等方式猜测密码多次。检测思路:查看某段时间的登录日志,多次连续登录失败,然后成功登录系统,表示密码猜测成功,触发密码猜测告警。日志来源:系统登录日志
1)Linux 环境登录日志查看
Linux 用户登录日志存放在 /var/log/secure中,以 CentOS 7 为例,查看 secure.log,看到登录日志样例如下:
1616148026_6054763a572e33c15c2a2.png!small?1616148026552
人工分析:发现在 2020-5-20 18:37,有连续登录失败日志,密码错误鉴权失败,在18:38 成功登录,密码猜测成功。
2)Windows 环境登录日志查看
以 Windows server 2012 为例,查看 Windows server 2012 服务器的登录日志,通过菜单“工具”-“事件管理器”-“Windows日志”-“安全”可以发现登录日志,原始登录日志样例如下:
1616148032_60547640e664313f16c99.png!small?1616148033160
人工分析:发现在2020-5-20 18:48出现连续4次登录失败(事件ID为4625),然后第5次登录成功(事件ID为4624),证明密码猜测成功。工具分析:通过日志分析工具统一采集各种类型资产的登录日志,解析出关键信息:事件类型是登录,结果。告警规则设定为多数据源时序关联告警,在一定时间内登录失败次数超过指定阈值后触发子告警,基于该子告警以及后面登录成功的日志作为多数据源时序关联告警的数据源,通过源IP作为关联字段,满足子告警中的源IP=登录成功日志中的源IP,即可触发密码猜测告警。
8.高危命令操作
告警发生场景:高危命令操作一般是比较危险的操作,如果攻击者经攻击成功,进入了系统,在这种情况下一般要做的事情是清理现场,删除日志增加一些配置等行为。如Linux高危命令rm-rf,一条命令就可以删除一个目录下所有文件,以及整个目录,这种操作是比较危险的操作。自定义高危命令,记录用户操作行为,当用户有相关定义高危命令操作时,就是一条违规操作。黑客或内部恶意人员通过高危命令恶意篡改或删除文件或者数据库表核心数据,造成数据被破坏,直接导致业务异常或瘫痪。
攻击方式:攻击者通过针对文件或者数据库的高危命令操作完成攻击,例如常用的rm、init、reboot、umount、kill、cp、mv、reset、DELETE、DROP_TABLE、INSERT、UPDATE等命令。
检测思路:通过查看主机或者数据库日志,发现用户操作执行的命令,匹配预定义的高危命令集,如命中则属于高危命令操作事件。
日志来源:主机日志或数据库日志
以 Oracle 数据库日志为例,查看 Oracle 数据库日志,样例如下:
1616148263_60547727f0157dd4db1d3.png!small?1616148264034
人工分析:通过Oracle原始日志发现,COMMAND=DELETE以及COMMAND=INSERT代表如上两条Oracle操作日志分别对应DELETE和INSERT操作,属于高危操作命令,极有可能威胁数据安全,需要及时预警处置。
工具分析:通过日志分析工具预定义高危操作命令集,通过原始日志解析出事件类型,如果是SELECT操作,属于正常操作,如果符合DELETE、DROP_TABLE、INSERT、UPDATE等高危命令集,则触发高危命令操作告警。
9. 敏感文件访问
告警发生场景:黑客或内部恶意人员通过访问数据库或者系统敏感文件,造成数据泄露。网站管理后台,数据库文件,备份文件等都是一些敏感文件,一般不允许对其进行操作。如Linux敏感文件 /etc/passwd 文件,记录所有用户的密码文件,一般是不允许对该文件做修改的。自定义敏感文件,记录用户操作行为,当用户有相关定义敏感文件操作时,就是一条违规操作。根据操作的文件是否是敏感文件,提取用户对文件的操作,若含有访问、修改权限、删除、转移、重命名等操作,则告警,敏感文件如.conf/.ini/.sys/.dll/ 数据库敏感表等。
攻击方式:攻击者通过提权访问敏感文件或数据库中敏感的表,对敏感文件或敏感表进行删除、修改或转移等攻击。
检测思路:根据操作的文件是否是敏感文件或者操作的数据库表是否为敏感表名进行检测。
日志来源:主机日志或数据库日志
以 Oracle 数据库日志为例,查看 Oracle 数据库日志,样例如下:
1616148226_605477021c71b79afe255.png!small?1616148226203
人工分析:通过 Oracle 原始日志发现,DATABASE_NAME=CRM主机1,TABLE_NAME=BS_INFO_TYPE_T 以及 TABLE_NAME=BT_ACT_SUBPROC,COMMAND=SELECT以及COMMAND=UPDATE 代表如上两条 Oracle 操作日志分别访问以及更新了数据库CRM主机1中的两张敏感表BS_INFO_TYPE_T及BT_ACT_SUBPROC,极有可能导致敏感数据外泄或篡改,需要及时预警处置。
工具分析:通过日志分析工具预定义敏感数据库及敏感表,通过原始日志解析出数据库名及数据库表名,同时对操作类型甄别(INSERT,UPDATE,DELETE,DROP_TABLE的操作作为重点专注对象),如果数据库名及数据库表名属于预定义的敏感数据库及敏感表集,则触发敏感文件访问告警。
三、总结
以上介绍了目前常用的账号安全威胁检测手段,包括:基于异常账号(黑名单账号,失效账号)的检测,基于账号异常行为(绕行登录,单账号多IP登录,非上班时间登录,高危操作和敏感文件访问)的检测等。
通过这些检测手段,再辅以工具,能及时发现账号的异常操作行为,从而避免安全威胁进一步扩大化,有效降低安全损失。
有不懂的知识大家可以关注我公众号咨询我
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!