Skip to content

Commit 8c41656

Browse files
committed
fix 1、优先使用环境变量,再使用config.json变量;2、优化密码破解代码 2022-07-10 02:12:1657390321
1 parent f7fb04d commit 8c41656

File tree

3 files changed

+28
-45
lines changed

3 files changed

+28
-45
lines changed

pkg/config.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,15 @@ var (
3636

3737
// 优先使用配置文件中的配置,否则从环境变量中读取
3838
func GetVal(key string) string {
39-
key = strings.ToLower(key)
40-
if s, ok := mData[key]; ok {
39+
key1 := os.Getenv(key)
40+
if "" != key1 {
41+
return key1
42+
}
43+
key1 = strings.ToLower(key)
44+
if s, ok := mData[key1]; ok {
4145
return fmt.Sprintf("%v", s)
4246
}
43-
return os.Getenv(key)
47+
return key1
4448
}
4549
func GetValByDefault(key, dftvl string) string {
4650
s := GetVal(key)

pkg/hydra/hydra.go

Lines changed: 18 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"github.com/hktalent/scan4all/pkg/kscan/lib/gotelnet"
66
"github.com/hktalent/scan4all/pkg/kscan/lib/misc"
77
"github.com/hktalent/scan4all/pkg/kscan/lib/pool"
8+
"strings"
89
"time"
910
)
1011

@@ -19,20 +20,7 @@ type Cracker struct {
1920
var (
2021
DefaultAuthMap map[string]*AuthList
2122
CustomAuthMap *AuthList
22-
ProtocolList = []string{
23-
"ssh", "rdp", "ftp", "smb", "telnet",
24-
"mysql", "mssql", "oracle", "postgresql", "mongodb", "redis",
25-
"rsh-spx",
26-
//110: "pop3",
27-
//995: "pop3",
28-
//25: "smtp",
29-
//994: "smtp",
30-
//143: "imap",
31-
//993: "imap",
32-
//389: "ldap",
33-
//23: "telnet",
34-
//50000: "db2",
35-
}
23+
ProtocolList = strings.Split("rdp,ssh,rsh-spx,mysql,mssql,oracle,postgresql,redis,ftp,mongodb,smb,telnet", ",")
3624
)
3725

3826
func NewCracker(info *AuthInfo, isAuthUpdate bool, threads int) *Cracker {
@@ -92,6 +80,7 @@ func (c *Cracker) Run() {
9280
case "ldap":
9381

9482
case "rsh-spx":
83+
c.Pool.Function = sshCracker
9584
case "ssh":
9685
c.Pool.Function = sshCracker
9786
case "telnet":
@@ -141,32 +130,22 @@ func (c *Cracker) Run() {
141130

142131
func InitDefaultAuthMap() {
143132
m := make(map[string]*AuthList)
144-
m = map[string]*AuthList{
145-
"rdp": NewAuthList(),
146-
"ssh": NewAuthList(),
147-
"mysql": NewAuthList(),
148-
"mssql": NewAuthList(),
149-
"oracle": NewAuthList(),
150-
"postgresql": NewAuthList(),
151-
"redis": NewAuthList(),
152-
"telnet": NewAuthList(),
153-
"mongodb": NewAuthList(),
154-
"smb": NewAuthList(),
155-
"ldap": NewAuthList(),
156-
//"db2": NewAuthList(),
157-
133+
m = map[string]*AuthList{}
134+
for _, x := range ProtocolList {
135+
m[x] = GetDefaultFtpList(x)
158136
}
159-
m["rdp"] = GetDefaultFtpList("rdp")
160-
m["ssh"] = GetDefaultFtpList("ssh")
161-
m["mysql"] = GetDefaultFtpList("mysql")
162-
m["mssql"] = GetDefaultFtpList("mssql")
163-
m["oracle"] = GetDefaultFtpList("oracle")
164-
m["postgresql"] = GetDefaultFtpList("postgresql")
165-
m["redis"] = GetDefaultFtpList("redis")
166-
m["ftp"] = GetDefaultFtpList("ftp")
167-
m["mongodb"] = GetDefaultFtpList("mongodb")
168-
m["smb"] = GetDefaultFtpList("smb")
169-
m["telnet"] = GetDefaultFtpList("telnet")
137+
//m["rdp"] = GetDefaultFtpList("rdp")
138+
//m["ssh"] = GetDefaultFtpList("ssh")
139+
//m["rsh-spx"] = GetDefaultFtpList("ssh")
140+
//m["mysql"] = GetDefaultFtpList("mysql")
141+
//m["mssql"] = GetDefaultFtpList("mssql")
142+
//m["oracle"] = GetDefaultFtpList("oracle")
143+
//m["postgresql"] = GetDefaultFtpList("postgresql")
144+
//m["redis"] = GetDefaultFtpList("redis")
145+
//m["ftp"] = GetDefaultFtpList("ftp")
146+
//m["mongodb"] = GetDefaultFtpList("mongodb")
147+
//m["smb"] = GetDefaultFtpList("smb")
148+
//m["telnet"] = GetDefaultFtpList("telnet")
170149
DefaultAuthMap = m
171150
}
172151

pkg/hydra/loadDicts.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,9 @@ func init() {
120120
DefaultUp: pkg.GetVal4Filedefault("ftp_default", ftp_default),
121121
}
122122
md["ssh"] = PPDict{
123-
Username: pkg.GetVal4File("ssh_username", ftpusername),
124-
Paswd: pkg.GetVal4File("ssh_pswd", ftp_pswd),
125-
DefaultUp: pkg.GetVal4Filedefault("ssh_default", ftp_default),
123+
Username: pkg.GetVal4File("ssh_username", username),
124+
Paswd: pkg.GetVal4File("ssh_pswd", pswd),
125+
DefaultUp: pkg.GetVal4Filedefault("ssh_default", ssh_default),
126126
}
127127
md["rsh-spx"] = md["ssh"]
128128
md["mongodb"] = PPDict{

0 commit comments

Comments
 (0)