目录
Rapid7官网
Rapid7 Cybersecurity - Command Your Attack Surface
metasploit官方文档
Home | Metasploit Documentation Penetration Testing Software, Pen Testing Security
什么是vulnerability?
vulnerability是指软件、硬件或者操作系统中存在的安全漏洞。一个vulnerability可以像弱密码这样简单,也可能像缓冲区溢出或者SQL注入这样复杂。
我们可以使用Nexpose等等来扫描vulnerability.
什么是exploit?
为了利用一个vulnerability(系统存在的漏洞),你通常需要一个exploit利用漏洞的代码.
exploit存在的唯一理由就是利用vulnerability,然后为你提供目标的权限。
exploit通常会向目标发送payload(攻击成功后向目标传递的恶意代码),以此来获取目标的权限。
Metasploit拥有全世界最大的、优质的exploit数据库。
什么是payload?
payload是目标系统被exploit之后,让你控制目标系统的软件。payload通常是由exploit来传递到目标系统上的。
Meterpreter是Metasploit中最受欢迎的payload,它让你能在目标系统上做很多事情。比如,你可以上传下载文件、截屏收集密码的哈希值。你甚至可以控制目标的鼠标、键盘和屏幕。
比喻:
vulnerability 坦克装甲的薄弱位置
exploit 能发送穿甲弹的发坦克导弹
payload 穿甲弹的爆炸单元
系统漏洞
利用漏洞的代码
通过利用漏洞的代码送到目标机
Metasploit
Metasploit就是一个漏洞框架。
它的全称叫做The Metasploit Framework,简称叫做MSF。
Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。
MSF采用了模块化的设计,便于攻击者使用编程(ruby)技能扩展和开发定义插件和工具。
结合postgresql的利用
启动数据库
systemctl start postgresql
systemctl enable postgresql
systemctl status postgresql
----
service postgresql start
创建用户和数据库
su postgres
createuser -P msf1
# 创建此用户的密码
createdb --owner=msf1 msf1
#库名
msf连接数据库
bash
msf6 > db_connect msf1:123@localhost/msf1
#用户 密码 本地库名
[*] Connected to Postgres data service: localhost/msf1
msf6 > db_s
db_save db_stats db_status
msf6 > db_status
[*] Connected to msf1. Connection type: postgresql. Connection name: local_db_service.
msf6 > nmap
然后就可以用nmap扫描--看到服务,主机信息...(数据在数据库里面)
MSF经典利用过程:

show exploits
meterpreter常用命令&脚本:


....不会就扣?