天创培训:您身边的信息安全培训专家!
技术中心
企业网络渗透测试实战

安全三大准则

(The three laws of security - A. Shamir)

没有绝对安全的系统。

若要风险减半,需得开支增倍。

加密通常并非被攻破,而是被绕过。

案例一 某国企网络渗透测试

流程

1、前期交互

2、信息搜集、社会工程

3、Web 访问权限

4、Web 应用提权

5、Webshell

6、操作系统提权

7、内网渗透

8、报告、整改及回测

前期交互

1、明确用户的需求——确定用户的测试要求、类型等需求

2、划定边界——划定渗透测试的范围及边界(可为、不可为)

3、规避风险——协商测试环境,潜在风险,测试环境、生产环境

信息搜集、社会工程

目标

企业信息、组织架构、人员信息、硬件、电话、生日、帐号信息、规章制度、拓补结构……

信息搜集

Google, Weibo, Whois, DNS, Blog...

Google 搜索示例

网站特殊路径:Robots.txt

内部文件

管理规范、命名规范

网络信息探测——Whois, Passive DNS
Domain Name: xctf.org.cn
ROID: 20140813s10051s00724664-cn
Domain Status: ok
Registrant ID: hc-740959249-cn
Registrant: 南京赛宁信息技术有限公司
Registrant Contact Email: cyberpeace@qq.com
Sponsoring Registrar: 阿里巴巴通信技术(北京)有限公司(原万网)
Name Server: dns7.hichina.com
Name Server: dns8.hichina.com
Registration Time: 2014-08-13 13:42:36
Expiration Time: 2017-08-13 13:42:36
DNSSEC: unsigned
网络信息探测——DNS
; <<>> DiG 9.8.3-P1 <<>> xctf.org.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 11396
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;xctf.org.cn.			IN	A

;; Query time: 722 msec
;; SERVER: 218.2.2.2#53(218.2.2.2)
;; WHEN: Sat Jul 11 10:41:11 2015
;; MSG SIZE  rcvd: 29
网络信息探测——CDN

扫描

CDN: 80

Origin: 21, 25, 80, 3306

提交头像 URL,让原始服务器主动向探测服务器发起请求。

社会工程

电话前台

星巴克 + Cookie 泄露

Cookie: Name=root; Session=ABCDE;

Web 应用访问权限

架构确定

404 Not Found
/xsxt/1.jsp was not found on this server.
Resin 2.1.14 (built Thu Jul 1 18:39:55 PDT 2004)

框架确定

Linux / Windows...
Oracle / MySQL / SQLServer...
Tomcat / Nginx / Apache / Lighttpd...
PHP / .NET / Redin / J2EE...

第一道防线

1、账号探测

用户名错误?

密码错误?

2、验证码绕过

大量快速的测试,需要绕过验证码?

可被快速地光学字符识别(利用模式识别技术识别验证码)。

破解,缺乏安全意识的开发者常将 Cookie 解码,来得到实际验证码。

重放,缺乏安全意识的开发者会忽视验证码的重放攻击。

3、密码破解

暴力 / 字典:次数限制。

恢复 / 劫持:短信劫持、“短信保管箱”、邮件劫持。

4、审计缺陷

复用帐号:账号可能会重置密码。

临时帐号:创建隐蔽的临时账号。

保持会话 / XSS:利用 Session、持久型 XSS 等方式使账号持续有效。

Web 应用提权

1、SQL 注入提权

2、绕过访问控制提权

通过“隐藏”来实现权限控制或访问控制,是缺乏安全意识的开发者常犯的错误之一。

寻找规律

http://exp.com/news/action/forwardNewsList
http://exp.com/files/action/forwardFilesList

尝试

http://exp.com/users/action/forwardUsersList (Wrong)
http://exp.com/members/action/forwardMembersList (Right)

3、利用 Session 提权

用户临时参数的缺陷

http://exp.com/userCenter/updateUserConfig
data: {
   confTypeId: "9",
   confEntryId: "9",
   dataType: "integer",
   code: "theme",
   content: "1"
}

Webshell

1、SQL 注入过滤绕过示例

http://exp.com/index.do?query=abc'
(Illegal Paras.)
http://exp.com/non-exist.do?query=abc'
(Illegal Paras.)

判断使用 Sprint 拦截器实现,获取任意参数进行字符检测。

发现 REST 风格请求:

http://exp.com/member/1024/info
(Test) http://exp.com/member/10' or 1=2 --/info

找到 SQL 注入点

这需要各种系统、框架的开发经验,团队配合才能熟悉具体的开发过滤经验,熟悉对方弱点进行绕过。

2、报表导出缺陷

选定日期导入报表

发现是 Session 相关、文件缓存(可以伪造路径而造成任意文件下载)

3、文件上传绕过

http://exp.com/downloadFile?appName=gat&fileName=test.xls
APP_WHITE_LIST: gat/htr/kpt/chg

对管理员提供白名单前缀设置选项,将前缀与文件名路径组合形成实际路径

发现 APP_WHITE_LIST 并未以 / 分割后再判断,而是简单搜索,即 gat/htr 也会被视为合法

此配置设置时仅做了前端校验

4、数据更新缺陷

管理员可配置 FTP 更新参数:

UPDATE_FTP_SERVER: 192.168.1.20
UPDATE_FTP_USER: admin
UPDATE_FTP_PASS: laKSlec
UPDATE_LOCAL_FILE: /tmp/update.tar
UPDATE_REMOTE_FILE: /data/update.tar

管理员可配置附件存储服务器参数

操作系统提权

内网渗透

1、配置文件

2、不安全的“安全运维”

对所有服务器做日志安全分析、监控常规运维命令:重启机器、重启服务、自动更新

协议未加密(未严格检查证书合法性:自签名证书)