日度归档:2022年3月16日

基于aircrack-ng跑无线信号WIFI的握手包密码,可无需字典文件 2022-3-16

段落1、需求描述

跑包,可选密码,或者自定义密码,或者无字典文件,用随机字符串

段落2、部署安装

apt-get update
apt-get install aircrack-ng cpulimit screen crunch

段落3、生成字典

根据实际的需求,自己生成字典文件,下面是8位的数字的字典,大约860MB

#!/usr/bin/python3
# 从00000000 - 99999999的字典,一共1千万个记录,文件大小约为860MB
d = '/root/DICT_8_DIGITAL.txt'
end = 100000000
with open(d,'w') as f:
    for i in range(0,end):
        f.write("%08d\n" % i)

可以发现,其实密码字典,还是很大的,如果要全部生成,很不划算,占用磁盘空间很多

段落4、开启跑包

screen -dmS SAirCrack aircrack-ng -w ./DICT_8_DIGITAL.txt -b B8:AA:08:10:D1:AA WPA_cap-01.cap

段落5、开始CPU限制

查找进程号
ps -ef | grep aircrack-ng

发现进程号
83623

开启CPU利用限制
screen -dmS SCPULimit cpulimit --pid 83623 --limit 60 

段落6、无字典,随机字符跑包

用crunch,命令大概如下

crunch 8 15 qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890 | aircrack-ng WPA_cap-01.cap -b B8:AA:08:10:D1:AA -w-

由于自己把跑包,放在云服务器上面,性能限制,速度慢很多,还是推荐用显卡跑,或者现代一点的,根据万能钥匙匹配。

随机8位[0-9a-zA-Z]字符的总数为62的8次方个组合,共计 218340105584896

假设碰撞速度为 180000,显卡运算,最大需要38.46年,才能碰撞到密码

>>> 218340105584896 / 180000 / 3600 / 24 / 365
38.46

000088. 基于aircrack-ng跑无线信号WIFI的握手包密码,可无需字典文件 2022-4-1

本期博客地址 https://dasmz.com/?p=1749
本期视频地址 https://youtu.be/xFrSVniOJkQ

配置haproxy负载均衡,落地到多socks4/socks5场景的配置 2022-3-16

段落1、需求描述

从网络上采集到很多个socks4/socks5透明代理,需要设置一个负载均衡,让流量走他们自动负载。

段落2、负载均衡haproxy是一个优秀的选项,本次就用它了

段落3、实施部署

服务器Backend1 开启一个socks5,命令如下
screen -dmS tmpS5 /root/gost-linux-amd64-2.11.1 -L=socks5://socks自定义用户名:socks自定义密码@0.0.0.0:16803

公网可用 socks5://socks自定义用户名:socks自定义密码@服务器Back1st的IP地址:16803
服务器Backend2 开启一个socks5,命令如下
screen -dmS tmpS5 /root/gost-linux-amd64-2.11.1 -L=socks5://socks自定义用户名:socks自定义密码@0.0.0.0:6403

公网可用 socks5://socks自定义用户名:socks自定义密码@服务器Back2ed的IP地址:6403

段落4、Ubuntu 20.04系统环境,安装部署haproxy

apt-get update
apt-get install haproxy

版本信息 haproxy -v
HA-Proxy version 2.0.13-2ubuntu0.5 2022/03/02

配置文件 /etc/haproxy/haproxy.cfg
服务名称 haproxy.service
检查配置文件语法 haproxy -c -f /etc/haproxy/haproxy.cfg
重启服务 systemctl restart haproxy
参数
* global 全局参数设置
* defaults 默认参数设置
* log 日志
* mode 工作模式,可选http tcp
* option 可选参数,如httplog forwardfor-记录客户端真实的IP httpclose-完成后主动关闭此TCP连接 dontlognull
* timeout connect 连接超时选项,成功连接到一台服务器的最长等待时间,默认单位是毫秒
* timeout client 连接超时选项,连接客户端发送数据时最长等待时间,默认单位是毫秒
* timeout server 连接超时选项,服务器端回应客户端数据发送的最长等待时间,默认单位是毫秒
* timeout check 连接超时选项,设置对后端服务器的检测超时时间,默认单位是毫秒
* frontend 入口
* backend 出口
* maxconn 可接受的最大并发连接数
* nbproc 在server服务端的haproxy进程数,建议根据小于等于CPU核心数设置
* daemon 后台模式,运行后会后台常驻
* user/group 启动的工作态的用户和组
* pidfile 进程pid位置
* balance 支持的负载均衡算法
roundrobin 基于权重进行轮叫调度的算法
static-rr 基于权重进行轮叫调度的算法,不过此算法为静态算法
source 基于请求源IP的算法。此算法先对请求的源IP进行HASH运算,然后将结果与后端服务器的权重总数相除后转发至某台匹配的后端服务器。这种方式可以使同一个客户端IP的请求始终转发到某特定的后端服务器
leastconn 此算法会将新的连接请求转发到具有最少连接数目的后端服务器。在会话时间较长的场景中推荐使用此算法
uri 此算法会对部分或整个URI进行HASH运算,再经过与服务器的总权重相除,最后转发到某台匹配的后端服务器上
uri_param 此算法会根据URL路径中的参数进行转发,这样可保证在后端真实服务器数据不变时,同一个用户的请求始终分发到同一台机器上
hdr 此算法根据HTTP头进行转发,如果指定的HTTP头名称不存在,则使用roundrobin算法 进行策略转发

后端的param参数
常用的参数:
check 表示启用对此后端服务器执行健康状态检查
inter 设置健康状态检查的时间间隔,单位是毫秒
rise 检查多少次认为服务器可用
fall 检查多少次认为服务器不可用
weight 设置服务器的权重,默认为1, 最大为256。 设置为0表示不参与负载均衡
backup 设置备份服务器,用于所有后端服务器全部不可用时
cookie 为指定的后端服务器设置cookie值,此处指定的值将在请求入站时被检查,第一次为此值挑选的后端服务器将在后续的请求中一直被选中,其目的在于实现持久连接的功能
参考的一个配置
defaults
        log global
        mode    tcp
        option  tcplog
        timeout connect  60000
        timeout client  120000
        timeout server  120000


frontend roubin_socks5_listen
        mode    tcp
        bind    *:31111
        default_backend roubin_socks5_outbound

backend roubin_socks5_outbound
        mode    tcp
        balance roundrobin
        server server1 服务器Back1st的IP地址:16803 check inter 8000 rise 2 fall 3 maxconn 512
        server server2 服务器Back2ed的IP地址:6403 check inter 8000 rise 2 fall 3 maxconn 512

段落5、验证可用

proxychains4 curl http://ip.sb

附录1、可选,增加统计页面

listen stats
        mode http
        bind 0.0.0.0:8888
        stats refresh 30s
        stats enable
        stats uri     /stats 
        stats auth    haproxy:2fCb2a0Ea3d15E9a


可以通过 http://你服务器的IP地址:8888/stats访问

— 2022-3-23 更新

用代码从数据库中提取可用的socks4/socks5节点,添加到haproxy配置文件中

多socks4/socks5的场景

统计页面的显示

这样,自己只需要连接 haproxy生成的 roubin_inbound入口端口即可,后端差错控制由haproxy负责,棒!