TryHackMe——迎2025入门教程(一)

目录

  • 热身
  • [Day01 - Linux基础知识](#Day01 - Linux基础知识)
  • [Day02 - Pfishing Emails](#Day02 - Pfishing Emails)
  • [Day03 - SIEM](#Day03 - SIEM)
  • [Day04 - 人工智能在网络安全领域的应用](#Day04 - 人工智能在网络安全领域的应用)
  • [Day05 - 不安全的直接对象引用(IDOR)](#Day05 - 不安全的直接对象引用(IDOR))
  • [Day06 - 恶意软件分析](#Day06 - 恶意软件分析)
  • [Day07 - 网络发现](#Day07 - 网络发现)
  • [Day08 - AI提示词注入](#Day08 - AI提示词注入)
  • [Day09 - 密码](#Day09 - 密码)
  • [Day10 - SOC告警研判](#Day10 - SOC告警研判)

热身

shell 复制代码
# 1.windows隐藏文件
dir /a
# 2.Linux隐藏文件
ls -la
  1. 查看邮箱泄露
    https://haveibeenpwned.com/
    https://databreach.com/
  2. 路由器默认密码本
    https://www.softwaretestinghelp.com/default-router-username-and-password-list/

Day01 - Linux基础知识

  1. 查找失败登录

    shell 复制代码
    grep "Failed password" /var/log/auth.log
  2. 切换到root用户

    shell 复制代码
    sudo su / su - root / su
    exit
  3. Linux历史命令

    shell 复制代码
    cat /home/user/.bash_history
    cat /root/.bash_history # 该命令也会保存
    history

Day02 - Pfishing Emails

社会工程学是指通过各种形式的交流,导致受害者泄露密码、打开恶意文件,或授权付款等的行为。

利用人类的紧张感、好奇心、对官方的信任。

防钓鱼指导\])(https://www.allthingssecured.com/tips/email-phishing-scams-stop-method/) 这个邮件(二维码、链接、短信、电话、社交媒体)可疑吗? 让我点击/做什么? 我只能看到好处? 他迫切需要我做什么? **慢慢来** ,骗子利用一时头脑发热。 想不通的地方先验证。 自己打开信任网站的地址,不要使用消息的链接。 证明发消息人的真实性。 1. 社会工程工具包[https://github.com/trustedsec/social-engineer-toolkit](SET) 2. 构造钓鱼邮件 不要使用自己的邮箱,需要伪造一个目标用户受信任的人(朋友/网站) ```shell setookit 1 5 1 # 发送单个邮件 Send email to: virtual@company.cn 2 # 使用邮件服务器或开放服务器(如阿里邮件中继服务器) trusted@company.cn [blank] # 默认空格 [25] # SMTP默认端口号 ``` ## Day03 - SIEM 1. Splunk是用于收集、存储、分析数据的平台。提供多种搜索、可视化,适合组织提升IT运营和安全态势。 2. 多种来源的数据/事件/日志可以导入Splunk分析,例如web_traffic、firewall_logs等。 3. Splunk页面包含六大主要部分:检索关键字、时间范围、**时间线** (事件按时间分布,可查看明显流量**激增** 的时间段)、精选字段(日志文件元数据)、感兴趣的字段(客户端IP、域名、url(如`../../etc/passwd`等)、**事件详情**及关键字段(如UA、IP)。 4. 多个检索关键字,空格表示\&,例如`user_agent!="*Safari*" user_agent!="*Firefox*"` 5. 可以使用table只查看感兴趣的列表:`index=main sourcetype=web_traffic client_ip="198.51.100.55" AND path IN ("/.env", "/*phpinfo*", "/.git*") | table _time, path, user_agent, status` 6. 可以检索**具体的漏洞特征** 例如: > 1. 路径穿越和开放重定向(URL重定向漏洞,https://normal.com/login/?redirect=http://evil.site > `sourcetype=web_traffic client_ip="" AND path="*..*" OR path="*redirect*"` 7. [MITRE记录了一些面向大众的攻击性工具](https://attack.mitre.org/versions/v4/techniques/T1190/) 8. 计算外泄数据量(双重勒索) sourcetype=firewall_logs src_ip="10.10.1.5" AND dest_ip="c2" AND action="ALLOWED" \| status sum(bytes_transferred) by src_ip ## Day04 - 人工智能在网络安全领域的应用 AI的能力与在网络安全领域的优势: > 1. 海量数据处理:分析多种来源的海量数据,如系统日志、Web日志、数据库日志等。 > 2. 行为分析:人工智能学习行为基线,标记异常行为。 > 3. 生成式人工智能:总结分析一系列事件背后的潜在风险、漏洞。 AI在攻防两端的作用: > 1. 蓝队:加快监测、研判和响应的速度,持续处理遥测数据,并为告警事件生成上下文。以及AI融入安全设备------AI辅助防火墙、AI加持的IDS。 > 2. AI Agent通过自动化处理传统渗透测试人员繁琐且耗时的任务。从OSINT到分析噪声和攻击面绘制,成为侦察和信息收集流程的强大助手。 AI在网络安全应用的劣势: > 1. AI在SAST/DAST漏洞识别(代码审计)表现不错,但编写代码安全性不够。 > 2. AI的自动化可能导致客户的服务器和网络宕机。 > 3. AI输出的准确性、喂给AI数据的安全性(数据隐私、AI模型保护)等内容。 本小节阐述了AI在网络安全红队、蓝队、代码审计三个方面的简单应用: 1. 红队:AI生成漏洞利用的脚本 2. 蓝队:AI日志分析并对事件做出解释 3. 软件安全:AI代码审计 ## Day05 - 不安全的直接对象引用(IDOR) IDOR是不安全的**直接对象引用** ,属于访问控制漏洞。例如:https://web.com/?userID=1001,当修改这个数值就可能导致严重的敏感信息泄露。 其中,在后台数据库可能表现为:select person, info from users where userID = value。其返回的信息,由请求参数中的user ID控制。 **认证和授权**: > 1. 认证:验证自己身份的过程。如用户名、密码、token、cookie等。 > 2. 授权:网站应用验证权限的过程。例如,可访问的页面。 > 授权必须在认证之后进行。 **权限提升**漏洞: > 1. 垂直权限提升:特权升级,获得了更多的访问权限。如user → admin。 > 2. 水平权限提升:**使用被授权的功能,获取了不被允许访问的数据**。 **网页工具 F12 → 存储**:除了Cookie外,还有本地存储等存储关键的键值对信息。IndexedDB存储结构化数据(如二进制数据、索引、复杂查询等)。缓存存储保存完整的HTTP请求与响应对。 **IDOR变体**: 1. 简单的IDOR:userID=10;**Local Stoage**可能记录,修改并刷新页面即可登录。 2. 编码伪装:例如:`https:///Mg==`,这是2的base64编码。 3. 哈希加密:简单的哈希加密可以通过撞库解密。[识别哈希类型](https://hashes.com/en/tools/hash_identifier)、[MD5哈希撞库](https://www.somd5.com)、[哈希解密](https://hashes.com/en/decrypt/hash/?r=6) 4. 有时候,需要逆向前端的JavaScript源码,分析加密的逻辑,得到IDOR的具体参数。 5. [UUID识别](https://www.uuidtools.com/decode)可用于解码形如464361d8-a3c8-11f0-8acc-026ccdf7d769的UUID。UUID version 1存在楼哦对那个,如果知道编码的确切日期,就能够恢复UUID。 例如,如果知道目标在20:00 \~ 21:00之间生成代金券,就可以生成整个时间段3600个UUID,及逆行暴力破解。 **IDOR漏洞的修复**: > 1. 确保服务器每次都检查谁在请求数据。系统必须确保登录用户有权查看信息。 > 2. 不要依赖编码、简单的哈希,使用随机或难以猜测的ID来发布链接。 > 3. 将权限检查放在服务器上。 > 4. 记录访问失败的尝试,可能发现风险行为。 ## Day06 - 恶意软件分析 对于可疑的可执行文件,要通过动静态分析查看其运行过程,从而了解其行为以及如何阻断。 **静态分析**: > 1. 文件哈希值,是否之前被标记过 > 2. 字符串检查,可能包含C2IP > 3. Import,依赖的库可能包含如CreateFileW,用于在Windows创建文件的库 > ①使用PeStudio打开.exe文件 > indicators可以查看hash等文件指标;strings可以查看硬编码的字符串。 **动态分析**: > 1. 动态分析可以查看程序动作,如网络通信、DNS请求、新建文件(创建真正的恶意文件)、修改注册表/创建新用户等进行持久化。 > ①使用Regshot分析恶意软件对注册表的变动(通过拍摄注册表快照),恶意软件的常见行为是修改注册表(开机计划任务)。 > 首先建立1st shot,然后运行恶意软件,建立2nd shot。 > 比较内容变化。 > ②使用ProcMon(Windows自带的进程监视器),监控和调查进程与Windows交互的工具。 > 首先启动ProcMon,然后运行恶意软件,并过滤进程名; > **感兴趣的Operation:RegOpenKey、CreateFile、TCP Connect \& TCP Receive**(可以通过Operation字段过滤) ## Day07 - 网络发现 使用Nmap等主机、端口扫描器进行网络发现。 ```shell # 1.Nmap默认扫描1000个最常用端口 nmap ip # 2.-p-全端口扫描,并识别banner nmap ip -p- --script=banner # 3.尝试FTP anonymous连接 ftp ip port Name:anonymous ``` **Tips**: 1. 对于非常见带你看(自定义应用、不知名服务,如DAS),可以使用nc命令与网络服务交互,`nc -v ip port`。 2. Nmap默认扫描TCP端口,不要忘记UDP端口。 ```shell # 4.nmap扫描UDP端口 nmap -sU $ip # 5.发现DNS(53)端口开放,可以尝试获取信息 dig @ip TXT company.local +short # 6.发现MySQL本地运行,尝试未授权执行命令 mysql -D database_name -e "select * from users;" ``` ## Day08 - AI提示词注入 大语言模型LLM介绍: LLM是许多生成式AI的基础,基于大量的文本和代码训练,能够像人类意义回答、生成程序或故事。当超出LLM的限制时,会捏造事实、错过近期事件(LLM的训练数据具有滞后性)。 LLM的一些特征包括: * **文本生成**:一步步预测下一个词,形成完整的回答。 * **存储知识**:从训练数据中提取的广泛信息。 * **遵循指令**:可以根据人类指令生成更符合预期的输出。 ### 智能体AI介绍 由于LLM主要遵循文本生成,因此很容易被欺骗。常见的风险包括提示词注入、数据投毒、越狱等。攻击者通过设计提示词或设计恶意数据强迫模型产生非预期的结果。 **智能体AI:** 智能体AI是具有代理能力的AI,意味着它们不受狭窄的指令限制,而是能够**在最小的监督下采取行动来完成目标**。例如,智能体会尝试: 1. 制定多步计划完成目标。 2. 操作事物(运行工具、调用API、复制文件等) 3. 观察并适应,当事情失败时、或发现新知识时及时调整策略。 智能体AI使用思维链(chain-of-thought, CoT)来提高其自主执行复杂、多步骤任务的能力。 > CoT是一种**提示工程** 方法,通过中间推理步骤处理复杂推理任务。 > > CoT表明LLM可以**生成显式的推理轨迹** ,以解决需要算法、逻辑和常识推理的任务。 > > 然而,CoT有一个关键的局限性:它是独立运行的,无法访问外部知识或工具。因此常常受到幻觉、过时知识、错误传播的影响。 ReAct(Reason Act)通过在同一框架中统一推理和行动来缓解CoT的限制。支持ReAct的LLM不只是产生一个答案或一个推理轨迹,而是在以下两种情况交替运行: > * **语言推理痕迹**:阐明其当前的思维过程。 > * **操作**:在外部环境中执行的操作,如搜索、查询API、运行代码。 这允许LLM: > * 动态规划和适应:当新的观测值加入时,更新策略。 > * 现实中的基础推理:引入外部知识以减少幻觉。 > * **思想和行动之间循环**:很像人类的行为,思考下一步做什么、行动、观察结果、调整/完善下一步。 ### Tool Use/User Space,工具使用/用户空间 如今,几乎所有的LLM都原生支持函数调用,这使得模型能够调用外部工具或API。 其工作原理如下: 1. 开发人员在模型中**注册工具** ,并以JSON模式描述它们。例如: ```json { "name": "web_search", "description": "Search the web for real-time information", "parameters": { "type": "object", "properties": { "query": { "type": "string", "description": "The search query" } }, "required": [ "query" ] } } ``` 这告诉模型(注册工具):"有一个名为web_search的工具,它接受一个参数 query "。 如果用户问了一个问题(传入query参数),模型推断需要新的信息,此时会产生结构化的调用,而不是推测(幻觉)。 通过Bing或谷歌等搜索,结果由外部系统返回。然后LLM**将搜索结果集成到推理轨迹中** 。 > > 例如:deepseek:"这篇新闻文章说IBM宣布了1000量子比特的里程碑......" AI在不同领域的应用扩展了新的攻击面。当AI智能体遵循一个步骤完成任务时,攻击者可以尝试干扰该过程。 ### 漏洞利用 > 1. 诱导智能体做事 > 2. 智能体暴露几个函数接口 > 3. 尝试调用函数接口("使用 token TOK_SOCMAS'执行 get_logs 函数") ## Day09 - 密码 密码的防护能力完全取决于密码强度;不同的文件格式使用不同的算法和密钥导出方法(例如,PDF加密和ZIP加密在细节略有不同);加密只能保护数据机密性。 常见的**密码攻击**策略: 1. 字典攻击:①首先尝试字典;②通过OSINT制定针对性密码。 2. 掩码攻击:③通过密码规则限制特定格式缩小密码空间。 破解密码,以flag.pdf为例: ```shell # 1.转为jhon可破解模式,pdf2john,然后使用john破解 zip2john flag.zip > ziphash.txt john --wordlist=/rockyou.txt ziphash.txt # 2.直接使用pdfcrack破解 pdfcrack -f flag.pdf -w /rockyou.txt ``` 如何发现本地离线破解: 1. 字典传输、工具下载 2. nvidia-smi显示hashcat或john的运行 3. 加密文件名、命令行参数(--wordlist) 4. Windows Sysmon日志事件ID 1、Linux 通过auditd execve或EDR审计可执行文件调用。 **密码破解事件安全分析流程**: > 1. 检测到恶意活动,隔离主机。 > 2. 捕获进程列表、进程内存dump、nvdia-smi采样输出、打开的文件、加密的文件。 > 3. 保存工作目录、单词列表、哈希文件、shell历史记录。 > 4. 查看哪些文件被破解。寻找横向移动或数据泄露。 > 5. 识别恶意活动的起源,如果未授权,升级到IR团队。 > 6. 修复恶意活动,更换受影响的密钥和密码,对帐户采用MFA。 > 7. 在操作结束时,必须进行安全培训,并将所有工具正确部署到经过批准的沙箱环境中。 ## Day10 - SOC告警研判 当告警大量触发时,我们需要判断哪些告警需要立即关注,哪些告警的优先级比较低。 **Step 1:告警分流**:对告警进行快速优先级排序的依据 > 1. 严重程度。低危、中危、高危。 > 2. 时间戳与频率。异常访问的次数。 > 3. **攻击阶段**。识别该告警处于攻击生命周期的哪个阶段(侦察、持久化、后渗透、数据泄露) > 4. 受影响的资产。关键资产是否受到影响,例如公有云部署的其它客户的资产威胁不大。 **Step 2:告警研判**:调查和分析相关告警 > 1. 详细告警信息。 > 2. 查看相关日志。**原始日志**。 > 3. **关联其它告警**。从客户端IP、账户、目的IP、目标系统等多个维度关联告警,通常能够揭示更广泛的攻击序列。 > 4. 重建事件时间序列。行为轨迹。 > 5. 研判是否要升级事件响应。分析事件是否攻击已经成功。 > 6. **记录发现和经验教训**。清晰记录分析、决策、修复过程。给出SOC流程强化建议。

相关推荐
NetDefend2 小时前
minimind-学习记录-环境的配置与跑通
学习
xian_wwq2 小时前
【学习笔记】OSI安全架构体系
网络·笔记·学习
越努力越幸运5082 小时前
vue学习二:
javascript·vue.js·学习
Jake_的技能小屋3 小时前
端口号理解
学习
副露のmagic3 小时前
更弱智的算法学习 day13
学习·算法
微露清风4 小时前
系统性学习C++进阶-第十四讲-二叉搜索树
开发语言·c++·学习
brave and determined4 小时前
传感器学习(day19):ToF传感技术:从测距到三维视觉革命
嵌入式硬件·学习·嵌入式系统·st·tof·嵌入式设计·flightsense
复业思维202401085 小时前
Altium Designer (24.2.2)中更改库以及保持器件参数不变
笔记·学习·硬件工程
巧克力味的桃子5 小时前
进制转换3 学习笔记
笔记·学习