THM免杀学习AVEvasionShellcode
PE Structure此任务重点介绍 Windows 二进制文件的 PE 数据结构的一些高级基本元素。
什么是PE?
Windows 可执行文件格式,又名 PE(可移植可执行文件),是一种保存文件所需信息的数据结构。 它是一种在磁盘上组织可执行文件代码的方法。 Windows操作系统组件,例如Windows和DOS加载程序,可以将其加载到内存中,并根据在PE中找到的解析文件信息来执行它。
一般来说,Windows 二进制文件(例如 EXE、DLL 和目标代码文件)的默认文件结构具有相同的 PE 结构,并且适用于 Windows 操作系统(x86 和 x64)CPU 架构。
PE 结构包含保存有关二进制文件的信息的各个部分,例如元数据和指向外部库的内存地址的链接。 这些部分之一是 PE 标头,其中包含元数据信息、指针以及内存中地址部分的链接。 另一部分是数据部分,其中包含容器,其中包含 Windows 加载程序运行程序所需的信息,例如可执行代码、资源、库链接、数据变量等。
PE结构中有不同类型的数据容器,每种数据容器保存不同的数据。
.text 存放程序的实际代码
.data保存初 ...
THM免杀学习IntroductiontoAntivirus
Introduction欢迎来到 AV 简介 防病毒 (AV) 软件是基于主机的基本安全解决方案之一,可用于检测和防止最终用户计算机内的恶意软件攻击。 反病毒软件由不同的模块、功能和检测技术组成,这些将在本房间中讨论。 作为红队成员或渗透测试人员,熟悉并了解 AV 软件及其检测技术的工作原理至关重要。 一旦获得了这些知识,就可以更轻松地研究 AV 规避技术。
学习目标
什么是防病毒软件?
防病毒检测方法
枚举目标机器中安装的AV软件
在模拟环境中进行测试
房间先决条件
基于主机的检测解决方案的一般知识; 查看 The Lay of the Land 房间了解更多信息。
哈希加密的一般经验; 查看 Hashing - Crypto 101 房间以获取更多信息。
Yara规则的基础知识; 查看 THM Yara 房间了解更多信息。
Antivirus Software什么是AV软件?
防病毒 (AV) 软件是额外的安全层,旨在检测并防止目标操作系统中恶意文件的执行和传播。
它是一个基于主机的应用程序,实时(在后台)运行以监视和检查当前和新下载的文件。 反病毒软件使用不同的技术检查并 ...
CVE-2019-11043PHP-FPM远程RCE复现
使用vulhub搭建环境docker-compose up -d
前置内容PHP-FPM(PHP FastCGI Process Manager)意:PHP FastCGI 进程管理器,用于管理PHP 进程池的软件,用于接受web服务器的请求。
PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置。
CGI(Common Gateway Interface)是一种通用网关接口,是 Web 服务器与外部程序(通常是脚本)之间进行交互的一种标准。它允许 Web 服务器动态生成网页内容,并将内容发送给客户端浏览器。CGI 脚本可以使用各种编程语言编写,如 Perl、Python、PHP、Ruby 等,它们被称为 CGI 脚本语言。这些脚本语言与 Web 服务器之间的交互遵循 CGI 协议的标准,以实现动态生成网页内容的功能
相较于传统的 CGI,FastCGI 提供了更高的性能和更好的扩展性
漏洞成因nginx.conf文件中的配置
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_split_p ...
IceTHM
端口扫描 nmap --min-rate=10000 -p- ice.thm Starting Nmap 7.93 ( https://nmap.org ) at 2024-04-02 11:57 UTCWarning: 10.10.109.255 giving up on port because retransmission cap hit (10).Nmap scan report for ice.thm (10.10.109.255)Host is up (0.017s latency).Not shown: 63585 closed tcp ports (reset), 1938 filtered tcp ports (no-response)PORT STATE SERVICE135/tcp open msrpc139/tcp open netbios-ssn445/tcp open microsoft-ds3389/tcp open ms-wbt-server5357/tcp open wsdapi80 ...
24-3杂谈
三月份还是比较开心的吧hh,完成了第一首处女作,虽然有些仓促。好像学习了还蛮多的东西,docker,k8s之类的云安全也接触了一些,总之比较杂吧。以及哲学上的学习还是收获蛮大的
LinuxFunctionHookingTHM
在这个房间里,我们将研究 *Shared Libraries*, 什么是 *Function Hooking* 以及我们如何利用 *LD_PRELOAD* 做同样的事情!我试图让这个房间尽可能简单,但一些基本的C理解肯定是有用的!
What are Shared Libraries?What Are Shared Libraries?
共享库是预编译的C代码,在生成可执行文件的最后步骤中链接。它们提供可重用的功能,如函数、例程、类、数据结构等,然后可以在编写自己的代码时使用它。
公共共享库,
libc : The standard C library.
glibc:GNU标准libc的实现。
libcurl:多协议文件传输库。
libcrypt:C库,用于加密,哈希,编码等。
关于共享库,需要知道的重要一点是,它们包含程序在运行时所需的各种函数的地址。
例如,当动态链接的可执行文件发出read()系统调用时,系统会从libc共享库中查找read()的地址。现在,libc对read()有了一个定义良好的定义,它指定了函数参数的数量和类型,并期望返回特定类型的数据。通常,系统知道在哪里 ...
打靶记录(一一二)之THMDebug
端口扫描nmap --min-rate=10000 -p- debug.thmStarting Nmap 7.93 ( https://nmap.org ) at 2024-03-27 11:24 UTCNmap scan report for debug.thm (10.10.2.3)Host is up (0.0060s latency).Not shown: 65533 closed tcp ports (reset)PORT STATE SERVICE22/tcp open ssh80/tcp open httpMAC Address: 02:39:10:22:A6:7F (Unknown)Nmap done: 1 IP address (1 host up) scanned in 3.45 seconds
nmap -sC -sT -sV -O -p22,80 debug.thmStarting Nmap 7.93 ( https://nmap.org ) at 2024-03-27 11:25 UTCNmap scan report for debug.thm ( ...
打靶记录(一一一)之THMUmbrella
端口扫描nmap --min-rate=10000 -p- umb.thmStarting Nmap 7.93 ( https://nmap.org ) at 2024-03-26 12:01 UTCNmap scan report for umb.thm (10.10.227.222)Host is up (0.0100s latency).Not shown: 65531 closed tcp ports (reset)PORT STATE SERVICE22/tcp open ssh3306/tcp open mysql5000/tcp open upnp8080/tcp open http-proxyMAC Address: 02:51:6F:5C:2F:11 (Unknown)Nmap done: 1 IP address (1 host up) scanned in 4.12 seconds
nmap -sC -sT -sV -O -p22,3306,5000,8080 umb.thmStarting Nmap 7.93 ( https://nmap. ...
打靶记录(一一零)之THMPeakHill
端口扫描nmap --min-rate=10000 -p- 10.10.2.217Starting Nmap 7.93 ( https://nmap.org ) at 2024-03-21 15:34 UTCNmap scan report for ip-10-10-12-153.eu-west-1.compute.internal (10.10.2.217)Host is up (0.022s latency).Not shown: 65531 filtered tcp ports (no-response)PORT STATE SERVICE20/tcp closed ftp-data21/tcp open ftp22/tcp open ssh7321/tcp open swxMAC Address: 02:AE:DB:BF:76:C3 (Unknown)Nmap done: 1 IP address (1 host up) scanned in 13.79 seconds
nmap -sC -sT -sV -O -p21,22,7321 10. ...
IntrotoLogsTHM
Expanding Perspectives: Logs as Evidence of Historical Activity在数据的核心:
就像一棵实体树的年轮揭示了它的生命历程一样–厚的年轮表示好的年份,薄的年轮表示有挑战性的年份–数字日志提供了系统活动的历史记录。
日志是系统内事件的记录。 这些记录提供了系统一直在执行的操作的详细说明,捕获各种事件,例如用户登录、文件访问、系统错误、网络连接以及数据或系统配置的更改。
虽然具体细节可能因日志类型而异,但日志条目通常包含以下信息:
记录事件的时间戳
生成日志条目的系统或应用程序的名称
发生的事件类型
有关事件的其他详细信息,例如发起事件的用户或生成事件的设备的 IP 地址
此信息通常存储在日志文件中,其中包含系统上任何给定时间发生的事件的聚合条目。
然而,由于数字交互是连续且快节奏的,日志文件的大小可能会根据系统上记录的活动呈指数级增长。
阅读的真正力量:语境相关性
单个日志条目本身可能看起来微不足道。但是,当日志数据被汇总、分析并与其他信息源交叉引用时,它就成为了一种强有力的调查工具。客户可以回答有关事件的关键问题,例 ...
k8s入门初学习
简介Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
在Kubenetes中,所有的容器均在Pod中运行,一个Pod可以承载一个或者多个相关的容器,在后边的案例中,同一个Pod中的容器会部署在同一个物理机器上并且能够共享资源。一个Pod也可以包含O个或者多个磁盘卷组(volumes),这些卷组将会以目录的形式提供给一个容器,或者被所有Pod中的容器共享,对于用户创建的每个Pod,系统会自动选择那个健康并且有足够容量的机器,然后创建类似容器的容器,当容器创建失败的时候,容器会被node agent自动的重启,这个node agent叫kubelet,但是,如果是Pod失败或者机器,它不会自动的转移并且启动,除非用户定义了 replication controller。
minikube一个轻量级得k8s实现,部署仅包含一个节点的简单集群
curl -LO https://storage.googleapis.com/m ...
shell编程练习(一)
1给定一个文本文件 file.txt,请只打印这个文件中的第十行。
示例:
假设 file.txt 有如下内容:
Line 1Line 2Line 3Line 4Line 5Line 6Line 7Line 8Line 9Line 10
你的脚本应当显示第十行:
Line 10
解:
sed -n '10p' file.txt
-n 指除了第十行都不打印
awk 'NR == 10' file.txt
NR 是 awk 内置的一个变量,表示当前处理的行号(行号从1开始)。这个模式表示如果当前行号等于10,则匹配成功。
tail -n +10 file.txt | head -1
tail -n +10 从文件的第十行开始打印,head -1 从头开始打印一行
2给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个单行 bash 脚本输出所有有效的电话号码。
你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)
你也可以假设每行前后没有多余的空格字符。
示例:
假设 fi ...