Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。每一季度更新一次。

黑盒测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试。

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。

      银鞍照白马,飒沓如流星。十步杀一人,千里不留行。 事了拂衣去,深藏身与名。                                                                                                        ——侠客行

本文是基于Kali Linux的渗透测试有关内容

凯文·米特尼克(Kevin David Mitnick)

Hacker的素质是什么?

凯文·米特尼克是第一个被美国联邦调查局通缉的黑客。有评论称他为世界上“头号电脑黑客”,其传奇的黑客经历足以令全世界为之震惊。他曾经闯入过北美防空系统,中情局,美国五角大楼,Sun系统公司。

不管是政府部门,还是商业机构,或者我们个人,在面对社交工程师(social engineer)的入侵时是何等脆弱。

                                                                        ——Steve Wozniak(苹果公司联合创始人)

凯文的父亲的家族几代都在销售领域从事工作,影响和说服别人是遗传下来的特征。凯文在中学时代就轻松地掌握了电话飞客的技巧。

凯文的另一个兴趣是着迷于魔术表演,从魔术中因为获取到秘密知识而带来无穷的乐趣。

凯文是一个很擅长hack的黑客。 他的书《反欺骗的艺术》几乎都在讲社交工程学的例子,很少提及计算机技术。

hacker的最高境界是利用社交工程学

Linux基础

学习Web渗透测试之前,需要有一定的Linux基础

可以学习MIT的CS计算机操作环境导论

配置国内源

我们使用apt-get命令安装程序时,默认的是国外源,因为GFW的限制

我们需要配置国内源

 默认的配置文件中的是国外源,不好用,我们需要使用国内源

进入配置文件

sudo vim /etc/apt/sources.list

用#将原来的源注释掉,加入国内源

#清华大学

deb http://mirrors.tuna.tsinghua.edu/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu/kali kali-rolling main contrib non-free

#中科大

deb http://mirrors.ustc.edu/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu/kali kali-rolling main non-free contrib
#阿里云

deb http://mirrors.aliyun/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun/kali kali-rolling main non-free contrib

如果配置好国内源还不能正常使用,出现换源之后签名无效的问题,在终端执行下面两条命令

wget archive.kali/archive-key.asc
apt-key add archive-key.asc

Kali

什么是Kali

Kali译为【黑色】,也可译为时间(时母),象征强大和新生

Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。每一季度更新一次。

是一种配置有各种渗透工具的的Linux。

渗透测试的步骤

1.侦查

尽可能多了解目标环境和系统特征有关的信息

研究目标在互联网上的:

  • 踪迹
  • 监测资源
  • 人和过程
  • IP地址
  • 系统类型

Kali Linux提供了一个名为Information Gathering的类别作为侦查工作的资源。其中的工具可以用来研究网络,数据中心,无线环境,和主机系统

侦查任务的目标:

  • 找出目标
  • 定义应用和商业用途
  • 找出系统类型
  • 找出可用端口
  • 找出运行的服务
  • 对信息进行社会工程
  • 记录发现的内容

2.目标测试

对目标进行漏洞测试

需要了解Web应用的运作方式,被识别的服务,通信的端口和其他信息

漏洞评估和安全审计通常会在对目标进行测试的这个环节后结束

目标:

  • 测试出目标的薄弱环节
  • 找出易受攻击的系统,并确定其优先级
  • 将易受攻击系统和资产所有者进行映射
  • 记录发现的内容

3.漏洞利用

利用找到的漏洞验证漏洞是否真实存在。

这一步是否成功完全依赖于前面几步的投入。许多漏洞利用技术都是针对特定漏洞开发的。没有正确执行,会造成意外的后果。最佳实践是找出若干漏洞后,基于最容易攻击漏洞制定一个攻击策略。

漏洞利用可以是手动的,也可以是自动的。

漏洞利用的目标:

  • 漏洞利用
  • 拿到权限
  • 抓取非授权数据
  • 积极地进行社会工程
  • 攻击其他系统或应用
  • 记录发现的信息

