1.红队最喜欢的源码18 种优秀的网络安全渗透工具
2.golang | Go语言入门教程——结构体初始化与继承
3.Golang深入浅出之-Go语言JSON处理:编码与解码实战
4.Golang深入浅出之-Go语言中的时间与日期处理:time包详解
5.Pythonä»ä¹å¤ä¹
å¯ä»¥(ä¸è¬äººå¦pythonè¦å¤ä¹
)
6.如何评价golang的time.format方法一定要用2006-01-0215:0
红队最喜欢的18 种优秀的网络安全渗透工具
Bishop labs用了两期博客,前后各总结了9个红队工具,混淆共计个红队使用的源码优秀渗透工具,其博客文章也提及,混淆这份清单不是源码决定性的,也仅用于参考。混淆记账本手机源码创建者: @IAmMandatory
用途:允许 谷歌 Chrome 浏览器将受害者的源码浏览器变成测试代理。
优点: CursedChrome 可以很容易地在红队参与期间模拟恶意浏览器扩展。混淆用来劫持 Chrome 浏览器,源码绕过大多数 2FA 或其他可能存在的混淆安全保护,并利用 cookie 来访问任何基于网络的源码目标。
创建者: @symbolcrash1
用途: Universal Loader 是混淆一个 Golang 库,可以跨多个平台(Linux、源码Windows 和 OSX)从内存中加载共享库,混淆而无需CGO。源码
优点: Universal Loader 可以用在新的 Apple M1 芯片上,值得一提的是,这个 Golang 库没有使用 memfd,这使它成为第一个这样做的 Golang Linux 加载器。由于这两个原因,Universal Loader 是一个相当令人印象深刻的红队工具。
创建者: QSecure Labs
用途: Overlord 是一个基于 Python 的控制台命令行界面,用于自动化红队基础设施。
优点: 在红队参与期间能够根据需要快速启动安全基础设施非常重要,该工具可以节省大量时间,然后可以将这些时间用于进行一些实际的黑客攻击。
创作者: @LittleJoeTables和@rkervell
用途: Sliver是一个用 Golang 编写的跨平台通用植入框架。
优点: 这个工具是两位 Bishop Fox 研究人员的创意,所以我们的偏见可能会表现出来。类似于商业工具Cobalt Strike。爱手赚源码使 Sliver 值得注意的是诸如使用每个二进制混淆的动态代码生成、多个和可扩展的出口协议以及支持多个操作员同时控制植入物等功能。此外,它易于使用且运行速度快。
创作者: @tillson_
用途: 使用 Githound 来定位暴露的 API 密钥和其他围绕 GitHub 浮动的敏感信息。该工具通过模式匹配、提交 历史 搜索和“独特的结果评分系统”工作。
优点: 像 Githound 这样的秘密窃取工具并不少见,但这并没有使这个工具(或其他类似工具)的价值降低。Githound 的一些可能用例包括检测暴露的客户 API 密钥以及员工 API 令牌。如果您进行漏洞赏金,此工具可用于添加书签 - 有些人报告说,由于它,因此获得了数千美元的赏金。
创作者: @browninfosecguy
用途: 这个工具的名字说明了一切,在 PowerShell 中轻松地为 Microsoft Active Directory 设置实验室。
优点: 速度很快,效果很好。可以使用此工具来确保您针对 Active Directory 使用的任何漏洞利用都已完善,然后再将其引入客户端环境。对于只想更轻松地测试 Active Directory 的渗透测试员来说非常有用。
创建者: Microsoft Azure 红队
用途: 可以使用 Stormspotter 更好地可视化 Azure 攻击面;此工具可帮助您绘制 Azure 和 Azure Active Directory 对象。
优点: 类似渗透测试工具BloodHound概念类似,只是该工具是为 Azure 环境设计的。对于任何蓝色或紫色团队成员来说,从防御的角度来看,Stormspotter 也非常有用。
创建者: @Void_Sec
用途: ECG 实际上是一种商业工具。该工具是亿众红包源码静态源代码扫描器,能够分析和检测 TCL/ADP 源代码中真实和复杂的安全漏洞。
优点: ECG是一种强大的工具,可以填补令人惊讶的空白。正如 VoidSec 在他们的官方文章中所指出的,TCL代码相当普遍;所以能够彻底分析漏洞可能会非常有帮助。没有很多其他工具可以满足这种独特的需求,无论是商业的还是其他的。
创建者: @TryCatchHCF
用途: 可以使用 DumpsterFire 构建“时间触发的分布式”安全事件来测试红队进攻和蓝队防守。
优点: DumpsterFire 将传统桌面练习提升到一个新的水平,它还使用自动化来在参与期间有效地进行多任务处理(并避开一些更乏味的事情)。DumpsterFire 允许的定制程度令人印象深刻;可以真正定制模拟安全事件来满足独一无二的情况。
.GhostPack
创建者: SpecterOps ( @SpecterOps )
用途: 借助强大的后开发工具集 GhostPack,可以做各种事情;可以攻击 KeePass 2.X 数据库、复制锁定的文件、篡改 Active Directory 证书等。
优点: GhostPack 是一种满足黑客需求的“一站式商店”。包含的 个工具包括非常有用的 Rubeus、Seatbelt 和 SharpUp。Rubeus 是一个 C# 工具集,直接与 Active Directory 环境中的 Kerberos 协议交互,允许直接与 Kerberos 属性(例如票证和常规身份验证)进行通信,然后可以利用这些属性在网络中移动。Seatbelt 是一个 C# 项目,可用于面向安全的主机“安全检查”,而 SharpUp 是一个 C# 工具,可识别本地权限提升路径。这些工具被无数红队和网络渗透测试员使用。
创作者: Benjamin Delpy ( @gentilkiwi )
用途: Mimikatz 可以从 Windows 环境中提取密码和其他凭据。是啥是溯源码一种非常流行的渗透测试工具,已经存在了十多年。但 Mimikatz 会定期维护和更新,以确保仍然是最前沿的工具
优点: 将 Mimikatz 视为网络渗透测试的瑞士军刀。带有几个内置工具,对 Kerberoasting、密码转储很有用,你能想到的,Mimikatz 都可以做到。而且 Mimikatz 不仅适用于那里的进攻性安全专业人员——防御性安全团队也可以从中受益(如果你发现自己处于紫色团队场景中,这也是个好兆头)。
创建者: Metasploit 项目 ( @metasploit ),由 Rapid7 与开源社区合作运营
用途: Metasploit 可以说是世界领先的渗透测试框架,由 HD Moore 于 年创建。Metasploit 包括用于渗透测试几乎每个阶段的模块,这有助于其普及。包括约 个后利用模块,可用于捕获击键、收集网络信息、显示操作系统环境变量等。
优点: Metasploit 后开发模块非常庞大,有一个模块最突出——Meterpreter 有效载荷。Meterpreter 允许 探索 目标系统并执行代码,并且由于它通过内存 DLL 注入工作,因此不必冒险留下任何操作证据。Metasploit 后开发功能也非常通用,具有适用于 Windows、Linux 和 OS X 的模块。
创作者: 阿德里安·沃尔默( @mr_mitm )
用途: 此后利用工具旨在绕过端点检测和应用程序阻止列表。
优点: 可以使用 PowerHub 传输文件,做源码站长而不会在测试环境中发出任何安全保护警报,这将使下一次渗透测试更加顺畅和轻松。使用此工具领先于 Windows Defender。
创建者: LOLBAS 项目和亚利桑那州安全工程与研究小组
用途: LOLBAS 是一个字典,用于在 Windows 机器上使用二进制文件查找可能的权限提升路径。LLOLBAS 是与 LOLBAS 协同工作的摄取器。摄取器会在 Windows 机器上的 LOLBAS 列表中查找所有二进制文件,因此无需猜测或对列表进行排序以查找它们(这可能很乏味)。
优点: LOLBAS 项目可搜索机器上可能的权限提升路径,而 LLOLBAS 允许针对特定机器定制这些路径。结合这两个工具,(几乎)在参与中势不可挡。作为一个额外的好处,如果出现需要它们的情况,可以方便地使用离线工具。
创作者: @nil0x
用途: PHPSploit 充当功能齐全的 C2 框架,通过单行 PHP 后门在 Web 服务器上静默地持久化。
优点: PHPSploit 是非安全参与时手头上的一项了不起的工具——高效、用户友好且运行安静。正如其 GitHub 描述所述,PHPSploit 是“由偏执狂,为偏执狂设计的”。
创作者: 塞瓦加斯
用途: 可以使用 swap_digger 在后期开发或取证期间自动进行 Linux 交换分析。
优点: 在 Linux 交换空间中可以找到各种各样的好东西,从密码和电子邮件地址到 GPG 私钥。Swap_digger 可以梳理这些交换空间并找到高影响力的奖杯,这将使评估更加成功。
创建者: RedCode 实验室
用途: Bashark 是一个后开发工具包,顾名思义,是用编程语言 Bash 编写的。这是一个可以产生巨大结果的简单脚本。
优点: Bashark 工作快速而隐蔽,允许通过创建 Bash 函数来添加新命令,并清除在目标环境中使用脚本后可能留下的任何痕迹。
创作者: AlessandroZ
用途: 使用 BeRoot 项目查找可用于在 Windows、Linux 和 OS X 环境中提升权限的常见错误配置。
优点: 识别常见的错误配置是在网络中立足的最可靠方法之一,因此找到这些错误配置的速度越快越好。BeRoot 项目在这方面提供了极大的帮助。
本文,旨在介绍一些红队工具,供大家了解和参考研究之用,不建议任何人利用网络技术从事非法工作,破坏他人计算机等行为。渗透有风险,入坑需谨慎。法网恢恢,疏而不漏。请正确理解渗透含义,正确利用渗透技术,做网络安全服务的践行者。
golang | Go语言入门教程——结构体初始化与继承
欢迎来到Go语言入门教程,我们继续深入探讨面向对象部分。
在上一课中,我们已经了解了如何创建结构体、定义函数以及函数接收者。今天,我们将重点关注结构体的使用方法,包括初始化。
初始化方式
Go语言提供四种结构体初始化方法。首先,你可以使用`new`关键字,它创建一个结构体的空指针,所有字段默认填充其类型的零值(如int为0,float为0.0,其他结构体为nil)。然而,这种用法并不常见,通常我们会直接通过结构体名称和花括号来初始化。
直接使用结构体名称,如果不指定参数,会得到一个零值填充的结构体实例。通过在值前加上属性名可以避免混淆。如果需要创建结构体指针,可以在结构体名称前加上取地址符`&`。
继承机制
尽管Go语言在面向对象特性上有所简化,许多人认为它在继承方面存在不足。然而,Go的继承实现方式独特,可能与我们通常的认知不同。它将父类作为子类的一个成员变量,看似不是标准意义上的继承,但实际上可以实现类似的功能。
例如,我们有一个父类`Father`,包含两个方法。子类`Child`会包含`Father`实例,可以直接调用父类方法,即使子类内部重写了这些方法。
总结
通过今天的讲解,你应该对Go语言中结构体的初始化和继承有了更深入的理解。虽然初看可能有些陌生,但其实Go的设计理念旨在提供易于理解的抽象机制。如果你对本文内容有任何疑问,欢迎继续探索。
Golang深入浅出之-Go语言JSON处理:编码与解码实战
在现代软件开发中,JSON作为轻量级数据交换格式,广泛应用在前后端通信、API设计等场景。Go语言内建强大的JSON支持,通过encoding/json标准库提供编码(序列化)与解码(反序列化)功能。本文深入浅出探讨Go语言中JSON处理常见问题、易错点及解决策略,附实战代码示例。
一、基础:编码与解码
使用json.Marshal函数将Go数据结构转换为JSON格式字节切片,json.Unmarshal反序列化JSON数据至Go结构体。
二、常见问题与解决
-
结构体标签误解:正确指定字段JSON名称,使用json:"fieldname,omitempty"控制零值字段。
-
时间与JSON互操作:自定义时间类型的编码解码逻辑,适应特定格式。
-
空值与omitempty:明智评估是否需要省略零值字段,避免数据不完整。
-
数组与切片混淆:理解两者在JSON序列化中的差异,动态大小使用切片,静态大小使用数组。
三、如何避免问题
-
标签使用:明确字段JSON名称,合理配置omitempty。
-
时间处理:实现自定义编码解码逻辑,适应时间格式需求。
-
零值管理:评估字段必要性,避免过度使用omitempty。
-
类型理解:清晰区分数组与切片,选择合适的数据结构。
四、实战:代码示例
通过本文介绍与实战代码,掌握Go语言中JSON处理基础操作,深入了解实际应用中的问题与解决方案。正确运用这些技巧,确保应用程序处理JSON数据时更加健壮、高效。
Golang深入浅出之-Go语言中的时间与日期处理:time包详解
在构建精确计时、定时任务、日期格式化等应用场景时,Go语言中的time包提供了丰富而强大的功能。本文深入浅出地解析time包的核心概念、常见问题、易错点及其规避策略,并通过实用代码示例加深理解。
时间与日期基础包括time.Time类型代表的具体时刻,时间戳表示从年1月1日UTC时间零点以来的秒数,Go中可通过time.Now().Unix()获取。格式化与解析使用time.Format和time.Parse进行,如"-- ::"。
常见问题与易错点包括时区处理不当、时间格式字符串混淆、超时处理不精确和忽视并发安全。解决这些问题的方法是明确时区、熟悉时间格式规则、精确控制超时和注意并发安全。
实战代码示例包括获取当前时间并格式化输出、计算两个时间点的差值和定时任务示例。通过这些示例,我们可以掌握Go语言中时间与日期处理的基本技能,了解在实际应用中可能遇到的陷阱及其应对策略,显著提升处理时间相关任务的能力,确保程序的健壮性和准确性。
Pythonä»ä¹å¤ä¹ å¯ä»¥(ä¸è¬äººå¦pythonè¦å¤ä¹ )
导读ï¼æ¬ç¯æç« é¦å¸CTOç¬è®°æ¥ç»å¤§å®¶ä»ç»æå ³Pythonä»ä¹å¤ä¹ å¯ä»¥çç¸å ³å 容ï¼å¸æ对大家ææ帮å©ï¼ä¸èµ·æ¥ççå§ãå¦å¤ä¹ cåå¦pythonæ¯è¾å¥½ï¼å¦å¤ä¹ cåå¦Pythonï¼
建议å¦æå¦cçè¯ï¼å°±æcå¦å®åå¦Pythonã
å 为没æåºç¡çæ åµä¸ï¼åæ¶å¦ä¹ 两é¨è¯è¨ï¼å®¹ææè¯è¨ä¹é´æ··æ·ã
å 为cåPythonè¿æ¯æ许å¤ç¸ä¼¼çå°æ¹ï¼å æ¤å»ºè®®ä¸¤ä¸ªåå¼å¦ã
Pythonç¸å¯¹ä¸cè¯è¨æ¥è¯´æ¯è¾ç®åï¼æ´æä¸æï¼å æ¤å¯ä»¥å å¦Pythonï¼æ好åºç¡å¨å¦ä¹ cä¼æ´å¥½äºã
è¥æä¸æç½çå°æ¹ï¼è¯·ç§»æ¥Pythonè§é¢æç¨ç»§ç»å¦ä¹ ï¼ï¼
å°ç½å¦pythonæä¹å¿«éå ¥é¨ï¼å¤ä¹ è½å®æä¸ä¸ªé¡¹ç®
ä¼æå¨ç¥ï¼Pythonæ¯ä¸é¨ç®åæå¦çç¼ç¨è¯è¨ï¼å¾å¤é¶åºç¡ç人ååå¯è½»æ¾å ¥é¨ï¼ä½æ¯æ³è¦ç²¾éï¼è¿æ¯éè¦ä¸ä¸çªè¦åçã
Pythonå¦ä¹ è¿ä»¶äºï¼æ³è¦å好ï¼ä¸æ¹é¢é èªå·±ï¼è®¤çåªåå»å¦ä¹ ï¼å¦ä¸æ¹é¢é èå¸ï¼å¥½çèå¸ææ¡å¥½çå¦ä¹ æ¹æ³ï¼è®©å¦ä¹ æ´è½»æ¾ï¼ç¥è¯æ´æ·±å ¥ï¼è½å¤è½»æ¾ææ¡é«æ·±æè½ï¼
èç·å©æè²æ¯Pythonå¹è®é¢åçä¸å®¶ï¼å¹´å°±å¼å±äºPythonå¹è®ï¼æ¯è¡ä¸è¾æ©çPythonå¹è®æºæï¼ç§¯ç´¯äºå¤§éçPythonå¹è®æå¦ç»éªï¼å¹¶è½å ¨å±ææ§ä¼ä¸ç¨äººææ ï¼ç§å¦çå¶å®äºPythonæå¦è¯¾ç¨ä½ç³»ï¼5+5åç模å¼ï¼æ»¡è¶³5-8å¹´èä¸ç涯éæ±ï¼è®©å¦åè½»æ¾æ¿ä¸é«èªèä½ï¼
以ä¸æ¯èç·å©æè²Python课ç¨å 容ï¼
é¶æ®µä¸ï¼Pythonå¼ååºç¡
Pythonå¼ååºç¡è¯¾ç¨å 容å æ¬ï¼è®¡ç®æºç¡¬ä»¶ãæä½ç³»ç»åçãå®è£ linuxæä½ç³»ç»ãlinuxæä½ç³»ç»ç»´æ¤å¸¸ç¨å½ä»¤ãPythonè¯è¨ä»ç»ãç¯å¢å®è£ ãåºæ¬è¯æ³ãåºæ¬æ°æ®ç±»åãäºè¿å¶è¿ç®ãæµç¨æ§å¶ãå符ç¼ç ãæ件å¤çãæ°æ®ç±»åãç¨æ·è®¤è¯ãä¸çº§èåç¨åºãè´ç©è½¦ç¨åºå¼åãå½æ°ãå ç½®æ¹æ³ãéå½ãè¿ä»£å¨ãè£ é¥°å¨ãå ç½®æ¹æ³ãå工信æ¯è¡¨å¼åã模åçè·¨ç®å½å¯¼å ¥ã常ç¨æ ååºå¦ä¹ ï¼bå å¯\reæ£å\loggingæ¥å¿æ¨¡åçï¼è½¯ä»¶å¼åè§èå¦ä¹ ï¼è®¡ç®å¨ç¨åºãATMç¨åºå¼åçã
é¶æ®µäºï¼Pythoné«çº§çº§ç¼ç¼ç¨æ°æ®åºå¼å
Pythoné«çº§çº§ç¼ç¼ç¨æ°æ®åºå¼å课ç¨å 容å æ¬ï¼é¢å对象ä»ç»ãç¹æ§ãæååéãæ¹æ³ãå°è£ ã继æ¿ãå¤æãç±»ççæåçãMetaClassã__new__çä½ç¨ãæ½è±¡ç±»ãéææ¹æ³ãç±»æ¹æ³ãå±æ§æ¹æ³ãå¦ä½å¨ç¨åºä¸ä½¿ç¨é¢å对象ææ³åç¨åºãé课ç¨åºå¼åãTCP/IPåè®®ä»ç»ãSocketç½ç»å¥æ¥å模åå¦ä¹ ãç®åè¿ç¨å½ä»¤æ§è¡å®¢æ·ç«¯å¼åãC\Sæ¶æFTPæå¡å¨å¼åã线ç¨ãè¿ç¨ãéåãIOå¤è·¯æ¨¡åãæ°æ®åºç±»åãç¹æ§ä»ç»ï¼è¡¨å段类åã表ç»ææ建è¯å¥ã常ç¨å¢å æ¹æ¥è¯å¥ãç´¢å¼ãåå¨è¿ç¨ãè§å¾ã触åå¨ãäºå¡ãåç»ãèåãå页ãè¿æ¥æ± ãåºäºæ°æ®åºçå¦å管çç³»ç»å¼åçã
é¶æ®µä¸ï¼å端å¼å
å端å¼å课ç¨å 容å æ¬ï¼HTML\CSS\JSå¦ä¹ ãDOMæä½ãJSONPãåçAjaxå¼æ¥å è½½ãè´ç©ååå¼åãJqueryãå¨ç»ææãäºä»¶ãå®æ¶æãè½®æå¾ãè·é©¬ç¯ãHTML5\CSS3è¯æ³å¦ä¹ ãbootstrapãæ½å±æ°çæ¦å¼åãæµè¡å端æ¡æ¶ä»ç»ãVueæ¶æåæãmvvmå¼åææ³ãVueæ°æ®ç»å®ä¸è®¡ç®å±æ§ãæ¡ä»¶æ¸²æç±»ä¸æ ·å¼ç»å®ã表åæ§ä»¶ç»å®ãäºä»¶ç»å®webpack使ç¨ãvue-router使ç¨ãvuexååæ°æ®æµä¸åºç¨ç»æãvuexactionsä¸mutationsçéè½½ãvueå页é¢é¡¹ç®å®æå¼åçã
é¶æ®µåï¼WEBæ¡æ¶å¼å
WEBæ¡æ¶å¼å课ç¨å 容å æ¬ï¼Webæ¡æ¶åçåæãWeb请æ±çå½å¨æãèªè¡å¼åç®åçWebæ¡æ¶ãMTV\MVCæ¡æ¶ä»ç»ãDjangoæ¡æ¶ä½¿ç¨ãè·¯ç±ç³»ç»ã模æ¿å¼æãFBV\CBVè§å¾ãModelsORMãFORMã表åéªè¯ãDjangosessioncookieãCSRFéªè¯ãXSSãä¸é´ä»¶ãå页ãèªå®ä¹tagsãDjangoAdminãcacheç³»ç»ãä¿¡å·ãmessageãèªå®ä¹ç¨æ·è®¤è¯ãMemcachedãredisç¼åå¦ä¹ ãRabbitMQéåå¦ä¹ ãCeleryåå¸å¼ä»»å¡éåå¦ä¹ ãFlaskæ¡æ¶ãTornadoæ¡æ¶ãRestfulAPIãBBS+Blogå®æ项ç®å¼åçã
é¶æ®µäºï¼ç¬è«å¼å
ç¬è«å¼å课ç¨å 容å æ¬ï¼Requests模åãBeautifulSoupï¼Selenium模åãPhantomJS模åå¦ä¹ ãåºäºrequestså®ç°ç»éï¼æ½å±ãgithubãç¥ä¹ãå客åãç¬åæé©èä½ä¿¡æ¯ãå¼åWebç微信ãé«æ§è½IOæ§è½ç¸å ³æ¨¡åï¼asyncioãaio/noogo/date。这些库通常提供了更丰富的格式选项,有助于满足不同场景下的日期时间格式化需求,同时减少了对标准库特定格式的依赖,为开发者提供了更多的灵活性。
综上所述,Golang的time.format方法之所以采用特定的格式,是基于设计上的考虑,旨在提供易于理解、易于记忆且便于扩展的日期时间表示方式。虽然在初次接触时可能会觉得不那么直观,但深入理解其背后的逻辑后,你会发现这种格式的实用性与便利性。