![824e175ba6245fa7d360503359764485.png](https://i-blog.csdnimg.cn/blog_migrate/9c46939064c3548d6f68f475a5433a40.jpeg)
1 MSF基本介绍
metasploit 是一个开源框架,这个框架用来做渗透测试,其 msf 是由多个不同的模块组成的。可以在 kali 中直接使用,命令行msfconsole 即可。
1、漏洞利用模块
exploits 是漏洞利用模块,漏洞利用是攻击者利用服务器的漏洞进行攻击的一种行为,其中包含了主流漏洞的攻击代码。
2、辅助模块
auxiliary 是辅助模块,主要用来执行扫描,嗅探,指纹识别等,算是信息搜集的内容。
3、后渗透模块
post 是后渗透模块,在取得目标系统远程控制权后,可进行一系列获取敏感信息,跳板攻击等后渗透攻击的动作。
4、攻击载荷模块
payload 是攻击载荷模块,用来在目标系统上完成实际的攻击功能的代码。
5、编码工具模块
encoders 是编码工具模块,用来进行免杀,防止被杀毒软件,防火墙,ids 等检测。
2 将数据库与MSF关联
KALI系统默认安装了一个数据系统(postgresql)
service postgresql status 查看数据库状态
service postgresql stop 关闭数据库
service postgresql start 开启数据库
netstat -tupln |grep postgres 看出数据库占用KALI的端口为5432
```powershell
root@kali:~# service postgresql start
root@kali:~# service postgresql status
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; disabled; vendor pre>
Active: active (exited) since Mon 2020-03-16 09:04:51 EDT; 45min ago
Process: 1608 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 1608 (code=exited, status=0/SUCCESS)
3月 16 09:04:51 kali systemd[1]: Starting PostgreSQL RDBMS...
3月 16 09:04:51 kali systemd[1]: Started PostgreSQL RDBMS.
root@kali:~# msfdb init
[i] Database already started
[i] The database appears to be already configured, skipping initialization
```
3 POC&&EXP
POC(Proof of Concept)
漏洞证明,漏洞报告中,通过一段描述或一个样例来证明漏洞确实存在
EXP(Exploit)
漏洞利用,某个漏洞存在EXP,意思就是该漏洞存在公开的利用方式(比如一个脚本)
4 Payload
是包含在你用于一次漏洞利用(exploit)中的ShellCode中的主要功能代码
对于一个漏洞,他可以被利用(exploit),利用有一个完整的解决方案你可以把这个看作是名词的(exploit),然后利用必然有目的,而你的目的就是通过Payload来实现的,比如开3389,创建用户,修改密码等等等。
Payload是可以被模块化的,一个Payload可以稍作修改就用于各种漏洞,同时,对于一个漏洞,他的利用方式必然要涉及到ShellCode,因为Payload是包含在ShellCode中的,ShellCode是真正的被输入到存在漏洞的程序中的,并且ShellCode负责把程序的流程最终转移到你的Payload代码中。所以对于一个漏洞来说,ShellCode就是一个用于某个漏洞的二进制代码框架,有了这个框架你可以在这个ShellCode中包含你需要的Payload来做一些事情。
然后你整理这个过程,把Crash的原因和导致的结果分析写出文章,然后附上你上面写的ShellCode,这就是一个POC(Proof of Concept概念证明)。
5 bundler和msf版本不匹配问题
Bundler 能够跟踪并安装所需的特定版本的 gem,以此来为 Ruby 项目提供一致的运行环境。
Bundler 是 Ruby 依赖管理的一根救命稻草,它可以保证你所要依赖的 gem 如你所愿地出现 在开发、测试和生产环境中。 利用 Bundler 启动项目简单到只用一条命令:bundle install。
bundler旧版本要求1.17.3
**可以给gem进行换源**
6 msf使用步骤
## 6.1 查win7 和 kali ip地址
## 6.2 运行msfcon 自动补全
## 6.3 逐步运行msf各个模块
使用辅助模块
![c6146e02be27ef6e9ead921817fee52d.png](https://i-blog.csdnimg.cn/blog_migrate/23cd2ff5d43e6dada002b4f6ea95632d.png)
![eb9e0ef7da2cd5106bee08bc24ae3d92.png](https://i-blog.csdnimg.cn/blog_migrate/7de295619aacff0613c7b6956229a35e.png)
修改为yes的
![949a7d020df3f4a5040e8c17d5e50494.png](https://i-blog.csdnimg.cn/blog_migrate/dd1b998eb93d865e35aaeb26323ebb9c.png)
rhosts目标ip
![6d20c187c2017d7fa469ddde78a6b7db.png](https://i-blog.csdnimg.cn/blog_migrate/40676f6fb04ea4da861e767c2e28dc9b.png)
扫描
![54e01dcc214d0187f6ef4a26fb64374d.png](https://i-blog.csdnimg.cn/blog_migrate/b081d3a6940262cd02869897d2be6d24.png)
发现虚拟机型号
选择exp
![2cae921557ddbe89aed72caafffb27de.png](https://i-blog.csdnimg.cn/blog_migrate/e7fdb8ffa112aa5a1a76c6fa825f645a.png)
步骤同上 查options
![fdd0335f7d75cd5058fde1d2707c2224.png](https://i-blog.csdnimg.cn/blog_migrate/833196da07bf390e310075b7a6107526.jpeg)
自定义设置
![3bb7a8e2f971a730e1237461f8878704.png](https://i-blog.csdnimg.cn/blog_migrate/bdd3b071db8439c449128ecea331be61.png)
设置好了exp
设置payload
![4fac5e1d1dd0acbcff5b2c1894604aff.png](https://i-blog.csdnimg.cn/blog_migrate/8e2188168ac6c617edc434486b30c032.png)
![2cdeeea5dba65e7d7e9b16cd47d3cfa9.png](https://i-blog.csdnimg.cn/blog_migrate/14bdd1a36d378f10f150f3ba666e4727.png)
![5280b1f84a2d2272fdd05ed4669fb57c.png](https://i-blog.csdnimg.cn/blog_migrate/603f55a88a8130c281e99086f8811f93.jpeg)
我的ip
![5280b1f84a2d2272fdd05ed4669fb57c.png](https://i-blog.csdnimg.cn/blog_migrate/603f55a88a8130c281e99086f8811f93.jpeg)
这种情况虚拟机配置太低 被攻关机
![088f6aae4da0c8548ef6533062d827d5.png](https://i-blog.csdnimg.cn/blog_migrate/e33374e93e2ba3d736da035a52bca78e.png)
![dd2c1eda528f90aa61bdacf00cbbf9b6.png](https://i-blog.csdnimg.cn/blog_migrate/c5b2daf081b000f40bbb2bb16927de0e.png)