Metasploit Framework(3)Meterpreter

文章的格式也许不是很好看,也没有什么合理的顺序

完全是想到什么写一些什么,但各个方面都涵盖到了

能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道

Meterpreter:是一种高级的,动态的,可拓展的payload

获取系统Shell通常很有用,但是有时候我们需要更深入的"Shell"

比如我想知道目标机器的键盘什么键被按下,或者使目标机器弹出一个提示框等等

meterpreter获取的不是系统的shell

meterpreter是完全基于内存DLL注入式payload(不写硬盘)

因此有很大的免杀效果

注入过程:

注入合法系统进程并建立stager

基于stager上传和预加载DLL进行拓展模块注入

基于stager建立socket连接建立加密的TSL通信隧道

利用TSL隧道进一步加载后续拓展模块(防止网络取证)

它可以实现很复杂的功能,甚至是获取麦克风进行窃听,打开摄像头等等

meterpreter还有图形化操作界面

下面将会介绍使用方法和示例:

Kali机器IP:192.168.163.132

先要获取一个shell,于是我启动一台windowsXP机器作为目标(IP:192.168.163.134)

为了演示,我使用经典的MS08-067漏洞:(具体方法前两篇文章有介绍到)

use windows/smb/ms08_067_netapi

然后依次设置好目标IP,目标类型(这里34代表WindowsXPsp3)

再设置好回连的Payload,以及回连的IP(Kali机器)

然后exploit渗透,成功!

我们像以前一样,sessions -i 进入shell,发现有问题,不能够获取系统shell,而是弹出一个meterpreter:

这其实就是获取了meterpreter

接下来介绍Meterpreter的使用方式:

background命令:返回msf命令(其实就是退出)

可以使用一些linux命令:pwd,ls

还可以使用cat命令:但不能使用vi命令,和vi命令一致的一个命令是edit

还有mkdir新建文件夹,rmdir删除文件夹,mv移动或重命名文件,rm删除文件等

lpwd,lcd等命令可以操作Kali系统:后边可以进一步上传下载

接下来介绍一些强大的命令:run,bgrun:运行,后台运行

这里有几百个可运行的脚本,很多的在后面介绍

比如我运行killav:作用:杀掉目标系统的杀毒软件

从而进一步上传文件等

bgrun service_manager可以操作目标系统的服务

bgrun winbf 可以让目标机器暴力破解用户名密码

有趣的是bgrun vnc

可以获取对面机器的图形化界面:

这里注意:可以获取对方的界面,但是不能操作对方的机器可以看到对方机器在做什么操作

其实还是很有用的

其他的模块在后面再介绍,但却是有很多的其他功能

下面介绍其他命令:

clearev:

这个命令非常重要:删除日志

计算机会记录各种日志,如果不删除,黑客的痕迹会被轻易发现

下一个命令不能说是重要,但是非常地实用:下载:download

下载到哪里了呢?

上边地命令lpwd

比如刚才我进入到了usr目录,现在我就下载到了usr目录

当然,有下载就会有上传:

比如我把一个脚本上传到windowsXP的C盘

看看是否成功:

OK,成功了!

如果上传了一个可执行文件,还可以让目标执行:execute -f

再比如让他执行CMD:

这里的-H是隐藏起来运行,-i是与目标交互

getuid:获取当前登陆的账户

getsystem:如果登陆账户不是system,改为system

getprivs:查看当前用户权限

getproxy:获取代理信息

getpid:meterpreter注入一个合法进程,这里是获取注入的进程的PID

所以呢,我们可以做一个小操作来避免被发现:

把meterpreter绑定到桌面进程(或者其他的不会被关注系统进程)

比如我在下面做一个示例:

kil命令可以杀死进程

两个恶意命令:

reboot重启目标机器,shutdown关机

shell命令:操作系统进程

search命令:搜索

其他的一些命令:

netstat查看网络连接(端口信息),arp查看ARP缓存

ipconfig和ifconfig都可以使用,这个作用不必说了

route查看路由

idletime:目标操作系统以及空闲了多长时间

用处:如果空闲时间过长,说明机器使用者不在,可以使用一些明显的渗透技术,风险也可以更小

resource命令:调用外部资源文件执行指令

record_mic记录麦克风,获取内容

webcam_list查看摄像头

webcam_snap -i 1 -v false

这一行命令的作用很有趣:每一秒钟使用目标机器拍照一次

