入口函数和运行库 入口函数 初学者可能一直以来都认为C程序的第一条指令就是从我们的main函数开始的,实际上并不是这样,在main开始前和结束后,系统其实帮我们做了很多准备工作和扫尾工作,下面这个例子可以证明: 我们有两个C代码: // entry.c #include <stdio.h> __attribute((constructor)) void before_main() { printf("%s\n",__FUNCTION__); } int main() { printf("%s\n
APT29是威胁组织,已被归于俄罗斯政府情报组织,APT29至少从2008年开始运作,具有YTTRIUM、The Dukes、Cozy Duke、Cozy Bear、Office Monkeys等别名。主要攻击目标为美国和东欧的一些国家。攻击目的是为了获取国家机密和相关政治利益,包括但不限于政党内机密文件,操控选举等。与APT28,同属于俄罗斯政府的APT28相互独立,但在某种程度上会联合行动。APT29是东欧地区最为活跃的APT组织之一。该APT的许多组件均通过伪造的Intel和AMD数字证书进行签名。
虽然我的公众号以Python方向为主,但是Python运行速度太慢,因为做了太多的底层封装。提高速度可以使用多进程,但是多进程占用系统资源太多,为了减少占用的资源并提高性能,就该拿起低级工具,将“前盖”打开并对“引擎”进行调整。
“如何将Python脚本转换为.exe文件?” 每个python开发人员在想与外部共享他们开发的python应用程序时都会问这个问题。在此,我们将详细介绍如何使用python模块(即pyinstaller)将python程序转换为可执行文件。
最近,一个与东南亚和中国南海问题相关的APT攻击被发现,该APT攻击以包括美国在内的各国政府和公司为目标 。经安全专家分析,该APT攻击所使用的全部工具代码都是通过 复制-粘贴 互联网公开代码组合而成,相对于其它APT特有的攻击工具而言,比较独特。 📷 Cymmetria发现并发布了此APT攻击的分析报告,由于其代码来源于多个网络论坛和网站,如Github、暗网和隐秘的犯罪论坛等,故把其命名为Patchwork APT 攻击(Patchwork:拼凑物)。 一、报告综述 Patchwork AP
之前,青藤云安全已经对ATT&CK进行了一系列的介绍,相信大家都已了解,Mitre ATT&CK通过详细分析公开可获得的威胁情报报告,形成了一个巨大的ATT&CK技术矩阵。诚然,这对于提高防御者的防御能力、增加攻击者的攻击成本都有巨大作用。但或许是出于猎奇心理,很多威胁情报报告更多地是在报道攻击者使用的比较新颖有趣的技术方法,而却忽视了攻击者反复使用的普通技术。这也是Mitre公司在2019年10月份的ATT&CKcon2.0大会上,推出了ATT&CK Sightings项目,以期借助社区力量收集更多直接观察数据的原因所在。
我们在前面讲述了 Kubernetes 控制器的概念。简单说来控制器就是个控制回路,用来将当前状态协调到目标状态。第二篇使用 Java 实现了一个控制器。这一篇会讲讲如何部署控制器,以及如何对控制器进行改进。
有若干粤康码和行程卡的截图,要自动识别是否为当天提交的,粤康码是否绿码,行程卡是否带星
在上一章的学习中,我们知道了go语言开发环境的搭建过程,这一章作为一个入门的指南手册,对go语言有一个比较清楚的了解
GraalVM 是一种高性能 JDK,旨在加速用 Java 和其他 JVM 语言编写的应用程序的执行,同时还为 JavaScript、Python 和许多其他流行语言提供运行时。 GraalVM 提供两种运行 Java 应用程序的方法:在 HotSpot JVM 上使用 Graal 即时 (JIT) 编译器或作为提前 (AOT) 编译的本机可执行文件。 GraalVM 的多语言能力使得在单个应用程序中混合多种编程语言成为可能,同时消除了外语调用成本。
在 iOS 和 macOS 开发中, Swift 包现在变得越来越重要。Apple 已经努力推动桥接那些缝隙,并且修复那些阻碍开发者的问题,例如阻碍开发者将他们的库和依赖由其他诸如 Carthage[1] 或 CocoaPods[2] 依赖管理工具迁移到 Swift 包依赖管理工具的问题,例如没有能力添加构建步骤的问题。这对任何依赖一些代码生成的库来说都是破坏者,比如,协议和 Swift 生成。
确保容器中服务与应用安全是容器化演进的关键点。容器安全涉及到应用开发与维护的整个生命周期,本文主要从镜像构建的视角来看docker容器的一些安全问题及应对措施。
编译器生成了一堆二进制文件,怎么运行这些二进制文件呢?链接器的作用就是将多个目标文件(object files)链接为一个可执行文件或库。
您可以通过打开一个新的终端窗口并运行pip install --user ezsheets来安装 EZSheets。作为安装的一部分,EZSheets 还将安装google-api-python-client、google-auth-httplib2和模块。这些模块允许你的程序登录到 Google 的服务器并发出 API 请求。EZSheets 处理与这些模块的交互,所以您不需要关心它们如何工作。
因为近期正在学习python,就需要将python文件打包为exe可执行文件,就将该过程记录下来。
这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助。前文分享了Turla新型水坑攻击后门(NetFlash和PyFlash),通过伪造Adobe Flash更新,欺骗受害者下载两个新型恶意软件NetFlash和PyFlash,从而实现恶意攻击。这篇文章将详细介绍Rampant Kitten攻击活动,包括Windows信息窃取程序、Android后门和电报网络钓鱼页面,这是Check Point Research机构的分析报告,非常值得大家学习。
为什么要用记录呢,因为我从开始接触Android时我们的项目就在65535的边缘。不久Google就出了multidex的解决方案。我们也已经接入multidex好多年,但我自己还没有接入,所以本博文只是作者自己对multidex接入整理记录其中大部分来源于Google官网。
现在已经进入到ch2文件夹下,开始编写一个简单的C++程序,首先创建一个C++文件,
在使用Python进行开发时,我们经常会用到一些打包工具来将我们的代码打包成可执行文件,以方便程序的发布和部署。其中,cx_Freeze是一个常用的打包工具之一。然而,有时在使用cx_Freeze进行打包时,可能会遇到importError: can not import name idnadata的错误。
Linux and Unix are very popular with programmers, not just due to the overwhelming array of tools and environments available but also because the system is exceptionally well documented and transparent. On a Linux machine, you don’t have to be a programmer to take advantage of development tools, but when working with the system, you should know something about programming tools because they play a larger role in managing Unix systems than in other operating systems. At the very least, you should be able to identify development utilities and have some idea of how to run them.
Mimikatz是渗透测试中常用的知名工具,它主要用于从Windows上的内存中转储凭据,作为渗透测试人员此方法对于Windows Active Directory环境中的横向和纵向权限提升非常宝贵,并且几乎用于所有内网渗透测试,由于其受欢迎程度,Mimikatz可执行文件和PowerShell脚本已被大多数防病毒(AV)解决方案检测到,这篇文章将介绍几种替代方法来实现相同的目标而无需修改Mimikatz来躲避AV的查杀,以及一些预防和检测这种攻击的方法
该命令会调用编译器程序g++,让他读取main.cpp中的字符串(称为源码),并根据C++标准生成相应的机器指令码,输出到a.out这个文件中,(称为可执行文件)
您已经花费时间创建了一个 Python 应用程序,您希望使用它或将其分发给可以从其强大功能中受益的人。您可能认为唯一的方法是将代码发送给他们,确保他们在机器上安装了 Python(以及代码所需的任何依赖项),并指示他们使用命令 python3 appname.py 运行代码。
这里另外提供了通过winget安装的方式:winget install --id Git.Git -e --source winget
在 Dockerfile 中,CMD 和 ENTRYPOINT 命令都用于指定容器启动时要执行的命令或可执行文件,但它们之间存在一些重要的区别。
在使用Graphviz进行图形可视化时,有时候会遇到 graphviz.backend.ExecutableNotFound 错误。这个错误通常是由于找不到Graphviz的可执行文件导致的。本篇文章将介绍如何解决这个错误。
LZ-Says:在外面呆了一年又一年,似乎都快忘记当初出来的目的,不过,幸好,不忘初心~给家里买点东西,家里开心,我也开心~这就够了。
Python运行速度太慢,因为做了太多的底层封装。提高速度可以使用多进程,但是多进程占用系统资源太多,为了减少占用的资源并提高性能,就该拿起低级工具,将“前盖”打开并对“引擎”进行调整。
随着APP的一次又一次迭代,APP的体积也越来越大,这时候,会引发这么一个问题,早期的错误异常如下:
有时候用Python开发一些功能但不希望用户得到源代码,就希望对Python代码加一些保密措施。目前可行的方案可能是将核心代码用cython编译成os文件。分析如下:
这个问题展开可以聊的东西非常多,从编程语言到可执行文件,从堆栈空间到虚拟内存,可以帮助面试官快速了解候选人这部分的知识储备。
—个HTML Application (HTML应用)是一个使用HTML和一个Internet浏览器支持的脚本语言编写的Windows程序。该程序包生成一个HTML应用,该应用运行一个CobaltSt rikepayload。你可以选择可执行的选项来获取一个HTML应用,此HTML应用使得一个可执行文件落地在磁盘上并运行它。
-F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用 -D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护 -K, –tk 在部署时包含 TCL/TK -a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码. -d, –debug 产生debug版本的可执行文件 -w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效) -c,–nowindowed,–console 使用控制台子系统执行(默认)(只对Windows有效)
Hello,小伙伴们,大家好!最近有小伙伴问我程序库相关的问题。程序库的存在很大程度上提高了程序的复用性、可维护性,但是程序库的应用往往对于初学者来说有些摸不清头脑,所以这一期本文从Linux的角度谈谈Linux下的程序库。 1. 什么是库 库文件一般就是编译好的二进制文件,用于在链接阶段同目标代码一起生成可执行文件,或者运行可执行文件的时候被加载,以便调用库文件中的某段代码。库文件无法直接执行,因为它的源代码中没有入口主函数,而只是一些函数模块的定义和实现,所以无法直接执行。程序库使程序更加模块化,重新编
横向移动是从一个受感染的宿主移动到另一个宿主的过程。渗透测试人员和红队人员通常通过执行 powershell.exe 在远程主机上运行 base64 编码命令来完成此操作,这将返回一个信标。问题在于攻击性 PowerShell 不再是一个新概念,即使是中等成熟的商店也会检测到它并迅速关闭它,或者任何半体面的 AV 产品都会在运行恶意命令之前将其杀死。横向移动的困难在于具有良好的操作安全性 (OpSec),这意味着生成尽可能少的日志,或者生成看起来正常的日志,即隐藏在视线范围内以避免被发现。这篇博文的目的不仅是展示技术,但要显示幕后发生的事情以及与之相关的任何高级指标。我将在这篇文章中引用一些 Cobalt Strike 语法,因为它是我们主要用于 C2 的语法,但是 Cobalt Strike 的内置横向移动技术是相当嘈杂,对 OpSec 不太友好。另外,我知道不是每个人都有 Cobalt Strike,所以在大多数示例中也引用了 Meterpreter,但这些技术是通用的。
本篇文章晚了两三天发,说明一下原因哈,最近在搞TSRC和青藤云的webshell挑战赛,时间被挤压了,文章会晚到,但不会缺席,继续今年的Flag。突然发现写完凌晨三点了,赶紧睡觉。。。
作者 | KimJohn Quinn, Rakesh Raja, Jason Moehlman
GuLoader 是一个 Shellcode 下载工具,因使用多种反分析技术来进行检测逃避而闻名。研究人员发现,GuLoader 近期针对韩国与美国的电子商务行业客户攻击频繁。 什么是 NSIS? MSIS 是用于开源的 Windows 应用安装程序,其典型功能为: 基于脚本且完全免费 恶意代码可以与合法程序打包在一起 可直接调用 Windows API 来加载 .NET 模块、MSSQL 等已有插件 与 VBA、JavaScript 和其他基于脚本的恶意软件一样,可以通过混淆来进行检测逃避 【G
几个月前,我发现在Check Point端点安全V**客户端中有一个DACL权限覆盖漏洞。此漏洞允许Windows系统上的任何用户Full Control为Authenticated Users安全组的任何文件设置权限(唯一的限制是SYSTEM用户需要访问该文件的编辑权限,因此TrustedInstaller无法覆盖某些系统文件) 。V**客户端有两个对应部
可执行文件的装载 进程和装载的基本概念的介绍 程序(可执行文件)和进程的区别 程序是静态的概念,它就是躺在磁盘里的一个文件。 进程是动态的概念,是动态运行起来的程序。 现代操作系统如何装载可执行文件 给进程分配独立的虚拟地址空间 将可执行文件映射到进程的虚拟地址空间(mmap) 将CPU指令寄存器设置到程序的入口地址,开始执行 可执行文件在装载的过程中实际上如我们所说的那样是映射的虚拟地址空间,所以可执行文件通常被叫做映像文件(或者Image文件)。 可执行ELF文件的两种视角 可执行ELF格式具有不寻常的
研究人员发现名为 YoroTrooper 的攻击者自从 2022 年 6 月起就一直以东欧各国政府为目标进行攻击,目前尚未对该攻击者形成完整结论。 YoroTrooper 组织概述 经过分析,该组织背后的攻击者应该是说俄语的人。但不并不一定居住在俄罗斯或者是俄罗斯的国民,毕竟受害者主要都在独联体国家中。另外在代码中也发现了部分西里尔文,表明攻击者也十分熟悉该语言。在某些情况下,攻击者攻击的是俄语设备,说明攻击目标应该也是讲俄语的。 攻击者注册了许多恶意域名,有子域名包含的也有包含错别字的,以此来诱导欺骗
发现关键字the eighth circle of Hell,Google这个可以发现是和《神曲》有关,而且搜索到的第一条就是
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
在Go中,可以使用静态编译来将Go程序编译为一个独立的可执行文件,其中包含了所有的依赖库和运行时环境,不需要依赖外部的共享库。这样就可以在没有Go语言环境的机器上直接运行编译后的可执行文件。
Go有时也称为“Golang”,是 Google 于 2012 年发布的一种开源编程语言。Google 的目的是创建一种可以快速学习的编程语言。
近期看了一篇不错的横向移动的文章,觉得不错就简单翻译了一下(谷歌翻译哈哈哈哈!) 原文地址:https://posts.specterops.io/offensive-lateral-movement-1744ae62b14f
我们在编译开源代码后,通常会生成.a和.so这两个库文件,这两个文件有什么区别?又如何使用?
aDLL是一款功能强大的代码分析工具,可以帮助广大研究人员以自动化的方式识别并发现DLL劫持漏洞。该工具可以分析加载至内存中的源码镜像,并在加载过程中搜索DLL,并且利用了微软Detours代码库来拦截针对LoadLibrary/LoadLibraryEx函数的调用,然后分析在代码运行时过程中加载的DLL文件。
链接与装载是一个比较晦涩的话题,大家往往容易陷入复杂的细节中而难以看清问题的本来面目。从本质上讲各个系统的编译、链接、装载过程都是大同小异的,或许可以用一种更抽象的形式来理解这些过程,梳理清楚宏观的来龙去脉有利于对特定系统进行深入学习。
使用发现的凭证在环境中横向移动、在时间受限的操作过程中,快速可靠地使用一组新获得的凭据的能力至关重要。这篇博客文章介绍了如何通过MSSQL CLR自动执行横向移动,而无需接触磁盘*或不需要XP_CMDSHELL,以及如何防止和检测到这种情况。
领取专属 10元无门槛券
手把手带您无忧上云