[渗透测试] 主动信息收集

主动信息收集

在红蓝对抗过程中,资产属于核心地位,攻击方(红方)要尽可能的去获取对方资产,暴露目标资产,包括IP地址、网络设备、安全设备、服务器、存储在服务器中的数据等。防守方也要清楚自己有多少有价值的资产。

1. 资产收集

1. 1 主机发现

查看网段内存活的IP地址,并且根据MAC地址找到IP地址,简单的来说,就是确定主机是否存活。

1.1.1 扫描工具

nmap

使用nmap扫描工具可以很好的查找网段中存活的主机。

关于nmap扫描工具的使用,可以查看文章 [渗透测试工具] Nmap

在这里插入图片描述

1.2 端口扫描

端口扫描就是查看存活主机所开放的端口,还需要搞清楚端口上所运行的服务。

1.2.1 常见端口号

远程连接服务端口:

端口号服务风险
22SSH弱口令爆破
SSH隧道
文件传输
23Telnet弱口令爆破
嗅探
3389RDP远程桌面弱口令爆破
Shift后门
5900VNC弱口令爆破

Web应用服务端口:

端口号服务风险
80
443
8080
常见Web服务端口Web漏洞攻击
服务组件漏洞
7001
7002
Weblogic管理控制台反序列化漏洞
弱口令爆破
8080
8089
Jboos
Resin
Jetty
Jenkins
反序列化漏洞
弱口令爆破
9090WebSphere反序列化漏洞
弱口令爆破
4848GlassFish控制台弱口令爆破
1352Lotus Domino 邮件服务弱口令爆破
信息泄露
10000Webmin-Web控制面板弱口令爆破

数据库服务端口:

端口号服务风险
3306MySQL弱口令爆破
SQL注入
提权
1433SQL Server(MSSQL)弱口令爆破
SQL注入
提权
1521Oracle DB弱口令爆破
SQL注入
提权
TNS漏洞
5432PostareSQL弱口令爆破
SQL注入

邮件服务端口:

端口号服务风险
25SMTP邮件伪造
110POP3 协议破解
143IMAP协议破解

网络协议端口号:

端口号服务风险
53DNS子域名爆破
DNS劫持
域传送
67
58
DHCP地址池耗尽
DHCP欺骗
161SNMP协议收集目标内网信息
弱口令爆破

特殊服务端口:

端口号服务风险
2181Zookeeper服务
8069Zabbix服务远程执行
SQL注入
9200
9300
Elasticsearch
11211Memchache服务
512
513
514
Linux Rexec 服务
873Rsysnc 服务
3690SVN 服务
50000SAP Management Console
1.2.2 扫描工具

这里还是使用nmap

在这里插入图片描述

1.2.3 端口扫描方式

指定端口扫描,需要使用参数-p

nmap 192.168.109.100 -p 80			//扫描单个端口
nmap 192.168.109.100 -p 1-60000     //扫描范围端口
nmap 192.168.109.100 -p 80,3306,8090 // 扫描多个端口

端口扫描的方式:

端口扫描方式参数原理优缺点
TCP全连接扫描-sTNmap发送一个SYN=1
1. 如果目标回ACK=1,SYN=1,则Nmap回ACK=1,此时建立完整的三次握手连接,该端口开放
2. 如果目标回RST=1,则Nmap判断该端口关闭。
很准确
但是会留下大量的日志
SYN半连接扫描-sSNmap发送一个SYN=1
1. 如果目标回ACK=1,SYN=1,该端口开放,并主动重置连接。
2. 如果目标回RST=1,则Nmap判断该端口关闭。
快速
但是没有TCP全连接扫描精准,需要root权限
TCP ACK 扫描-sA
TCP 窗口扫描-sW
Maimon Scan-sM
FIN扫描-sF
Null扫描-sN
Xmas扫描-sX
UDP扫描-sU
1.2.4 其他扫描方式

全面扫描:

sudo nmap -A 192.168.109.100 -p

在这里插入图片描述

扩展脚本:

sudo nmap --script=smb-vuln-ms17-010.nse

​ 所以可以利用nmap来做漏洞扫描

终极扫描命令:

