年底了,总结一下大型网站的入侵经验[t00ls转载]
事先声明:
1、拒绝跨省。
2、拒绝人肉,猪肉,牛肉。
本文并不涉及内网。
纯属经验谈,以前oldjun有写过类似的。俺这里挑不重复的补充:
0x00
大型某类别门户世界排名top100以内:
- 低调求发展
1、一个点,特别是一个超大的门户,正面进攻,搞主站绝对是不理智的。除非你有个0day把它ko掉,否则的话,我相信前面已经有n+1个人看过了。经过那么多人的洗礼,早就固若金汤了。所以我只会粗略看过,不会在上面耗费太多时间。根据木桶原理,起决定性作用的不是它主站多安全,也不是它登陆口安全策略做的多好,网络安全取决于它最薄弱的那一块,而不是最安全的那部分。
2、一般大型门户都有不同的b c段。有些整个b段都是他们的。如果是大型的点,我会找他们AS号,目的是看他们Route,ip分配的一些情况,当然还有mx,ns,ns-soa都是不可忽视的线索。然后一般会先做粗略分析(针对收集到的所有ip),抓banner分析都有那些应用(一般都看tomcat,业务入口,cisco之类的),做什么用的,什么类型的系统,根据结果评估切入点。预先心里有个底。
3、我有个习惯,习惯统计那些应用用的最多的,就把它作为研究方向。大型门户都用tomcat 、jboss、Lotus-Domino、websphere(内网用的也多)、glassfish、oracle 公司的weblogic(多谢某会员纠正,我笔误,习惯写成sun的,09年sun被oracle收购了。)等其他系列应用是最多的。国内那些门户到现在为此还存在这些可利用漏洞的就有一些,直接就是root权限(不晓得为啥这么久没补上)。国外的那些包括某某门户,ibm(ibm犯的一个最低级的错误就是websphere在9043管理登陆口那里存在默认口令,直接ko,root权限,现在大家不要去试了,前几个月可爱的管理员终于修补了:)),大型企业很多也有一些公开未公开漏洞的,他们一般都是集成的,而且几大公司用的web系统有几个重要的都是一样的。不过是商业程序。由此可见,不安全的地方还是有不少的。
4、有时候拿到代码、有时候利用条件很苛刻,经常需要在本地搭建很多环境模拟测试。以研究解决之道。也有很多攻击手法往往就是在这其中了解到的。记得坛子有人问lotus进后台怎么利用,在这里拿Lotus-Domino做一个case。
我们随机破了一个密码找一个靶子:
You (admin/Kmtcas) are connected to:
Server name: kmtc_nt.kmtcas.co.kr/Kmtcas
Host name:
Version and build: Release 7.0.3 (266)
Operating system: Windows 2003 Server Service Pack 1 (Windows/32) T00ls.Net
Focus On Network Security- F0 C; s3 z( R5 U t0 D5 D
Directory & partition: e:\lotus\Domino\Data (e.lotus.Domino.Data)
Server date & time: 2011-11-24 16:40:41
Elapsed up-time: 39 days, 06:57:01
Transactions/minute: Last minute: 957; Last hour: 464; Peak: 14562
Peak # of sessions: 128 at 2011-10-31 18:06:36
Transactions: 10926651, Max. concurrent: 20
Waiting tasks: 0
Availability Index: 6 (state: AVAILABLE)
Mail domain: kmtcas
Mail tracking: Not Enabled
Mail journalling: Not Enabled
Shared mail: Not Enabled
Mailboxes: 1
Pending mail: 22, Dead mail: 0
Transactional logging: Not enabled
Activity logging: Not Enabled
Fault recovery: Not Enabled
Server controller: Not Enabled -
DB2 enabled: Not Enabled
其实很简单,我们选择server,然后quick console,前面我们知道e:\lotus\Domino\Data这个路径.于是我们可以执行命令,定向到lotus download目录下.访问该文件就能看到结果:
我把ip隐藏掉了,因为怕有人再次拿它练手,伤及这台无辜的服务器。此外还可以通过部署等方式来实现。限于讨论范围。就不一一举例子了,这里有lotus的一些漏洞说明,可以参考:
http://www.exploit-db.com/search ... db=&filter_cve=
5、一般injection这些手法俺在大型站点上用的反而不是太多。原因有几个,一是提权(php,aspx,asp这些实际上提权相当麻烦,特别是碰到那些标准虚拟机配置的web)。其次是碰到的环境相对更苛刻一些。
6、发邮件,这个很有技巧。建议一般定向,实际上是模拟一个真实的客户向他们问问题,有时候第一封邮件往往是正常邮件,不会夹带任何附件内容。等他们回复之后,再进一步发附件的形式。当然,有时候也需要伪装,构造邮件address以及和发件名跟另外一个人(来往熟悉的那个人)一模一样的。会提高成功率。大规模地发,基本都是找死行为。这个,牛人们可以自由发挥了。Ps:该方法同样适用以下0x01,0x02的情况。
7、xss利用,这个没什么好说的。难度比较高。一般都是挂马,截获cookie等。在这里给大家推荐一本书:Cross Site Scripting Exploits And Defense(如果没有,可以找我要)
8、定向挂马。
0x01
门户型站点
门户型站点没有0x00前面罗列的那么大。当然像google这种王八蛋就不是门户型级别了,人家已经是神棍了。。。
门户的话,我搞的序列一定是banner—应用平台—web平台。
其中banner是我有限要抓取分析的。如果有我熟悉的应用平台,优先处理。因为通常能拿到的都是root权限。Web平台拿到的很少有root权限。Rp爆发的时候也有。再者,web平台的处理,一般也要看情况。比如如果是dz,看是什么版本,可有漏洞,如果是phpbb呢?wordpress呢?等等。这种东西,要根据实际应用来判别。像wordpress,前期我都懒的去找injection,上传也没有吧?如果是我,我肯定会把他们用的插件全部扫出来,分析。当然了,扫后台,路径这些都是必须的了。大家都知道,就不罗嗦了。
再者,如果网站系统是他们自己写的,这个时候我才会花时间去分析injection之类的。
0x02
小型站点
这种一般都是虚拟机了。其中分几个大类:
国内:
星外,万网等。这块留空白,因为很少玩。
国外:
国外不论是哪家idc,服务器安全配置都做的很好,其中linux安全做的最好。特别是标准ss linux虚拟机配置的那种。不算用exp提权,通过其他配置不当或者其他低权限的调用来实现读取目标文件或者写shell的成功率不到30%。相当吃力。针对这种,最重要的是先拿个shell,然后提权,一般很耗时间(有时候也会在本地搭建环境测试)。至于win机器,发现国外现在win2008渐渐多了起来。这块问题主要在win2008 32/64bit的提权上。如果没有第三方应用来提权的话,直接exp感觉够戗。其次是hash破不出明文的问题,这种一般只有单独种一个keylog来记录它的管理员密码了。
0x03 - 专注网络安全.
其他个人心得:
搞入侵,除了基本功扎实之外,多学点别的东西,扩展自己的知识面。比如考个cissp,rhce啥的;学学ccna ccnp这些都是有帮助的,增加对网络的了解,也比如画网络拓扑的时候更专业一些。另外养成主动研究的习惯。数据库攻防很有必要系统学,特别是oracle、mysql 、mssql还有db2这些。有空多参阅国外的一些文档,借鉴前人的思路。T00ls.Net
零零散散,就写了这些,还有很多没写上的,以后有机会再接着补充吧。这个权当给大家一个参考。