美文网首页Metasploit入门系列
Metasploit入门系列(九)——Meterpreter(二

Metasploit入门系列(九)——Meterpreter(二

作者: RabbitMask | 来源:发表于2018-11-27 15:48 被阅读140次

    不好意思,今天是严谨的纯技术板块!各位可用于快速备查。

    前段可略过,请看到最后。

    本文档编辑时间:2018年11月27日

    目录

    全部命令(之所以选用英文,才不是因为网上找不到最新完整的中文介绍,原汁原味)

    常用命令(这也算对纯英文命令集做了一个良好的补充)


    Core Commands

    =============

        ? - Help menu

        background - Backgrounds the current session

        bgkill - Kills a background meterpreter script

        bglist - Lists running background scripts

        bgrun - Executes a meterpreter script as a background thread

        channel - Displays information or control active channels

        close - Closes a channel

        disable_unicode_encoding - Disables encoding of unicode strings

        enable_unicode_encoding - Enables encoding of unicode strings

        exit - Terminate the meterpreter session

        get_timeouts - Get the current session timeout values

        guid - Get the session GUID

        help - Help menu

        info - Displays information about a Post module

        irb - Open an interactive Ruby shell on the current session

        load - Load one or more meterpreter extensions

        machine_id - Get the MSF ID of the machine attached to the session

        migrate - Migrate the server to another process

        pivot - Manage pivot listeners

        pry - Open the Pry debugger on the current session

        quit - Terminate the meterpreter session

        read - Reads data from a channel

        resource - Run the commands stored in a file

        run - Executes a meterpreter script or Post module

        sessions - Quickly switch to another session

        set_timeouts - Set the current session timeout values

        sleep - Force Meterpreter to go quiet, then re-establish session.

        transport - Change the current transport mechanism

        use - Deprecated alias for "load"

        uuid - Get the UUID for the current session

        write - Writes data to a channel

    Stdapi: File system Commands

    ============================

        cat - Read the contents of a file to the screen

        cd - Change directory

        checksum - Retrieve the checksum of a file

        cp - Copy source to destination

        dir - List files (alias for ls)

        download - Download a file or directory

        edit - Edit a file

        getlwd - Print local working directory

        getwd - Print working directory

        lcd - Change local working directory

        lls - List local files

        lpwd - Print local working directory

        ls -  List files

        mkdir - Make directory

        mv - Move source to destination

        pwd - Print working directory

        rm - Delete the specified file

        rmdir - Remove directory

        search - Search for files

        show_mount  - List all mount points/logical drives

        upload - Upload a file or directory

    Stdapi: Networking Commands

    ===========================

        arp - Display the host ARP cache

        getproxy - Display the current proxy configuration

        ifconfig - Display interfaces

        ipconfig - Display interfaces

        netstat - Display the network connections

        portfwd - Forward a local port to a remote service

        resolve - Resolve a set of host names on the target

        route - View and modify the routing table

    Stdapi: System Commands

    =======================

        clearev - Clear the event log

        drop_token - Relinquishes any active impersonation token.

        execute - Execute a command

        getenv - Get one or more environment variable values

        getpid - Get the current process identifier

        getprivs - Attempt to enable all privileges available to the current process

        getsid - Get the SID of the user that the server is running as

        getuid - Get the user that the server is running as

        kill - Terminate a process

        localtime - Displays the target system's local date and time

        pgrep - Filter processes by name

        pkill - Terminate processes by name

        ps - List running processes

        reboot - Reboots the remote computer

        reg - Modify and interact with the remote registry

        rev2self - Calls RevertToSelf() on the remote machine

        shell - Drop into a system command shell

        shutdown - Shuts down the remote computer

        steal_token - Attempts to steal an impersonation token from the target process

        suspend - Suspends or resumes a list of processes

        sysinfo - Gets information about the remote system, such as OS

    Stdapi: User interface Commands

    ===============================

        enumdesktops - List all accessible desktops and window stations

        getdesktop - Get the current meterpreter desktop

        idletime - Returns the number of seconds the remote user has been idle

        keyscan_dump - Dump the keystroke buffer

        keyscan_start - Start capturing keystrokes

        keyscan_stop - Stop capturing keystrokes

        screenshot - Grab a screenshot of the interactive desktop

        setdesktop - Change the meterpreters current desktop

        uictl - Control some of the user interface components

    Stdapi: Webcam Commands

    =======================

        record_mic - Record audio from the default microphone for X seconds

        webcam_chat - Start a video chat

        webcam_list - List webcams

        webcam_snap - Take a snapshot from the specified webcam

        webcam_stream - Play a video stream from the specified webcam

    Stdapi: Audio Output Commands

    =============================

    play - play an audio file on target system, nothing written on disk

    Priv: Elevate Commands

    ======================

        getsystem - Attempt to elevate your privilege to that of local system.

    Priv: Password database Commands

    ================================

        hashdump - Dumps the contents of the SAM database

    Priv: Timestomp Commands

    ========================

        timestomp - Manipulate file MACE attributes


    接下来,我们选取部分常用命令做进一步解释。

     background  Backgrounds the current session,该命令是将当前session会话置入后台,从而可进行其它操作,当再次操作时可通过session -i *再次进入会话。

     pwd ,我们知道这个命令在Windows下是没有的,但在这里pwd只是个属于Meterpreter的命令,而不是属于某个OS,所有任意系统该命令都可运行。类似ls&dir上述问题同样存在于这两个有意思的命令,dir的解释居然是ls的别名,换句话说,在Meterpreter下不在区分OS,完全等价。

    我们应该发现了几个奇怪的命令:cd / lcd / pwd / lpwd / ls / lls,区别在于lcd/lpwd/lls作用于本地,在我们上传操作时会用到,用来调整或查看路径。

    clearev 用于情况日志/擦屁股 ,我们可以看到这种敏感级的操作都是需要system权限的,然而本次测试机版本偏高,且为server系统,因环境原因在这里未能复现,大家自行尝试。关于效果大家可以查看windows下事件查看器,是否已被清空。

    download 用于将文件下载到本地。

    upload 用于文件上传,但当目标为Windows系统时,需要注意的时windows下的‘\’会被转义,所以我们在路径中使用‘\’时需要敲两次~

    execute (Execute a command),我们可以看到官方的解释是执行一条命令,但我们习惯上更多的是借助-f参数来运行可执行程序。还需要留一下的就是-H参数,是大H,用于后台隐藏执行,不输出到屏幕,也就不会看到下面的第三张图片。

    getuid 查看当前用户身份。

    getprivs 查看当前用户具备的权限。

    getpid 查看当前木马进程号,有什么意义的?继续往下看。

    使用ps命令查看当前进程,我们可以看到3492对应进程,谁都会对这只兔子起疑心吧?

    还记得有次提过这个吧?对的,就是图形桌面的进程。

    migrate 用于迁移进程,成功讲进程迁移至1408,也就是说,桌面(图形界面)不崩,木马不倒!

    shell用于进入目标shell界面,使用exit命令退出shell界面。

    查看arp,要打穿内网的话还是要记牢的吧。

    idletime 目标服务器空闲时间,用于判断是否有人正在使用。

    还有一部分常用命令如:sysinfo (查看系统信息),getsystem(获取最高权限),ps(查看所有进程)kill(杀死进程)基本已经提到了,shutdown(关机),reboot(重启),netstat(查看网络连接清空),ipconfig=ifconfig(查看本机ip),这里作为一类命令简单提下,还是那句话,他们不区分OS,他们属于Meterpreter,虽然你看他们那么眼熟甚至功能完全一致。

    接下来!是个大头!

    run / bgrun 介绍这两个命令的时候,我都忍不住要加粗!该命令用于执行脚本或POST模块,我们可以看到当前有281条可供选择的模块或脚本,再次看到post模块,不知道小伙伴们是否眼熟,早在第二节课我们就提出将post模块放到后边讲解,作为后渗透阶段的核心模块,我只能说,小伙伴们再等一下下~

    前排提示,bgrun并不是说再目标机隐蔽运行,而是在本机上后台运行,类似-j的效果。

    这里我们简单举例,显然如果展开讲的话要可劲的整上几节课@。@

    run killav  杀死杀毒软件w(゚Д゚)w

    run post/windows/gather/enum_computers 用于枚举域内所有用户,当然这里的目标机不属于任何域。

    run persistence,我们知道Meterpreter的强大之处之一在于它运行于内存中,不易被杀毒软件发现,但只要目标机环境合适,或你对自己的免杀足够自信,可通过该命令写入硬盘,下次目标机启动时,木马将会自启动。

    run post/multi/gather/wlan_geolocate,基于wlan进行地理位置确认,当看到如下返回结果时,我也是一脸懵逼,找了好久,最终loot文件夹在这里:/root/.msf4/loot ,如果通过该模块获得了地理信息,会在该文件夹下生成txt文件。大家注意下路径重点msf4,保不准明天就变成msf5了,大家自己留意下,是隐藏文件,看文件夹记得勾隐藏文件,命令行查看记得加-a。

    run hashdump 获取目标系统用户密码hash,我这里显示失败了,我们看提示此命令该脚本需要系统用户system权限,所以大家可以结合上章节提到的getsystem使用。

    run service_manager ,目标系统服务管理,我们可以看到它还有属于自己的参数,大家可以根据自己的需要使用,一般用于信息收集我们常会用到-l参数。

    run post/windows/wlan/wlan_profile ,用于读取目标主机WiFi密码。出去用了不许说我交的!!!这里因为是一台桥接的虚拟机,所以检测不存在wlanapi十分合理。

    run vnc ,我知道你们等这条命令好久啦,没错啦,屏幕实时监控。

    然后配合run sound_recorder(声音记录),run webcam(开启摄像头)食用效果更佳。 

    这篇文章可真是又臭又长,碰到了不知道多少个坑,至于下节课的素材嘛,就补充性的讲实战中的坑吧。提前感谢小伙伴提供的免杀技术支持和比较善良小姐姐(限今天)被迫提供的实战演示环境!

    相关文章

      网友评论

        本文标题:Metasploit入门系列(九)——Meterpreter(二

        本文链接:https://www.haomeiwen.com/subject/bfvvqqtx.html