最近我们公司准备有几个实习生要转正了,领导让我亲自出一些结合实际安全工作的题目,题目的由来都是从工作中遇到过的问题到解决的的过程中产生的。从简单到难的题目,既能考到实习生的知识基础,又能考到他们的学习能力(面对不同未接触过的难题如何去应对),还有就是情景开放式答题,网上能查到一点资料,但是又需要自己思考的,结合实际工作来回答的。好的话不多说,由简至难奉上题目,以及参考答案,希望我的工作经验中发现的问题能帮到大家。
1.Zookeeper默认的端口
三个端口:
2181:对cline端提供服务
3888:选举leader使用
2888:集群内机器通讯使用(Leader监听此端口)
官方文档:http://zookeeper.apache.org/doc/r3.5.5/zookeeperStarted.html
参考资料1:https://blog.csdn.net/webnum/article/details/76653665
参考资料2:https://www.jianshu.com/p/5e012efb2d82
2. Zookeeper主要的作用:
开源的、分布式的、应用程序协调服务
推荐:参考资料1(ZooKeeper是什么)——https://blog.csdn.net/u012152619/article/details/52901319
参考资料2(ZooKeeper详解) ——https://www.imooc.com/article/251135
参考资料3(漫画图解ZooKeeper)——https://juejin.im/post/5b037d5c518825426e024473
3. Zookeeper 未授权访问的检查方法
telnet zookeeper端口 输入envi,回显路径等信息则存在zookeeper未授权访问漏洞
4. 请列出让客户满意的Zookeeper未授权访问漏洞的修复方案
根据客户实际情况可以提供以下修复方案:
禁止将zookeeper暴露在公网
使用iptables对端口进行访问控制
添加访问控制,根据情况选择对应方式(认证用户,用户名密码)
绑定指定IP访问
参考链接1:https://thief.one/2017/12/08/1
参考链接2:https://p4yche.com/2018/08/10/zookeepr%E6%9C%AA%E6%8E%88%E6%9D%83%E8%AE%BF%E9%97%AE%E6%BC%8F%E6%B4%9E/zookper%E6%9C%AA%E6%8E%88%E6%9D%83%E8%AE%BF%E9%97%AE/
5. Weblogic后台默认密码
weblogic/weblogic
6. weblogic CVE-2019-2725漏洞描述与让客户满意的修复方案
漏洞描述 :由于在反序列化处理输入信息的过程中存在缺陷,未经授权的攻击者可以发送精心构造的恶意 HTTP 请求,利用该漏洞获取服务器权限,实现远程代码执行。
修复建议 : 官方目前已发布针对此漏洞的紧急修复补丁,可以采取以下4种方式进行防护。
1.及时打上官方CVE-2019-2725补丁包
官方已于4月26日公布紧急补丁包,下载地址:
https://www.oracle.com/technetwork/security-advisory/alert-cve-2019-2725-5466295.html?from=timeline
2.升级本地JDK版本
因为Weblogic所采用的是其安装文件中默认1.6版本的JDK文件,属于存在反序列化漏洞的JDK版本,因此升级到JDK7u21以上版本可以避免由于Java原生类反序列化漏洞造成的远程代码执行。
3.配置URL访问控制策略
部署于公网的WebLogic服务器,可通过ACL禁止对/_async/及/wls-wsat/路径的访问。
4.删除不安全文件
删除wls9_async_response.war与wls-wsat.war文件及相关文件夹,并重启Weblogic服务。具体文件路径如下:
10.3.*版本:
\Middleware\wlserver_10.3\server\lib\%DOMAIN_HOME%\servers\AdminServer\tmp\_WL_internal\%DOMAIN_HOME%\servers\AdminServer\tmp\.internal\
12.1.3版本:
\Middleware\Oracle_Home\oracle_common\modules\%DOMAIN_HOME%\servers\AdminServer\tmp\.internal\%DOMAIN_HOME%\servers\AdminServer\tmp\_WL_internal\
注:wls9_async_response.war及wls-wsat.war属于一级应用包,对其进行移除或更名操作可能造成未知的后果,Oracle官方不建议对其进行此类操作。若在直接删除此包的情况下应用出现问题,将无法得到Oracle产品部门的技术支持。请用户自行进行影响评估,并对此文件进行备份后,再执行此操作。
参考网站1:https://www.chainnews.com/articles/956692560698.htm
参考网站2:https://www.anquanke.com/post/id/177381#h2-3
6.2
假设现weblogic爆发0day漏洞,weblogic的/vulpath存在漏洞,所有存在http://ip:port/vulpath 路径的系统均受影响,现已完成目标资产的端口扫描,需要你紧急排查受影响资产,请说说你的做法
假设端口扫描时已有版本识别,挑出所有weblogic服务 挑出weblogic服务存在IP+端口地址后,通过url批量检测脚本httpCatcher.py检测出是否存在ip:port/vulpath路径200返回值,返回即为受影响资产
用法为:将IP+端口存在一个ip.txt文件。
然后修改httpCatcher.py的路劲改为/vulpath
输入命令python httpCatcher.py ip.txt 1.csv即可得到1.csv文件,查看即可
7.以下exp是属于哪个cms的远程代码执行漏洞:
http://localhost:9096/public/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars1=whoami
路径有关键字think, 和PHP,再使用payload进行查询可知为 thinkphp 中间件 thinkPHP是国产开源的PHP开发框架,中国使用最多
参考资料:https://www.jianshu.com/p/5c7ba693b265
8.流量分析:webshell流量交互的流量特征有哪些(列举3个特征来简略描述)
webshell是用来控制服务器的,在控制服务器的过程中,就会触发许多系统函数,例如eval、z0(菜刀特征)、shell,需监控这些关键的函数,具体需要查看是哪个网页发起的请求进行鉴别
除此之外,webshell连接可能使用base64编码,正常功能也会使用base64容易引起误报,一般与eval数量对比,数量差异较小时可能被上传webshell进行编码通讯
除了系统函数、base64编码通讯外,还存在int_set("display_errors","0"), 为webshell流量特征之一
还可以监控ifconfig whoami ipconfig等关键命令,这是获得webshell后基本上都会执行的命令
9.批量检查http服务使用什么工具和简略使用步骤
方法1
直接使用nmapsV.py工具即可,用法为python3 nmapsV.py ip.txt result.txt
方法2
使用nmap工具扫描,带上-sV参数进行版本识别即可,将待检测的IP地址/地址段添加进ip.txt文件中
使用命令nmap -sV -iL ip.txt -oA OUTPUT --no-stylesheet
扫出来的结果导出nmap文件,使用nampReport工具得出结果
10.假设客户给到你有50万个ip,并要求你两周内做完全端口扫描,你会如何应对或如何实施(从两方面回答:1.如何对客户要求做出解释并合理调整。2.如何提高全端口扫描效率,既保证速度,又保证准确率)
首先客户提出提出两周50w个ip全端口这个肯定不现实,所以要考虑跟客户解释,有必要对扫描任务进行时间调整,安排尽可能多的扫描资源,如扫描机器,扫描网络带宽等 ,参考扫描100个IP端口的平均时长,估计扫完的时间,给出30天时间左右答复,并且留出一周进行后续补扫,文档整理等
使用到多线程分布式和高并发,采用masscan + nmap 先masscan存活过一遍,把未存活IP剔除掉;使用分布式nmap高并发过一遍端口,也可以massacn端口扫描过一遍,在nmap进行探测
提高扫描速度 由于IP数量过多,不能直接把所有的IP都丢上去扫,时间肯定不够 可以跟客户商量减少IP数量,对未存活的IP进行筛选过滤 加快扫描速度需要进行参数微调,如--min-hostgroup、--min-rate和--min-parallelism 对于存在防火墙的情况,可以提出需要提供扫描器,最好的墙内扫
数据整理 对于大量的list和json使用python-nmap python-masscan,扫描1个IP处理1个IP
不推荐做法
老油条混子做法:行,没问题,别说五十万个了五百万个都能完成,接活的时候明确的说时间紧,任务重,可能会存在误报,问客户接不接受,接受了就开始扫。 masscan先过一遍,过滤掉一批死ip和只有80,443,8080,8443,等web的 然后高并发,分布式nmap过一批常用端口,把有结果的过滤出来 然后把没结果再跑一遍全端口,交差 后面扯皮的时候也能扯,前期也明确说了存在误报
11. 存活性探测的简要步骤
使用nmap工具进行存活性探测使用nmap,命令nmap -sP -n -iL ip.txt -oA OUTPUT --no-stylesheet
在Linux中使用cat OUTPUT.gnmap |grep Up |awk ‘{print $2}’ > ip_cunhuo.txt即可得到存活IP
12. 条件竞争漏洞原理与举例
条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。
举个例子,很多web程序都会有上传文件的功能,头像和图像等,服务器肯定会检查文件是否满足条件,不满足的要被删除 那么问题就在于,如果我们采用大量的并发请求,就传递一个生成恶意webshell的图像,访问它就可以生成webshell。在上传完成和安全检查完成并删除它的间隙,攻击者通过不断地发起访问请求的方法访问了该文件,该文件就会被执行,并且在服务器上生成一个恶意shell的文件。至此,该文件的任务就已全部完成,至于后面发现它是一个不安全的文件并把它删除的问题都已经不重要了,因为攻击者已经成功的在服务器中植入了一个shell文件,后续的一切就都不是问题了。
参考链接1:https://blog.csdn.net/iamsongyu/article/details/83346260
参考链接2:https://seaii-blog.com/index.php/2017/04/26/49.html
参考链接3:https://www.cnblogs.com/0xJDchen/p/5988275.html
13.假设客户中了GhostPetya勒索病毒向你咨询解决方案,请描述需要告诉他应该做些什么,如何去应急处置和善后补救
13.1 未部署端点安全的终端应急解决方案
1.做好重要文件的备份工作(非本地备份)。
2.开启系统防火墙。
3.利用系统防火墙高级设置阻止向445端口进行连接(该操作会影响使用445端口的服务)。
4.打开系统自动更新,并检测更新进行安装。
5.停止使用Windows XP、Windows 2003等微软已不再提供安全更新的操作系统。
6.如无需使用共享服务建议关闭该服务。
13.2 已部署端点安全的终端应急解决方案
1.如果用户已经部署终端管理类产品,可通过终端管理软件进行内网打补丁。
2.通过主机防火墙关闭入栈流量。主机防火墙关闭到445出栈流量。
3.开启文件审计,只允许word.exe,explorer.exe等对文件访问。
13.3 已经感染应急解决方案
1.断开网络连接,阻止进一步扩散。优先检查未感染主机的漏洞状况(可直接联系网御星云公司,提供免费检测工具使用),做好漏洞加固工作后方可恢复网络连接。
2.已经感染终端,根据终端数据类型决定处置方式,如果重新安装系统则建议完全格式化硬盘、使用新操作系统、完善操作系统补丁、通过检查确认无相关漏洞后再恢复网络连接。
预防措施
打补丁:及时给系统打补丁,修复漏洞。
装杀软:安装杀毒软件,及时更新病毒库。开启防火墙,并升级到最新版本,阻止勒索病毒与其C&C服务器通信。
做备份:定期对重要文件以及数据库做非本地备份。电脑开启系统备份,并添加保护(这样可通过卷影备份将系统恢复到被加密之前的状态)。
备份恢复:如果事先已对关键文件做了备份,在确保已清除病毒情况下可做数据备份恢复。如果卷影备份未被勒索病毒删除,可通过卷影备份将系统恢复到未感染勒索病毒的时间点。
改密码:使用长度大于10位的复杂密码。
加限制:禁用GUEST来宾用户。尽量不要使用局域网共享,或把共享磁盘设置为只读属性,不允许局域网用户改写文件。尽量关闭不必要的端口,如:445、135、139、 3389、5900 。
防钓鱼:不要点击来源不明的邮件以及附件,钓鱼邮件是勒索病毒的重要传播源。
14.请描述我们公司的网络安全现状,与改进方案
(非标准答案)
xx公司的网络安全状况主要存在以下几点安全隐患:
IP段划分不清
IP段划分不清导致的后果就是资产管理混乱,不明IP过多,可能存在“三无七边”系统,导致安全隐患
公司疑似存留被人入侵过的痕迹,需要及时排查
公司存在开源社区源代码泄露情况
改进方案:
资产清查
启用资产清查方案,对存活IP进行认领,收集各个系统安全负责人,统一对各个IP网段进行划分部署
进行安全检查 + 渗透
资产收集完成以后,对天讯公司进行常规安全检查,包括:全端口、主机、web和服务器进行基线检查 对扫描完的结果根据资产收集情况下发给各个负责人进行整改 其外,安全中心团队安排渗透人员对公司网站进行渗透测试,发现系统脆弱性
源代码泄露情况自查
使用安全中心团队搭建的GitHub代码泄露监控系统进行检查
15. 如何排查常见挖矿木马
首先挖矿木马是占用系统资源进行挖矿行为
常见的遭遇挖矿会有以下行为:
系统响应缓慢
CPU/显卡使用率过高
内存/带宽占用高
登录进可疑主机后,可以通过以下方式确认挖矿木马:
查看进程(系统命ps、ls令有可能被替换)
检查日志、检查系统用户
发现异常文件
参考链接:https://mp.weixin.qq.com/s/FhcoPGXG_udkRCj3AFOmxA?utm_medium=hao.caibaojian.com&utm_source=hao.caibaojian.com
参考链接2:https://blog.csdn.net/bittersweet0324/article/details/80650626
16.如何清查互联网暴露面
对于客户不清楚自己是否还有其他互联网暴露面的时候,需要先将客户已知的资产清单收集起来,方便后续对比
对于公网暴露面:
在出口网关设置流量监控工具(wireshark或者自带防火墙),检测足够长的时间以获得可能存在的暴露IP地址 nmap公网扫描全端口走一波,然后对照已知资产清单即可
nmap全端口扫描命令:nmap -sV -n -Pn -p- -iL ip.txt -oA OUTPUT --no-stylesheet --min-rate 5000 --max-retries 3
未认领的资产进行下线关停处理
17.如何检查mongodb未授权访问漏洞
方法一:
使用mangodb_unauth.py脚本进行处理,将ip地址放进target.txt
用法为:python mangodb_unauth.py target.txt
方法二:
使用nmap插件,命令为:nmap -p 27017 --script mongodb-info 192.168.0.1/24
参考链接:https://lfoder.github.io/2018/04/12/Nmap%E6%89%AB%E6%8F%8F%E4%B8%8E%E5%8F%91%E7%8E%B0%E6%BC%8F%E6%B4%9E%E5%85%A8%E6%8A%80%E5%B7%A7/?tdsourcetag=s_pctim_aiomsg
18.如何检测iis短文件名漏洞
方法一:
使用iis_shortname_Scan.py脚本进行检测,
用法:python IIS_shortname_Scan.py http://www.target.com/
参考链接:http://www.lijiejie.com/?s=IIS&submit=Search
方法二:
使用nmap,命令为nmap -p 80 --script http-iis-short-name-brute 192.168.0.1/24
参考链接:https://lfoder.github.io/2018/04/12/Nmap%E6%89%AB%E6%8F%8F%E4%B8%8E%E5%8F%91%E7%8E%B0%E6%BC%8F%E6%B4%9E%E5%85%A8%E6%8A%80%E5%B7%A7/?tdsourcetag=s_pctim_aiomsg
19.如何验证存在xss漏洞
XSS漏洞的原理是:插入语句、改变结果、操纵数据,本质是:用户输入的html语句直接输出,包括了使用不正确的方法去验证。
挖掘XSS的第一步是找输入,也就是用户可以操控代码的位置
第二步是找输出,也就是找到第一步用户输入的代码在网页的何处地方进行了输出
第三步:构造payload, 通过查看源代码,构建出payload。如代码输出位置在