sudo nmap -Pn -A -p- -sS -sC -T4 192.168.109.100 -oN 100.nmap.A
┌──(kali💋kali)-[~]
└─$ sudo nmap -Pn -A -p- -sS -sC -T4 192.168.109.100 -oN 100.nmap.A
Starting Nmap 7.93 ( https://nmap.org ) at 2024-07-23 03:15 EDT
Nmap scan report for 192.168.109.100
Host is up (0.0011s latency).
Not shown: 65520 closed tcp ports (reset)
PORT      STATE SERVICE      VERSION
80/tcp    open  http         Apache httpd 2.4.23 ((Win32) OpenSSL/1.0.2j PHP/5.4.45)
|_http-title: Index of /
| http-methods: 
|_  Potentially risky methods: TRACE
|_http-server-header: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
3306/tcp  open  mysql        MySQL (unauthorized)
5985/tcp  open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
8090/tcp  open  http         Microsoft IIS httpd 10.0
| http-methods: 
|_  Potentially risky methods: TRACE
|_http-title: 192.168.109.100 - /
|_http-server-header: Microsoft-IIS/10.0
47001/tcp open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
49664/tcp open  msrpc        Microsoft Windows RPC
49665/tcp open  msrpc        Microsoft Windows RPC
49666/tcp open  msrpc        Microsoft Windows RPC
49667/tcp open  msrpc        Microsoft Windows RPC
49668/tcp open  msrpc        Microsoft Windows RPC
49669/tcp open  msrpc        Microsoft Windows RPC
49670/tcp open  msrpc        Microsoft Windows RPC
MAC Address: 00:0C:29:9A:50:50 (VMware)
Device type: general purpose
Running: Microsoft Windows 2016
OS CPE: cpe:/o:microsoft:windows_server_2016
OS details: Microsoft Windows Server 2016 build 10586 - 14393
Network Distance: 1 hop
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windowsHost script results:
| smb2-security-mode: 
|   311: 
|_    Message signing enabled but not required
|_nbstat: NetBIOS name: WIN-37QPUN7NO81, NetBIOS user: <unknown>, NetBIOS MAC: 000c299a5050 (VMware)
| smb2-time: 
|   date: 2024-07-23T07:17:07
|_  start_date: 2024-07-23T01:15:01
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)TRACEROUTE
HOP RTT     ADDRESS
1   1.14 ms 192.168.109.100OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 97.31 seconds

2. 指纹识别

2.1 什么是浏览器指纹?

浏览器指纹(Browser Fingerprinting)是一种通过收集用户浏览器及设备的特征信息来识别用户的方法。这种技术并不依赖于 cookies 或其他存储在用户设备上的数据,而是通过组合多种信息来创建一个独特的“指纹”,从而识别和跟踪用户的活动。

以下是一些常见的用于浏览器指纹的特征信息:

  1. 浏览器类型和版本:不同用户使用的浏览器类型和版本可以提供区分信息。

  2. 操作系统:用户所用设备的操作系统信息。

  3. 屏幕分辨率和色深:用户设备屏幕的分辨率和色彩深度。

  4. 已安装插件和字体:浏览器安装的插件和系统中的字体集。

  5. 时区和语言设置:用户设备的时区和首选语言。

  6. HTTP标头:包括用户代理字符串、接受的语言、编码、以及其他 HTTP 请求标头。

  7. Canvas 指纹:通过 HTML5 的 canvas 元素绘制图像并读取其像素数据以生成独特指纹。

  8. WebGL 信息:用户设备的图形处理器特征。

  9. 设备信息:如设备的品牌、型号、硬件配置等。

2.2 Web应用指纹信息

在Web应用开发过程中,经常会用到一些现成的CMS、框架:

JavaScript 开发框架:

  • vue.js

PHP 语言开发框架:

  • wordpress(wp)
  • drupal
  • joomla
  • 禅道cms
  • 帝国cms
  • 致远OA

Java 语言开发框架:

  • struts2
  • spring
  • springboot
  • Weblogic
  • JBoss

2.3 指纹识别工具

2.3.1 Wappalyzer

Wappalyzer是一个浏览器小插件

在这里插入图片描述

2.3.2 whatweb

kali集成的工具

使用命令来运行:

whatweb http://192.168.109.100/cms/

在这里插入图片描述

2.4 信息泄露

2.4.1 robot.txt

很多网站都有该文件,文件描述了搜索引擎哪些东西可以爬。哪些东西不能爬。

在这里插入图片描述

2.4.2 网站源代码泄露
泄露途径获取源代码方式
版本控制软件git 泄露(/.git/)
SVN 泄露(/.svn/)
HG 泄露(/.hg/)
系统特性MAC 系统目录记录文件(.DS_Store)
网站源码压缩包www.zip
root.tar.gz
beifen.rar
编辑器缓存文件index.php
gedit 缓存文件(index.php)
vim 缓存文件(.index.php.swp)
源码公开github

