聊一聊渗透测试过程中的脚本功能

今天就来给大家聊一聊在渗透测试中我们可能需要写的脚本功能,我平时代替手工提升效率使用的语言是 python,所以就以 python 为例贯穿整个渗透过程的功能,也可以作为指导,针对性的去学习和实践。

渗透过程中通常包含信息收集和漏洞利用两个主要部分,在信息收集中,我们要收集目标的外围资产信息,也就是我们在外部可以直接访问的服务器和应用,这其中包括:域名信息、IP 信息、企业内部员工信息、端口开放信息、web 应用信息等。

[[267041]]

信息收集

域名信息包含一级域名的注册信息以及企业对外解析的所有二级域名列表等,注册信息可以通过 whois 的方式去查看,互联网上存在很多网站提供 whois 查询的功能。

获取企业所有二级以上域名的途径很多,比如:

  • 通过爬虫的方式去目标网站爬取
  • 通过搜索引擎搜索相关数据
  • 通过字典进行枚举(dns 解析)

IP 信息是企业对外开放的所有 IP 列表,越多越好,获取 IP 的途径主要有两种,一种是通过收集到的域名解析出该企业的 IP 列表;第二种是通过 whois 查询这些 IP 信息,看这些 whois 信息中是否包含目标公司的信息,从而确认 IP 的归属,有的时候,whois 中包含的是一个 IP 段,获取你可以通过 IP 获取公司的整个 IP 段。

用户邮箱的收集主要通过搜索引擎寻找那些安全意识不到位公开泄漏的邮箱地址,还可以通过网上泄露的公司相关文档中保存的邮箱地址,更多的方式这里不说了,自己思考吧。

端口信息的获取主要通过扫描的方式,利用前面收集到的 IP 信息,利用端口扫描的方式获取所有开放的端口以及相关服务。

web 应用信息主要是方便我们寻找 web 应用的漏洞,其中包含 web 指纹、服务器信息、目录结构等。

涉及自动化的场景

(1) 如果我们需要测试的域名非常多时候,想要了解这些域名的基础信息,如果一个一个去 whois 查询,是不是会很累?我们能否进行自动化?当然可以,实现的方式也很简单,我们在网络上找一个可以查询域名 whois 信息的网站,查看其查询接口,使用 python 的 requests 库请求接口查询即可,然后写一个 for 循环,自动获取所有域名信息保存,跑完自己查看结果即可。

(2) 在收集二级域名列表时,我们需要从搜索引擎里提取相关记录,手工复制是不现实的,毕竟大厂的二级以上的域名都是上千上万的,所以我们需要从搜索引擎拿到搜索结果并将二级以上的域名提取出来,请求内容上面已经说了,提取域名主要用到的是 python 的 re 库,学习正则的使用至关重要。

(3) 收集域名列表除了爬虫、搜索引擎的方式外,还可以用字典枚举,枚举的过程主要用到的是 dns 的解析功能,python 中的 socket 库,其中有个函数 gethostbyname 可以实现你想要的功能,***准备一份字典就可以开跑了。

(4) 获取了一大批的 IP 地址,还想扩展更多的 IP,那么就需要对收集到的 IP 进行 whois 查询,Linux 下存在一个工具 whois 直接可以查询 IP 的 whois 信息,效率蛮高的,我们可以用 python 的 os 模块等可以执行系统命令的模块调用 Linux 下的 whois 程序查询你想查的 IP 地址,***处理查询的所有结果即可。

(5) IP 列表和 IP 段获得之后,我们要知道这些 IP 上开放了那些端口和服务,这时就需要对这些 IP 进行端口扫描,最简单的方式就是使用 nmap 来扫描,python 的调用方式跟上面的一样,我们还可以自己写端口扫描工具,其中最核心的是判断 IP 的某个端口是否开放,TCP 的三次握手原理我们要懂,可以用 python 的 socket 库,还可以用 scapy 库构造协议进行检测。

(6) 在端口扫描的时候,需要加快速度,降低检测的时间,那么就需要用到 python 的 threading 库,使用多线程技术,提升速度,在 guthub 上有很多封装好的 threadpool 库,直接利用就好。

(7) 对于 web 应用,***步是要获取基本的信息,我们可以使用 python 的 httplib、urllib、urllib2 等基础库,获取 IP 的 web 端口下的基本信息,包括 header 中的服务器信息、默认首页的标题和内容等。

(8) 目录结构信息获取的方式***种是通过爬虫根据网站的链接探测目录结构和文件列表,还可以通过自己收集的字典,进行枚举目录和文件,这里用到的库跟上面的类似,至于收集的全不全,就看你收集的字典够不够好。

漏洞利用

经过信息收集模块之后,我们对企业的资产信息有了大概的了解,其中可能会包含存在漏洞的应用,在漏洞利用阶段,需要自动化的地方不多,毕竟漏洞利用是具有破坏性的,大概提一下。

  • 网络层面的漏洞利用可以用 scapy 构造协议进行利用
  • web 层面主要是那些与 http 协议相关的库,如:urllib、httplib、requests 等

其他的大家可以补充讨论。

总结

这里提到的东西还是不全面,本文的主要目的是告诉大家,在搞渗透的时候,尽量实现自动化,总结规律,提升工作效率,在有限的生命里做更多的事,懒人是改变世界的主要驱动力,有些时候不要太勤快,容易导致你浪费大量不必要的时间。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/125913.html<

(0)
运维的头像运维
上一篇2025-02-23 23:29
下一篇 2025-02-23 23:31

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注