基于spring生态的基础后端开发及渗透测试流程(二)
继上次写了一份基于spring生态的基础后端开发流程后,这次来完成系统的安全防护以及后期渗透测试流程。
本人还没有真正接触过安全运维方面的操作,只能凭借平时的经验对系统进行防护。设置Snort入侵检测系统和HFish蜜罐。并对系统进行安全加固。
之后通过一系列渗透测试步骤对上次搭建的系统进行安全检测。
最后假设系统被入侵,并对系统进行相应应急响应措施。
原文链接:https://www.blog.23day.site/articles/83
安全设备
IDS
IDS入侵检测系统是一个旁路监听设备,没有也不需要跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署的唯一要求就是IDS应当挂接在所有所关注流量都必须流经的链路上
本篇使用开源的snort,snort属于IPS,串联接入网络,也就是在网络流经的地方插一刀。
snort的安装可以源码安装或者apt一把梭,下载完成后从官网下载规则,在snort.conf中include该文件位置即可
自定义规则可以另写文件,按照官网规则自行编写https://docs.snort.org/rules/
另外snort的log可以使用wireshark查看
蜜罐
蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
本篇使用开源蜜罐HFish,在官网有部署和使用方法,这里使用docker部署,采用的网络模式是host模式,即将docker容器直接架设在主机网络中,与主机共享网络
hfish中默认提供了API查询攻击信息,还提供了情报和通知配置,后期将整合至博客系统server模块中进行实时监控
hfish官网提供了实时更新的功能
安全加固
本篇使用阿里云ecs,系统为ubuntu20.04,进行相关安全加固
主要分为五个模块:
- 账号管理
- uid为0的用户
- 空密码账号
- 用户口令强度
- 用户口令设置
- 用户登录次数
- 密码重复使用次数限制
- 服务管理
- root用户远程登录
- ssh空密码登录
- ssh多次失败锁定账户
- 账户超时时间
- ssh端口
- 权限管理
- 默认umask
- 指定用户或组才可使用su命令
- 检查重要目录和文件权限
- 日志管理
- 检查日志服务启用
- 检查定时任务日志
- 查看ssh的loglevel=info
- /var/log/messages为只可追加
- 其他管理
- 检查账号相关性
- 停用无关服务
- 重要文件锁定
渗透测试
信息收集
子域名
单用OneForAll
可以,或者subfinder
+ksubdomain
组合一下也可以,本篇采用subfinder
的被动扫描后还用ksubdomain
的验证功能收集存活子域名
域名注册信息
阿里云域名信息查询+站长工具
企业信息
如果是对企业进行信息收集的话,可以用天眼查和ICP域名备案查询,集合工具:ENScan_GO
端口扫描
用的是masscan
和nmap
一起扫的,把结果结合了一下,naabu
实在是不知道是怎么回事,扫出来的结果乱七八糟的
源码泄露
生成一个github
的api_token
,使用gitdorker
搜集信息,确实搜出来很多信息
路径扫描
dirsearch
加上强力一点的字典足够扫描了,本篇没有使用爬虫进行路径探测
真实ip探测
先利用多地ping和ip反查判断目标网站是否使用cdn加速,如果使用过cdn加速则可以使用ip历史记录解析、历史dns平台、ssl证书搜索查找真实ip
js扫描
利用升级版urlfinder
或者jsfinder
查找js
文件,再搜索password
、key等关键词
设备检测
蜜罐识别
github
上能找到的比较好的蜜罐检测工具Honeypot Hunter
和anti-honeypot
waf识别
kali
自带的wafwoof
我觉得有点丑陋,可以用whatwaf
社工
之前跟前辈学的,一般企业资产都在内网,如果扫不出来,就需要用社工去进入内网去扫
,可以利用OSINT开源网络情报或者开源社工工具Maigret等收集企业或个人信息,然后制作相应弱口令字典进行爆破
爆破
用Hydra/Hydra-graphical
爆破工具,字典的话就是用上面获取的社工字典+常用字典联合爆破,碰到验证码等可以使用bp
的验证码插件
漏洞扫描
系统扫描
nessus
或者openVAS
,但是openVAS
的体量太大了,而且俩都属于大型扫描器
web扫描
vulmap
、goby
、xray
、awvs
。xray
是长亭的误报有点多,而且之前跟某些前辈学习的时候说不习惯用漏扫,就是因为误报太多了。这里存在xray
+bp
或者xray
+awvs
的组合。本篇是用扫出来的路径去写了个脚本,用bp
做的代理,bp
的上游代理设置为xray
,这样就可以将敏感路径全都扫一遍了
应急响应
应急响应为当发现主机遭受入侵后的一系列应对措施,主要查看一下部分,并将异常设置改正
- 开启启动项
- 环境变量
- 资源利用
- 威胁情报
- 账户密钥、重装覆盖
- 定时任务
- 检查rootkit
- 日志文件