下面对其中几种网站源代码泄露方式进行具体说明:

  1. git 源码泄露

    泄露成因:

    在运行git init初始化代码库的时候,会在当前目录下产生一个.git的隐藏文件,该文件是用来存放代码的变更记录的,所以很有可能在发布网站的时候,该文件并没有被删除,攻击者就可以利用该文件来恢复源代码.

  2. SVN 泄露

    漏洞成因:

    SVN(Subversion)泄露是因为在使用SVN版本控制系统的时候,可能会由于公开暴露SVN仓库、Web服务器配置问题、敏感文件被提交到仓库中,导致源代码会被未授权的访问者获取。

  3. hg 泄露

    漏洞成因:

    hg(Mercurial)如果服务器中的源代码未被正确的保护,可能会被导致未经授权的用户获取。

  4. .DS_Store文件泄露

    漏洞成因:

    在发布代码时未删除文件夹中隐藏的.DS_store,被发现后,获取了敏感的文件名等信息

  5. 网站源码压缩包

    漏洞成因:

    服务器管理员在配置的时候,将网站或者网页的备份文件放置到了服务器的Web目录下,或者由于编辑器的自动备份功能,会导致文件被保存而没有被删除并保存在web目录下,从而导致攻击者有了机会。

3.敏感文件扫描

敏感文件路径扫描,要弄清楚一个问题就是重点不在工具而在于字典

扫描工具分为两种:通用扫描器专用扫描器

3.1 通用扫描器

3.1.1 御剑

链接: https://pan.baidu.com/s/1xK9KdQVwBnEtEHTCW_b3FA

提取码: g3c9

3.1.2 dirb

kali Linux 默认是安装了Dirb的。

dirb url dict 参数
参数含义
-a设置user-agent
-p设置代理 < proxy[:port] >
-c设置cookie
-z添加毫秒延迟
-o输出结果
-X在字典的后面添加后缀
-H添加请求头
-i不区分大小写搜索

在这里插入图片描述

这里拿了一个字典测试了一下,只为演示效果!!!

3.2 专用扫描器

3.2.1 droopescan

主要针对durpal的扫描器。

使用安装:

git clone https://github.com/droope/droopescan.git
cd droopescan
pip install -r requirements.tst
./droopescan scan --help
3.2.2 wpscan

主要针对WordPress的扫描器。

3.2.3 joomscan

主要针对Joomla的扫描器

使用安装:

git clone https://github.com/rezasp/joomscan.git
cd joomscan
perl joomscan.pl
perl joomscan.pl -u http://target.com/joomla

4. 漏洞扫描

4.1 漏扫原理

漏洞扫描是指利用一些工具自动化地发现网络中各种设备的安全漏洞的方式。漏洞扫描主要分为两类:黑盒扫描白盒扫描

4.1.1 黑盒扫描

黑盒扫描就是在不具有主机权限的情况下,通过识别服务或设备的类型和版本,对其进行漏洞的判断。通常使用漏洞扫描器,在漏洞扫描器中,通常会有一些主机漏洞的特征库,漏洞扫描器在扫描的过程中利用库中的脚本和信息进行匹配来查找漏洞。

4.1.2 白盒扫描

白盒扫描就是在具有主机权限的情况下,进行漏洞扫描。

通常白盒扫描的结果更加的精准,但是这些漏洞有可能并无法被外部利用,因为有些漏洞是需要先获取主机权限才能利用的,使用白盒扫描的结果不应该作为外部渗透测试的最后结果。

4.2 网络漏洞扫描

网络漏洞扫描指的是对设备进行主机漏洞扫描。通过网络漏洞扫描,可以扫出目标服务器主机存在的安全漏洞。

网络扫描工具:

  • OpenVAS
  • 绿盟极光
  • NeXpose
4.2.1 OpenVAS扫描工具

OpenVAS 是一款流行的开源漏洞评估工具,它可以帮助安全专业人员识别和评估计算机系统和网络中的安全漏洞。

使用:

  1. 启动OpenVAS

    sudo openvas start
    sudo gvm-start
    

    在这里插入图片描述

  2. 访问OpenVAS

    http://127.0.0.1:9392

    admin/123456

    在这里插入图片描述

  3. 扫描目标

    Configration -> Targets

    在这里插入图片描述

  4. 扫描策略

    Configrayion -> Scanners

    在这里插入图片描述

  5. 扫描任务

    Scans -> Tasks

    在这里插入图片描述

