diff --git a/internal/runner/runner.go b/internal/runner/runner.go index 9980bb3..065c7aa 100644 --- a/internal/runner/runner.go +++ b/internal/runner/runner.go @@ -26,7 +26,13 @@ func NewRunner(options *Options) (*Runner, error) { func (r *Runner) Run() { addrs := crack.ParseTargets(r.options.Targets) addrs = crack.FilterModule(addrs, r.options.Module) + if len(addrs) == 0 { + gologger.Info().Msgf("目标为空") + return + } + gologger.Info().Msgf("存活探测") addrs = r.crackRunner.CheckAlive(addrs) + gologger.Info().Msgf("存活数量: %v", len(addrs)) results := r.crackRunner.Run(addrs, r.options.UserDict, r.options.PassDict) if len(results) > 0 { gologger.Info().Msgf("爆破成功: %v", len(results)) diff --git a/pkg/crack/check.go b/pkg/crack/check.go index 274fdca..9e9e17e 100644 --- a/pkg/crack/check.go +++ b/pkg/crack/check.go @@ -3,7 +3,6 @@ package crack import ( "fmt" "github.com/cheggaaa/pb/v3" - "github.com/projectdiscovery/gologger" "net" "sync" "time" @@ -11,11 +10,6 @@ import ( // CheckAlive 存活检测 func (e *Runner) CheckAlive(addrs []*IpAddr) (results []*IpAddr) { - if len(addrs) == 0 { - gologger.Info().Msgf("目标为空") - return - } - gologger.Info().Msgf("存活探测") // RunTask mutex := &sync.Mutex{} wg := &sync.WaitGroup{} @@ -38,8 +32,6 @@ func (e *Runner) CheckAlive(addrs []*IpAddr) (results []*IpAddr) { wg.Add(1) taskChan <- task } - close(taskChan) - wg.Wait() } else { bar := pb.StartNew(len(addrs)) for _, task := range addrs { @@ -48,11 +40,10 @@ func (e *Runner) CheckAlive(addrs []*IpAddr) (results []*IpAddr) { taskChan <- task } close(taskChan) - wg.Wait() - bar.Finish() } + close(taskChan) + wg.Wait() - gologger.Info().Msgf("存活数量: %v", len(results)) return } diff --git a/pkg/crack/config.go b/pkg/crack/config.go index b8963b9..6951e22 100644 --- a/pkg/crack/config.go +++ b/pkg/crack/config.go @@ -52,7 +52,7 @@ var ( "mongodb": {"admin", "root"}, } - TemplatePass = []string{"{user}", "{user}!@#123", "{user}!@#456", "{user}#123", "{user}*PWD", "{user}1", "{user}11", "{user}12#$", "{user}123", "{user}123456", "{user}@111", "{user}@123", "{user}@123#4", "{user}@2017", "{user}@2017", "{user}@2018", "{user}@2018", "{user}@2019", "{user}@2020", "{user}@2021", "{user}_123"} + TemplatePass = []string{"{user}", "{user}!@#123", "{user}!@#456", "{user}#123", "{user}*PWD", "{user}1", "{user}11", "{user}12#$", "{user}123", "{user}123456", "{user}@111", "{user}@123", "{user}@123#4", "{user}@2016", "{user}@2017", "{user}@2018", "{user}@2019", "{user}@2020", "{user}@2021", "{user}_123"} CommonPass = []string{"", "!QAZ2wsx", "000000", "1", "111111", "123", "123123", "12313", "123321", "1234", "12345!@#$%abc", "123456", "12345678", "123456789", "1234567890", "12345678;abc", "123456Aa", "123qwe!@#", "123qweASD", "1q2w3e", "1qaz2wsx", "1QAZ2wsx", "1qaz@WSX", "1QAZ@WSX", "1qazxsw2", "654321", "666666", "8888888", "a11111", "a123123", "a12345", "a123456", "a123456", "a123456.", "Aa123123", "Aa1234", "Aa1234.", "Aa12345", "Aa12345.", "Aa123456", "Aa123456!", "Aa123456789", "abc+123", "abc123", "abc123456", "abc@123", "admin", "admin123", "Admin123", "admin123!@#", "admin888", "admin@123", "Admin@123", "Admin@1234", "admin@888", "adminadmin", "adminPwd", "Asdfg@123", "Charge123", "P@ssw0rd", "P@ssw0rd!", "P@ssword", "p@ssword", "pass123", "pass@123", "Passw0rd", "password", "qwe123", "qwe123!@#", "root", "sysadmin", "system", "test", "test123", "xcv@123", "zxc1qaz", "Zxcvb123"} )