Metasploit基础:
专业术语:
1.Auxiliary(辅助模块):该模块不会直接在测试者和目标主机之间建立访问,它们只负责执行扫描,嗅探,指纹识别等相关功能以辅助渗透测试。
2.Exploit(漏洞利用模块):漏洞利用指由渗透测试者利用一个系统,应用或服务中的安全漏洞进行的攻击行为。流行的渗透攻击技术包括缓冲区溢出,web应用程序攻击,以及利用配置错误等,其中包含攻击或测试人员针对系统中的漏洞而设计的各种POC验证程序,用于破坏系统安全的攻击代码,每个漏洞都有相应的攻击代码。
3.Payload(攻击载荷模块):攻击载荷是我们期望目标系统在被渗透攻击之后完成实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令或者执行特定代码,在Metasploit框架中可以自由的选择,传送和植入,攻击载荷也可能是简单的在目标操作系统上执行一些命令,如添加用户账号等。
4.Post(后期渗透模块):该模块主要用于在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息,实施跳板攻击等。
5.Encode(编码工具模块):该模块在渗透测试中负责免杀,以防止被杀毒软件,防火墙,IDS及类似的安全软件检测出来。
渗透攻击步骤:
1)扫描目标主机系统,寻找可用漏洞
2)选择并配置一个漏洞利用模块
3)选择并配置一个攻击载荷模块
4)选择一个编码技术,用来绕过杀毒软件的查杀
5)渗透攻击
比如攻击Samba服务:
1.运行漏洞模块
2.通过show payloas查看攻击载荷
3.设置目标地址IP
4.开始攻击
当出现这个,代表攻击成功
功能简介:
主机扫描:
1.活跃主机扫描:这里使用namp进行扫描
活跃主机指已连接到网络上,处于运行状态且网络功能正常的主机
使用nmap进行主机探测
先简单介绍一下nmap的参数:
-sL:简单列表扫描
-sn:扫描主机,但是不进行端口扫描
-sS:TCP SYN扫描【半开放扫描,扫描速度高且隐蔽性好】
-p |-F:扫描端口列表与扫描次序,常用的扫描方式【-p指定端口|-F执行快速扫描】
-sV:服务,版本扫描
-O:启用操作系统探测
-PU:扫描开放的UDP端口:通过对开放的UDP端口进行探测以确定存活的主机
扫描主机:
nmap -PU -sn 192.168.80.0/24 通过扫描开放的UDP端口,查看在这一网段中的存活的主机,扫描时不对开放的TCP端口进行扫描
2.使用辅助模块进行端口扫描:
命令:search portscan
这几款工具在原理和使用上有较大的区别,特作以下介绍:
ack:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
ftpbounce:通过FTP bounce攻击的原理对TCP服务进行枚举
syn:使用发送TCP SYN标志的方式探测开放的端口,一般情况下,推荐使用该种方式,因为它的扫描速度较快,结果准确并且不容易被对方察觉
tcp:通过一次完整的TCP连接来判断端口是否开放,这种扫描方式最准确,但是扫描速度比较慢
xmas:一种更为隐蔽的扫描方式,通过发送FIN,PSH和URG标志,能够躲避一些高级的TCP标记检测器的过滤
命令:
use auxiliary/scanner/portscan/tcp
show options
命令:
set RHOSTS 192.168.80.2
set PORTS 1-1000
set TEREADS 20
最后run运行,就可以扫描端口了。
3.利用nmap进行端口扫描
参数先简单介绍一下
-sT:TCP connect扫描
-sS:TCP SYN扫描
-sP:通过发送ICMP echo请求探测主机是否存活,原理同ping
-sU:探测目标主机开放了那些UDP端口
-Pn:在扫描之前,不发送ICMP echo请求测试目标是否活跃
还能更加详细的知道每个服务的版本信息:
4.使用辅助模块进行服务扫描:
其使用方法和上面端口扫描是一样的,这里就不贴例子了。
常用的扫描模块及其功能:
信息搜集:
1.通过dns和IP地址挖掘目标网络信息
1)whois域名注册信息查询:一般域名注册信息会包含域名所有者,服务商,管理员邮件地址和电话,传真(如果能够检测到这个,可以利用社会工程学攻击),域名注册日期和过期日期。
进入msf终端,使用whois命令进行查询:进行whois查询时要去掉www,ftp等前缀,这是由于机构在注册域名时通常会注册一个上层域名,其子域名由自身的域名服务器管理,在whois数据库中可能查询不到
2)nslookup域名查询
使用set type=A 可以对其IP地址进行解析 ,可以看到qiushibaike.com域名被解析到103.37.145.167这一IP地址,也可以使用set type=MX来查找邮件转发服务器
3)dig域名查询:dig工具与nslookup功能类似,都可以查询域名所对应的IP地址,但是dig工具可以从该域名的官方dns服务器上查询到精确的权威解答
dig也可以指定域名服务器进行查询:dig @域名服务器 域名
4)netcraft网站提供的信息查询服务:http://searchdns.netcraft.com/
从上可以看到查询到了testfire.net的子域名,以及操作系统类型,然后点开sitereport可以查看详细信息
在这里我们可以看到站点的操作系统版本,web服务器版本,IP地址
2.探索网络目录结构
可以使用Mesploit中的brute_dirs,dir_listing,dir_scanner等辅助模块查看网站的目录结构
可以看到扫描的目录以及返回的状态码
其余几个模块使用方法一样
3.搜索网站中的e-mail地址
使用search_email_collector模块,但是该模块需要提供一个邮箱后缀(域名)
altoromutual.com是网站testfire模拟的一个电子银行站点
4.搜索易存在sql注入的页面
这个可以利用Google进行搜索:site:testfire inurl:login
在这里说一下常用的几个谷歌语法
可以使用的参数有:site,filetype,inurl,intitle,intext
比如:
site:xxx inurl:login 搜索xxx网站login页面是否存在sql注入
inurl:login.php 搜索网址中含有login.php网页
intitle:后台管理 filetype:php 搜索标题是后台管理的php页面
intitle:index of"parent directory" 搜索根目录星官的索引目录信息
intext:Powered by wordpress 搜索word press制作的博客网址
intext:Powered by *CMS 搜索*CMS相关的页面
intext:powered by xxx inurl:login 搜索此类网站的后台登陆页面
parent directory site:xxx 搜索xxx网站的目录结构
主机探测与端口扫描
3.服务扫描与查点
查看所有可用的服务查点模块
1)telnet服务扫描
扫描主机是否开启了telnet服务:
2).ssh服务扫描:
ssh是类unix系统上常见的远程管理服务,它采用了安全的加密信息的方式
4.口令猜测与嗅探
1)ssh服务口令猜测
若口令猜测:先准备好你的字典
v
2)psnuffle口令嗅探
psnuffle是目前Metasploit中唯一用于口令嗅探的工具,它的功能虽然不强大,但是却很实用,可以使用它截获常见协议的身份认证过程,并将用户名和口令信息记录下来
5.网络漏洞扫描
网络漏洞扫描指的是利用一些自动化的工具来发现网络上各类主机设备的安全漏洞
1)OpenVAS漏洞扫描器
用来识别主机,web应用存在的各种漏洞
web应用渗透技术基础知识
metasploit的辅助模块基本都在modules/auxiliary/下,web应用辅助扫描,漏洞查找模块等模块也是在这个目录下,在这里可以找到针对http协议的相关漏洞扫描