上边这些是基本命令

还能有一些扩展:比如我使用python语言来扩展

作用:可以直接运行原生的python代码

命令:load python

使用示例1:helloworld

示例2:获取当前工作目录并显示

(其实本身功能以及很强大了,未必就真的能用到扩展)

原文地址:https://www.cnblogs.com/xuyiqing/p/9889429.html

时间: 2024-08-05 22:25:04

Metasploit Framework(3)Meterpreter的相关文章

metasploit framework (三)

exploit模块 分为主动,被动exploit 主动exploit:攻击者(通常是客户端)主动发起连接请求,然后发送exploit给被攻击者(通常是服务器端) 被动exploit:被攻击者(通常是客户端)主动发起连接请求,然后攻击者(通常是服务器端)反回exploit给被攻击者 主动exploit演示 启动msf 被动exploit

metasploit framework(十三):FTP扫描

设置目标IP 查看是否支持匿名登录 获取到版本信息 使用ftp登录模块 搜索刚才获取到的版本信息,找到一个针对这个版本的漏洞利用代码

metasploit framework(四):生成payload

RHOST是限制来源IP,这里不用修改 generate生成payload 假设'\x00'是坏字符,生成payload时就会对'\x00'进行编码,排除坏字符. -b 去掉坏字符 -t 指定生成的格式 -i 编码几轮 -k 生成过程中不会启动新的进程 -x 使用的模板文件,在模板文件中注入payload -f 输出的路径 就生成了一个1.exe的文件

LINQ之路10:LINQ to SQL 和 Entity Framework(下)

在本篇中,我们将接着上一篇“LINQ to SQL 和 Entity Framework(上)”的内容,继续使用LINQ to SQL和Entity Framework来实践“解释查询”,学习这些技术的关键特性.我们在此关注的是LINQ to SQL和Entity Framework中的”LINQ”部分,并会比较这两种技术的相同和不同之处.通过我们之前介绍的LINQ知识还有将来会讨论的更多LINQ Operators,相信阅者能针对LINQ to SQL和Entity Framework写出优雅

LINQ之路 9:LINQ to SQL 和 Entity Framework(上)

在上一篇中,我们从理论和概念上详细的了解了LINQ的第二种架构“解释查询”.在这接下来的二个篇章中,我们将使用LINQ to SQL和Entity Framework来实践“解释查询”,学习这些技术的关键特性.在本系列文章中,我不准备事无巨细的讨论LINQ to SQL和Entity Framework的方方面面,毕竟那样需要太多的篇幅,也会让我们从LINQ上面转移注意力,况且,园子里也有不少介绍LINQ to SQL和Entity Framework的好文章.我们在此关注的是LINQ to S

MVC & Entity Framework(2)- controller、Models单独DLL

继上一篇MVC & Entity Framework(1)- 开发环境之后,已经很久没更新了.接下来记录一下怎么把MVC中的controller单独拆为一个类库,然后在web项目中引用.另外,顺便尝试把Models中的实体类也拆为一个单独的类库. 1.Controller类库项目 ①添加一个普通的类库(.Net Framework4.5) ②在PM控制台输入以下命令Nuget命令安装MVC的引用——这里直接在项目的“引用”那里右键“添加引用”,效果是一样的. 这里指定版本号4.0.20710.0

Spring Framework(框架)整体架构 变迁

Spring Framework(框架)整体架构 2018年04月24日 11:16:41 阅读数:1444 标签: Spring框架架构 更多 个人分类: Spring框架 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wd2014610/article/details/80061808 Spring 在这个Spring框架大行其道的软件开发世界里,尚有很多工程师天天在用,但是从来不会去思考下,Spring框架的整体架构到底是什么样子的啊.

REST framework(2)

RESTful API设计 API与用户的通信协议,总是使用HTTPs协议. 域名  https://api.example.com                         尽量将API部署在专用域名(会存在跨域问题) https://example.org/api/                        API很简单 版本 URL,如:https://api.example.com/v1/ 请求头                                         

Django rest framework(2)----权限

一 添加权限 (1)API/utils文件夹下新建premission.py文件,代码如下: message是当没有权限时,提示的信息 #!/usr/bin/env python # coding:utf-8 from rest_framework.permissions import BasePermission class SVIPPermission(BasePermission): message = "必须是SVIP才能访问,你权限太低,滚" def has_permissi