护网

护网题库

网络基础题:

一、常见的服务对应端口:
  • HTTP:超文本传输协议,默认端口是 80,用于网页浏览和 Web 服务。

  • HTTPS:安全的 HTTP 协议,默认端口是 443,用于安全的网页连接和加密通信。

  • FTP:文件传输协议,用于传输文件,默认端口是 21。

  • SMTP:简单邮件传输协议,用于发送邮件,默认端口是 25。

  • POP3:邮局协议版本 3,用于接收邮件,默认端口是 110。

  • SSH:安全外壳协议,用于远程登录和安全通信,默认端口是 22。

  • Telnet:远程登录协议,默认端口是 23,但现在较少使用,因为 SSH 更安全。

  • DNS:域名系统,用于域名解析,默认端口是 53。

  • SNMP:简单网络管理协议,用于网络设备的管理,默认端口是 161。

  • RDP:远程桌面协议,用于远程控制计算机,默认端口是 3389。

  • Redis:一般使用默认端口 6379。Redis 是一个高性能的键值存储数据库,常用于缓存、消息队列、数据存储等。

  • SQL Server:默认端口是 1433。它是微软的关系型数据库管理系统,提供了可靠的数据库服务。

  • MySQL:默认端口是 3306。MySQL 是一种广泛使用的开源关系型数据库,适用于各种规模的项目。

  • LDAP:LDAP 协议本身没有固定的端口,常见的 LDAP 服务器端口包括 389(用于 LDAP 目录服务)和 636(用于 LDAPS,即加密的 LDAP)。LDAP 用于存储和管理组织的目录信息,如用户、组、权限等。

  • DHCP:DHCP 服务器通常使用端口 67(DHCP 服务器)和 68(DHCP 客户端)。DHCP 用于自动分配 IP 地址、子网掩码、网关等网络配置信息。

  • Oracle:Oracle 数据库的默认端口号可能因版本和配置而有所不同。常见的 Oracle 端口包括 1521(用于 Oracle数据库服务)等。

  • WebLogic 的默认端口是 7001

二、osi七层模型:

img

三、linux和windows看系统进程的命令和杀列进程:
四、常见的协议:
  • HTTP:超文本传输协议,用于在 Web 上传输数据。

  • HTTPS:在 HTTP 基础上添加了 SSL/TLS 加密的安全协议

  • FTP:文件传输协议,用于在网络上进行文件传输。

  • TCP/IP协议:是Internet上使用的最常见的协议之一,TCP是传输控制协议,IP是Internet协议

  • DNS协议:是域名系统协议,用于将域名转换为IP地址。

  • SSH协议:是安全壳协议,用于通过加密协议在网络上安全地传输数据。

  • SMTP协议:是邮件服务器和邮件客户端之间通信的协议,它定义了电子邮件传输的格式。

  • POP3协议:是邮件客户端从邮件服务器上接收邮件的协议。

  • IMAP协议:是邮件客户端从邮件服务器上接收邮件的协议,它比POP3更加强大和灵活。

五、TCP 三次握手和四次挥手分别作了什么

TCP 三次握手,确保双方连接建立成功:

  • 客户端发送 SYN 包给服务器,请求建立连接

  • 服务器收到 SYN 包,发送 SYN + ACK 包给客户端,同意建立连接

  • 客户端收到 SYN + ACK 包,发送 ACK 包给服务器,建立连接成功

TCP 四次挥手,确保连接断开时数据的可靠传输:

  • 客户端发送 FIN 包给服务器,请求关闭连接

  • 服务器收到 FIN 包,发送 ACK 包给客户端,收到客户端的关闭请求

  • 服务器发送 FIN 包给客户端,准备关闭连接

  • 客户端收到 FIN 包,发送 ACK 包给服务器,收到服务器的关闭请求,断开连接

安全加固:

linux加固:

windows安全加固:

