渗透测试战技 101 知识触发战技,战技刻意练习得到经验,经验反思源头,得到创新力。我们需要模仿与练习。 --- --sec875 nmap https://tryhackme.com/room/vulnversity 比战技更重要的是源头的查阅,此意识可以让大脑保持在舒适区且命中根源。 为什么这件事情很重要? why ?因为您无法保证自己学到的东西永远都用于工作,它会健忘掉。 提前说明 :官方手册, man 手册,帮助命令等都是用于辅佐,不存在谁比谁权威,全。请自己思考并取 舍。并放弃一劳永逸的想法。 请确保能找到官方手册和利用 man nmap 。 https://nmap.org/ 找到 nmap 功能性参数 还是 记住开关的 flag ? 主机发现 基于 ICMP 的主机发现 还是 端口响应包的预期值主机发现?不,还能将意识提升到基于 SYN 和 ACK 几个 步骤中的具体发哪一种包,刻意的改包和重放来主机发现。 【注意】:这里不会引申出更丰富的网络包修改,重放与基线防御配置。因为它们于我的工作量过于巨 大。您知道,寻找这一处容易,但此文章一旦开头就得所有。因此,我将给出地方,防御配置不在这里 讨论与观察: https://www.scaprepo.com/ CCE 编号为国际防御配置基准线。尽力了,师傅们。 -sL (列表扫描 ) , -sP (Ping 扫描 ) , -P0 ( 无 ping) , -PS [portlist] (TCP SYN Ping) , -PA [portlist] (TCP ACK Ping) , -PU [portlist] (UDP Ping) , -PE; -PP; -PM (ICMP Ping Types), -PR (ARP Ping) , -n ( 不用域名解析 ) , -R ( 为所有目标解析域名 ) , --system-dns ( 使用 系统域名解析器 ) 举一个例子,足以说明这种战技的观察力与创造力,使用 -sP 发送 ping 扫描。它发送了什么网络 包?我以后使用网络包修改与重放修改哪里?哪些预期结果可以确认主机的存活? 129 为 kali 机器。因为提前读过文档,知道它会发一个 ICMP echo 的请求包与 TCP 80 ( root 特权) 请求包用于探测。得到的主机存活响应包也回复了一个 ICMP echo 响应包并且回复了一个 TCP 80 RST 响应包。所以,我们知道此主机确实是在的。 不妨思考一下, ICMP 的 type 8 类型(以及其他协议字段值? RFC 文档看看哪些处于实验期?)修改 成别的? TCP 80 端口改改? 这就是为什么,会存在其他方式与参数来尝试性的看看响应,设备会不会出现意外的响应包?或者 意外的情况? 端口扫描基础 open( 开放的 ) , closed( 关闭的 ) , filtered( 被过滤的 ) , unfiltered( 未被过滤的 ) , open|filtered( 开 放或者被过滤的 ) ,或者 closed|filtered( 关闭或者被过滤的 ) nmap 的信息细节颗粒度更多。它的意识提升到了,很多复杂情况性的思考,不同响应包的情况。我们 需要掌握此处,用于以后进阶其他技术材料。 该端口接收 TCP 连接或者 UDP 报文,说明它正在工作,那么主机自然是存活的。 open( 开放的 ) 因为没有应用程序在其端口上监听,因此状态是 closed( 关闭的 ) ,这种影响可能是丢包,抖动或者暂时 性的不监听。所以,值得再扫描一下,可能一些又开放了。 filtered( 被过滤的 ) :包阻塞器或者防火墙会丢弃包,或者响应 ICMP 错误消息如类型 3 代码 13 ( 无法到达 目标 : 通信被管理员禁止 ) 。 nmap 会多次尝试,使得扫描速度明显变慢。基于这种慢于快的基准,也能帮 助我们识别是否存在阻塞与防火墙。 unfiltered( 未被过滤的 ) :端口可访问,但 Nmap 不能确定它是开放还是关闭。发送 ACK 请求包的探测才 会被分类到此状态,还需要使用其他类型,如窗口扫描, SYN 扫描,或者 FIN 扫描来扫描未被过滤的端 口,进一步确认端口是否开放。 open|filtered( 开放或者被过滤的 ) :无法确定端口是开放还是被过滤的, Nmap 就把该端口划分成 这 种状态。比如使用 UDP , IP 协议, FIN , Null ,和 Xmas 扫描时,没有响应包回来。这对于 UDP 也许是开 放的,但也可能被防火墙设备丢弃了。closed|filtered( 关闭或者被过滤的 ) :注意 man 手册与官方文档中的一些差异性。 Idle 扫描为空闲态扫 描。 【请记住】:所有的情况都是基于响应包的结果来判断状态的。这些状态结果与目标主机也许不可信, 它们返回迷惑性响应包迷惑了 nmap ,更普遍的是非 RFC 兼容的主机以不正确的方式响应 Nmap 探测。您 知道, RFC 文档只是协议的标准,具体产品的实现存在着差异性。我们可以观察具体的响应包来确认。 比如您修改了某一项值,但是它在 RFC 文档中标记为盲区,响应包返回错误,或者不支持该值。那么机 会就来,它确实存在但是仅仅是不支持而已?想想与类比 burpsutie 的抓包与重放,都是一个道理与观察 得到的。 端口扫描技术 一个很好的例子是 -sW (TCP 窗口扫描 ) ,它的请求包篡改了不同系统对于 TCP 窗口值的值不同,响 应包返回了窗口的大小还是 0 。 基于这个例子,可以把大家带入到就和 burpsutie 的使用一样,就是修改值然后观察不同的响应包情况来 判断,有或者没有。这不过这里把 burpsutie 换一个网络包的修改与重放工具罢了。思维同源。 其他开关自行阅读文档。 TCP IPID Idle 空闲态扫描 ( -sI) 互联网上的每个 IP 包都有一个片段身份证号码( IP ID )。由于许多操作系统只是为他们发送的每个数据 包增加这个数字,探测 IPID 可以告诉攻击者已经发送了多少数据包自上次探测。 这种侧信道攻击技巧,源于一种思考,我把源 IP 地址改改,别人不就不清楚我是谁呢?改成它们信 任的 IP 地址?入侵检测系统 (IDS) 的记录将全都是错的。不要说什么看不懂和还没有成熟。一个 TCP 包中的 IPID 到底在哪里?它有那么难找吗?它在什么工 具中? 观察一下 IPID   服务和版本探测 当端口探测结束后,版本探测会继续询问这些端口,确定到底什么服务正在运行。 /usr/share/nmap/ 在 nmap 文件夹中 基于 nmap-services 数据库的匹配结果,给出具体的端口服务,比如 22 端口为什么是 SSH ?它又是怎么识别版本的? 基于 nmap-service-probes 数据库的匹配表达式。那它把 ssh 的 22 端口改成非默认的不行吗?这就是为什么再加上一个版本探测进来的原因。我都匹 配到了你 SSH 版本的信息了,还不能确认你是 SSH 服务吗? 您想给 nmap 做贡献吗?这绝对是一件有意义的事情。   操作系统探测 Nmap 脚本引擎 (NSE) 关于脚本的使用,需要注意到文件名的分类性,还有安全或者不安全的脚本分类。在基于了解情况 的使用脚本是一种很好的意识思维。不要让一切都失控。   时间和性能 有人说 nmap 很慢,那么这里的开关可以与其他工具的速度比一比 防火墙 /IDS bypass 与欺骗 要清楚的是,这里也能伪装一些元数据信息。当然,这里的方法已经众所周知,需要基于这里的思 维,寻找和测试其他的攻击向量。或者说是其他角度的键与值。 到了这里,您应该对官方文档和 man 手册有一个很好的熟悉度。 ICMP 反向 shell netcat 常用于渗透测试中的 getshell 工具之一。还有很多流行的 shell 文件, Reverse TCP Meterpreter 、 C99 PHP web shell 、 JSP web shell 等 这里就不讲 netcat shell 了,因为 man netcat 解决一切问题。观察与翻译一下说明,马上就能明白 功能项开关的意思。 这里聊聊一种场景。进出服务器的通信受到防火墙的保护和过滤,并且不允许在任何侦听端口上进行 TCP shell 通信。 那么基于 TCP 的绑定 shell 与反向 shell 自然就不成立了。 但是许多环境又允许发送和接收 ping 请求,用于故障诊断的需求。 Ping 请求于 ICMP 协议中。 我们知道 ICMP 的 data 字段,请求包是什么值,响应包就返回什么值回来。如果不一致则说明确实 存在故障了。

pdf文档 渗透测试战技101

安全文档 > 网络安全 > 文档预览
中文文档 43 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共43页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
渗透测试战技101 第 1 页 渗透测试战技101 第 2 页 渗透测试战技101 第 3 页
下载文档到电脑,方便使用
本文档由 SC2023-03-04 11:18:11上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。