网络安全基础(二) - 穷举

穷举篇

一、文件和目录穷举

1. Pker

2. 御剑

3. dirbuster

二、服务穷举

1. 常见的端口 - 服务

服务 端口 描述
ftp 20 FTP服务器真正传输所用的端口,用于上传、下载
ftp 21 File Transfer Protocol,文件传输协议,用于FTP的登陆认证
SSH / SFTP 22 加密的远程登录,文件传输
Telnet 23 远程登录 (在本地主机上使用此端口与远程服务器的22/3389端口连接)
SMTP 25 Simple Mail Transfer Protocol,简单邮件传输协议(主要用于发送邮件,如今绝大多数邮件服务器都使用该协议
DNS 53 Domain Name Server,主要用于域名解析
Bootp 67 Bootstrap Protocol Server(引导程序协议服务端)
Bootp 68 Bootstrap Protocol Client(引导程序协议客户端)
TFTP 69 一个简单文件传输协议,类似于FTP
Finger 79 为Finger服务开放的,主要用于查询远程主机在线用户、操作系统类型以及是否缓冲区溢出等用户的详细信息
http / nginx 80 HyperText Transport Protocol,超文本传输协议,用于网页浏览
Metagram Relay 99 (亚对策延时)的服务
POP2 109 Post Office Protocol Version 2,邮局协议2,
POP3 110 邮件协议3,用于接受邮件
Authentication Service 111 Windows的验证服务
NNTP 119 “Network News Transfer Protocol” 网络新闻组传输协议
RPC 135 用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代码;使用DCOM可以通过网络直接进行通信,能够跨包括HTTP协议在内的多种网络传输
UDP 137 主要用于“NetBIOS Name Service”(NetBIOS名称服务),属于UDP端口,使用者只需要向局域网或互联网上的某台计算机的137端口发送一个请求,就可以获取该计算机的名称、注册用户名,以及是否安装主域控制器、IIS是否正在运行等信息
NetBIOS Session Service 139 为“NetBIOS Session Service”提供的,主要用于提供Windows文件和打印机共享以及Unix中的Samba服务
IMAP 143 用于“Internet Message Access Protocol”v2 Internet消息访问协议
SNMP 161 用于“Simple Network Management Protocol” 简单网络管理协议
SNMP Trap 162 SNMP陷阱
https 443 网页浏览端口,提供加密和通过安全端口传输的另一种HTTP
CIFS 445 公共Internet文件系统
RTSP 554 “Real Time Streaming Protocol” 实时流协议
rsync 873 rsync 是一个常用的 Linux 应用程序,用于文件同步,在本地计算机与远程计算机之间,或者两个本地目录之间同步文件
Reserved 1024 一般不固定分配给某个服务,保留的端口
Sockets 1080 Socks代理服务使用的端口
Oracle 1521 数据库
MMS 1755 “Microsoft Media Server” 微软媒体服务器
NFS 2049 通过网络,让不同的机器、不同的操作系统实现文件共享
mysql 3306
rdp 3389 Windows 2000(2003) Server远程桌面的服务端口,本地服务器开放此端口,去连接到远程的服务器
QQ 4000 QQ客户端开放的端口
Worm.Sasser 5554 针对微软lsass服务的新蠕虫病毒——震荡波(Worm.Sasser),该病毒可以利用TCP 5554端口开启一个FTP服务,主要被用于病毒的传播
pcanywhere 5632 远程控制软件pcAnywhere所开启的端口
vnc 5900
redis 6379
webLogic 7001 一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器
Wingate 8010 Wingate代理开放此端口
Zabbix 8069 一个高度集成的网络监控解决方案
WWW/tomcat 8080
Jenkins 8080/8090 提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建/测试软件项目
elasticsearch 9200/9300 一个实时的分布式存储、搜索、分析的引擎
mongo 28017

2.常见端口穷举工具 - hydra

  • Hydra是一款非常强大的暴力破解工具,它是由著名的黑客组织THC开发的一款开源暴力破解工具。Hydra是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限。

  • 命令语法格式

    • 语法:Hydra 参数 IP 服务
      
  • 参数

-R 恢复爆破(如果破解中断了,下次执行 hydra -R /path/to/hydra.restore 就可以继续任务。)

-S 采用SSL链接

-s PORT 指定非默认端口

-l login 小写,指定用户名进行破解

-L file 大写,指定用户的用户名字典

-p pass 小写,用于指定密码破解,很少使用,一般采用密码字典

-P file 大写,用于指定密码字典。

-e ns 额外的选项,n:空密码试探,s:使用指定账户和密码试探

-M file 指定目标ip列表文件,批量破解。

-o file 指定结果输出文件

-f 找到第一对登录名或者密码的时候中止破解。

-t tasks 同时运行的线程数,默认是16

-w time 设置最大超时时间,单位:s

-v / -V 显示详细过程

-x 自定义密码

-o 后加文件名,将扫描结果保存成文件

-M 后加文件名,对文件内的多个ip进行穷举

service:指定服务名,支持的服务跟协议有:telnet,ftp,pop3等等
  • 注意事项
1.自己创建字典,然后放在当前的目录下或者指定目录。
2.参数可以统一放在最后,格式比如hydra ip 服务 参数。
3.如果能确定用户名一项时候,比如web登录破解,直接用 -l就可以,然后剩余时间破解密码。
4.缺点,如果目标网站登录时候需要验证码就无法破解。
5.man hydra最万能。
6.或者hydra -U http-form等查看具体帮助。
7.如果把结果保存成文件,可用命令打开文件 - leafpad 文件名

1.1 破解ssh登录密码

环境配置
  • 攻击机:kali
    • 安装有hydra工具
    • 创建两个用于测试的字典文件
      • user.txt
      • password.txt
  • 靶机
    • ip:
    • 需要安装ssh服务并正常运行

步骤

  • 靶机版本探测,看看用了那些服务
    • nmap -sV ip
  • 命令1:对指定用户使用绝对路径下的密码字典进行爆破,找到第一个密码后停止
    • hydra -l root -P /绝对路径/password.txt ssh://ip -vV -f
  • 命令2:对指定 用户字典中的用户 使用绝对路径下的 密码字典进行爆破,找到第一个密码后停止
    • ydra -L user.txt -P password.txt ssh://ip -f -t 15
  • 用破解的用户名密码登录靶机
    • ssh 靶机ip
    • 输入密码后即可登录该机器
    • ifconfig验证其ip

1.2 mssql 服务 破解

  • 命令1

    • hydra -L user.txt -P password.txt ip -f -vV mssql
  • 命令2 - 指定非默认端口

    • hydra -L user.txt -P password.txt mmsql://ip -vV -s 1433
  • 命令3 - 对多个ip进行穷举,并结果保存到文件中

    • hydra -l 用户名 -P 密码字典 -M ip.txt mssql -o ips.txt

1.3 mysql 服务 破解

  • 命令1
    • hydra -L root -P password.txt ip -f -vV mysql

xhydra - 可视化工具

  • 打开方式
    • 命令行 - xhydra

image-20220410235438917

三、Metasploit穷举模块

1. 简介

  • Metasploit是目前世界上领先的渗透测试工具,也是信息安全与渗透测试领域最大的开源项目之一。它彻底改变了我们执行安全测试的方式。
    • 可以执行广泛的安全测试任务,从而简化渗透测试的工作
  • Metasploit Framework
    • 一个免费的、开源的渗透测试框架,它拥有世界上最大的渗透测试攻击数据库,每年超过100万次的下载
  • Vulnerability
    • 允许攻击者入侵或危害系统安全性的弱点称为漏洞,漏洞可能存在于操作系统,应用软件甚至网络协议中。

渗透攻击模块 - Exploit

  • Exploit
    • 攻击代码或程序,它允许攻击者利用易受攻击的系统并危害其安全性。每个漏洞都有对应的漏洞利用程序。Metasploit有超过 1700 个漏洞利用程序。
  • 利用发现的安全漏洞或配置弱点对远程目标进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问的代码组件。流行的渗透攻击技术包括缓存区溢出、Web应用程序漏洞攻击、用户配置错误等。
  • 主动渗透攻击:发送网络数据,触发安全漏洞。比如web应用程序渗透攻击、SCADA工业控制系统服务渗透攻击等。
  • 被动渗透攻击:浏览器软件漏洞攻击和文件格式漏洞攻击,引诱目标用户打开触发。
  • msfconsle中输入命令:show exploits;可以查看当前Metasploit支持的渗透攻击模块

攻击载荷模块(Payload)

  • Payload
    • 攻击载荷。目标系统被渗透攻击之后需要执行的代码。比如反弹式shell、bind shell等
    • 它主要用于建立攻击者和受害者机器直接的连接,Metasploit有超过 500个有效攻击载荷。
  • 在msfconsole界面输入:show payloads;可以查看当前系统支持的payloads

空指令模块 - Nops

  • 空指令是对一些程序运行状态不会造成任何实质影响的空操作或者无关操作指令,对于x86 CPU就是0x90。
  • 在msfconsole中输入show nops;可以查看当前系统支持的空指令

编码器模块(Encoders)

  • 功能
    • 确保攻击载荷中不会出现渗透攻击过程中应加以避免出现的“坏字符“
    • 对攻击载荷进行“免杀”处理
  • 在msfconsole界面输入:show encoders;可以查看当前系统支持的编码器

后渗透攻击模块(posts)

  • 在受控系统中进行各种各样的后渗透攻击动作,比如获取敏感信息、进一步拓展、实施跳板攻击等。

  • 在msfconsole界面输入show post;可以显示当前系统支持的后渗透攻击模块

  • Module

    • 模块是一个完整的构件,每个模块执行特定的任务,并通过几个模块组成一个单元运行。这种架构的好处是可以很容易的将自己写的利用程序和工具集成到框架中。
  • Metasploit框架具有模块化的体系结构,exploits、payload、encoders都是独立的模块

image-20220411011853916

  • 提供两种UI
    • msfconsole
      • msfconsole对Metasploit支持最好,可以使用所有功能
    • WebUI

2. 穷举模块的使用 - Scanner

  • 查看相应的模块
    • search 模块名(如login)
  • 使用指定的模块
    • use 完整路径的模块
    • 选择模块后,可以使用info指令查看模块信息
ssh_login
  • 设置要穷举的相关信息

    • 查看当前的穷举参数
      • show options
    • 设置目标ip
      • set RHOSTS ip
    • 指定用户
      • set USERNAME root
    • 指定密码字典文件
      • set PASS_FILE 绝对路径的passlist.txt
    • 设置成功后停止
      • set STOP_ON_SUCCESS true
    • 设置 线程数量
      • set THREADS 5
    • ......
  • 运行

    • run
  • 退出模块

    • back
mssql_login
  • 参数设置
    • 设置用户名
      • set username sa(用户名)
    • 设置成功后停止
      • set STOP_ON_SUCCESS true
    • ......

image-20220412005228407

  • 运行
    • exploit

四、邮箱穷举

  • MailCracker工具

1. WinWebMail邮箱系统 穷举

2. 通用邮箱穷举

五、网站穷举

Burpsuite

  • 学习文章

  • burpsuite常被黑客用来进行网站渗透,是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程

  • 是web应用程序渗透测试集成平台。从应用程序攻击表面的最初映射和分析,到寻找和利用安全漏洞等过程,所有工具为支持整体测试程序而无缝地在一起工作。

  • 平台中所有工具共享同一robust框架,以便统一处理HTTP请求、持久性、认证、上游代理、日志记录、报警和可扩展性。Burp Suite允许攻击者结合手工和自动技术去枚举、分析、攻击Web应用程序

设置代理

  • burp suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务端的返回信息等。burp suite主要拦截HTTP和HTTPS 写协议的流量,通过拦截,burp以中间人的方式对客户端的请求数据、服务端的返回信息做各种处理,以达到安全测试的目的。
  • 在日常工作中,最常用的web客户端就是web浏览器,我们可以通过设置代理信息,拦截web浏览器的流量,并对经过burp代理的流量数据进行处理。burp运行之后,Burp Proxy默认本地代理端口为8080

image-20220415222253286

  • 手动代理:代理到本机,因为想让浏览器通过本机把流量发送到这个端口,再由burp监听到,把包拦下来(端口的选择要和burp一样)
    HTTP代理(因为抓的是http的包)
  • windows系统手动设置代理

image-20220415220339768

  • 通过浏览器设置代理

image-20220415230919226

  • 然后启动burp,访问网址可以抓包

设置https代理

  • 需要额外的导入证书操作

什么是 Burp proxy

  • Burp Proxy的拦截功能主要由intercept(intercept拦截/截夺)选项卡中的Forward、Drop、Interception is on/off和Action构成,他们的功能如下所示。
    • Forward(放包)
      • 表示将拦截的数据表或修改后的数据包发送至服务器端。
    • Drop(废包)
      • 表示丢弃当前拦截的数据包
    • Interception is on(拦截请求)
      • 表示开启拦截功能,单击后变为interception is off(拦截禁用),表示关闭拦截功能
    • 单击Action(行动)按钮,可以将数据包进一步发送到Spider、scanner、Repeater、Intruder等功能组件做进一步测试,同时也包含改变数据包请求方式及其body的编码功能。(发送到其他功能组件)
  • 浏览器的数据流量走向
    • 浏览器输入需要访问的URL并按回车键,这时将看到数据流量经过Burp Proxy并暂停,直到单击Foreword按钮,才会继续传输下去。如果单击了Drop按钮,这次通过的数据将丢失,不再继续处理

image-20220415231816079

  • 当Burp Suite拦截的客户端和服务器交互之后,我们可以在Burp Suite的消息分析选项中查看这次请求的实体内容、消息头、请求参数等信息。Burp有四种消息类型显示数据包:
    • Raw - 纯文本格式显示数据包
      • 主要显示web请求的raw格式,以纯文本的形式显示数据包,包含请求地址、Http协议版本、主机头、浏览器信息、Accept可接受的内容类型、字符集、编码方式、cookie等,可以通过手动修改这些信息,对服务器端进行渗透测试
    • Params
      • 主要显示客户端请求的参数信息,包括GET或者POST请求的参数、cookie参数。可以通过修改这些请求参数完成对服务器端的渗透测试。
    • Headers
      • 显示的是数据包中的头信息,以名称、值的形式显示数据包。
    • Hex
      • 对应的是Raw中信息的二进制内容,可以通过Hex编辑器对请求的内容进行修改,在进行00截断时非常好用

target 模块

  • 可以将所访问的页面渲染

image-20220415232225992

Spider模块

  • 蜘蛛爬行功能可以帮助我们了解系统的机构,其中Spider爬取到的内容将在Target中展示

Decoder 模块

  • Burp中自带的编码解码及散列转换的工具,能对原始数据进行各种编码格式和散列的转换。

Repeater 模块

  • 功能
    • 可以重复发包

Extender

  • 插件扩展(专业版可用)

Intruder - 暴力破解(穷举破解)

  • 将repeater的内容发送到intruder

1. 指定后台密码穷举

2. 网站批量登录穷举

phpMyAdmin登录破解

phpMyAdmin爆破工具

六,wordpress博客后台破解

  • 介绍
    • 一种使用PHP语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设WordPress。你可以使用WordPress搭建一个简单的独立博客,也可以把 WordPress 当作一个内容管理系统(CMS),用来搭建一个小门户网站
    • 几乎可以搭建目前常见的网站类型
    • 一般的网站都是有管理后台,这里所说的WordPress,其实就是一个提供网站后台管理的程序,安装WordPress以后,你就有了一个网站管理后台,再加上Wordpress主题,就构成一个完整的网站了。

CMSmap - CMS漏洞检测工具

https://www.cnblogs.com/WhiteHatKevil/p/10225081.html

  • CMSmap是一个Python编写的针对开源CMS(内容管理系统)的安全扫描器,它可以自动检测当前国外最流行的CMS的安全漏洞。 CMSmap主要是在一个单一的工具集合了不同类型的CMS的常见的漏洞。CMSmap目前只支持WordPress,Joomla和Drupal。

  • 主要功能

    • 1.其可以检测目标网站的cms基本类型,CMSmap默认自带一个WordPress,Joomla和Drupal插件列表,所以其也可以检测目标网站的插件种类;
      2.Cmsmap是一个多线程的扫描工具,默认线程数为5;
      3.工具使用比较简单,命令行的默认的强制选项为target URL;
      4.工具还集成了暴力破解模块;
      5.CMSmap的核心是检测插件漏洞,其主要是通过查询数据库漏洞网站(www.exploit-db.com)提供了潜在的漏洞列表。
      

1. 在kali下使用

image-20220416161641525

  • 进入CMSmap目录下,./cmsmap.py -h 查看帮助

image-20220416162647154

  • 运行前,需要把相应靶机ip 和wordpress网站域名放入hosts文件中,否则无法访问博客网站

  • 访问命令如上

cmsmap.py https://example.com
cmsmap.py https://example.com -u 用户名 -p 密码字典的路径 -v (显示日志) -o(将破解结果保存到文件中) 文件名
  • 第一次访问时,会下载一些所需的库,它会自动下载的

六,一句话密码穷举

  • 测试密码极速爆破工具 - cheetah

https://blog.csdn.net/linzhenyu1996/article/details/70242932

七,webshell密码破解

https://zhuanlan.zhihu.com/p/344629093

webshell 介绍

  • Webshell是黑客经常使用的一种恶意脚本,其目的是获得服务器的执行操作权限,常见的webshell编写语言为asp、jsp和php。比如执行系统命令、窃取用户数据、删除web页面、修改主页等,其危害不言而喻。黑客通常利用常见的漏洞,如SQL注入、远程文件包含(RFI)、FTP,甚至使用跨站点脚本攻击(XSS)等方式作为社会工程攻击的一部分,最终达到控制网站服务器的目的

  • webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些 asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后黑客就可以用web的方式,通过asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等

    • 木马定义

      • 在Internet上,“特洛伊木马”指一些程序设计人员在其可从网络上下载 (Download)的应用程序或游戏中,包含了可以控制用户的计算机系统的程序,可能造成用户的系统被破坏甚至瘫痪。
    • 后门定义

      • 如果把计算机看作是一间屋子,那么这65535个端口就可以它看做是计算机为了与外界连接所开的65535 扇门。每个门的背后都是一个服务。有的门是主人特地打开迎接客人的(提供服务),有的门是主人为了出去访问客人而开设的(访问远程服务)——理论上,剩下的其他门都该是关闭着的,但偏偏由于各种原因,很多门都是开启的。
  • 优点

    • webshell最大的特点就是可以穿越防火墙,由于与被控制的服务器或远程主机交换的数据都是通过80端口传递的,因此不会被防火墙拦截。并且使用webshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的
  • 功能

    • webshell是网站入侵的脚本攻击工具,黑客通过入侵网站上传webshell后获得服务器的执行操作权限,比如执行系统命令、窃取用户数据、删除web页面、修改主页等。

使用BurpSuite破解Webshell密码

  • 在渗透测试过程中,目标可能已经被黑客入侵过了,在扫描过程中会发现入侵者留下的Webshell等,Webshell一般都会有密码,如果能够顺利获取密码,就可以进入目标系统。

https://blog.csdn.net/qq_45555226/article/details/119428861

八,有验证码后台的破解方法

1. 验证码是否可以重复利用

  • 直接输入去验证

2. 验证码的 cookie可以重复利用

  • cookie是否可以重复利用,可以通过burp suite判断,然后再去破解

九,多线程百万密码测试指定后台破解

wfuzz 工具

https://blog.csdn.net/JBlock/article/details/88619117

  • 介绍
    • Wfuzz是一款为了评估WEB应用而生的Fuzz(Fuzz是爆破的一种手段)工具,它基于一个简单的理念,即用给定的Payload去fuzz。它允许在HTTP请求里注入任何输入的值,针对不同的WEB应用组件进行多种复杂的爆破攻击。比如:参数、认证、表单、目录/文件、头部等等,这款工具在kali里面自带。
posted @   bingekong  阅读(585)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示