应急响应:

  • 准备阶段:明确风险资产并对可能的安全问题加固

  • 检测阶段:通过日常监控、日志等对可疑流量进行分析判断

  • 抑制阶段:分析影响范围,限制攻击范围,安全软件隔离等手段尽可能将影响降低到最低

  • 根除阶段:分析事件成因,找出源头并处理。如果是木马,对木马进行特征扫描分析和定位,并排除可能存在的后门

  • 恢复阶段:对受到破坏的系统和数据进行恢复,并实时监控分析,确保运行无误的情况下可以逐步尝试恢复抑制阶段的操作

  • 总结阶段:对攻击特征与所使用的有效手段进行记录,为后续可能遇到的同类型事件提供经验

大批量的邮件钓鱼已经被客户误点且发生在半小时以前,如何应急处理
  • 预警阶段。发送全员紧急预警,提醒切勿继续中招。必要时隔离网络,防止钓鱼邮件继续扩散。

  • 遏制阶段。提醒已中招的用户及时修改密码等敏感信息,全盘杀毒,协助排查客户个人电脑中的文件,如有木马、勒索程序、后门等,立即清除。

  • 溯源阶段。从两个方面(发送者邮箱、钓鱼邮件源码)入手,收集发送者相关个人信息与钓鱼数据最终前往的目的服务器;信息收集、社工、IP反查、域名备案管理等手段查询目的站相关信息。

  • 反制阶段。端口、子域名、目录扫描等手段对目标服务器进行渗透

linux日志分析:

日志默认存放位置:/var/log/ 查看日志配置情况:more /etc/rsyslog.conf

Linux 的日志默认存放在 /var/log 目录下。

  • /var/log/message: 内核消息及各种应用程序的公开日志(包括启动、IO错误、网络错误等)

  • /var/log/cron:周期性计划任务日志

  • /var/log/lastlog:用户最近登录事件

  • /var/log/wtmp:用户登录、注销及系统启动、停机事件

  • /var/log/btmp:失败的登录尝试及验证事件

  • /var/log/dmesg:引导过程中的各种事件信息

  • /var/log/maillog:电子邮件活动日志

windows日志分析:

Windows主要有以下三类日志记录系统事件:应用程序日志、系统日志和安全日志。

系统日志:

Windows系统组件产生的事件,主要包括驱动程序、系统组件、应用程序错误消息等。

日志的默认位置为:C:\Windows\System32\winevt\Logs\System.evtx

应用程序日志:

包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。

日志的默认位置为:C:\Windows\System32\winevt\Logs\Application.evtx

安全日志:

主要记录系统的安全信息,包括成功的登录、退出,不成功的登录,系统文件的创建、删除、更改,需要指明的是安全日志只有系统管理员才可以访问,这也体现了在大型系统中安全的重要性。

日志的默认位置为:C:\Windows\System32\winevt\Logs\Security.evtx

常见的安全设备:

启明星城的ids

长亭的雷池

天眼、ips、堡垒机

常见的 WebShell 管理工具

菜刀、蚁剑、冰蝎、哥斯拉

常见的 WebShell 检测工具

河马、D盾、牧云、百度

入侵检测的思路

Windows 入侵排查

  1. 检查系统账号安全

  2. 服务器弱口令

  3. 服务器远程桌面协议(RDP 协议,默认 3389)

  4. 服务器账号检查(新增账号、隐藏账号、克隆账号、其他可疑账号)

  5. 检查异常端口、进程

  6. 检查启动项、计划任务、服务

  7. 检查系统版本、可疑目录及文件(Users、Recent)

  8. 检查系统日志(4624:登录成功、4625:登录失败、4672:超管登录、4720:创建用户)

