Stack-BasedBufferOverflowsonLinuxx86HTB
Introduction缓冲区溢出在当今世界已经变得不那么常见了,因为现代编译器已经内置了内存保护,使内存损坏错误很难意外发生。话虽如此,像C这样的语言不会很快消失,它们在嵌入式软件和物联网中占主导地位。我最近最喜欢的一个缓冲区溢出是CVE-2021-3156,这是sudo中基于堆的缓冲区溢出。
这些攻击并不局限于二进制文件,大量的缓冲区溢出发生在Web应用程序中,特别是使用自定义Web服务器的嵌入式设备。一个很好的例子是CVE-2017-12542与HP iLO(集成熄灯)管理设备。在HTTP头参数中发送29个字符会导致缓冲区溢出,从而绕过登录。我喜欢这个例子,因为不需要实际的有效负载,因为系统在到达错误时“失败打开”。
简而言之,缓冲区溢出是由不正确的程序代码引起的,它不能正确地处理CPU的太大数据量,因此可以操纵CPU的处理。例如,假设太多数据被写入到不受限制的保留存储器buffer或stack。在这种情况下,特定的寄存器将被重写,这可能允许代码被执行。
缓冲区溢出可能导致程序崩溃、损坏数据或损害程序运行时的数据结构。最后一个可以用任意数据覆盖特定程序的return addres ...
打靶记录(五五)之THMAnonymousPlayground
端口扫描sudo nmap --min-rate 10000 -p- 10.10.110.6 -PnStarting Nmap 7.94 ( https://nmap.org ) at 2023-09-26 20:50 CSTNmap scan report for 10.10.110.6Host is up (0.24s latency).Not shown: 65533 closed tcp ports (reset)PORT STATE SERVICE22/tcp open ssh80/tcp open httpNmap done: 1 IP address (1 host up) scanned in 11.50 seconds
扫了好几次才扫出来。。。
sudo nmap -sT -sV -sC -O -p22,80 10.10.110.6 Starting Nmap 7.94 ( https://nmap.org ) at 2023-09-26 20:51 CSTNmap scan report for 10.10.110.6Host is up (0.23s ...
IntroToAssemblyShellcodingANDSkillHTB
ShellcodingShellcodes通过本模块所学的知识,我们应该对计算机和处理器架构以及程序如何与此底层架构进行交互有很好的理解。我们还应该能够反汇编和调试二进制文件,并很好地理解它们正在执行什么机器指令以及它们的通用目的是什么。现在我们将学习shellcodes,这是渗透测试人员的基本概念。
What is a Shellcode我们知道,每个可执行的二进制文件都是由汇编语言编写的机器指令组成的,然后汇编成机器代码。shellcode是二进制可执行机器码的十六进制表示。例如,让我们以我们的Hello World程序为例,它执行以下指令:
Code:
global _startsection .data message db "Hello HTB Academy!"section .text_start: mov rsi, message mov rdi, 1 mov rdx, 18 mov rax, 1 syscall mov rax, 60 mov rdi, 0 syscall
正如我们在第一节中看到的,这个Hell ...
23-10杂谈
“啊,10结束了?”昨天看了下日历第一反应是这个。由于假期的缘故,10月结束了。但是并想不起来有什么标志性特殊性的事件。一切都非常地平常,总之一直都是处于一种“悬空”的无力感和空虚感。编曲的制作也是一直在磕磕碰碰中进步吧,总之结果上还是进步的。还有就是,开始接触一些网络键政的东西,还是十分有趣的()。但是看完之后所得到的仅有无力感,只不过是徒增遗憾和愤懑罢了,自己并做不了什么事情。对我来说也只是自娱自乐罢了。这个月,感觉会很忙啊。总之是消极向上的态度吧,11月,请多指教。
IntroToAssemblyBasicInstructionsANDFunctionsHTB
Module Project到目前为止,我们已经学习了计算机和CPU架构的基础知识以及汇编语言和调试的基础知识。我们现在开始学习各种x86汇编指令。我们很可能在渗透测试和逆向工程练习中遇到这些类型的指令,因此了解它们的工作方式使我们能够解释它们在做什么,并了解程序在做什么。
我们将从学习如何在寄存器和内存地址之间移动数据和值开始。然后,我们将学习使用一个操作数的指令(Unary Operations)和使用两个操作数的指令(Binary Instructions)。稍后,我们将学习汇编控制指令和shellcoding。
斐波那契数列然而,在我们开始之前,让我们讨论一下我们将在本模块中使用我们将学习的各种指令开发的程序。 We will be developing a basic Fibonacci sequence calculator using x86 assembly language.
在最简单的术语中,斐波那契数是序列中它前面的两个数字的总和(即Fn = Fn-1 + Fn-2)。例如,如果我们从F0=0和F1=1开始,那么F2是F1 + F0,也就是F2 = 1 + 0 ...
IntroToAssemblyArchANDAssembDebuggerHTB
ArchitectureAssembly Language我们与个人电脑和智能手机的大部分互动都是通过操作系统和其他应用程序完成的。这些应用程序通常使用高级语言开发,如C++,Java,Python等。我们还知道,这些设备中的每一个都有一个核心处理器,它运行所有必要的进程来执行系统和应用程序,沿着的还有随机存取存储器(RAM)、视频存储器和其他类似的组件。
然而,这些物理组件不能解释或理解高级语言,因为它们基本上只能处理1和0。这就是汇编语言的用武之地,作为一种低级语言,它可以编写处理器可以理解的直接指令。由于处理器只能处理二进制数据“即1和0”,因此人类在不参考手册的情况下与处理器交互以了解哪个十六进制代码运行哪个指令将是具有挑战性的。
这就是为什么低级汇编语言被建立起来的原因。通过使用汇编,开发人员可以编写人类可读的机器指令,然后将其汇编成等效的机器代码,以便处理器可以直接运行它们。这就是为什么有些人把汇编语言称为符号机器码的原因。例如,汇编代码’add rax, 1‘比其等效的机器外壳代码’4883C001‘更直观,更容易记住,并且比等效的二进制机器代码’01001000 100 ...
ServersideAttacksHTB
Introduction to Server-Side Attacks服务器端攻击的目标是服务器提供的应用程序或服务,而客户端攻击的目的是攻击客户端。理解和识别这些差异对于渗透测试和bug赏金猎人来说是至关重要的。
一个很好的例子,应该有助于澄清服务器端攻击与客户端攻击之间的差异是Cross-Site Request Forgeries (CSRF)和Server-side Request Forgeries (SSRF)。这两种攻击都涉及Web服务器以及服务器如何处理URL。然而,CSRF和SSRF有不同的目标和目的。
大致引用自Web应用程序简介模块中的跨站点请求伪造部分:
CSRF攻击可能利用其他客户端攻击(如XSS漏洞)向受害者已通过身份验证的Web应用程序执行请求。这允许攻击者以授权用户的身份执行操作,例如将其密码更改为攻击者可能知道的内容,或者以受害者的身份执行任何未经授权的操作。
从上述情况,我们应该可以推断出目标是客户。服务器端攻击的目标是实际的应用程序,目标是泄漏敏感数据或将未经授权的输入注入应用程序,甚至实现远程代码执行(RCE)。这种情况下的目标是后端服务。
...
IntroductiontoBashScriptingHTB
Working ComponentsConditional Execution条件执行允许我们通过达到不同的条件来控制脚本的流程。这一功能是必不可少的组成部分之一。否则,我们只能一个接一个地执行命令。
在定义各种条件时,我们指定应该为特定值执行哪些函数或代码段。如果我们达到了一个特定的条件,那么只执行该条件的代码,而跳过其他代码。一旦代码部分完成,以下命令将在条件执行之外执行。让我们再看一下脚本的第一部分并分析它。
Script.shCode:
#!/bin/bash# Check for given argumentif [ $# -eq 0 ]then echo -e "You need to specify the target domain.\n" echo -e "Usage:" echo -e "\t$0 <domain>" exit 1else domain=$1fi<SNIP>
总而言之,此代码段使用以下组件:
#!/bin/bash - Shebang.
if-else-fi - Conditional execution.
echo - ...
HackingWordPressHTB
IntroWordPress OverviewWordPress是最受欢迎的开源内容管理系统(CMS),为全球近三分之一的网站提供支持。它可以用于多种目的,例如托管博客,论坛,电子商务,项目管理,文档管理等等。WordPress是高度可定制的,并且SEO友好,这使得它在公司中很受欢迎。它有一个大型的扩展库,称为主题和插件,免费和付费,可以添加以增强网站。插件的一些例子是WPForms,一个强大的联系表单,与Google Analytics接口的MonsterInsights,以及Constant Contact,一个流行的电子邮件营销服务。然而,它的可定制性和可扩展性使其容易通过第三方主题和插件而受到攻击。WordPress是用PHP编写的,通常运行在Apache上,MySQL作为后端。许多托管公司在创建新网站时提供WordPress作为选项,甚至帮助完成安全更新等后端任务。
本模块将涵盖WordPress网站的核心结构,手动和自动枚举技术,以发现错误配置和漏洞,并通过一些常见的攻击。您将有机会执行自己的枚举和攻击WordPress实例,同时通过每个部分中的材料工作。该模块将以技能评 ...
打靶记录(五四)之HTBTwoMillion
端口扫描sudo nmap --min-rate 10000 -p- 10.10.11.221Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-23 00:52 UTCWarning: 10.10.11.221 giving up on port because retransmission cap hit (10).Nmap scan report for 10.10.11.221Host is up (0.41s latency).Not shown: 65467 closed tcp ports (reset), 66 filtered tcp ports (no-response)PORT STATE SERVICE22/tcp open ssh80/tcp open http
sudo nmap -sT -sV -sC -O -p22,80 10.10.11.221 [sudo] mikannse 的密码:Starting Nmap 7.94 ( https://nmap.org ) at 2023-1 ...
打靶记录(五三)之春秋云境Brute4Road
端口初扫描sudo nmap --min-rate 10000 -p- 39.99.225.224[sudo] mikannse 的密码:Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-20 15:59 UTCNmap scan report for 39.99.225.224Host is up (0.0086s latency).Not shown: 65532 filtered tcp ports (no-response)PORT STATE SERVICE21/tcp open ftp22/tcp open ssh80/tcp open httpNmap done: 1 IP address (1 host up) scanned in 13.53 seconds
sudo ./fscan_386 -h 39.99.225.224[sudo] mikannse 的密码:___ _ / _ \ ___ ___ _ __ __ _ ___| | ...
打靶记录(五二)之春秋云境Inital
端口初扫描sudo nmap --min-rate 10000 -p- 39.98.115.107 [sudo] mikannse 的密码:Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-12 03:11 UTCNmap scan report for 39.98.115.107Host is up (0.25s latency).Not shown: 65533 filtered tcp ports (no-response)PORT STATE SERVICE22/tcp open ssh80/tcp open http
sudo nmap -sT -sV -sC -O -p22,80 39.98.115.107 -PnStarting Nmap 7.94 ( https://nmap.org ) at 2023-10-12 03:12 UTCNmap scan report for 39.98.115.107Host is up (0.033s latency).PORT STATE SERVICE VERS ...