4.3 Web漏洞扫描

Web漏洞扫描指的是对Web应用进行扫描,利用Web漏洞扫描器,可以发现获取Web应用安全漏洞。

随着时代的发展,各种机关单位、银行、企业以及个人组织都有主机的门户网站,所以这些Web网站就成了黑客的攻击目标。通过Web漏洞扫描,可以有效的防范加固Web网站。

4.3.1 AWVS扫描工具

AWVS是一-款由IBM公司发布的Web网络漏洞扫描工具,可以用来测试网站、Web应用程序及接口的安全性。

使用:

  1. 在攻击机上启动AWVS(kali)
sudo systemctl start acunetix.service
  1. 访问AWVS

    https://127.0.0.1:3443/

    在这里插入图片描述

  2. 创建扫描目标

    Targets -> Add target

    在这里插入图片描述

  3. 开启扫描任务

    Scan

    在这里插入图片描述

  4. 导出扫描报告

    Report

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/49917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宝塔SSL续签失败

我有2个网站a和b&#xff08;文字中用baidu.com替换我的域名&#xff09; b是要续签那个&#xff0c;但续签报错&#xff1a; nginx version: nginx/1.22.1 nginx: [emerg] host not found in upstream "github.com" in /www/server/panel/vhost/nginx/proxy/a.bai…

设计模式--创建型

实现 #include <iostream> #include <memory>// 抽象产品类 class Product {public:virtual ~Product() {}virtual void Operation() const 0; };// 具体产品 类A class ConcreteProductA : public Product {public:virtual void Operation() const override {st…

ESP-01S、ESP8266、ESP32等模块通信乱码的排查方法

ESP-01S、ESP8266、ESP32等模块通信乱码的排查方法 ESP-01S模块 遇到问题首先按重要顺序及排除法来解决问题 1&#xff0c;你的USB转串口工具是否有问题&#xff1f; 请将TXD与RXD短接在一起进行测试&#xff0c;自收自发应该是正常的&#xff0c;请确保这点。 ESP-01S的串口…

ffmpeg ffplay.c 源码分析二:数据读取线程

本章主要是分析 数据读取线程read_thread 中的工作。如上图红色框框的部分 从ffplay框架分析我们可以看到&#xff0c;ffplay有专⻔的线程read_thread()读取数据&#xff0c; 且在调⽤av_read_frame 读取数据包之前需要做&#xff1a; 1.例如打开⽂件&#xff0c; 2.查找配置解…

Servlet 3.0的新特征

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhlServlet 3.0概述 Servlet 3.0规范是在2009年随着Java EE 6的发布而推出的。它引入了一系列新特性和改进,旨在简化Web应用的开发和部署过程,并提高Web应用的性能和可扩展性。Servlet 3.0的发布标…

大语言模型-对比学习-Contrastive Learning

一、对比学习概念 对比学习是一种特殊的无监督学习方法。 旨在通过拉近相关样本的距离并且推远不相关样本的距离&#xff0c;来学习数据表示。 通常使用一种高自由度、自定义的规则来生成正负样本。在模型预训练中有着广泛的应用。 二、对比学习小案例 对比学习主要分为三个…

02 MySQL数据库管理

目录 1.数据库的结构 sql语言主要由以下几部分组成 2. 数据库与表的创建和管理 1&#xff0c;创建数据库 2&#xff0c;创建表并添加数据 3&#xff0c;添加一条数据 4&#xff0c;查询数据 5&#xff0c;更新数据 6&#xff0c;删除数据 3.用户权限管理 1.创建用户 …

js轮播图制作

实现一个简单的JavaScript轮播图可以通过以下步骤完成&#xff1a; 创建HTML结构&#xff0c;包括轮播图容器和图片列表。 使用CSS进行样式设置&#xff0c;包括隐藏多余的图片。 使用JavaScript编写函数来控制图片的切换。

C#中栈和堆以及修饰符

关于堆中字符串的存放 string s1"123" string s2"123" string s1"456" 此时s1输出为456 而s2仍然为123 因为在使用 String str "字符串" 的方式来创建String变量的时候&#xff0c;那么String的值便会存储在String常量池中&#x…

Keepalived和Haproxy

