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:获取当前工作目录并显示
(其实本身功能以及很强大了,未必就真的能用到扩展)