WEB和服务器安全漏洞
黑客技术领域,包括内外部网络渗透、反向破解、网络木马病毒分析等。
1,243个主题在此版面
-
About: netsh的常用命令 马修德马斯克使用netshell执行邪恶的动态链接库并在主机上持续的方式 用InitHelperDll函数编写一个动态链接库 如何使用 侦查 目录: 介绍netsh的常用命令 测试马修德马斯克分享的方法——使用netshell在主机上执行恶意动态链接库并持续存在 如何使用c编写导出函数为InitHelperDll的助手动态链接库 实际测试利用 防御和检测 Reference: http://www。向前适应。com/2016/09/using-netshell-to-execute-evil-dll-and-persist-on-a-host/ 0x00 简介 在渗透测试中,使用系统中默认支持的命令常常可以绕过各种检测和拦截,比如我在《Use bitsadmin to maintain persistence and bypass Autoruns》 中介绍过如何利用系统默认支持的比萨德明来实现自启动,并绕过自动运行的检测。 马修德马斯克在最近分享了一个他发现的方法,同样是利用系统中默认支持的命令——使用netshell在主机上执行恶意动态链接库并持续存在,本文将对其方法进行整理,并补全文中未具体介绍的动态链接库编写方法 0x01 netsh简介 是窗子系统本身提供的功能强大的网络配置命令行工具,常用命令如下: 查看互联网协议(互联网协议的缩写)配置信息: netsh接口互联网协议(I…
-
- 0 篇回复
- 125 次查看
-
-
0x00 前言 Java可以通过JNI接口访问本地动态连接库,从而扩展了Java的功能。以Tomcat环境为例,介绍了通过jsp加载dll的方法,开源代码,记录细节。 0x01 简介 本文将介绍以下内容: 基础知识 通过Java JNI加载动态链接库的方法 通过jsp JNI加载动态链接库的方法 0x02 基础知识 JNI,全称Java Native Interface,是Java语言的本地编程接口。可用于调用dll文件 给JNI打电话的接口: 写Java代码,指明要访问的本地动态连接库和本地方法。 编译Java代码来获得。类别文件 使用javah生成相应的。这个类的h文件。 用c实现该功能并编译dll。 通过Java调用dll 0x03 Java通过JNI加载dll的方法 在本节中,我们将通过Java加载dll并在命令行上输出“Hello World”。 1.编写Java代码,注明要访问的本地动态连接库和本地方法 HelloWorld.java: 公共类HelloWorld { 私有原生void print(); 静电 { system . loadlibrary(' Hello '); } 公共静态void main(String[] args) { 新HelloWorld()。print(); } } 注: 还可以使用System.load指定加载dll的绝对路径…
-
- 0 篇回复
- 169 次查看
-
-
0x00 前言 文章《渗透技巧——利用netsh抓取连接文件服务器的NTLMv2 Hash》介绍了通过Windows命令行在服务器上捕获数据包,获取连接到文件服务器的NTLMv2 Hash的方法,解决了一个有趣的问题: 如果获得了内网某个文件服务器的权限,如何获取更多用户的密码? 本文将改变实现方式,通过修改文件服务器上的图标文件,强制用户访问伪造的文件服务器,抓取伪造文件服务器上的数据包,获得连接到文件服务器的NTLMv2 Hash。 0x01 简介 本文将介绍以下内容: 添加scf文件会迫使用户访问假冒的文件服务器。 修改文件夹图标以强制用户访问伪造的文件服务器。 图标后门 防御思维 0x02 实现思路 利用SMB协议的特性,当客户端连接到服务器时,默认情况下首先尝试使用本机的用户名和密码哈希登录。 当一个用户访问一个文件服务器时,如果我们可以诱骗用户访问一个假的文件服务器,并在假的文件服务器上抓取数据包,那么我们就可以获得用户自己机器的NTLMv2哈希。 所以关键是如何欺骗用户访问伪造的文件服务器,同时保证隐蔽性。 欺骗用户访问假文件服务器的方法有很多种(钓鱼略),那么有没有在用户打开文件共享时自动访问假文件服务器的方法呢?当然有。接下来主要介绍两种实现方式。 0x03 添加scf文件强制用户访问伪造的文件服务器 这个方法已经在其他文章中介绍过了。参考: https://pentestlab.blog/2017/12/13/smb-s…
-
- 0 篇回复
- 122 次查看
-
-
0x00 前言 APT通过COM劫持组织Trula在Outlook启动时使用后门方法加载dll,其特点是只需要当前用户的权限。 本文将参考已发表的资料对这种方法进行测试,编写一个自动利用脚本,扩展使用,分享多个可用的劫持地点,并基于利用思路给出防御建议。 参考资料: https://www . welivesecurity . com/WP-content/uploads/2018/08/Eset-Turla-Outlook-back door . pdf 0x01 简介 本文将介绍以下内容: 使用方法 Powershell脚本实现详细信息 扩展使用 辩护建议 0x02 利用方法 当Outlook启动时,它将加载多个COM对象。我们可以通过修改注册表加载DLL来劫持Outlook的启动进程。 这里的utilization方法需要添加两个注册表,修改两个COM对象。 因为是修改HKCU的注册表,所以可以使用当前用户权限。 (1)COM对象1,用来加载第二个COM对象 添加以下注册表: HKCU \软件\类\ CLSID \ { 84 da 0a 92-25 E0-11 D3-b9f 7-00 c 04 f 4c 8 f 5d } \ TreatAs={ 49 cbb 1c 7-97 D1-485 a-9e C1-a 26065633066 } 通过命令行实现的命令如下: REG add HKCU \软件\类\ CLSID \ { 84 …
-
- 0 篇回复
- 114 次查看
-
-
0x00 前言 Exchange的GlobalAddressList包含Exchange组织中所有邮箱用户的电子邮件地址。只要获得Exchange组织中任何邮箱用户的凭据,就可以通过全局地址列表导出其他邮箱用户的电子邮件地址。 本文将介绍渗透测试中不同条件下获取Exchange GlobalAddressList的常用方法,分享程序实现细节,最后介绍禁用GlobalAddressList的方法。 0x01 简介 本文将介绍以下内容: 一种获取Exchange全局地址列表的方法 程序实现 禁用GlobalAddressList的方法 0x02 获得Exchange GlobalAddressList的方法 1.通过Outlook Web Access(OWA) 要获得邮件用户的明文密码,在登录OWA后,选择联系人-所有用户。 2.通过Exchange Web Service(EWS) 对于Exchange 2013和更高版本,可以使用FindPeople操作。 参考资料: https://docs . Microsoft . com/en-us/exchange/client-developer/we B- service-reference/find people-operation?重定向自=MSDN 这里需要注意的是,在FindPeople操作过程中必须指定搜索条件,不能通过通配符直接获得所有结果。 变通解决方案: 遍历26个字母a-z作为搜索条件…
-
- 0 篇回复
- 151 次查看
-
-
0x00 前言 在渗透测试中,一些工具(如Powershell的高版本)的运行依赖于微软的环境。NET框架4.0。 默认情况下,Win7不支持微软。NET框架4.0。为了保证工具可以在Win7下使用,需要安装微软。命令行下的. NET Framework 4.0。 经过一番搜索,我找不到任何关于安装微软的信息。NET框架下的命令行。 于是我写了这篇文章介绍我的实现方法,开源C代码,分享脚本开发的实现原理和细节。 0x01 简介 本文将介绍以下内容: 安装Microsoft的正常方法。Win7下的. NET框架4.0 命令行下的实现方法 实现原则 脚本开发的细节 0x02 Win7下安装Microsoft .NET Framework 4.0的正常方法 Microsoft有两种类型的安装包。NET框架: (1)网络安装程序 下载地址: https://www.microsoft.com/en-us/download/details.aspx?displaylang=enid=17851 Web安装程序的文件非常小,需要互联网连接才能下载其他所需的文件。NET Framework组件。 (2)独立安装程序 下载地址: https://www.microsoft.com/en-US/Download/confirmation.aspx?id=17718 独立安装程序的文件会相对较大,因为它包括完整的组件,并且在安装过程中不需要互…
-
- 0 篇回复
- 111 次查看
-
-
0x00 前言 最近phrozensoft在自己的博客中介绍了使用快捷方式的技巧,实现了应用程序存储在快捷方式中,当用户打开快捷方式时,应用程序被释放并通过vbs脚本运行。 我对这个比较感兴趣,因为快捷键的参数默认有260的长度限制,我在学习jsrat的过程中也遇到过这个问题(最后通过调用sct文件解决了长度限制问题)。 Phrozensoft分享了Delphi格式的POC代码。本文将对其进行测试,研究lnk的文件格式,开发powershell实现对应的POC代码,并简单分析该技术的利用和防御方法。 Phrozensoft博客地址: https://www . phrozensoft . com/2016/12/shortcut s-as-entry-points-for-malware-POC-part-2-19 0x01 简介 Delphi 它是Windows平台下著名的快速应用开发工具。 Borland公司研发 还可以在LINUX平台上开发应用,以及其在LINUX上对应的产品Kylix。 常见版本: Borland Delphi 7 德尔福2010 0x02 Delphi POC测试 Phrozensoft博客还分享了其他poc函数,比如生成lnk文件的python脚本,本文不会介绍,只测试Delphi POC。 环境搭建: 测试系统:Win7 x86 Delphi版本:Delphi 2010 注: 使用Delphi 7时…
-
- 0 篇回复
- 131 次查看
-
-
0x00 前言 本文源于一个隐蔽连接的测试,模拟IE浏览器发起网络连接,可以绕过一些防护产品拦截发起网络连接的第三方程序。 IE浏览器发起的模拟互联网连接的方式有很多种,其中有很多优点(接口开放、简单高效、功能丰富等。)利用BHO劫持IE浏览器,所以本文将介绍BHO的开发和劫持思路。 0x01 简介 本文将介绍以下内容: BHO简介 发展BHO 利用理念 实物试验 保护 0x02 BHO简介 BHO,浏览器助手对象的全称(Browser Helper Object) 微软作为浏览器为第三方程序员开放交互界面的行业标准。 BHO的作用: 获取浏览器行为,如“后退”、“前进”、“当前页面”等。 控制浏览器行为,如修改和替换浏览器工具栏,添加自己的程序按钮等。 BHO依赖于浏览器的主窗口,与浏览器实例的生命周期一致,即BHO对象在浏览器页面打开时运行,在页面关闭时结束。 使用BHO时,你需要注册,这相当于写入注册表。它位于HKEY _本地_机器\软件\微软\ windows \当前版本\资源管理器\浏览器助手\对象\ {guid}和HKEY _类_根\CLSID\{GUID}中 0x03 开发BHO 本节只是一个简单的介绍。 开发工具:VS2012 1、生成dll 新的可视化C -ATL Add-class -ATL-ATL简单对象,设置其缩写为HelloWorldBHO,选择IObjectWithSite(即对象支…
-
- 0 篇回复
- 107 次查看
-
-
0x00 前言 在渗透测试中,文件的恢复和删除就像矛和盾。 文件恢复是指恢复目标系统的已删除文件,而文件删除是指删除目标系统上使用的工具,以避免被恢复。 0x01 简介 本文将介绍以下内容: 删除文件的原则 文件恢复原理 使用PowerForensics恢复文件 使用SDelete删除文件。 用SDelete删除文件后,可以用PowerForensics恢复吗? 防止通过文件覆盖来恢复文件。 枚举所有进程,搜索指定文件的句柄,释放句柄,移除文件占用,删除文件。 实现细节和开放源代码 0x02 文件删除与恢复的原理 参考资料: http://www.ntfs.com/ntfs_basics.htm 基本概念 Windows文件系统大多使用NTFS(新技术文件系统)技术。 NTFS中的每个文件都对应一个主文件表(MFT)。 MFT被用作文件索引来存储文件的属性。 文件删除的直观理解: 仅修改了MFT(文件属性),但未修改已删除文件的内容。 文件恢复的直观理解: 只需恢复文件的MFT。 简单测试 新建一个文件test.txt,写内容0123456789。 使用工具:WinHex 下载地址: http://www.x-ways.net/winhex/ 选择工具-打开磁盘,然后选择驱动器号。 找到文件test.txt,右键-导航-查找文件记录。 检查test.txt的MFT信息,…
-
- 0 篇回复
- 144 次查看
-
-
0x00 前言 最近遇到一个有趣的问题:当我试图使用wmi获取当前系统中已安装程序的列表时,却无法获取完整的列表。于是我做了进一步的研究,找到了错误的原因,改变了思路,达到了目的。 本文是基础知识介绍,用来解决基础问题。 0x01 简介 本文将介绍以下内容: 通过wmi获取当前系统中已安装程序的列表 wmi查询结果不完整的原因 获取完整节目单的实现思路 0x02 获取当前系统已安装的程序列表 1、使用powershell调用wmi 代码如下: get-wmio object-class Win32 _ Product 过滤输出结果,只显示程序名,代码如下: get-wmio Object-class Win32 _ Product | Select-Object-Property name 结果如下 2、使用wmic调用wmi 代码如下: wmic/命名空间:“\\root\CIMV2”路径Win32_Product 过滤输出结果,只显示程序名,代码如下: wmic/命名空间:“\\root\CIMV2”路径Win32 _ Product get name/FORMAT:table 结果如下 3、使用WMI Explorer调用wmi 下载地址: https://wmie.codeplex.com/releases/view/135794 接口wmi查询工具,可以用来查询wmi支持的类,是研究WMI的好工…
-
- 0 篇回复
- 141 次查看
-
-
0x00 前言 2017年5月12日,全球爆发大规模蠕虫勒索病毒WanaCrypt0r感染。各大厂商对软件进行了深入的分析,但是针对初学者的分析教程还是比较少,在反复的过程中有很多问题需要解决。而且也没有专门介绍勒索软件实际操作流程的文章,所以写了这篇新手教程,希望对大家有所帮助。 0x01 简介 本文将介绍以下内容: 实际操作过程示例 IDA动态调试方法 调试tasksche.exe的具体过程 0x02 样本分析 测试环境:Win 7 x86 测试工具:IDA 6.8 样本下载地址: http://bbs.pediy.com/thread-217586-1.htm 经测试,样本是WanaCrypt0r的母亲mssecsvc.exe发布的勒索程序tasksche.exe。 因此,不包括“Kill Switch”开关和MS17-010漏洞代码。 样本流程分析: 通过逆向分析,样本流程如下 注: 示例流程图由processon绘制,在线URL如下: https://www.processon.com/ 0x03 实际测试 1、启动IDA,加载样本文件wcry.exe 找到WinMain(x,x,x,x)函数,在初始位置断开断点(快捷键F2),如下图所示 2、启动调试器 选择调试器(F9) 选择本地Win32调试器,如下图所示 选择调试器-继续进程(F9)进入调试界面,如下图所示 3…
-
- 0 篇回复
- 144 次查看
-
-
0x00 前言 在caseysmith @ sub tee的Twitter上,利用Waitfor.exe可以实现一个后门机制。 于是我对它做了进一步的研究,用Powershell写了一个POC。 本文将介绍Waitfor.exe在渗透测试方面的技巧,并分享开发POC的思路和细节。 完整的POC下载地址如下: https://github.com/3gstudent/Waitfor-Persistence 0x01 简介 本文将具体介绍以下内容: Waitfor.exe简介 利用理念 概念验证详细信息 0x02 Waitfor.exe简介 用于同步网络中的计算机,可以在系统上发送或等待信号。 支持系统: Windows Server 2003 Windows Vista Windows XP Windows Server 2008 Windows 7 带有SP2的Windows Server 2003 Windows Server 2003 R2 Windows Server 2008 R2版 Windows Server 2000 Windows Server 2012 带有SP1的Windows Server 2003 Windows 8 Windows 10 其他服务器系统未经测试,理论上受支持。 在System32文件夹下,从命令行启动它。 支持参数如下 …
-
- 0 篇回复
- 115 次查看
-
-
0x00 前言 在之前的文章《渗透测试中的Node.js——Downloader的实现》 开源了一个使用节点。射流研究…实现下载器的代码,简要分析在渗透测试中的利用思路。 节点。射流研究…的语法简单易懂,所以节点。射流研究…代码也很容易被分析。 为了增加节点。射流研究…代码被分析的难度,我的思路是利用节点。射流研究…的一个功能,将有效载荷以C插件的形式进行封装。 这样不但能够增加节点。射流研究…代码被分析的难度,而且可以用C代码来实现有效载荷,已有的C代码经过简单的修改即可使用,减小二次开发的成本。 0x01 简介 本文将要介绍以下内容: C插件简介 搭建C插件的开发环境 C插件代码实例 利用思路 防御建议 0x02 C++插件简介 Node.js C插件是用C编写的动态链接库,可以使用需要()函数加载到节点。射流研究…中。利用V8提供的API,可以实现Java脚本语言和C的互相调用,打通Java脚本语言和C之间的接口。 官方文档: https://nodejs.org/api/addons.html 使用实例: 编译成功一个C插件,导出方法为:你好 使用节点。射流研究…调用C插件导出方法的代码如下: const addon=require(' ./addon。节点’); 阿登。hello(); 执行代码 node.exe考试网 0x03 搭建C++插件的开发环境 1、Windows开发环境 测试系…
-
- 0 篇回复
- 122 次查看
-
-
0x00 前言 之前的文章《渗透技巧——从Admin权限切换到System权限》和《渗透技巧——Token窃取与利用》分别介绍了从admin权限切换到system权限和TrustedInstaller权限的方法,主要方法是通过token切换权限。 那么,对于普通用户(或LocalService用户)来说,特殊Token有哪些可用的方法呢?你能提高功率吗?如何判断? 本文将结合自己的经验,参考几个开源工具和资料,试着总结一下这个技巧,分享一下自己的学习经验。 可供参考的开源工具和材料: 烫手山芋:https://github.com/foxglovesec/Potato 版本powershell烫手山芋:https://github.com/Kevin-Robertson/Tater 烂土豆:https://github.com/breenmachine/RottenPotatoNG 孤独的土豆:https://github.com/decoder-it/lonelypotato 多汁的土豆:https://github.com/ohpe/juicy-potato https://github.com/hatRiot/token-priv https://fox glove security . com/2017/08/25/滥用令牌特权windows本地特权升级/ https://foxglovesecurity.com/2016/01/16/hot-potato/ …
-
- 0 篇回复
- 233 次查看
-
-
0x00 前言 索福思UTM和索福思XG是两款不同的产品,前者偏向于通用威胁管理,后者偏向于硬件防火墙。本文将要介绍索福思XG漏洞调试环境的搭建方法。 0x01 简介 本文将要介绍以下内容: 环境搭建 码头调试环境搭建 乡村基配置文件解密 一种数据库系统数据库查询 0x02 基础知识 架构如下图 注: 图片引用自https://代码白色秒。博格斯波特。com/2020/07/sophos-XG-tale-of-faultry-re。超文本标记语言 总的来说,分为以下三部分: 码头:处理网数据,将数据转发至乡村基作进一步处理 csc:主程序:加载Perl语言包,实现主要功能 Postgresql:用来存储数据 我在实际研究过程中,这三部分遇到了以下问题: 码头:添加调试信息后无法启动Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站) csc:csc加载Perl语言包后会自动删除,无法获得Perl语言包的实现细节 Postgresql:用户权限低,无法查询数据库表 下面将要逐个介绍三个问题的解决方法 0x03 环境搭建 参考资料: https://份文件。索福思。com/NSG/sophos-firewall/18.5/Help/en-us/web Help/online Help/virtualandsoftware appliances Help/VMware/V…
-
- 0 篇回复
- 179 次查看
-
-
0x00 前言 SharpSniper用于在域环境中查找指定域用户的IP地址。它需要读取域控制器日志的权限。地址是https://github.com/HunnicCyber/SharpSniper. 本文将分析SharpSniper的实现原理,扩展其用法,介绍如何使用wevtutil.exe和powershell脚本实现同样的功能,并分享需要注意的细节。 0x01 简介 本文将介绍以下内容: SharpSniper的实现原理 使用wevtutil实现 通过powershell实现 0x02 SharpSniper实现原理 通过查询域控制器上的用户登录日志(事件ID:4624)获取域用户使用的IP地址。 具体实现如下: 1.通过查询日志获得域用户使用过的IP XPath查询条件(以查询用户testb为例): Event[System[(EventID=4624)]和event Data[Data[@ Name=' target username ']=' testb ']]' 相应的代码地址: https://github . com/HunnicCyber/sharpniper/blob/master/query DC . cs # L16 2.通过正则表达式过滤出域用户使用过的IP 正则表达式: \b\d{1,3}\。\d{1,3}\。\d{1,3}\。\d{1,3}\b ' \b表示单词的前边界或后边界。 \d{1,3}表示字符…
-
- 0 篇回复
- 113 次查看
-
-
0x00 前言 上一篇文章《通过COM组件IFileOperation越权复制文件》介绍了通过COM组件IFileOperation进行文件非授权复制的三种方法,我们得出结论:对于explorer.exe(或是模拟成explorer.exe),加载高权限的COM组件不会弹出UAC的对话框。 那么,这个推论适用于其他COM组件吗?有哪些COM组件可用? 本文将通过COM组件关闭防火墙的方法详细记录研究过程。 0x01 简介 寻找可以用高权限运行的COM组件。 关闭防火墙的c程序 添加代码以高特权运行COM组件。 添加代码模拟流程explorer.exe 完整的开源实现代码 0x02 寻找可以高权限运行的COM组件 通过COM组件的IFileOperation进行越权复制文件有一个前提:COM组件可以高权限运行。 对于IFileOperation,它提供了一个参数(SetOperationFlags)来指定启动的权限。 官方文件: https://msdn.microsoft.com/en-us/library/bb775799.aspx 为了找到其他可以高权限运行的COM组件,首先要想办法运行高权限的COM组件。 经过搜索,我找到了一个可以使用COM Elevation Moniker高权限运行COM组件的文档。 官方文件: https://msdn . Microsoft . com/en-us/library/windows/des…
-
- 0 篇回复
- 116 次查看
-
-
0x00 前言 Node.js是一个基于Chrome V8引擎的JavaScript运行环境,采用事件驱动、非阻塞的I/O模型,轻量高效。 最近在一篇文章中学习了使用Node.js绕过主动防御的技巧,于是研究了Node.js的语法,并开放了一个下载器实现代码,分享脚本开发中需要注意的细节。 Node.js绕过主动防御的学习地址: https://bbs.pediy.com/thread-249573.htm 0x01 简介 本文将介绍以下内容: 基本概念 Node.js实现的文件发布 Node.js实现的下载器 利用理念 辩护建议 0x02 基本概念 Node.js同JavaScript的区别 JavaScript是一种语言。 Node.js是基于Chrome V8引擎的JavaScript运行环境。 虽然两者的脚本文件都有后缀。Windows平台下的js,它们在语法上差别很大。 Node.js的使用 官方文件: https://nodejs.org/api/ 中文信息: http://www.runoob.com/nodejs/nodejs-tutorial.html 下载地址: https://nodejs.org/en/download/ 在Windows平台下,Node.js的代码保存在带有。js后缀,并由node.exe加载和执行。 Node.js支持第三方包,模块可以通过npm命令安装。例子如…
-
- 0 篇回复
- 113 次查看
-
-
0x00 前言 在最近的学习中,我发现Powershell命令的历史有时会包含系统的敏感信息,比如远程服务器的连接密码,于是我对Powershell的历史功能做了进一步的研究,总结了一些渗透测试中常用的导出历史记录的方法,并结合利用的思想,给出了一些防御建议。 0x01 简介 本文将介绍以下内容: 两个Powershell命令的历史 一种导出Powershell命令历史的方法 辩护建议 0x02 两种Powershell命令的历史记录 有两种方法可以记录Powershell命令的历史,可以分别使用Get-History和Get-PSReadlineOption读取。 1、Get-History 参考文件: https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Core/Get-History?view=powershell-3.0 默认情况下支持Powershell v2和更高版本 可以记录在当前会话中输入的命令,这些命令不会在多个Powershell进程之间共享。Powershell进程退出后,所有记录将被自动清除。 1. 常用命令 获取关于历史的完整信息: Get-History |格式-列表-属性* 包括: 身份 命令行 执行状态 StartExecutionTime EndExecutionTime 测试下图 …
-
- 0 篇回复
- 131 次查看
-
-
0x00 前言 最近在github看到一个有趣的项目:Invoke-PSImage,将powershell代码作为有效载荷插入到png文件的像素中(不影响原图的正常浏览)。在命令行下,只有一行powershell代码可以执行隐藏在像素中的有效载荷。 这是隐写术的一个应用。我在上一篇文章中对png的隐写术做了一些介绍,以供参考: 《隐写技巧——PNG文件中的LSB隐写》 《隐写技巧——利用PNG文件格式隐藏Payload》 本文将结合自己的经验对Invoke-PSImage进行分析,介绍原理,解决测试中遇到的问题,学习脚本中的编程技巧,提出自己的优化思路。 Invoke-PSImage地址: https://github.com/peewpw/Invoke-PSImage 0x01 简介 本文将介绍以下内容: 脚本分析 隐写术原理 实物试验 编程技能 优化思维 0x02 脚本分析 1、参考说明文件 https://github.com/peewpw/Invoke-PSImage/blob/master/README.md (1)选择每个像素的两种颜色的4比特来保存有效载荷。 (2)图像质量会受到影响。 (3)输出格式为png 2、参考源代码对上述说明进行分析 (1)像素为RGB模式,选择颜色分量中G和B的低4位(共8位)以节省有效载荷。 (2)由于G和B的低4位同时替换,会影响画质。 补充: LSB隐写术是…
-
- 0 篇回复
- 112 次查看
-