|
文章来源:漏洞复现
知识前置
信息收集
-
服务器的相关信息(真实IP,系统类型,版本开放端口,WAF等) -
网站指纹识别(CMS,CDN,证书,DNS记录等) -
whois信息,姓名,备案,邮件,电话反差(邮箱丢社工库,社工准备等) -
子域名收集,旁站,C段等 -
Google hacking 针对化搜索,PDF文件,中间件版本,弱口令扫描等 -
扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄露等 -
协议,通用漏洞,github源码等
漏洞挖掘
-
浏览网站,查看网站的规模,功能点,特点 -
端口,弱口令,目录扫描,对响应端口进行漏洞探测,mysql,ftp,ssh弱口令等 -
开始检测漏洞,如XSS,SSRF,SQL注入,代码执行,命令执行,越权访问,任意文件读取,下载,文件包含,远程命令执行,弱口令,编辑器漏洞,暴力破解,重放攻击,服务器漏洞检测,最后使用漏扫工具等 -
CMS:内容管理系统,位于前端和后端办公系统,一般可以搜索可能会存在对应的源码或者版本漏洞 -
CDN:构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。 -
利用谷歌搜索,寻找后台、用户信息泄露,源代码泄露,未授权访问,mdb文件下载,网站配置密码,php远程文件包含漏洞等信息。 -
中间件:是一种独立的系统软件或服务程序,连接应用程序或系统,即使不同接口仍然能交互信息
漏洞利用&提权
-
mysql提权、serv-u提权、oracle提权 -
linux内核漏洞提权 -
windows溢出提权
可能被面试到的题总结
①应急思路:首先通过安全设备拦截攻击包体和日志分析,了解攻击者具体进行了什么样的攻击,通过黑白结合模拟方法进一步判断攻击者的攻击方式。复现之后对漏洞进行修复,对攻击者进行溯源。
②溯源思路:首先通过系统日志、安全设备截获攻击包等从中分析出攻击者的ip和攻击方式,通过webshell或者木马去微步分析,或者去安恒威胁情报中心进行ip检测分析,是不是云服务器,基站等,如果是云服务器的话可以直接反渗透,看看开放端口,域名,whois等进行判断,获取姓名电话等丢社工库看看能不能找到更多信息然后收工
③干过什么项目:接过一些项目,可以利用水泽进行目标资产进行信息收集,或者灯塔,做好信息收集可以判断框架是否存在shiro反序列化、struct命令执行打点,框架不行挨个功能点测试,然后就几种,弱口令,进入后台,模板注入,上传漏洞,拿到shell权限,我觉得比较有意思的就是这次我遇到的机子,正常的烂土豆无法提权。最后发现他存在3306的mysql服务,并且网站源码中找到了密码并且是root权限,接着就利用mysql的udf提权,就直接上传sqlmap自带的那个udf文件,利用16进制传输,最后提权,执行免杀马上线Cs,获取当前服务器的账号和密码,利用hash传递横向。发现是大网段,对内网的ip段进行扫码看看web站点,再次信息收集,对ssh,mysql,sqlserver,3389,横向移动基本能拿取大量机器。域控就利用抓取的域控登陆的账号和密码,最后金银票据,拿到域控。内网的话 我觉得就是弱口令爆破,获取密码后提权等
④设备:中睿的睿眼,他会自动匹配可能是攻击的数据包,然后通过数据包判断是否是攻击
⑤内存马如何排查:如果发现了一些内存webshell的痕迹,需要有一个排查的思路来进行跟踪和分析,也是根据各类型的原理,列出一个排查思路——1、如果是jsp注入,日志中排查可以jsp的访问请求。2、如果是代码执行漏洞,排查中间件的error.log,查看是否有可疑的报错,判断注入时间和方法。3、根据业务使用的组件排查可能存在的java代码执行漏洞,spring的controller了类型的话根据上报webshell的url查找日志,filter或者listener类型,可能会有较多的404但是带有参数的请求。
⑥蜜罐钓鱼:通常部署一个中间件页面或者后台页面,一旦被攻击就会获取到攻击者的部分信息(具体看厂家部署的蜜罐什么功能 如:奇安信的蜜罐可以捕获到攻击者微信昵称,微信账号等需要攻击者在页面进行点击和操作)
⑦如何分析报文:根据数据包利用平台或者wireshark分析攻击payload是哪种攻击 攻击的路径或者接口在哪
⑧进程排查思路(火绒剑都可查看到)
-
没有签名验证信息的进程 -
没有描述信息的进程 -
进程的启动用户 -
进程的路径是否合法 -
CPU或内存资源占用长时间过高的进程
Hw初级面试题-总结一下
1、拿到一个待检测的站,你觉得应该先做什么
信息收集
-
获取域名的whois信息,然后获取注册者的邮箱姓名电话等,去社工库看看有没有什么信息泄露啊,让然后尝试用泄露的信息进行后台登陆或者爆破后台。用邮件作为索引,可以搜索到关联社交账号,社工找出关联账号的密码等,利用已有信息生成专用字典
漏洞扫描
-
开始检测漏洞,如XSS,SSRF,SQL注入,代码执行,命令执行,越权访问,任意文件读取,下载,文件包含,远程命令执行,弱口令,编辑器漏洞,暴力破解等。
漏洞利用
-
利用以上方法拿到webshell
权限提升
日志清理
总结报告以及修复方案
2、CMS对渗透的意义
查找行已曝光的漏洞。
如果开源,还能下载相对应的源码进行审计
3、常见的网络服务器容器
IIS、Apache、nginx、Lighttpd、Tomcat
4、目前已知哪些版本的容器有解析漏洞?
-
IIS 6.0—— /xx.asp/xx.jpg
-
IIS 7.0—— 默认Fast-cgi开启,直接在图片地址后面输入/.php就会将图片当做php解析
-
Nginx——版本小于0.8.37 利用方法和IIS7.0一样
-
Apache—— 上传文件名为test.php.x1.x2.x3, Apache是从右往左判断
-
Lighttpd—— XX.jpg/xx.php
5、如何手工快速判断目标
linux大小写敏感,windows大小写不敏感
6、安全狗会追踪变量,从而发现出是一句话木马吗?
不是,是根据特征码
7、SQL注入防护方法
-
使用安全的Api -
对输入的特殊字符进行escape转义处理 -
使用白名单来规范化输入验证方法 -
对客户端输入进行控制,不允许输入SQL注入相关的特殊字符 -
服务器端在提交数据库进行SQL注入查询之前,对特殊字符进行过滤,转义,替换,删除 -
预编译
8、在有shell的情况下,如何使用xss实现对目标站的长久控制
后台登陆处加一段记录登陆账号密码的js,并判断是否登陆成功,就把账号和密码记录到一个生僻的路径文件中或者直接发到自己的网站中
9、SQL注入的预防
-
预编译 -
PDO -
正则表达式过滤
10、序列化与反序列化的区别
-
序列化:把对象转化为可传输的字节序列过程称为序列化 -
反序列化:把字节序列还原为对象的过程称为反序列化
11、常见的中间件漏洞
IIS
PUT漏洞、短文件名猜解、远程代码执行、解析漏洞
Apache
解析漏洞、目录遍历
Nginx
文件解析、目录遍历、CRLF注入、目录穿越
Tomcat
远程代码执行、war后门文件部署
JBoss
反序列化漏洞、war后门文件部署
WebLogic
反序列化漏洞SSRF任意文件上传war后门文件部署
Apache Shiro反序列化漏洞
Shiro rememberMe(Shiro-550) Shiro Padding Oracle Attack(Shiro-721)
12、OWASP Top10有哪些漏洞
SQL注入
失效的身份认证
敏感数据泄露
XML外部实体(XXE)
失效的访问控制
安全配置错误
跨站脚本(XSS)
不安全的反序列化
使用含有已知漏洞的组件
不足的日志记录和监控
13、正向SHELL和反向SHELL的区别
-
正向shell,攻击者连接被攻击者机器 -
反向shell,被攻击者主动连接攻击者 -
正向代理,客户端代理,服务器不知道实际发起请求的客户端 -
反向代理,服务器代理,客户端不知道实际提供服务的服务端
14、TCP与UDP协议区别
TCP面向连接,UDP面向报文,tcp保证完整性和顺序,udp不保证
15、流量分析
-
过滤ip: -
过滤源ip地址: ip.src==1.1.1.1
; 过滤目的ip地址:ip.dst==1.1.1.1
-
过端口: -
过滤80端口: tcp.port==80
,源端口:tcp.srcport=80
,目的端口:tcp.dsttport==80
-
协议过滤: -
直接输入协议名即可,http or https -
http模式过滤: -
过滤 get/post包 http.request.mothod==“GET/POST”
推荐阅读
漏洞复现 | GitLab未授权RCE(CVE-2021-22205)
原文始发于微信公众号(鹏组安全):2021蓝队HW | 初级面试简单总结
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论