渗透测试流程-下篇
#作者:允砸儿
#日期:乙巳青蛇年 四月廿八
渗透流程上、中两篇都是关于‘’理性‘’的东西,各种知识较为容易写出来。今天笔者主要讲如何进行情报收集,这一部分的内容需要在自己的心里面形成一套逻辑。每一个人对于情报收集都有不同的 理解,笔者认为情报收集可以应用到我们生活当中任何地方。废话不多说,直接进入主题。
情报收集
引言
首先对与一个情报也就是他人的信息以及各种私密的东西,不会让外人知道的信息。我们应该如何去收集这些呢。情报收集十分复杂的过程,情报分析的结论大多数的情况下是探索性的。我要绞尽脑汁的去获得它的一切信息,在此期间我们可以利用各种手段去获取,胆大心细脸皮厚这是必须的。
在收集的过程中我们可以利用人性的弱点,打造一套专攻其弱点的‘’一幕大戏‘’,比如我们可以利用钓鱼邮件、钓鱼短信直接让‘’目标‘’主动将各种信息填入其中,再者利用图片病毒入侵其电脑。或者利用贪婪的弱点我们以各种理由加其各种社交软件,利用社工的能力获取获取其隐私、敏感信息。在我们获取情报时很多东西都需要我们在脑袋里面过一遍的,实战是检验能力的唯一标准,打再多的靶机不如去实战。在得到大量情报后根据你自己储备的知识和阅历来进行情报分析,哪一些是假情报哪一些是无用的情报。我们在此期间会浪费大量的时间去整理这一部分的知识,笔者会写成一个笔记并且自己去设计一个格式去书写。在收集的过程中单打独斗往往效率不是很高,团队合作才是制胜关键。我们可以把我们实战无论成功还是失败都写成案例来帮助我们修改我们的情报收集思维。
如果朋友们想深入了解这一块可以搜素各种相关的书籍和视频,但是这种系统性的训练现在大概率不会有,笔者曾经在旧书网曾经刷到过(66-76)时期一本书籍当时人民会教你如何获得收集情报。最后,强调我们在信息收集一定要克制在法律的范围内去实施,我们要在自己的心里面去设置一个度一个界限,收集过程中要适可而止。借用一句话:‘’江湖不是打打杀杀,江湖是人情事故。
免责声明:笔者是传播公开的知识,获取隐私信息必须遵循最小必要原则,不得过度收集,同时要明确告知用户并获得同意。特别是敏感信息,比如身份证号、生物识别信息等,需要更严格的保护措施和明确的同意。
操作系统收集
在笔者拿到一个网站,我们需要知道(IP地址、操作系统、中间件、源代码框架、语言脚本等)。那么我们如何进行收集呢?我们可以利用浏览器自带的F12开发者模式或者右键检查。笔者先简单介绍一下要收集的几个信息
network(网络)
request url -- 请求头
status code -- 请求代码
serve -- micrsoft-iis/8.5 (Windows操作系统)
serve apache/2.9 (Debin)linux系统
x-powered - by - plesk 用什么语言去写的 ASP.NET
cookie
user-agent 请求头写进去可以避免反爬措施
中间件收集
中间件是位于操作系统和应用程序之间的软件层,用于简化不同系统组件之间的交互,提升开发效率和系统扩展性。以下是常见的中间件类型:
1. Web 服务器中间件
作用:处理 HTTP 请求/响应,支持静态资源托管和动态请求转发。
代表:Nginx:高性能反向代理服务器,支持负载均衡、缓存。Apache HTTP Server:经典的web服务器。Tomcat:Java Servlet 容器,支持动态内容(如JSP)。
2、消息队列中间件
作用:实现系统间异步通信,解耦生产者和消费者。
代表:Kafka:高吞吐量分布式流处理平台。适用于日志、实时数据处理。RabbitMQ:支持 多种协议(如AMQP)的消息代理。RocketMQ:阿里开源的分布式消息系统,适合金融级场景。
3、缓存中间件
作用::加速数据访问,减轻数据库压力。
代表:Redis:内存数据库,支持多种数据结构(如字符串、哈希、列表等)。Memcached:高性能分布式内存缓存,适合简单键值存储。
4、数据库中间件
作用:管理数据库连接、读写分离、分库分表。
代表:MyCat:开源的数据库分片中间价。ShardingSphere(如Sharding-JDBC);透明化数据库分片方案。
5、API网关
作用:统一入口管理 API,处理路由、限流、鉴权等。
代表:Kong:基于Nginx的高性能API网关。Spring Cloud Gateway;微服务架构中的动态路由组件。
6、RPC(远程过程调用)框架
作用:实现跨进程或跨网络的函数调用。
代表:gRPC:Google开源的高性能RPC框架,基于HTTP/2和Protobuf。Dubbo:阿里开源的Java RPC 框架,支付服务治理。
7. 微服务中间件
作用:支持服务发现、配置管理、链路追踪等。
代表:Spring Cloud:提供 Eureka(服务发现)、Config(配置中心)、Zuul(网关)等组件。
Istio:服务网格(Service Mesh),管理服务间通信、流量控制。
8、身份认证与授权中间件
作用:管理用户身份验证和权限控制。
代表:Keycloak:开源的身份和访问管理工具。OAuth2 / JWT:标准协议与令牌实现。
9. 日志与监控中间件
作用:收集、存储和分析系统日志及性能指标。
代表: ELK Stack(Elasticsearch, Logstash, Kibana):日志分析平台。Prometheus + Grafana:监控系统与可视化工具。
10、规则引擎
作用:执行业务规则,实现动态策略管理。
代表:Drools:开源的业务规则管理系统(BRMS)。Easy Rules:轻量级规则引擎库。
脚本信息收集
1、可以借助搜索引擎的方式去猜测
比如;目标网站是否使用php来写的,或者域名是否有其他的。 https://cn.bing.com/search?q=网址
http://网址.hk.php。搜索php的 内容看有没有对应的东西,不管是什么东西,我们先点击进去,查看网页源代码。如果用$符号来写的侧面印证了是php来写的。假如什么也没有搜到也是正常的,他就不是用php来写的。还可以点击右键检查收集当前网站是否使用CRM,或其他的源代码生成的。
源代码收集
假设我们找到了该网址是php来写。
就像这样:http://网址.hk/?page_ID=44source:wp-content/wp-include
wp-:WordPress核心软件、主题、插件以及用户上传的文件都存储在网站上。
wordpreess:是php语言开发的平台。支持php和mysql数据库,内容管理系统(CMS)来使用
我们的目标网站最底下的页面 ,会写商标、主体等信息,这是摆在明面的网站信息。
数据库信息收集
我们最重要的就是收集目标的数据库,但是数据库很难直接看到,需要借助工具扫描端口。
1、***web类(web漏洞/敏感目录)***
80 web
80-89 web
8000-9090 web
2、***数据库类***
1433 MySQL
1521 Oracle
3306 MySQL
5432 postgre sql
3、**特殊服务类**
443 ssl心脏滴血
873 rsync 未授权
5984 CouchDB http://xxx:5984/_utils/
6379 redis未授权
7001 7002 weblogic 默认弱口令,反序列
9200 9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
11211 memcache 未授权访问
50000 SAP命令执行
50070 50030 hadoop 默认端口未授权访问
4、****常用端口类****
21 ftp
22 ssh
23 talent
2601 2604 zebra 路由,默认密码zrbra
3389 远程桌面 远程攻击时要免杀一把病毒做好之后需要通过远程桌面弄过去
找端口使用nc来扫描:
nc -n -v -w1 -z 49.235.105.128 80 21 22 23 25 53 110 443 1433 1863 2289 3306 5631 5632 5000 8080 9090
使用在线工具
http://coolaf.com/tool/port 网址
直接去搜索查看端口
域名信息收集
使用搜索引擎收集
在百度直接进行收集主域名,主域名牢不可破直接干他子域名。
我们可以利用的点,如:文件上传、xss漏洞、sql注入、文件下载、弱口令。
使用在线工具收集
笔者给大家贴点网址;
https://tool.chinaz.com/subdomain/vivo.com.cn
https://tool.chinaz.com/subdomain/vivo.com.cn
ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名
使用subDomainsBrute
使用管理员身份运行黑窗口,(注意需要使用Python2的环境,建议使用python-2.7.14.msi
Python27\Scrip)
在win搜索cmd在黑窗口输入:C:\Users\17267>cd D:\install\python27\Scripts
C:\Users\17267>D:
D:\install\python27\Scripts>
pip.exe install dnspython gevent -i https://pypi.douban.com/simple
(如果不行进行换源)
1.1 清华大学(完全度和速度都很好,是一个优秀的pip镜像源) https://pypi.tuna.tsinghua.edu.cn/simple
1.2 阿里云(完全度和速度也很好,是一个不错的选择) https://mirrors.aliyun.com/pypi/simple/
1.3 网易(速度比较快,但是完全度有限) https://mirrors.163.com/pypi/simple/
1.4 豆瓣(速度较快,但是完全度也有限) https://pypi.douban.com/simple/
1.5 百度云(速度较快,但是完全度也有限) https://mirror.baidu.com/pypi/simple/
1.6 中科大(速度较快,但完全度不如前面几个镜像源) https://pypi.mirrors.ustc.edu.cn/simple/
1.7 华为云(完全度和速度均中等) https://mirrors.huaweicloud.com/repository/pypi/simple/
1.8 腾讯云(速度一般,完全度也一般) https://mirrors.cloud.tencent.com/pypi/simple/
扫描和使用
D:\install\subDomainsBrute>D:\install\python27\python.exe subDomainsBrute.py -t 20 vivo.com..cn -o aa.txt
E:\Python27\python.exe subDomainsBrute.py -t 20 vivo.com.cn -o xx.txt
在这里面我们需要如何使用在不动用的python3环境的前提下使用sub
首先找到D:\install\subDomainsBrute的文件夹,找到sub....py
其次打开D:\install\python27的文件在黑窗口输入D:\install\python27\python.exe
C:\Users\17267>D:
D:\>D:\install\subDomainsBrute
'D:\install\subDomainsBrute' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
D:\>cd D:\install\subDomainsBrute
D:\install\subDomainsBrute>D:\install\python27\python.exe subDomainsBrute.py -t 20 vivo.com.cn -o bb.txt
参数介绍
#-version 显示版本号并退出
#-h, --help 帮助
#-f FILE 指定暴力猜解字典(默认使用subnames.txt)
#-full 全扫描,使用subnames_full.txt
#-i, --ignore-intranet 忽略不想采集的IP地址
#-t THREADS, --threads=THREADS 扫描线程数,默认200
#-p PROCESS, --process=PROCESS 扫描进程数,默认为6
#-o OUTPUT, --output=OUTPUT 输出文件名称 {target}.txt
目录收集
扫描端口
1、使用vivo真实案例来扫描
https://security.vivo.com.cn/assets/vivoSRC_process_2_0.pdf
2、使用御剑
3、使用铸剑
端口扫描
笔者这一部分知识已经在中篇有写,感兴趣的朋友可以看一看。
1、使用nc
2、使用masscan
3、使用namp
web信息刺探
1、测试网站
https://fofa.info/domain="xiangxueketang.cn"body="内容"
https://quake.360.cn
https://www.shodan.io
https://www.zoomeye.org
2、社工信息
国内:
爱企查
https://aiqicha.baidu.com/
企查查
https://www.qcc.com/
备案信息
https://beian.miit.gov.cn/
国外:
社工库(开梯子)
综合工具
朋友们不要嫌工具太多,当时笔者也是感觉怎么需要这么繁杂的工具来做呢,但是笔者后来才意识的工具(武器)一直是人类进步的重要象征。
Arl灯塔
git clone https://github.com/TophantTechnology/ARL
cd ARL/docker
docker volume create arl_db docker-compose pull docker-compose up -d
https://github.com/Aabyss-Team/ARL
Cursor(执行代码)、Vs code(执行代码)
总结:笔者将渗透的流程下篇完结了,我们网安的内容即将进入到重要阶段,下面笔者会逐渐的将各类漏洞进行梳理,写成笔记来与大家分享。
笔者认为学习就像蓄水池一样这是一个过程需要不断的往里面注水,你要一打开水它就能流出来。平常不学习打开也不会有水流出来。所以学习是未来准备的,不是为现在。这个不断学习的过程中,多少知识是自己决定的,这个池子我们是不断积累的,累计到最后直接爆发。