zoukankan      html  css  js  c++  java
  • 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:获取当前工作目录并显示

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

  • 相关阅读:
    【Spring源码解读】bean标签中的属性(二)你可能还不够了解的 abstract 属性和 parent 属性
    【效率工具】史上最好用的SSH一键登录脚本,第三版更新!
    WebGL简易教程——目录
    写技术博客的一些心得体会
    空间直线与球面相交算法
    three.js中帧缓存的使用
    curl使用小记(二)——远程下载一张图片
    curl使用小记(一)
    three.js中场景模糊、纹理失真的问题
    关于three.js中的矩阵更新
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/9889429.html
Copyright © 2011-2022 走看看