社会工程学(Social Engineering,又被翻译为:社交工程学)在上世纪60年代左右作为正式的学科出现,广义社会工程学的定义是:建立理论并通过利用自然的、社会的和制度上的途径来逐步地解决各种复杂的社会问题,经过多年的应用发展,社会工程学逐渐产生出了分支学科,如公安社会工程学(简称公安社工学)和网络社会工程学。
简单来说社会工程学就是对目标的信息搜集,当然不仅仅是搜集目标主动泄漏的信息,还要利用各种方式去获取目标的相关系统。
在渗透测试的过程中,社工技术会对整个渗透测试的方案和最终结果产生巨大的影响。
主要获取的信息(渗透测试中)包括:服务器信息,网站所有者信息,域名信息等。
利用工具(请参考红日第一课)
例:对红日实验室的简单社工
现在的网络环境对安全越来越重视,无疑加大了信息搜集的难度,在以后的学习道路上我们要收集搭建属于自己的社工库,比如说
在日后的课程中,我也会带着大家搭建这样的社工库并提供部分数据
这样的一个社工库,里面加入我们收集到的数据,并逐渐扩大我们的数据库内容,这样在以后的工作中会对你提供很大的帮助。
针对不同的服务器,我们会进行不同的测试,比如目标是一个linux的系统,我们基本就不会去看asp方面的漏洞了,只会对它有可能存在的漏洞进行测试,而服务器方面,我们也会发现不同的版本漏洞。在他的中间件等等。
应用方面我们要讲的就会多一些了,虽然网站类型多变,各种语言层出不穷,但主要的漏洞就是那么几个。可以参考owasp top 10
,我优先为大家介绍一下危害比较大的漏洞类型。
当我们访问这个页面时,我们的PC就在攻击者的beef中上线了
通过 beef,我们可以对上线的浏览器进行很多的后门操作比如最基本的弹窗:
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
存在越权访问漏洞
个人总结:对于越权漏洞的主要挖掘方法:
越权漏洞属于逻辑漏洞,这样的漏洞,不是代码的硬性错误,网站可以说他没有sql注入漏洞,但他不可以说他没有逻辑漏洞,只是每个人的思考方向不同,测试方法和角度也不一样,发现的逻辑漏洞也就不会相同。
http://sec.sangfor.com.cn/vulns/236.html
Pligg CMS 2.0.2
目录遍历漏洞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
的变化很小。
漏洞实战演练:https://www.lvtao.net/shell/phpcms-upload-webshell.html
phpcms
前台头像上传漏洞导致webshell
详解及案例
个人总结:这个漏洞被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。
webshell
,按语言主要分为三种php,asp,jsp
其他衍生的类型不计其数,但核心仍是这三种,主要目的就是通过webshell
,对网站进行控制。目的:我们整个攻击行为的目的,比如获取flag,目标服务器权限等等,根据我们不同的目的,我们要做出不同的针对性的攻击,可以大大节省我的时间和资源。
隐藏:在攻击的过程中,我们要学会隐藏自己,把我们的攻击行为隐藏起来,这样我们就可以保证我们在攻击的过程中不会被发现,导致我们的攻击过程被强行中断,减少不必要的工作量。
特定场景的针对测试:每一个目标的环境就行人一样,都是维一的,没有一模一样的环境,所以我们要针对不同的环境去做不同的攻击,减少没必要的行为。
当我们拿到webshell后,我们要做的就是权限提升了,我们真正开接触到我们的目标了现在。
内部信息收集: 根据我们的目标,我们要开始收拾信息,网站的基本信息,管理者的行为信息,目标的内部环境等,我们有了一个跳板就要把我们可以拿到的点都拿到手中,这样才可以保证我们的目的达成。
系统漏洞利用:
当然,还有很多很多,我就不一一展示了,还有一部分要涉及到密码的寻找,如果,我们没有办法溢出,那我们就要想办法找到高级管理员的密码,来登录到高权限的帐户上去
网页后门其实就是一段网页代码,主要以ASP和PHP代码为主。由于这些代码都运行在服务器端,攻击者通过这段精心设计的代码,在服务器端进行某些危险的操作,获得某些敏感的技术信息或者通过渗透,提权获得服务器的控制权。并且这也是攻击者控制服务器的一条通道,比一般的入侵更具有隐蔽性。
网页挂马就是攻击者通过在正常的页面中(通常是网站的主页)插入一段代码。浏览者在打开该页面的时候,这段代码被执行,然后下载并运行某木马的服务器端程序,进而控制浏览者的主机。
这是主要的两种后门情况,一个好的后门要保证自身不被发现,不被安全软件识别并杀死,可以进行实时的更新。
完成一次完整形的渗透测试,最后一步,是对日志的处理,当我们有客户授权的情况下,这一步并不重要,但当你是自己做一些友情测试里,这一步就是最重要的一步,你要通过对日志的处理来更好的保护自己,删除敏感日志,或修改日志内容,并备份真实日志。
整个测试结束,我们要对我们的思路和过程做一个完整的总结,保证下次我们遇到类似的环境时,可以直接利用我们已经有的东西,并在自身的团队中交流经验,总结这次工作中的不足,这是进步最好的方法。