4.提升权限

利用漏洞只能拿到访问目标数据和资源的优先权限。

必须提高权限才能抓取重要内容。这些内容可以是敏感数据,关键的基础设施。

提升权限包括:

  • 获取更高级别的访问系统和网络的权限
  • 获取其他用户的账户信息
  • 使用提升过的权限来访问其他系统
  • 记录发现的信息

5.保持访问

建立其他到系统的入口来保持访问。可能的话,将渗透留下的痕迹一并隐藏

最佳实践是建立其他途径来访问目标系统,防止主要路径被关闭。替代性访问有后门,新建管理员账户,加密过的隧道和新的网络访问通道。

删除渗透证据:

  • 擦除用户日志
  • 掩盖现有的访问通道
  • 删除篡改的痕迹

保持访问的目标

  • 建立到目标网络的多种访问方法
  • 删除未授权访问的证据
  • 修复在漏洞利用中受影响的系统
  • 如有必要,注入假数据
  • 通过加密或其他方式隐藏通信方式
  • 记录发现的信息

侦查

他们像幽灵般潜行于林间,轻轻拨开挡路的树枝,竭力不让脚步发出一点儿声音,连呼吸都必须小心翼翼。

The quieter you become,the more you are able to hear.

                                                                                                        ——Kali

侦查过程中,惊动了目标很可能会使特定的攻击路径被关闭(加强戒备)。

侦查的对象

目标的背景:目标的业务关注是什么领域。

目标的伙伴:目标的业务伙伴,经销商和客户是谁?

目标在安全方面的投资:他们的安全政策做过宣传吗?他们在安全上潜在投资有什么计划,用户的安全意识是什么状态?

目标的业务和安全政策:他们的业务是如何运作的?运作环节中有什么潜在的薄弱环节吗?

目标的员工:他们的员工都是什么样的人群?你是如何将他们变成你攻击的资产?

定义目标:那个目标最容易陷?哪个目标应该避开?

目标的防御:他们做了什么样的安全部署?部署再了哪里?
目标的技术:在电邮,网络流量控制,信息存储,身份认证等方面他们使用的是什么样的技术?这些技术容易被攻击吗?

初期研究

知己知彼,百战不殆。

                                                ——《孙子兵法·谋攻篇》

尽可能多收集跟目标有关人群和业务的信息。

如果目标是网站,应该观察网站的方方面面,对网站的维护和运行有更深的了解。

可以发现的信息:

  • 分类的文档
  • 密码
  • 漏洞报告
  • 私密照片
  • 可以访问的监控摄像头

可以从以下方面收集研究:

公司网站

Robots.txt文件在有些网站上是可以公开访问的,这个文件会通过网络爬虫排除协议告诉Web机器人哪些信息是可见的,哪些信息是不可见的。

Robots.txt文件可以在目标网站的根目录中找到

Web的历史归档网站

区域互联网注册管理机构

电子化数据收集,分析的检索(EDGAR)

社交媒体资源

信任关系

招聘广告

职位列表会说明安装的是什么系统,谁会管理这些系统,雇员有多少和能力水平。

位置

配有栅栏和全副武装的保安的建筑通常会比那些位于公共建筑物的目标在互联网安全上投入更多,可以利用在线地图服务,谷歌地图。

Shodan搜索引擎

是一个通过各式各样过滤器找出特定设备的搜索引擎

Google Hacking

侦查时常见的搜索引擎,利用谷歌引擎中的高级操作来定位搜索结果中的特定字符串 

Google Hacking数据库

对用户名,密码,易受攻击系统和漏洞利用的搜索都会被Google Hacking狂热分子抓取并分类。

研究网络

HTTrack

一个Kali的工具,用于克隆网站,如果Kali没有这个工具

sudo apt-get install httrack

需要创建一个目录存储复制的网站

切换到这个目录

未完待续

更多推荐

Kali Linux渗透