Linux 入侵排查

  1. 检查账号安全(密码文件、影子文件、特权用户、远程用户、sudo权限用户、来宾用户等

  2. 检查历史命令(远程登录命令、创建用户命令、删除用户命令、删除文件命令等)

  3. 检查异常端口、进程

  4. 检查启动项(runlevel)、定时任务(crontal -l)、服务

  5. 检查异常文件

  6. 检查系统日志(/var/log/secure 等)

漏洞:

SQL注入:
SQL 注入的原理、危害及防御措施

SQL 注入的原理:原本的 SQL 语句在与用户可控的参数经过了如拼接、替换等字符串操作后,得到一个新的 SQL 语句并被数据库解析执行,从而达到非预期的效果。

SQL 注入的危害:由于 SQL 注入是执行了非预期的 SQL 语句,所以有可能导致数据库中的大量数据泄露、甚至被删库,如果数据库开启了文件读写权限,还有可能导致服务器被写入木马等。

SQL 注入的防御:SQL 注入的防御一般从三个方向开展:

  1. 集成安全防御工具,如 WAF 等。通常可以拦截大部分的攻击流量,但并不绝对,存在一定的绕过风险;

  2. 黑白名单限制。黑名单主要体现在参数格式、参数长度、特殊字符、转义或编码后的特殊字符等,但是由于绕过方式层出不穷,黑名单很容易出现纰漏,白名单主要应用在对动态表列名、排序等场景下,仅允许指定的参数通过,安全性较高;

  3. 预编译SQL。也是目前最流行最有效的方案,几乎所有的持久层框架都是使用这种技术。预编译其实就是 SQL 引擎预先对 SQL 语句进行分析编译,然后再去填充参数,目前来说这种技术是可以完全防御 SQL 注入的。

SQLMap 如何 Post 请求发起扫描?

SQLMap 发送 Post 请求通常有三种方式:

  • 使用 --data 参数,参数格式与 URL 参数相同,如: sqlmap -u http://xxx.xxx.xxx/login.html --data "id=1&name=xxx";

  • 保存 Post 请求包(通常使用 bp, 假设保存为 post.txt),然后使用 -r指定请求包文件,如: sqlmap -r "C:\Users\Administrator\Desktop\post.txt";

  • 扫描 form 表单,如: sqlmap -u http://xxx.xxx.xxx/login.html --forms

SQLMap 常用的参数
  • -u: 注入目标

  • –data: Post 注入的参数

  • –form: 表单注入

  • -r: 文件读取注入(常用 Post 请求注入)

  • –dbs:列出库

  • –tables:列出表

  • –columns: 列出列

  • -D:指定库

  • -T:指定表

  • -C:指定列

  • –os:当前系统

  • –current-db:当前数据库

  • –current-user: 当前用户

  • –level:扫描等级

  • –delay:延迟

  • –sql-shell:写入 shell

  • –tamper:使用指定插件(常用绕 WAF)

  • –cookie:指定 cookie

  • –random-agent:随机 UA

  • –user-agent: 指定UA

SQLMap 的 --sql-shell 和 --os-shell 的区别

--sql-shell 是在目标数据库上打开交互式的 SQL shell,可以执行 SQL 命令。只能在已经注入目标数据库后使用 --os-shell 是在目标服务器上打开交互式 shell,可以在目标服务器上执行系统命令,但是需要足够高的权限

SQL 注入的流量有什么特征
  • 参数长度异常。大多数的 SQL 注入参数由于需要截断、拼接、构造等操作,会导致参数的长度比较长;

  • 特殊字符。大多数的 SQL 注入会包含如 '、 "、)、;、#、--、<!--、/** 等用于截断或者注释 SQL 语句的特殊字符;

  • 参数编码。对参数进行 url、base64 等类型的编码,以及类似于宽字节注入常用的 %df5c 等编码方式,都是常见的绕过手段;

  • SQL 关键字。通常情况下正常的 SQL 参数是不会包含如 SELECT、 UNION、 ORDER BY、 UPDATEXML、 CONCAT、 TABLE、 DATABASE、 SLEEP等 SQL 关键字的,如果流量中出现了这类关键字就需要留意了。

  • 大量的请求。短时间之内涌入大量的请求,有很大概率是扫描工具发起的流量,需要留意识别。

SQL 宽字节注入的原理

宽字节注入的根本原理是:代码层与数据库层的编码不一致,并且宽字节本身有“吞”ASCII字符的现象。

具体例如:在 SQL 注入时,尝试使用单引号 ' 逃逸时,发现被代码层自动加上了转义符号 \,变成了 ',如果代码中自行添加的转义符号 \ 为 ASCII 编码,那么 ' 的十六进制就是 %5C%27,这时候,如果参数使用 ß',十六进制就是 %DF%27,经过代码中自动为 %27 加上的转义符号 %5C 之后,参数就变成了 %DF%5C%27,而到了 MySQL 中,如果 MySQL 使用的是 GBK 编码(宽字节的一种),则会将 %DF%5C 当做一个宽字节,剩下的 %27 当做一个字符,这就导致了转移符号 %5C 被 %DF 吞掉,组成了一个新的字符,而单引号 %27 却逃过了 %5C 的转义。

MySQL 5.0 以上和 5.0 以下的区别
  • MySQL 5.0 引入了存储过程、触发器、视图的概念

  • MySQL 5.0 支持了 information_schema 表,这张表中包含了 schemata、tables、columns 等多张表(实际上是视图),存放了数据库中的库信息、表信息、列信息等。在 SQL 注入时可以利用此表快速获取表结构等信息。

  • MySQL 5.0 从以前的多用户单操作变为了多用户多操作

SSRF和CSRF
SSRF 是什么?原理是什么?

SSRF 中文名称:服务端请求伪造。是指在攻击者无权访问服务器B,服务器A有权访问服务器B的情况下,攻击者利用服务器A的漏洞,伪造成服务器A的身份向服务器B发送请求。

通常情况下,是由于服务器A中提供了类似于通过指定 URL 远程读取文件的功能,而 URL 又未做任何校验,攻击者便构造特殊的URL,以服务器A的身份发起请求。大多数情况下,是由于为服务端提供了从其他服务端获取数据的功能,但并未对目标地址进行限制。

SSRF 的危害是什么?如何防御?

SSRF 是通过伪造有权访问的服务器的身份去访问原本无权访问的服务器。

其危害主要表现为:

  • 服务器被控制,可能被当做代理服务器进行其他恶意行为

  • 如果访问到的是内网服务器,可能会直接扫描到内网端口和服务,访问到内网资源,横向到其他内网机器

  • 上传恶意脚本等

CSRFToken 可以防御 CSRF
  • CSRFToken 是服务器为用户随机生成一个唯一的 token ,用户发起请求时,服务端先将 CSRFToken 作为请求头返回给客户端,客户端携带 CSRFToken 再发送请求,服务端验证 CSRFToken 是否与存储的相同,不同则拒绝请求。

  • 因为 CSRF 攻击是伪造了被攻击网站的 cookie 认证机制,而 CSRFToken 是在请求中加入的一个由服务器生成的随机 token,攻击者即使伪造了 cookie 也无法伪造这个 token,从而无法成功发起 CSRF 攻击。

CSRF 漏洞和 SSRF 漏洞的区别
  • CSRF漏洞是一种客户端漏洞。攻击者通过在用户已经登录的网站上,诱导用户点击恶意链接或提交恶意表单,从而实现对用户账号的操作。攻击者通过伪造请求,让用户在不知情的情况下执行某些操作。

  • SSRF漏洞则是一种服务器端漏洞。攻击者可以通过构造恶意的请求,使服务器发起对其他内部或外部服务的请求,从而获取一些敏感信息或者攻击其他系统

CSRF 漏洞如何防护
  • 验证请求来源:在服务器端对请求进行校验,只接受来自信任的源的请求,如 Referer 校验、CSRF Token 校验等;

  • 设置 SameSite: 可以限制 Cookie 的跨站传递,一般设置为 Strict 或 Lax;

  • 双因子验证:关键性操作引入双因子验证,再次确认用户身份,如:修改密码、转账时短信验证码、再次输入用户密码、人脸识别等;

  • 防止 XSS:很多场景下,XSS 往往是和 CSRF 会形成组合攻击,防止 XSS 可以有效降低用户 Cookie 泄露的风险,从而增大 CSRF 的利用难度。

XSS 权限驻留

XSS 权限驻留一般是将可以获取用户凭证的 XSS 代码写入网站登录后的页面中,通常会结合 webshell 或者 存储型XSS。这样,当其他用户登入网站后,就会触发 XSS 代码从而将网站 cookies 发送到指定位置。

文件上传漏洞的原理

文件上传漏洞是在文件上传处,服务端未对文件的格式和内容进行严格的验证,导致恶意文件上传(如 webshell、可执行文件、压缩炸弹等),从而造成服务端被远控、命令执行、资源耗尽等风险。

文件上传攻击的流量特征
  • 正常文件上传的特征。如 Content-Type、upload 等,大多数情况会是 POST 请求;

  • 特殊的文件后缀。如脚本语言后缀(.php、.js、.sh、.py等)、动态网页后缀(.asp、.jsp等)、可执行文件后缀(.exe等)、代码包后缀(.jar、.war等)、其他特殊后缀(.php.123、py.png等疑似利用解析漏洞的后缀)

  • Content-Type 与文件后缀不匹配。这是一种比较常见的文件类型绕过手段。

  • 特殊符号与编码。如\、00、\0等截断符号

  • Data 的大小偏大。尤其是上传文件为压缩文件时。

如何区分扫描流量和手动流量

扫描流量通常会至少有以下 4 个特点之一:1. 数量大;2. 频率快;3. 有规律;4. 持续久(在某些场景下,攻击者为了防止被发现而刻意降低了请求频率后,比较持续且有规律的流量)。除上述之外,还有一种比较常见的扫描流量,就是较多的 UCP (端口扫描)或者 HTTP HEAD(目录扫描) 之类的请求,部分扫描工具为了提高速度和节约带宽通常会使用此类连接。

挖矿病毒的特征(如何识别)及处理方式

挖矿病毒最典型的特征就是会长时间占用大量的 CPU 资源。

挖矿病毒的处理方式通常按照如下流程:

  1. 任务管理器查看 CPU 占用情况(Linux 用 top 命令与 ps 命令),找出 CPU 长时间占用过高的进程,大概率就是挖矿木马(别急着直接 kill,记住进程名);

  2. 记住进程名,定位进程所在位置,或许可以收集到一些相关信息(可以 kill 它了);

  3. 分析安全日志、历史命令等,查找木马来源、运行时间、账户等;

  4. 检查计划任务、自启服务、开机启动项等是否有异常任务;

  5. 检查登录记录、隐藏账户、SSH 认证等是否异常,防止木马留下后门;

  6. 检查防火墙、杀毒软件等是否被篡改配置、信任指定端口、加入白名单或开始静默模式等;

  7. 查看进程观察木马被重启,如重启,重新排查计划任务等;

  8. 如不会重新启动(别急着高兴),最重要的一点,还要防止木马被再次写入才能以绝后患,所以还需要进一步对服务器进行完整扫描查杀,防止木马被再次写入。

冰蝎、菜刀、蚁剑、哥斯拉的特点
  • 菜刀:ASP语言编写的 Windows 远控管理软件,年代比较久,鼻祖级别的,曾经风靡一时,现已经逐渐被其他三个所取代

  • 冰蝎:基于 Java 编写,有跨平台特性,流量动态加密(AES128 + 随机密钥)

  • 哥斯拉:基于C#编写,流量加密能过大部分静态查杀和WAF(查杀和WAF也在更新,随时就可能不行了),自带的各种插件功能异常强大

  • 蚁剑:基于Java编写跨平台远控管理工具,模块化开发,代码简单易懂,可扩展性强

冰蝎、菜刀、蚁剑、哥斯拉的流量特征
  • 菜刀: 流量特征主要表现在HTTP协议上,使用HTTP协议通信,控制命令和数据都通过POST请求传输。因此,可以通过HTTP请求头中的User-Agent、Referer等信息进行识别

  • 蚁剑: 流量特征主要表现在数据包的加密方式和数据类型。蚁剑使用了AES加密算法对数据进行加密,同时还使用了自定义的二进制协议,在通信中传输各种类型的数据

  • 冰蝎: 流量特征主要表现在数据包中的特殊标记和传输的数据类型。冰蝎的数据包中包含了特定的标记,如"flag=0x52415631",用于标识该数据包是冰蝎的控制命令。此外,冰蝎还使用了一种自定义的二进制协议,在通信中传输各种类型的数据。

  • 哥斯拉: 流量特征主要表现在数据包的特殊标记和数据类型。哥斯拉的数据包中包含了特定的标记,如"XORHEAD"和"XORBODY",用于标识该数据包是哥斯拉的控制命令。此外,哥斯拉还使用了一种自定义的二进制协议,在通信中传输各种类型的数据

其他漏洞
常见的中间件解析漏洞

Web 服务器解析漏洞:包括 Apache、Nginx、IIS 等服务器的解析漏洞

中间件解析漏洞:包括 Tomcat、Jboss、WebLogic 等中间件的解析漏洞

常见的未授权访问漏洞

Docker 未授权访问

Durid 未授权访问

Elasticsearch未授权访问

JBoss未授权访问

Redis未授权访问

Weblogic 未授权访问

常见的逻辑漏洞
  • 越权访问:水平越权(也称为横向越权)、垂直越权(也称为纵向越权)

  • 支付漏洞:0 元购、负价格、四舍五入薅羊毛、条件竞争突破等

  • 暴力破解:用户名暴力枚举、密码爆破、脱敏信息利用查询条件爆破等

  • 验证码问题:验证码复用、验证码爆破、验证码可预测

  • 认证绕过:前后端校验不一致、仅前端校验状态码

常见的反序列化漏洞
  • Commons-Collections` 反序列化漏洞

  • Jackson` 反序列化漏洞

  • XStream 反序列化漏洞

  • Fastjson` 反序列化漏洞

一般情况下哪些漏洞用于高频打点

Fastjson漏洞、Log4j、上传漏洞、

WAF:

WAF 的工作原理

WAF(Web 应用程序防火墙)是用户保护 Web 应用程序免受网络攻击的一种特殊防火墙,其工作原理主要为:

拦截 HTTP 请求:WAF 位于 Web 应用与客户端之间,通过拦截所有 HTTP 请求来保护 Web 应用程序 分析请求:WAF 会对请求(包括 HTTP 头、请求方法、请求内容等)使用规则引擎来检测攻击特征 阻止攻击:如果检测到攻击特征,WAF 将阻止请求并返回错误响应或重定向到安全页面 记录报告:WAF 会记录所有的 HTTP 请求和响应,并生成报告,以供管理员分析和审查

常见的绕过 WAF 手段
  • 旁站绕过:例如 https 协议改成 http 协议,或者很多网站都会有备用域名,用备用域名试试

  • 伪装身份:例如 修改 XFF 为可信 IP(如 127.0.0.1),伪装 UA,伪装成爬虫工具等

  • 规则绕过:双写参数、大小写替换、编码转换、请求方式转换、注释、空白符、通配符绕过等

  • 流量绕过:大量的参数个数、大量的参数长度、大体积的数据包、条件竞争等

  • IP 绕过:如果站点配置的是云 WAF,找到真实服务器的 IP 直接访问也有可能绕过 WAF 的检测

文件上传如何绕过 WAF
  1. 后缀名黑名单绕过、图片隐写绕过、大小写、双写、文件名编码绕过等,可配合解析漏洞

  2. 空格、00截断、换行、制表符等特殊符号绕过

  3. 垃圾字符绕过(增加文件大小等)

  4. 多文件绕过(多个参数名、多个 form-data 、多个 content-disposition 等

  5. 条件竞争绕过

SQL 注入如何绕过 WAF
  1. 大小写、双写绕过

  2. 编码绕过(十六进制、URL编码、Unicode编码、00、0a 等)

  3. 注释绕过

  4. 等价函数替换绕过,

  5. 二次注入绕过

  6. 宽字节注入绕过

  7. 垃圾字符绕过(增加传输内容大小、参数数量等)

  8. 分块传输绕过(Tranfer-Enconding: chunked)

  9. sqlmap --tamper 工具绕过

  10. 更改请求方式绕过

主流的免杀手段有哪些

静态免杀:修改文件特征码(绕过杀软对恶意代码的拦截,如反弹 shell,端口监听等,包括一些常用工具的代码特征等)
  • 替换非关键数据

  • 替换等价方法

  • 不影响逻辑的情况下交换代码顺序

  • 增加无效代码

  • 加壳

  • 伪造签名

动态免杀:软件行为控制(绕过杀软对恶意行为的拦截,如文件写入、进程操作、注入劫持、注册表修改等)
  • 等价替换 API

  • 重写 API

常用的反制手段
  • 蜜罐诱导(诱导攻击,收集攻击IP、攻击手法等)

  • 反向钓鱼(主动出击,反向钓鱼获取关键信息)

  • IP 溯源反制(根据攻击 IP 溯源攻击者画像)

  • 社工(有人的地方就有社工,社工永远是最无解的手段,不管是进攻还是反制)

  • 威胁情报收集、攻击样本分析

  • 利用攻击日志留痕、攻击工具本身(如 webshell 管理工具,CS Team 服务端等)进行反制

内网:

内网的信息收集思路
  1. IP 信息收集(本机IP,网段,网关,DNS等)

  2. 操作系统信息收集(Windows 还是 Linux,什么版本,是否有可利用的已知内核漏洞,补丁是否更新等)

  3. 服务软件信息收集(MySql,Redis,Tomcat,杀软等)

  4. 计划任务、服务、进程等信息收集

  5. 端口开放信息收集

  6. 域信息收集(域控,域组,域内用户)

  7. 其他信息收集(日志、文件等,可能或包含口令等敏感信息)

  8. 也可以直接使用脚本、工具一键收集(NetBIOS、ScanLine、NMap 等)

常见的内网隧道技术:

icmp隧道、dns协议,ssh协议

内网横向的手段

IPC 横向、PTH 横向、PTT 横向、票据传递横向、内核漏洞(MS14-068)、集成工具(msf、cs)等

IPC 横向的原理
  • IPC 是 Internet Process Connection, 网络进程连接 的缩写。是为了实现进程之间通信而开放的一个命名管道,可以通过验证用户名和密码获取响应权限,通常是在进程管理计算机共享资源时使用。

  • IPC 连接建立需要主机开启 139(NetBIOS 协议)和 445(文件共享协议)端口,并且管理员开启了默认共享功能

  • IPC 横向实际上就是通过建立 IPC 连接(net use \xxx.xxx.xxx.xxx\ipc$ "name@passwd" /user:adminxxx)后,通过 IPC 管道进行横向操作(dir \xxx.xxx.xxx.xxx\c$)

PTH 横向的原理

PTH 是 Pass the hash, 哈希传递攻击 的缩写。其原理是通过直接找到与账户相关的密码 Hash 值(通常是 NTML Hash),由于域环境中,域管理员与本地管理员的账户大概率都是相同的,利用这种场景,使用 Hash 传递,不需要破解密码明文,直接使用密文就可以横向移动。通常配合 mimikatz 工具使用。

正向 Shell 与反向 Shell
  • 正向 shell 是主控端主动向被控端发起连接(内网攻击公网)

  • 反向 shell 是等待被控端主动向主控端发起连接(外网攻击内网)

后台getshell的方法:

数据库备份getshell、直接上传getshell、利用文件解析漏洞来拿webshell

正向代理与反向代理的区别:

正向代理:在客户端部署代理服务器,代替客户端对外部网络发送和接收消息。客户端发送一个指定目标的请求给代理服务器,代理服务器再发送给目标服务器,目标服务器收到请求后,将响应的内容发送给代理服务器,代理服务器发给客户端。

在正向代理的过程中,代理服务器代替客户端向目标服务器发送请求,目标服务器不知道谁是真正的客户端,不知道访问自己的是一个代理服务器还是客户端。服务器只负责将响应包发送给请求方。

反向代理:在服务器端部署代理服务器(为了区分,将真正响应的服务器成为业务服务器),让代理服务器替业务服务器接收请求或发送响应。客户端发送一个请求给代理服务器,代理服务器接收请求并将请求发送给业务服务器,业务服务器将响应发送给代理服务器,代理服务器再将响应发送给客户端。

在反向代理的过程中,客户端不知道自己请求的是代理服务器还是业务服务器。

黄金票据和白银票据的区别和利用方法
  • 黄金票据是利用 Kerberos TGT 信息伪造的票据,TGT 是由 AS 颁发的包含用户身份和 TGS 密钥等信息的票据,伪造黄金票据可以允许攻击者获取对任何服务的管理员权限;

  • 白银票据是利用服务账户信息伪造的票据,可以通过获取 Kerberos 中服务账户的 NTML 哈希来生成,伪造白银票据可以允许攻击者获取特定服务的权限

外围

外围打点的基本流程
  1. 确定目标

  2. 信息收集(天眼查、企查查、oneforall、fofa、enscan 等,哦,对了,社工钓鱼~)

  3. 漏洞探测(已知组件漏洞、CMS 识别、OWasp Top10、弱口令、未授权访问、目录爆破等)

  4. getshell

外围打点的常用工具
  • 企业信息收集:企查查、天眼查

  • 子域名扫描工具:Enscan、水泽、onforall、xray

  • 空间测绘:Fofa、hunter、Quake、zoomeye

  • 指纹识别:wappalyzer、Glass

  • 目录扫描:dirsearch、Dirmap、rad

  • 漏洞扫描:goby、xray

外围打点常用的漏洞
  • 弱口令

  • 未授权

  • 任意用户注册/登录

  • 万能密码/验证码

  • SQL 注入

  • 接口未鉴权

  • 任意用户密码重置

  • 越权

  • 文件上传

外围打点常用的 FOFA 语句

domain=“xxx.com” body=“Index of/” title=“后台” port=“6379” 识别和绕过 CDN 的思路 判断一个站是否使用了 CDN 技术可以直接通过多地ping或者nslookup等工具扫描,如果返回的 IP 不同,则大概率使用了 CDN 技术;如果相同,也不一定没使用。如果需要进一步判断(一般没必要),可以通过常用的 CDN 网段、ASN 码等进一步识别

绕过 CDN 通常有以下几种思路:
  • 子域名、旁站绕过(有些子域名可能没有使用 CDN,毕竟 CDN 挺贵的)

  • 多地ping绕过、国外ping绕过(有些地区可能没有使用 CDN)

  • 域名解析记录查询(有些域名可能是后期加的 CDN 技术,早期解析的是真实地址)

  • 邮箱服务器绕过(邮箱服务器通常会部署在主服务器,且可能没有 CDN)

  • 反向链接(通常配合邮件使用,订阅邮件,让服务器主动发送信息给我们,此时它携带的IP大概率就是真实IP)

  • 敏感文件泄露(从网站的 JS、配置文件、内容中收集信息,可能会泄露真实IP)

提权:

Windows 常见的提权方式
  • 系统内核漏洞提权

  • 利用 Windows 服务提权

  • 利用 Windows 计划任务提权

  • 绕过 UAC 提权(DLL 劫持、环境变量劫持、启动白名单劫持等)

  • 利用工具(如 Mimikatz)获取令牌提权

  • DLL 劫持提权

Linux 常见的提权方式
  • 系统内核漏洞提权

  • SUID 提权

  • 系统服务提权

  • 环境变量提权

Linux 常见的权限维持方式
  1. passwdshadow 文件增加用户维权
  2. useradd 添加提权用户维权

  3. SUID 维权(chmod +s

  4. SSH 软连接维权

  5. 公私钥维权

  6. 计划任务维权

Windows 常见的权限维持方式
  1. username$ 隐藏账户维权

  2. 注册表克隆账户维权

  3. Shift 后门维权(未登录的情况下默认system账户打开)

  4. 启动项维权(系统启动文件夹、组策略启动脚本、注册表启动项

  5. 计划任务维权

  6. 服务维权(隐藏服务维权)

DLL 劫持的原理

DLL 是微软公司提供的动态链接库,里面存放一些共享代码。所谓动态链接,就是当可执行文件调用到 DLL 内的函数时,Windows 才会将 DLL 加载,当程序有需求时,对应的函数才会链接。如此来降低存储器的资源浪费。

如果在一个进程加载一个 DLL 时没有指定 DLL 的绝对路径,那么 Windows 就会去按照顺序搜索特定目录下的 DLL,而如果将一个恶意的 DLL 放置在正常需要加载的 DLL 的目录之前,就能优先加载恶意 DLL,从而实现劫持。

DLL 加载的顺序:

  1. 进程对应程序所在目录

  2. 当前目录

  3. 系统目录(GetSystemDirectory)

  4. Windows 目录(GetWindowsDirectory)

  5. 环境变量

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值