一、应急响应
A. 宏观题
1.基本思路流程
-
收集信息:收集客户信息和中毒主机信息,包括样本
-
判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS 等等
-
抑制范围:隔离使受害⾯不继续扩⼤
-
深入分析:日志分析、进程分析、启动项分析、样本分析方便后期溯源
-
清理处置:杀掉进程,删除文件,打补丁,删除异常系统服务,清除后门账号防止事件扩大,处理完毕后恢复生产
-
产出报告:整理并输出完整的安全事件报告
2.Windows入侵排查思路
-
检查系统账号安全
-
查看服务器是否有弱口令,远程管理端口是否对公网开放(使用netstat -ano 命令、或者问服务器管理员)
-
lusrmgr.msc 命令查看服务器是否存在可疑账号、新增账号,如有管理员群组的(Administrators)里的新增账户,如有,请立即禁用或删除掉
-
用 D 盾或者注册表中查看服务器是否存在隐藏账号、克隆账号
-
结合日志,查看管理员登录时间、用户名是否存在异常
检查方法:Win+R 打开运行,输入“eventvwr.msc”,回车运行,打开“事件查看器”,导出 Windows 日志–安全,利用 Log Parser 进行分析
-
检查异常端口、进程
-
netstat -ano检查端口连接情况,是否有远程连接、可疑连接
-
任务管理器-进程
-
检查启动项、计划任务、服务
-
检查系统相关信息
-
查看系统版本以及补丁信息
-
查找可疑目录及文件
-
日志分析
3.Linux入侵排查思路
-
账号安全
who查看当前登录用户(tty本地登陆 pts远程登录)w 查看系统信息,想知道某一时刻用户的行为uptime查看登陆多久、多少用户,负载
1、用户信息文件/etc/passwdroot:x:0:0:root:/root:/bin/bashaccount:password:UID:GID:GECOS:directory:shell用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell注意:无密码只允许本机登陆,远程不允许登陆2、影子文件/etc/shadowroot:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
/etc/passwd 存储一般的用户信息,任何人都可以访问;/etc/shadow 存储用户的密码信息,只有 root 用户可以访问
-
历史命令
通过 .bash_history 查看帐号执行过的系统命令1、root的历史命令 histroy2、打开 /home 各帐号目录下的 .bash_history,查看普通帐号的历史命令历史操作命令的清除:history -c但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录
-
检查异常端口
netstat -antlp|more查看下pid所对应的进程文件路径,运行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)
-
检查异常进程
ps aux | grep pid
-
检查开机启动项
开机启动配置文件/etc/rc.local/etc/rc.d/rc[0~6].d
-
检查定时任务
crontab -l 列出某个用户cron服务的详细内容Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/rootcrontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)crontab -e 使用编辑器编辑当前的crontab文件如:*/1 * * * * echo "hello world" >> /tmp/test.txt 每分钟写入文件2、利用anacron实现异步定时任务调度
重点关注/var/spool/cron/*/etc/crontab/etc/cron.d/*/etc/cron.daily/*/etc/cron.hourly/*/etc/cron.monthly/*/etc/cron.weekly//etc/anacrontab/var/spool/anacron/*
-
检查服务
chkconfig --list 命令,可以查看系统运行的服务
-
检查异常文件
-
检查系统日志
3.Linux的登录日志查看文件
-
日志默认存放位置:/var/log/
-
查看可登录的账户 cat/etc/passwd|grep ‘/bin/bash’
-
查看所有用户最后的登录信息 lastlog
-
查看用户最近登录信息 last 其中,/var/log/wtmp 存储登录成功的信息、btmp 存储登录失败的信息、utmp 存储当前正在登录的信息
-
查看当前用户登录系统情况 who
4.Linux常用排查命令
这个问题就是 linux 入侵排查排查的一部分https://cloud.tencent.com/developer/article/1822210
-
系统信息
-
查看当前系统状态 top
-
操作系统信息 uname -a
-
查看当前系统进程信息 ps
-
查看历史命令 history
-
列出本机所有的连接和监听的端口 netstat
-
查看谁在使用某个端口 lsof
-
用户登录
-
查看当前用户登录系统情况 who
-
分析超级权限账户 awk-F:‘{if($3==0)print $1}’/etc/passwd
-
查看可登录的账户 cat/etc/passwd|grep ‘/bin/bash’
-
查看用户错误的登录信息 lastb
-
查看所有用户最后的登录信息 lastlog
-
查看用户最近登录信息 last
/var/log/ 其中,/var/log/wtmp 存储登录成功的信息、btmp存储登录失败的信息、utmp存储当前正在登录的信息
-
查看空口令账户 awk-F:‘length($2)==0 {print $1}’/etc/shadow
5.Linux基线规范
每个公司有每个公司的基线规范体系,但是答题分为下列五个方面
-
账号管理和授权
-
检查特殊账号,是否存在空密码的账户和 root 权限账户
-
禁用或删除无用账号
-
添加口令策略:/etc/login.defs修改配置文件,设置过期时间、连续认证失败次数
-
禁止 root 远程登录,限制root用户直接登录。
-
检查 su 权限:vi /etc/pam.d/su添加auth required pam_wheel.so group=test
-
服务
-
关闭不必要的服务
-
SSH 服务安全
-
不允许 root 账号直接登录系统,PermitRootLogin=no
-
修改 SSH 使用的协议版本为 2
-
修改允许密码错误次数(默认 6 次),MaxAuthTries=3
-
文件系统
-
设置 umask 值 vi /etc/profile 添加行 umask 027
-
设置登录超时 vi /etc/profile 修改配置文件,将以 TMOUT= 开头的行注释,设置为 TMOUT=180
-
日志
-
启用 syslogd 日志,配置日志目录权限,或者设置日志服务器
-
记录所有用户的登录和操作日志,通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查
https://www.alibabacloud.com/help/zh/faq-detail/49809.htm
-
IP 协议安全要求
-
远程登录取消 telnet 采用 ssh
-
设置 /etc/hosts.allow 和 deny
-
禁止 ICMP 重定向
-
禁止源路由转发
-
防 ssh 破解,iptables (对已经建立的所有链接都放行,限制每分钟连接 ssh 的次数)+ denyhost (添加 ip 拒绝访问)
Linux 安全基线检查Linux:https://cloud.tencent.com/developer/article/1668982
6.Windows 安全基线检查
windows安全基线检查:Windows:https://cloud.tencent.com/developer/article/1668937
主要包括五个方面:身份鉴别、访问控制、安全审计、资源控制、剩余信息保护
-
身份鉴别
-
更改缺省账户
-
检查Guest用户是否禁用
-
密码复杂性要求
-
密码长度最小不能小于8位
-
访问控制
-
共享账户检查
-
远程关机授权
-
本地关机
-
授权帐户登陆
-
安全审计
-
用户登录日志记录
-
系统日志完备性检
-
登录超时管理
-
资源控制
-
登录超时管理
-
远程登录超时配置
-
剩余信息保护
-
不显示上次的用户名
-
关机前清除虚拟内存页面
-
不启用可还原的加密来存储密码
7.中间件基线规范(APACHE)
中间件基线:https://www.alibabacloud.com/help/zh/faq-detail/52981.htm
-
配置
-
账号
-
授权
-
日志
-
session 过期时间(防ddos)
-
绑定监听地址
-
禁止
-
目录权限
-
访问外部文件
-
CGI
-
非法HTTP方法(PUT DELETE)
-
隐藏
-
服务版本号
-
重定向错误页面
-
删除
-
配置文件
-
默认安装的无用文件
8.中间件常见漏洞
https://www.freebuf.com/articles/web/192063.html
(一) IIS
1、PUT漏洞
2、短文件名猜解
3、远程代码执行
4、解析漏洞
(二) Apache
1、解析漏洞
2、目录遍历
(三) Nginx
1、文件解析
2、目录遍历
3、CRLF注入
4、目录穿越
(四)Tomcat
1、远程代码执行
2、war后门文件部署
(五)jBoss
1、反序列化漏洞
2、war后门文件部署
(六)WebLogic
1、反序列化漏洞
2、SSRF
3、任意文件上次
4、war后门文件部署
(七)其它中间件相关漏洞
1、FastCGI未授权访问、任意命令执行
2、PHPCGI远程代码执行
9.Linux、Windows安全加固
IIS 服务器应该做哪些方面的保护措施?整理来源:http://www.williamlong.info/archives/118.html
-
IIS 服务器应该做哪些方面的保护措施?
-
保持 Windows 升级
-
使用 IIS 防范工具
-
移除缺省的 Web 站点
-
如果你并不需要 FTP 和 SMTP 服务,请卸载它们
-
有规则地检查你的管理员组和服务:
-
严格控制服务器的写访问权限
-
设置复杂的密码
-
减少/排除 Web 服务器上的共享
-
禁用 TCP/IP 协议中的 NetBIOS
-
使用 TCP 端口阻塞
-
仔细检查 .bat 和 .exe 文件:每周搜索一次 .bat
-
管理 IIS 目录安全
-
使用 NTFS 安全
-
管理用户账户
-
审计你的 Web 服务器
-
Linux系统安全加固需要注意的内容
-
关闭不必要的系统服务
-
更改 SSH 默认端口
-
禁止 root 用户远程 ssh 登录
-
限制用户使用 su 命令切换 root
-
密码复杂度策略
-
检查密码重复使用次数限制
-
检查是否存在空口令账号
-
禁止同时按下 ctrl+alt+del 重启
-
禁用 telnet 服务
-
框架漏洞&常见命令注入漏洞?php? Strust2 ?
-
Struts2 OGNL 注入
-
weblogic
-
fastjson
-
TP5 代码执行
-
laravel:debug mode 远程代码执行漏洞(CVE-2021-3129)
-
Spring Expression Language SPEL 表达式注入
-
Spring Security Oauth2 远程代码执行
-
Spring框架漏洞总结
10.常见安全工具、设备
-
工具
端口及漏洞扫描:Namp、Masscan
抓包:Wireshark,Burpsuite、Fiddler、HttpCanary
Web自动化安全扫描:Nessus、Awvs、Appscan、Xray
信息收集:Oneforall、hole
漏洞利用:MSF、CS
Webshell 管理:菜刀、蚁剑、冰蝎、哥斯拉
-
设备
网络安全设备常识
常见的 HW 设备有:公安部网防G01、K01、360网康/网神防火墙、微步威胁情报、安恒云-Web应用防火墙(玄武盾)、默安蜜罐、知道创宇蜜罐、山石防火墙

即客户拥有物理的基础设施(自建机房、自购设备、网络)
-
NGAF/NGFW:下一代 Web 应用防火墙(Next Generation Application Firewall,通防火墙和下一代防火墙的区别),聚合了以下功能
-
IDS
HIDS:基于主机的入侵检测系统
NIDS:基于网络的入侵检测系统
HIDS+NIDS:基于混合数据源的入侵检测系统
-
IPS:入侵防御系统
-
AV:反病毒系统
-
EDR:主机安全管理\终端检测和响应
EDR 实时监测终端上发生的各类行为,采集终端运行状态,在后端通过大数据安全分析、机器学习、沙箱分析、行为分析、机器学习等技术,提供深度持续监控、威胁检测、高级威胁分析、调查取证、事件响应处置、追踪溯源等功能,可第一时间检测并发现恶意活动,包括已知和未知威胁,并快速智能地做出响应,全面赋予终端主动、积极的安全防御能力
简单来说就是给内网环境中所有主机安装管理软件终端,可以在管理平台集中管理和数据分析过滤,基本所有安全厂商都有自己的 EDR 产品
-
运维审计和管理平台(堡垒机
-
DAS:数据库安全审计平台
-
LAS:日志审计安全平台
-
AC:上网行为管理系统
-
伪装欺骗系统(蜜罐、蜜网)
-
SIP:安全态势感知平台
这个算是让整套系统性能得到提升的灵魂了,定位为客户的安全大脑,是一个集检测、可视、响应处置于一体的大数据安全分析平台。产品以大数据分析为核心,支持主流的安全设备、网络设备、操作系统等多源数据接入,利用大数据、关联分析、告警降噪等技术,实现海量数据的统一挖掘分析
云网络
-
云网络包括私有云和公有云
-
云主机安全
-
云防火墙
-
云堡垒机
-
云蜜罐
-
云 DDOS 防护
-
等等
11.绿盟设备
-
堡垒机 SAS-H Series,堡垒机采用“物理旁路,逻辑串联”的部署思路
-
绿盟威胁情报云 NTI https://nti.nsfocus.com/
-
抗拒绝服务攻击系统 ADS
-
安全和漏洞管理 AIRO
-
网络入侵防护系统 IDPS
-
web 应用防火墙
12.你拿到的cnvd
-
**工作经历
安全服务工程师
参加渗透测试、地方服务、HW
根据客户方要求对所给资产进行了详细细致的渗透测试。挖掘漏洞,发现漏洞的第一时间与客户方汇报,使客户方能够及时整改修补问题漏洞,防止造成漏洞危害扩大
-
攻防演练
攻防演练中担任什么角色
-
护网的分组和流程?
-
护网的分组是在领导小组之下分为防护检测组,综合研判组,应急溯源组。流程大致分为备战,临战,决战三个阶段
-
备战阶段,主要任务是进行两方面的操作,一是减少攻击面,即资产梳理,减少暴露面;二是排查风险点,即通过漏洞扫描,渗透测试,弱口令等进行自查
-
临战阶段,主要任务也大致可以分为两个部分,一是进行内部演练,发现疏忽处并进行相应整改;二是可以适当增加安全设备,比如WAF,IPS,IDS,SOC,堡垒机等
-
决战阶段,作为新人,主要就是坚守岗位,有应急日志就看自己能不能解决,不能就上报,服从上级安排,优化防护,持续整改
-
简历有护网经历,你能谈谈护网的情况吗
-
参加过护网蓝队,负责事件研判工作,主要使用 ips,ids 等设备做流量监控与日志分析工作判断安全事件是否为误判
-
监控、研判、处置、溯源
-
对安全管理中心发出的态势排查单进行排查,并将排查结果反馈给安全管理中心,对安全管理中心发出的封堵工单和解封工单进行对应的封堵与解封,每两小时反馈一次排查结果、设备巡检报告、封堵情况。查看呼池 DDOS 设备,记录并排查告警信息
-
蓝队研判
-
研判工作要充分利用已有安全设备(需要提前了解客户的网络拓扑以及部署设备情况),分析其近期的设备告警,将全部流量日志(日志条件:源地址,目的地址,端口,事件名称,时间,规则 ID,发生 次数等)根据研判标准进行筛选(像挖矿、蠕虫、病毒、拒绝服务这类不太可能为攻击方发起的攻击的事件,直接过滤掉,减少告警数量),一般情况下,真实攻击不可能只持续一次,它一定是长时间、周期性、多 IP 的进行攻击
-
对于告警结合威胁情报库如:微步、奇安信威胁情报中心、绿盟威胁情报云等对于流量日志的原 IP 地址进行分析,判断其是否为恶意攻击,推荐使用微步的插件,如果确认为攻击行为或者不能确认是否为攻击行为,进行下一步操作,在之前准备好的表格中查找 IP 是否为客户内网部署的设备,如果不是,继续进行下一步,在事件上报平台查看是否有其他人提交过,如果没有,则上报
-
然后根据流量日志,对请求数据包和返回数据包分析判断其是否为误报,需要留意 X-Forwarded-For(简称XFF)和 x-real-ip 可以了解些 webshell 工具的流量特征,尤其是免杀 webshell,有可能不会被设备识别
-
最后上报事件时,尽可能提供完整的截图,包括源 ip、目的ip,请求包请求体,响应包响应体等重要信息,以方便后续人员研判溯源
注:不要任意忽略内网告警,适当情况下可以往前推排查时间
-
蓝队组成
-
蓝队的主要工作包括前期安全检查、整改与加固,演习期间进行网络安全监测、预警、分析、验证、处置,后期复盘总结现有防护工作中的不足之处,为后续常态化的网络安全防护措施提供优化依据
-
监控、研判、处置、溯源
-
SQL注入检测
-
SQL注入攻击检测可根据入侵事件发生的前后进行区分,在入侵前可以对 Payload 进行检测等方式以预防 SQL 注入攻击。在入侵检测后可以通过对数据库、IIS 日志等进行检查以进行判断
-
传统的SQL注入检测方法通常根据经验提取特征,然后基于规则库匹配的方法来检测是否为 SQL 注入语句,其设计一般较为复杂,且规则模式更新频繁,在此采用机器学习的方式尝试对 SQL 注入语句进行检测
-
DDOS CC应急思路以及如何防范
目前对于低网络层的 DDoS 攻击有一些有效的防护手段,如丢弃第一次 SYN 包,上流量防护设备,上 WAF 封禁地址等
比较难缠的是第七层,第八层的 CC 攻击,它会找到目标网站上比较消耗资源的关键位置,重复发起攻击以消耗 CPU/内存/数据库/IO 等资源
-
目前的应付手段有:
-
优化资源消耗高位置的代码
-
增加硬件设备
-
上云
-
购买专业安全公司的安全服务
-
除此之外,隐藏服务器的真实 IP、上云 WAF、CDN、 负载均衡等设备,或者暂时将域名解析到公安网警网站等也是可以作为选择方案
-
网络设备设施
-
拼带宽,加大带宽,但是成本太高
-
使用硬件防火墙
-
选用高性能设备
-
抗 D 思想和方案
-
负载均衡
-
花钱买流量清洗服务
-
CDN:web 层,比如 cc 攻击
-
分布式集群防御
-
高防:防大部分攻击,udp、大型的 cc 攻击
-
预防为主
-
系统漏洞
-
系统资源优化
-
过滤不必要的服务和端口
-
限制特定流量:检查访问来源做适当限制
13.挖矿病毒判断&挖矿常见手段&处理
-
挖矿木马占用系统资源进行挖矿行为,一般电脑会有以下特征
-
系统响应缓慢
-
CPU/显卡使用率过高
-
内存/带宽占用高
-
登录进可疑主机后,可以通过以下方式确认挖矿木马(即入侵排查流程)
-
查看进程(系统命令 ps、Is 有可能被替换)
-
检查日志、检查系统用户
-
发现异常文件
-
挖矿常用手段
-
未授权访问或弱口令:Redis 未授权访问、Docker API 未授权访问、Hadoop Yarn 未授权访问、NFS 未授权访问、Rsync 弱口令、PostgreSQL 弱口令、Tomcat 弱口令、SSH 弱口令、Telnet 弱口令、Windows 远程桌面弱口令
-
远程命令执行漏洞:WebLogic XML 反序列化漏洞、Jenkins 反序列化、Jboss 远程代码执行、Spring 远程代码执行、ElasticSearch 命令执行、永恒之蓝、Struts2 系列漏洞、常见 CMS 的远程命令执行漏洞
-
新爆的高危漏洞:一般每次爆发新的高危漏洞,都会紧跟一波大规模的全网扫描利用和挖矿
-
清除挖矿木马
-
原因排查
一旦发现服务器被挖矿,应该首先查看挖矿进程所属的用户,根据挖矿进程的运行用户去排查该用户下是否还运行着其它进程,确定这些进程是否有上述经常被黑客利用的漏洞。如果有常见的漏洞,则应该重点对此进行排查找到原因
-
清除木马
1.及时隔离主机
部分带有蠕虫功能的挖矿木马在取得本机的控制权后,会以本机为跳板机,对同一局域网内的其他主机进行已知漏洞的扫描和进一步利用, 所以发现挖矿现象后,在不影响业务的前提下应该及时隔离受感染主机,然后进行下一步分析
2.删除文件、阻断与矿池通讯
iptables -A INPUT -S xmr.crypto- pool.fr -j DROPiptables -A OUTPUT -d xmr.crypto- pool.fr -j DROP
3.清除定时任务
大部分挖矿进程会在受感染主机中写入定时任务来完成程序的驻留,当安全人员只清除挖矿木马时,定时任务会再次从服务器下载挖矿进程或者直接执行挖矿脚本,导致挖矿进程清除失败
4.清除启动项
有的挖矿进程为了实现长期驻留,会向系统中添加启动项来确保系统重启后挖矿进程还能重新启动,所以在清除时还应该关注启动项中的内容如果有可疑的启动项,也应该进行排查,确认是挖矿进程后,对其进行清除
5.kill 挖矿进程
对于单进程挖矿程序,直接结束挖矿进程即可。但是对于大多数的挖矿进程,如果挖矿进程有守护进程,应先杀死守护进程再杀死挖矿进程,避免清除不彻底
在实际的清除工作中,应找到本机上运行的挖矿脚本,根据脚本的执行流程确定木马的驻留方式, 并按照顺序进行清除, 避免清除不彻底
6.清除公钥文件
在用户 home 目录的 .ssh 目录下放置 authoruzed_keys 文件,从而免密登录该机器也是一种常见的保持服务器控制权的手段。在排查过程中应该查看该文件中是否有可疑公钥信息,有的话直接删除,避免攻击者再次免密登录该主机
14.服务器存在webshell,如何处理?
网站被植入 webshell,意味着网站存在可利用的高危漏洞,攻击者通过利用漏洞入侵网站,写入 webshell 接管网站的控制权
-
及时隔离主机
-
定位事件范围,查看文件 webshell 文件的创建时间,对 webshell 取证样本
-
通过创建时间结合日志分析可疑行为,以及启动用户的其他进程确定漏洞
-
清除 webshell 及残留文件,修复漏洞,参考上题
15.排查 shell 应该用什么命令来进行排查
find 命令find /var/www/html -name "*.php" |xargs egrep 'assert|eval|phpinfo\(\)|\(base64_decoolcode|shell_exec|passthru|file_put_contents\(\.\*\$|base64_decode\('
16.如何检测webshell
-
主机层面
-
静态检测
静态检测通过匹配特征码,特征值,危险函数函数来查找 webshell 的方法,只能查找已知的 webshell
-
动态检测
webshell 传到服务器了,在执行函数时这些对于系统调用、系统配置、数据库、文件的操作动作都是可以作为判断依据
-
日志检测
使用 webshell 一般不会在系统日志中留下记录,但是会在网站的 web 日志中留下 webshell 页面的访问数据和数据提交记录
-
语法检测
语法语义分析形式,是根据 php 语言扫描编译的实现方式,进行剥离代码、注释,分析变量、函数、字符串、语言结构的分析方式,来实现关键危险函数的捕捉方式这样可以完美解决漏报的情况但误报上
-
流量层面
Webshell管理工具的流量特征https://www.freebuf.com/column/204796.htmlhttps://www.freebuf.com/articles/web/213905.html
-
菜刀
菜刀 webshell 只使用了 url 编码 + base64 编码
shell 特征就是传输参数名为 z0,还存在int_set("display_erros","0")字符串特征
-
蚁剑
默认的蚁剑 shell,连接时会请求两次,其请求体只是经过 url 编码,其流量中也存在和蚁剑一样的代码
第一次请求,关闭报错和 magic_quotes,接下来去获取主机的信息
第二次请求,会把主机目录列出来
-
冰蝎2.0
使用 aes 加密发起三次请求
第一次请求服务端产生密钥写入 session,session 和当前会话绑定,不同的客户端的密钥也是不同的
第二次请求是为了获取 key,第三次使用 key 的 aes 加密进行通信
-
冰蝎3.0
使用 aes 加密发起两次请求
3.0 分析流量发现相比 2.0 少了动态密钥的获取的请求,不再使用随机生成 key,改为取连接密码的 md5 加密值的前 16 位作为密钥
一次请求为判断是否可以建立连接,少了俩次 get 获取冰蝎动态密钥的行为,第二次发送 phpinfo 等代码执行,获取网站的信息
-
哥斯拉
支持 n 种加密
采用了和冰蝎 3.0 一样的密钥交换方式,哥斯拉建立连接时会发起三次请求,第一次请求数据超级长,建立 session,第二三次请求确认连接
17.常见端口漏洞
-
数据库类(扫描弱口令)
1433:MSSQL
1521:Oracle
3306:Mysql
5432:PostgreSQL
-
特殊服务类(未授权/命令执行)
443:ssl 心脏滴血
873:Rsync 未授权
5984:CouchDB http://xxx:5984/_utils/
6379:Redis 未授权
7001、7002:Weblogic 默认弱口令
8088:Hadoop Yarn 资源管理系统 REST API 存在未授权
8161:Apache ActiveMQ 未授权、弱口令,put 文件上传,move 文件移动
9200、9300:elasticsearch 命令执行
11211:Memcache 未授权,telnet ip 就可以获得服务器敏感信息
27017、27018:Mongodb 未授权
50000:SAP 命令执行
50070、50030 Hadoop 未授权访问
-
常用端口类(弱口令/端口爆破)
21:FTP 弱口令,匿名 anonymous/空登录,以及 ms12-073
25:SMTP 简单邮件传输服务器端口
23:Telnet 的端口,Telnet 是一种可以远程登录并管理远程机器的服务
22:ssh 端口,PcAnywhere 建立 TCP 和这一端口的连接可能是为了寻找 ssh,这一服务有许多弱点
53:dns 端口
139:属于 TCP 协议,是为 NetBIOS Session Service 提供的,主要提供 Windows 文件和打印机共享以及 Unix 中的 Samba 服务
445:网络共享 smb 服务,尝试利用 ms08067,ms17010 等以及 IPC$ 攻击手段
2601、2604:zebra 路由,默认密码 zebra
-
三次握手与四次挥手
https://www.eet-china.com/mp/a44399.html
背景:TCP 位于传输层,作用是提供可靠的字节流服务,为了准确无误地将数据送达目的地,TCP 协议采纳三次握手四次挥手策略
-
三次握手(three-way handshaking)
TCP 三次握手,其实就是 TCP 应用在发送数据前,通过 TCP 协议跟通信对方协商好连接信息,建立起 TCP 的连接关系
第一次握手:客户端发送 SYN 报文,并进入 SYN_SENT 状态,等待服务器的确认
第二次握手:服务器收到 SYN 报文,需要给客户端发送 ACK 确认报文,同时服务器也要向客户端发送一个 SYN 报文,所以也就是向客户端发送 SYN + ACK 报文,此时服务器进入 SYN_RCVD 状态
第三次握手:客户端收到 SYN + ACK 报文,向服务器发送确认包,客户端进入 ESTABLISHED 状态。待服务器收到客户端发送的 ACK 包也会进入 ESTABLISHED 状态,完成三次握手
-
四次挥手(Four-Way-Wavehand)
当我们的应用程序不需要数据通信了,就会发起断开 TCP 连接。建立一个连接需要三次握手,而终止一个连接需要经过四次挥手
第一次挥手:客户端发送一个 FIN,用来关闭客户端到服务端的数据传送,客户端进入 FIN_WAIT_1 状态
第二次挥手:服务端收到 FIN 后,发送一个 ACK 给客户端,确认序号为收到序号 +1(与SYN相同,一个FIN占用一个序号),服务端进入 CLOSE_WAIT 状态
第三次挥手:服务端发送一个 FIN,用来关闭服务端到 客户端的数据传送,服务端进入 LAST_ACK 状态
第四次挥手:客户端收到 FIN 后,客户端进入 TIME_WAIT 状态,接着发送一个 ACK 给服务端,确认序号为收到序号 +1,服务端进入 CLOSED 状态,完成四次挥手
18.一个大范围影响的0day被曝光,作为甲方安全工程师,应该如何处理(★★)
-
首先是评估 0day 对自身系统的影响(这部分评估需要根据漏洞利用的利用点、是否需要交互、是否会影响系统的 CIA,是否有在野利用 poc,影响资产是否暴露在公网等很多因素决定,详情可以参考 CVSS )
-
如果确定有影响的话且有 poc,第一件事是先分析 poc 执行后会在什么地方留下痕迹,我们有什么样的设备去采集这些痕迹所留下的数据,比如说 ntlm relay 这种,可以考虑从 Windows 事件日志当中 event_id 等于 4769 的事件入手编写对应的规则,这样的话可以利用 SIEM 或者实时日志分析平台跑起来,可以建立起初步的感知防线,后期触发告警,人肉运营也可以快速止损
-
日常建立完整的纵深防御体系,不要依赖于某一道防线
19.服务器操作系统的安全防范?
-
停止运行不需要的软件(很可能成为外部攻击的入口)
-
定期实施漏洞防范措施(选定软件时确认软件的升级状况,确定打补丁方式,关注各种漏洞信息,确认漏洞后调查补丁状况以及防范对策,并制定对应计划)
-
对不需要对外公开的端口或者服务加以访问限制(通过端口扫描确认各端口服务状态)
-
提高认证强度
20.怎么发现有没有被攻击
攻击判断可以建立在设备的基础上,利用设备的告警,如果没有设备的话可以参考以下
-
网站被攻击:网站被跳转到赌博网站,网站首页被篡改,百度快照被改,网站被植入 webshell 脚本木马,网站被 DDOS、CC 压力攻击
-
服务器被黑:服务器系统中木马病毒,服务器管理员账号密码被改,服务器被攻击者远程控制,服务器的带宽向外发包,服务器被流量攻击,ARP攻击(目前这种比较少了,现在都是基于阿里云,百度云,腾讯云等云服务器)
-
对登录记录、系统日志、web 日志等进行分析
1033

被折叠的 条评论
为什么被折叠?