Keepalived和Haproxy 一、Keepalived 1、keepalived概念 调度器的高可用 vip地址主备之间的切换&#xff0c;主在工作时&#xff0c;vip地址值在主上&#xff0c;主停止工作&#xff0c;vip飘移到备服务器 在主备的优先级不变的情况下&#xff0c;主恢复工作&#xff0c;v…

C++——编译报重复定义错误的解决办法

原因&#xff1a; 头文件被多次编译。 解决办法&#xff1a; 找到包含头文件的地方&#xff0c;仔细检查。 比如&#xff1a; 这两句话是包含关系&#xff0c;写了第一句就不用第二句了。 因为&#xff1a;第一句是编译 tracker/detector/rknn_model_zoo/examples/yolov5/c…

【MySQL进阶之路 | 高级篇】简谈redo日志

1. 前言 事务有四种特性&#xff1a;原子性&#xff0c;一致性&#xff0c;隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢&#xff1f; 事务的隔离性由锁机制实现。而事务的原子性&#xff0c;一致性和持久性由事务的redo日志和undo日志来保证。 REDO LOG称为…

云计算实训13——DNS域名解析、ntp时间服务器配置、主从DNS配置、多区域DNS搭建

一、DNS域名解析 1.正向解析 将域名解析为IP地址 DNS正向解析核心配置 (1)安装bind [rootdns ~]# yum -y install bind (2)编辑配置文件 编辑named.conf文件&#xff0c;限定访问权限 [rootdns ~]# vim /etc/named.conf 编辑named.rfc文件&#xff0c;指定要访问的域名 [ro…

【数据结构】:用Java实现链表

在 ArrayList 任意位置插入或者删除元素时&#xff0c;就需要将后序元素整体往前或者往后搬移&#xff0c;时间复杂度为 O(n)&#xff0c;效率比较低&#xff0c;因此 ArrayList 不适合做任意位置插入和删除比较多的场景。因此&#xff1a;java 集合中又引入了 LinkedList&…

一步一步测试DNS隧道

目录 0、前言 1、DNS解析 1.1 DNS简介 1.2 DNS查询类型 1.3 DNS解析过程 2、DNS隧道准备工作 2.1 DNS隧道介绍 2.1.1 什么是DNS隧道&#xff1f; 2.1.2 DNS隧道的原理 2.2 客户端、服务端准备 2.3 域名准备 2.4 连接隧道 2.5 遇坑 3、隧道确认和利用…

Windows本地启动Redis

找到本地redis目录 输入cmd,然后输入redis-server.exe redis.windows.conf&#xff0c;默认端口为6379 再新打开一个cmd&#xff0c;输入redis-cli.exe -p 6379 -a &#xff08;你在redis.windows.conf中设置的密码&#xff09;

如何做好服务器的安全管理

以下是一些服务器安全防护措施&#xff1a; 1、安装杀毒软件&#xff1a;安装杀毒软件是保护服务器免受病毒和恶意软件攻击的基本措施之一。保持杀毒软件更新至最新版本&#xff0c;定期扫描检测服务器以确保其不被病毒、蠕虫等恶意软件入侵。保护服务器免受侵害。像360杀毒&am…

HarmonyOS NEXT星河版零基础入门到实战

文章目录 一、HarmonyOS NEXT介绍学习内容1、鸿蒙APP开发2、能力套件开发3、全场景开发适合人群 持续更新中✒️总结 一、HarmonyOS NEXT介绍 放弃安卓框架之后&#xff0c;HarmonyOS NEXT成为真正独立于安卓、iOS的操作系统&#xff0c;堪称是一场史无前例的脱胎换骨。在其众多…

服务器利用宝塔面板部署Django项目

目录 1. 使用命令启动Django项目1.1 使用 Xshell 连接服务器1.2 安装Anaconda1.3 启动Django项目1.4 使用tmux实现项目的后台运行 2. 使用Python项目管理器部署项目2.1 安装宝塔面板和软件2.2 添加站点2.3 上传项目文件2.3.1 收集静态文件2.3.2 生成依赖文件 2.4 安装安装Pytho…

【周记】2024暑期集训第二周(未完待续)

文章目录 日常刷题记录合并果子题目解析算法思路代码实现 中位数题目解析算法思路代码实现 C学习笔记队列queue双端队列 deque优先队列 priority_queue定义常见操作 upper_bound 日常刷题记录 合并果子 题目解析 有一堆果子&#xff0c;每次可以将两小堆合并&#xff0c;耗费…