From a21f9ff32b07c87bb79c3647d21091ddcac78487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=88=90=E9=94=B4?= Date: Fri, 5 May 2023 21:43:56 +0800 Subject: [PATCH] feat(veinmind-weakpass): support caching_sha2_password and enhance MyISAM pkg (#235) --- plugins/go/veinmind-escalate/pkg/priv.go | 3 +- plugins/go/veinmind-malicious/go.mod | 1 + plugins/go/veinmind-malicious/go.sum | 7 +- plugins/go/veinmind-weakpass/hash/all.go | 4 +- plugins/go/veinmind-weakpass/hash/base.go | 6 +- .../go/veinmind-weakpass/hash/hash_test.go | 22 +- .../hash/mysql_native_password.go | 213 ++++++++++++++++++ .../veinmind-weakpass/hash/passwd_windows.go | 32 +++ .../pkg/myisam/myisamParser.go | 144 ++++++------ .../go/veinmind-weakpass/service/mysql5.go | 13 +- .../go/veinmind-weakpass/service/mysql8.go | 14 +- .../test/innodbParse_test.go | 77 +++++++ .../test/mysql5_5_myisam.MYD | Bin 0 -> 356 bytes plugins/go/veinmind-weakpass/test/mysql8.ibd | Bin 0 -> 31457280 bytes 14 files changed, 439 insertions(+), 97 deletions(-) create mode 100644 plugins/go/veinmind-weakpass/hash/passwd_windows.go create mode 100644 plugins/go/veinmind-weakpass/test/innodbParse_test.go create mode 100644 plugins/go/veinmind-weakpass/test/mysql5_5_myisam.MYD create mode 100644 plugins/go/veinmind-weakpass/test/mysql8.ibd diff --git a/plugins/go/veinmind-escalate/pkg/priv.go b/plugins/go/veinmind-escalate/pkg/priv.go index 833ba0bb..2bd22a02 100644 --- a/plugins/go/veinmind-escalate/pkg/priv.go +++ b/plugins/go/veinmind-escalate/pkg/priv.go @@ -3,7 +3,6 @@ package pkg import ( "bufio" "fmt" - "io/ioutil" "os" "path/filepath" "regexp" @@ -172,7 +171,7 @@ func isPrivileged(container api.Container) bool { return false } - status, err := ioutil.ReadFile(filepath.Join(func() string { + status, err := os.ReadFile(filepath.Join(func() string { fs := os.Getenv("LIBVEINMIND_HOST_ROOTFS") if fs == "" { return "/" diff --git a/plugins/go/veinmind-malicious/go.mod b/plugins/go/veinmind-malicious/go.mod index 47784d42..55a7ac70 100644 --- a/plugins/go/veinmind-malicious/go.mod +++ b/plugins/go/veinmind-malicious/go.mod @@ -8,6 +8,7 @@ require ( github.com/chaitin/libveinmind v1.5.6 github.com/chaitin/veinmind-common-go v1.4.2 github.com/joho/godotenv v1.4.0 + github.com/mattn/go-colorable v0.1.6 // indirect github.com/testwill/go-clamd v1.0.0 gorm.io/driver/sqlite v1.4.4 gorm.io/gorm v1.24.3 diff --git a/plugins/go/veinmind-malicious/go.sum b/plugins/go/veinmind-malicious/go.sum index f054c5ff..f596d5ac 100644 --- a/plugins/go/veinmind-malicious/go.sum +++ b/plugins/go/veinmind-malicious/go.sum @@ -697,11 +697,13 @@ github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7 github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= -github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= @@ -1275,6 +1277,7 @@ golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/plugins/go/veinmind-weakpass/hash/all.go b/plugins/go/veinmind-weakpass/hash/all.go index ffa2ace2..3eaf0472 100644 --- a/plugins/go/veinmind-weakpass/hash/all.go +++ b/plugins/go/veinmind-weakpass/hash/all.go @@ -3,6 +3,8 @@ package hash // All 注册所有的hash方法 service模块可以通过hash的ID获取具体的hash实例 var All = []Hash{ &Plain{}, - &MysqlNative{}, + &MySQL{}, + &MysqlNative{}, // This is the one we want to remove + &CachingSha2Password{}, // This is the one we want to remove &Shadow{}, } diff --git a/plugins/go/veinmind-weakpass/hash/base.go b/plugins/go/veinmind-weakpass/hash/base.go index 2b567d0d..83c68fe6 100644 --- a/plugins/go/veinmind-weakpass/hash/base.go +++ b/plugins/go/veinmind-weakpass/hash/base.go @@ -1,9 +1,9 @@ package hash type Hash interface { - // Match 密码匹配方式 - Match(hash, guess string) (flag bool, err error) - // ID 加密算法的ID ID() string + + // Match 密码匹配方式 + Match(hash, guess string) (flag bool, err error) } diff --git a/plugins/go/veinmind-weakpass/hash/hash_test.go b/plugins/go/veinmind-weakpass/hash/hash_test.go index eb5c8f8a..78bb8648 100644 --- a/plugins/go/veinmind-weakpass/hash/hash_test.go +++ b/plugins/go/veinmind-weakpass/hash/hash_test.go @@ -1,18 +1,38 @@ package hash import ( + "encoding/base64" "testing" "github.com/stretchr/testify/assert" ) -func TestHashMysqlNativePassword_Hash(t *testing.T) { +func TestHashMysqlNative(t *testing.T) { mysqlNative := &MysqlNative{} // password which got from file mysql.ibd in docker image stringGotFromFile := "*6bb4837eb74329105ee4568dda7dc67ed2ca2ad9" stringInDict := "123456" find, _ := mysqlNative.Match(stringGotFromFile, stringInDict) assert.True(t, find) + + stringGotFromFile = "6bb4837eb74329105ee4568dda7dc67ed2ca2ad9" + find, _ = mysqlNative.Match(stringGotFromFile, stringInDict) + assert.False(t, find) +} + +func TestHashCachingSha2Password(t *testing.T) { + cachingSha2Password := &CachingSha2Password{} + // password which got from file mysql.ibd in docker image + b64PwdFromFile := "JEEkMDA1JFodUGBzOkJlVwx/bwRYfwg8f3hoV3ZxRUN3c3JGa3pwa0kuVWxXbEpSeEM1ZkVYVUhscU42WFVuaGpHTS5zNwFixZPBAQICRkAAAAAgfAAAOPokJQ==" + stringInDict := "123456" + pwd, err := base64.StdEncoding.DecodeString(b64PwdFromFile) + if err != nil { + t.Fatal(err) + } + find, _ := cachingSha2Password.Match(string(pwd), stringInDict) + assert.True(t, find) + find, _ = cachingSha2Password.Match(string(pwd), "12345678") + assert.False(t, find) } func TestHashShadow(t *testing.T) { diff --git a/plugins/go/veinmind-weakpass/hash/mysql_native_password.go b/plugins/go/veinmind-weakpass/hash/mysql_native_password.go index 92d9e8f9..c82779e3 100644 --- a/plugins/go/veinmind-weakpass/hash/mysql_native_password.go +++ b/plugins/go/veinmind-weakpass/hash/mysql_native_password.go @@ -1,12 +1,36 @@ package hash import ( + "bytes" "crypto/sha1" + "crypto/sha256" "errors" "fmt" + "strconv" "strings" ) +var _ Hash = (*MySQL)(nil) + +type MySQL struct { +} + +func (m *MySQL) ID() string { + return "mysql" +} + +func (m *MySQL) Match(hash, guess string) (flag bool, err error) { + var checker Hash + if len(hash) > 3 && hash[:3] == "$A$" { + checker = &CachingSha2Password{} + } else { + checker = &MysqlNative{} + } + return checker.Match(hash, guess) +} + +var _ Hash = (*MysqlNative)(nil) + type MysqlNative struct { } @@ -25,3 +49,192 @@ func (i *MysqlNative) Match(hash, guess string) (flag bool, err error) { } return false, errors.New("mysql_passwd: malformed entry ") } + +var _ Hash = (*CachingSha2Password)(nil) + +type CachingSha2Password struct { +} + +func (i *CachingSha2Password) ID() string { + return "caching_sha2_password" +} + +func (i *CachingSha2Password) Match(hash, guess string) (flag bool, err error) { + if hash[:3] == "$A$" { + return checkHashingPassword([]byte(hash[:70]), guess) + } + return false, errors.New("mysql_passwd: malformed entry ") +} + +const ( + // MIXCHARS is the number of characters to use in the mix + MIXCHARS = 32 + // SALT_LENGTH is the length of the salt + SALT_LENGTH = 20 //nolint: revive + // ITERATION_MULTIPLIER is the number of iterations to use + ITERATION_MULTIPLIER = 1000 //nolint: revive +) + +func b64From24bit(b []byte, n int, buf *bytes.Buffer) { + b64t := []byte("./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") + + w := (int64(b[0]) << 16) | (int64(b[1]) << 8) | int64(b[2]) + for n > 0 { + n-- + buf.WriteByte(b64t[w&0x3f]) + w >>= 6 + } +} + +// sha256Hash is an util function to calculate sha256 hash. +func sha256Hash(input []byte) []byte { + res := sha256.Sum256(input) + return res[:] +} + +// 'hash' function should return an array with 32 bytes, the same as SHA-256 +// From https://github.com/pingcap/tidb/blob/ff78940594893cb970df58000dbc69cd5631e696/parser/auth/caching_sha2.go#L72 with some fix +func hashCrypt(plaintext string, salt []byte, iterations int, hash func([]byte) []byte) string { + // Numbers in the comments refer to the description of the algorithm on https://www.akkadia.org/drepper/SHA-crypt.txt + + // 1, 2, 3 + bufA := bytes.NewBuffer(make([]byte, 0, 4096)) + bufA.Write([]byte(plaintext)) + bufA.Write(salt) + + // 4, 5, 6, 7, 8 + bufB := bytes.NewBuffer(make([]byte, 0, 4096)) + bufB.Write([]byte(plaintext)) + bufB.Write(salt) + bufB.Write([]byte(plaintext)) + sumB := hash(bufB.Bytes()) + bufB.Reset() + + // 9, 10 + var i int + for i = len(plaintext); i > MIXCHARS; i -= MIXCHARS { + bufA.Write(sumB[:MIXCHARS]) + } + bufA.Write(sumB[:i]) + + // 11 + for i = len(plaintext); i > 0; i >>= 1 { + if i%2 == 0 { + bufA.Write([]byte(plaintext)) + } else { + bufA.Write(sumB[:]) + } + } + + // 12 + sumA := hash(bufA.Bytes()) + bufA.Reset() + + // 13, 14, 15 + bufDP := bufA + for range []byte(plaintext) { + bufDP.Write([]byte(plaintext)) + } + sumDP := hash(bufDP.Bytes()) + bufDP.Reset() + + // 16 + p := make([]byte, 0, sha256.Size) + for i = len(plaintext); i > 0; i -= MIXCHARS { + if i > MIXCHARS { + p = append(p, sumDP[:]...) + } else { + p = append(p, sumDP[0:i]...) + } + } + + // 17, 18, 19 + bufDS := bufA + for i = 0; i < 16+int(sumA[0]); i++ { + bufDS.Write(salt) + } + sumDS := hash(bufDS.Bytes()) + bufDS.Reset() + + // 20 + s := make([]byte, 0, 32) + for i = len(salt); i > 0; i -= MIXCHARS { + if i > MIXCHARS { + s = append(s, sumDS[:]...) + } else { + s = append(s, sumDS[0:i]...) + } + } + + // 21 + bufC := bufA + var sumC []byte + for i = 0; i < iterations; i++ { + bufC.Reset() + if i&1 != 0 { + bufC.Write(p) + } else { + bufC.Write(sumA[:]) + } + if i%3 != 0 { + bufC.Write(s) + } + if i%7 != 0 { + bufC.Write(p) + } + if i&1 != 0 { + bufC.Write(sumA[:]) + } else { + bufC.Write(p) + } + sumC = hash(bufC.Bytes()) + sumA = sumC + } + + // 22 + buf := bytes.NewBuffer(make([]byte, 0, 100)) + buf.Write([]byte{'$', 'A', '$'}) + rounds := fmt.Sprintf("%03X", iterations/ITERATION_MULTIPLIER) + buf.Write([]byte(rounds)) + buf.Write([]byte{'$'}) + buf.Write(salt) + + b64From24bit([]byte{sumC[0], sumC[10], sumC[20]}, 4, buf) + b64From24bit([]byte{sumC[21], sumC[1], sumC[11]}, 4, buf) + b64From24bit([]byte{sumC[12], sumC[22], sumC[2]}, 4, buf) + b64From24bit([]byte{sumC[3], sumC[13], sumC[23]}, 4, buf) + b64From24bit([]byte{sumC[24], sumC[4], sumC[14]}, 4, buf) + b64From24bit([]byte{sumC[15], sumC[25], sumC[5]}, 4, buf) + b64From24bit([]byte{sumC[6], sumC[16], sumC[26]}, 4, buf) + b64From24bit([]byte{sumC[27], sumC[7], sumC[17]}, 4, buf) + b64From24bit([]byte{sumC[18], sumC[28], sumC[8]}, 4, buf) + b64From24bit([]byte{sumC[9], sumC[19], sumC[29]}, 4, buf) + b64From24bit([]byte{0, sumC[31], sumC[30]}, 3, buf) + + return buf.String() +} + +// checkHashingPassword checks if a caching_sha2_password or tidb_sm3_password authentication string matches a password +// From https://github.com/pingcap/tidb/blob/ff78940594893cb970df58000dbc69cd5631e696/parser/auth/caching_sha2.go#L223 with some fix +func checkHashingPassword(pwHash []byte, password string) (bool, error) { + pwHashParts := bytes.Split(pwHash, []byte("$")) + if len(pwHashParts) < 3 { + return false, errors.New("failed to decode hash parts") + } + + hashType := string(pwHashParts[1]) + if hashType != "A" { + return false, errors.New("digest type is incompatible") + } + + iterations, err := strconv.ParseInt(string(pwHashParts[2]), 16, 64) + if err != nil { + return false, errors.New("failed to decode iterations") + } + iterations = iterations * ITERATION_MULTIPLIER + salt := pwHashParts[3][:SALT_LENGTH] + + newHash := hashCrypt(password, salt, int(iterations), sha256Hash) + + return bytes.Equal(pwHash, []byte(newHash)), nil +} diff --git a/plugins/go/veinmind-weakpass/hash/passwd_windows.go b/plugins/go/veinmind-weakpass/hash/passwd_windows.go new file mode 100644 index 00000000..78bdffdb --- /dev/null +++ b/plugins/go/veinmind-weakpass/hash/passwd_windows.go @@ -0,0 +1,32 @@ +package hash + +import ( + "errors" +) + +// PasswordMethod represents the entryption method. +type PasswordMethod uint8 + +// Password represents the data field inside. +type Password struct { + // Method of current password. + Method PasswordMethod + + // MethodString of the current password. + MethodString string + + // Salt inside the password. + Salt string + + // Hash hased value of the password. + Hash string +} + +func (pw *Password) Match(guesses []string) (string, bool) { + panic("not implemented") + return "", false +} + +func ParsePassword(pass *Password, phrase string) error { + return errors.New("not implemented") +} diff --git a/plugins/go/veinmind-weakpass/pkg/myisam/myisamParser.go b/plugins/go/veinmind-weakpass/pkg/myisam/myisamParser.go index 52ed4d86..5eccf57f 100644 --- a/plugins/go/veinmind-weakpass/pkg/myisam/myisamParser.go +++ b/plugins/go/veinmind-weakpass/pkg/myisam/myisamParser.go @@ -1,18 +1,19 @@ package myisam import ( + "errors" "io" ) const ( // EmptyPasswordPlaceholder 用于没有修改过密码的 user page - EmptyPasswordPlaceholder = "THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE" + EmptyPasswordPlaceholder = "*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE" // LocalHost 用于识别Host是否为仅限本地登陆 LocalHost = "localhost" ) -type MysqlInfo struct { +type UserInfo struct { Host string Name string Plugin string @@ -27,16 +28,8 @@ type Record struct { DataBegin int } -type Result struct { - Host string - User string - Password string - Native bool -} - // ParseUserFile 从文件中解析用户名和密码 -// TODO: 目前仅支持MYSQL5默认使用的mysql_native_password插件,后续需要支持其他插件的解析。 -func ParseUserFile(f io.Reader) (infos []MysqlInfo, err error) { +func ParseUserFile(f io.Reader) (infos []*UserInfo, err error) { content, err := io.ReadAll(f) if err != nil { return nil, err @@ -47,13 +40,9 @@ func ParseUserFile(f io.Reader) (infos []MysqlInfo, err error) { record := dispatchRecord(content, idx) recType := record.RecType if 0 < recType && recType <= 6 { - info := MysqlInfo{} - res := parseRecord(content, record) - info.Host = res.Host - info.Plugin = "mysql_native_password" - info.Name = res.User - info.Password = res.Password - if info.Password != EmptyPasswordPlaceholder && info.Host != LocalHost { + if info, err := parseRecord(content, record); err != nil { + return infos, err + } else { infos = append(infos, info) } } @@ -63,13 +52,6 @@ func ParseUserFile(f io.Reader) (infos []MysqlInfo, err error) { return infos, nil } -func min(a, b int) int { - if a < b { - return a - } - return b -} - func readLen(content []byte, begin int, l int) int { sumLen := 0 for _, bit := range content[begin : begin+l] { @@ -84,7 +66,7 @@ func pad(dataLen int) int { return (byteLen + ((dataLen - (byteLen << 2)) & 1)) << 2 } -func readRecord(content []byte, idx int, headerLen int, dataPos int, dataLen int, nextPos int, unusedLen int) (record Record) { +func readRecord(content []byte, idx int, headerLen int, dataPos int, dataLen int, nextPos int, unusedLen int) (record *Record) { recType := content[idx] dataLenValue := readLen(content, idx+dataPos, dataLen) unusedLenValue := unusedLen @@ -92,27 +74,28 @@ func readRecord(content []byte, idx int, headerLen int, dataPos int, dataLen int unusedLenValue = int(content[idx+unusedLen]) } blockLen := pad(headerLen + dataLenValue + unusedLenValue) - nextRec := Record{} + var nextRec *Record if nextPos > 0 { nextRec = dispatchRecord(content, readLen(content, idx+nextPos, 8)) } - record = Record{ + record = &Record{ RecType: recType, BlockLen: blockLen, DataLen: dataLenValue, - NextRec: &nextRec, + NextRec: nextRec, DataBegin: idx + headerLen, } return } -func dispatchRecord(content []byte, idx int) (record Record) { +// Related info: https://github.com/twitter-forks/mysql/blob/865aae5f23e2091e1316ca0e6c6651d57f786c76/storage/myisam/mi_dynrec.c#LL1890C1-L1890C1 +func dispatchRecord(content []byte, idx int) (record *Record) { recType := content[idx] switch recType { case 0: - record = readRecord(content, idx, 20, 1, 3, -1, 0) + record = readRecord(content, idx, 0, 1, 3, -1, 0) case 1: record = readRecord(content, idx, 3, 1, 2, -1, 0) case 2: @@ -138,57 +121,72 @@ func dispatchRecord(content []byte, idx int) (record Record) { case 12: record = readRecord(content, idx, 12, 1, 3, 4, 0) case 13: - record = readRecord(content, idx, 16, 5, 3, 9, 0) + record = readRecord(content, idx, 16, 5, 3, 8, 0) default: - record = Record{} + record = nil } return } -func parseRecord(content []byte, rec Record) (result Result) { - first := rec.DataBegin + 3 - hostLen := int(content[first]) - host := string(content[first+1 : first+1+hostLen]) - - userLen := int(content[first+hostLen+1]) - user := string(content[first+hostLen+1+1 : first+hostLen+1+1+userLen]) - - native := false - passwordMaxLen := 40 - var password []byte - idx := first + hostLen + 1 + 1 + userLen - for { - last := rec.DataBegin + rec.DataLen - passwordLen := len(password) - if passwordLen == 0 { - for idx < last { - if content[idx] == 21 { - native = true - } - if content[idx] == 42 { +var RecordDataBrokenErr = errors.New("record data broken") + +// parseRecord parse user.MYD, return nil if error happened +func parseRecord(content []byte, rec *Record) (result *UserInfo, err error) { + var trueContent []byte + for rec != nil { + // 这里应该根据rec还原数据 content的内容是不能直接使用的 + // Related info: https://github.com/twitter-forks/mysql/blob/865aae5f23e2091e1316ca0e6c6651d57f786c76/storage/myisam/mi_dynrec.c#LL1890C1-L1890C1 + trueContent = append(trueContent, content[rec.DataBegin:rec.DataBegin+rec.DataLen]...) + rec = rec.NextRec + } + + hostLenPos := 3 + if len(trueContent) <= hostLenPos { + return nil, RecordDataBrokenErr + } + hostLen := int(trueContent[hostLenPos]) + + userLenPos := hostLenPos + hostLen + 1 // 可以简化 但是这么写便于阅读 + if len(trueContent) <= userLenPos { + return nil, RecordDataBrokenErr + } + userLen := int(trueContent[userLenPos]) + + if len(trueContent) <= userLenPos+1+userLen { + return nil, RecordDataBrokenErr + } + host := string(trueContent[hostLenPos+1 : hostLenPos+1+hostLen]) + user := string(trueContent[userLenPos+1 : userLenPos+1+userLen]) + + // caching_sha2_password在>=5.6版本被支持 也就是自5.6版开始 user表结构有所变化,加入authentication_string列 + // authentication_string列有一个固定特征是长度为21 且跟在user列后面(user数据结束后会有很长一段2) + // 如果是<5.6版本的表,user列后面直接紧跟着就是42了(*) + plugin := "mysql_native_password" + passwdLenPos := userLenPos + userLen + 1 // 先当作是<5.6的版本提取 + var password string + if passwdLen := int(trueContent[passwdLenPos]); passwdLen == 42 { // 判断出来不是>=5.6的版本 + password = string(trueContent[passwdLenPos : passwdLenPos+41]) + } else { // >=5.6版本 authentication_string列在前 password列在后 + passwdLenPos++ + for { + if passwdLenPos < len(trueContent) { + if trueContent[passwdLenPos] == 21 { // 读到了authentication_string列 + plugin = string(trueContent[passwdLenPos+1 : passwdLenPos+1+21]) + passwdLenPos += 1 + 21 + passwdLen = int(trueContent[passwdLenPos]) // TEXT类型 这里认为长度密码字段长度不会超过256 不计算第二位 https://dev.mysql.com/doc/refman/8.0/en/storage-requirements.html + password = string(trueContent[passwdLenPos+2 : passwdLenPos+2+passwdLen]) break } - idx++ + passwdLenPos++ + } else { + return nil, RecordDataBrokenErr } } - - if idx+1 <= min(last, passwordMaxLen-passwordLen+idx+1) { - password = append(password, content[idx:min(last, passwordMaxLen-passwordLen+idx+1)]...) - } - - if rec.NextRec != nil { - break - } else { - rec = *rec.NextRec - idx = rec.DataBegin - } } - result = Result{ + return &UserInfo{ Host: host, - User: user, - Password: string(password), - Native: native, - } - - return + Name: user, + Password: password, + Plugin: plugin, + }, nil } diff --git a/plugins/go/veinmind-weakpass/service/mysql5.go b/plugins/go/veinmind-weakpass/service/mysql5.go index d9a97629..f41464d9 100644 --- a/plugins/go/veinmind-weakpass/service/mysql5.go +++ b/plugins/go/veinmind-weakpass/service/mysql5.go @@ -10,16 +10,14 @@ import ( ) type mysql5Service struct { - name string - filepath []string } func (i *mysql5Service) Name() string { - return i.name + return "mysql5" } func (i *mysql5Service) FilePath() (paths []string) { - return i.filepath + return []string{"/var/lib/mysql/mysql/user.MYD"} } func (i *mysql5Service) GetRecords(file io.Reader) (records []model.Record, err error) { mysqlInfos, err := myisam.ParseUserFile(file) @@ -28,6 +26,9 @@ func (i *mysql5Service) GetRecords(file io.Reader) (records []model.Record, err } tmp := model.Record{} for _, info := range mysqlInfos { + if info.Password == myisam.EmptyPasswordPlaceholder || info.Host == myisam.LocalHost || info.Host == "127.0.0.1" { + continue + } tmp.Username = info.Name tmp.Password = strings.ToLower(info.Password) records = append(records, tmp) @@ -37,8 +38,6 @@ func (i *mysql5Service) GetRecords(file io.Reader) (records []model.Record, err func init() { mod := &mysql5Service{} - ServiceMatcherMap["mysql5"] = "mysql_native_password" - mod.name = "mysql5" - mod.filepath = []string{"/var/lib/mysql/mysql/user.MYD"} + ServiceMatcherMap[mod.Name()] = "mysql" Register("mysql", mod) } diff --git a/plugins/go/veinmind-weakpass/service/mysql8.go b/plugins/go/veinmind-weakpass/service/mysql8.go index ed4bcc5d..2b3872b9 100644 --- a/plugins/go/veinmind-weakpass/service/mysql8.go +++ b/plugins/go/veinmind-weakpass/service/mysql8.go @@ -9,18 +9,19 @@ import ( "github.com/chaitin/veinmind-tools/plugins/go/veinmind-weakpass/model" ) +var _ IService = (*mysql8Service)(nil) + type mysql8Service struct { - name string - filepath []string } func (i *mysql8Service) Name() string { - return i.name + return "mysql8" } func (i *mysql8Service) FilePath() (paths []string) { - return i.filepath + return []string{"/var/lib/mysql/mysql.ibd", "/var/lib/mysql/mysql2.ibd"} } + func (i *mysql8Service) GetRecords(file io.Reader) (records []model.Record, err error) { page, err := innodb.FindUserPage(file) if err != nil { @@ -41,10 +42,7 @@ func (i *mysql8Service) GetRecords(file io.Reader) (records []model.Record, err } func init() { - // TODO: Mysql8 mod := &mysql8Service{} - ServiceMatcherMap["mysql8"] = "mysql_native_password" - mod.name = "mysql8" - mod.filepath = []string{"/var/lib/mysql/mysql.ibd"} + ServiceMatcherMap[mod.Name()] = "mysql" Register("mysql", mod) } diff --git a/plugins/go/veinmind-weakpass/test/innodbParse_test.go b/plugins/go/veinmind-weakpass/test/innodbParse_test.go new file mode 100644 index 00000000..e31e6306 --- /dev/null +++ b/plugins/go/veinmind-weakpass/test/innodbParse_test.go @@ -0,0 +1,77 @@ +package test + +import ( + "github.com/chaitin/veinmind-tools/plugins/go/veinmind-weakpass/pkg/innodb" + "github.com/chaitin/veinmind-tools/plugins/go/veinmind-weakpass/pkg/myisam" + "github.com/stretchr/testify/assert" + "os" + "testing" +) + +func TestParseMySQLInnoDB(t *testing.T) { + f, err := os.Open("./mysql8.ibd") + if err != nil { + return + } + defer f.Close() + + page, err := innodb.FindUserPage(f) + infos, err := innodb.ParseUserPage(page.Pagedata) + if err != nil { + return + } + for _, info := range infos { + if info.Password[:3] == "$A$" { + t.Log("caching_sha2_password") + } else { + t.Log("mysql_native_password") + } + t.Log(info) + } +} + +func TestParseMySQLInnoDB5(t *testing.T) { + f, err := os.Open("./mysql.ibd") + if err != nil { + return + } + defer f.Close() + + page, err := innodb.FindUserPage(f) + infos, err := innodb.ParseUserPage(page.Pagedata) + if err != nil { + return + } + for _, info := range infos { + if info.Password[:3] == "$A$" { + t.Log("caching_sha2_password") + } else { + t.Log("mysql_native_password") + } + t.Log(info) + } +} + +func TestParseMyISAM55(t *testing.T) { + mysqlMyd, err := os.Open("../test/mysql5_5_myisam.MYD") + assert.Nil(t, err) + + infos, err := myisam.ParseUserFile(mysqlMyd) + if err != nil { + t.Error(err) + } + assert.Len(t, infos, 2) + assert.Equal(t, "*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9", infos[0].Password) +} + +func TestParseMyISAM56(t *testing.T) { + mysqlMyd, err := os.Open("../test/user.MYD") + assert.Nil(t, err) + + infos, err := myisam.ParseUserFile(mysqlMyd) + if err != nil { + t.Error(err) + } + assert.Len(t, infos, 4) + assert.Equal(t, "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B", infos[0].Password) +} diff --git a/plugins/go/veinmind-weakpass/test/mysql5_5_myisam.MYD b/plugins/go/veinmind-weakpass/test/mysql5_5_myisam.MYD new file mode 100644 index 0000000000000000000000000000000000000000..ac41cf6ed26dc3e6433ded4cd0b4280eb52a0128 GIT binary patch literal 356 zcmZQ(h!XnE|A#XtKRGccBfq$Wr6@nYM9a*{$;86g+||k4#MsEv(7@Ey)x^}y!o|hW z+{M|<+||X%+0n?+#gYjhU}V4wEdE0QRCYyv2?IW3n4snuK-CvO=^MB;fpwU`%!k>> Vh!a3mGBX4*{pSD2s7mE9004(ZG%NrB literal 0 HcmV?d00001 diff --git a/plugins/go/veinmind-weakpass/test/mysql8.ibd b/plugins/go/veinmind-weakpass/test/mysql8.ibd new file mode 100644 index 0000000000000000000000000000000000000000..4c1463025797265109d59e11230ac17f23af1206 GIT binary patch literal 31457280 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]d&n1o}4nnisb0U&(H4&CM2=UcW6(r{xNq8QD?uoUXm`M}#oO>kU zDmVk^FjZ5jO9+Wg&~pw-V$2xTCQq$a0f|lEbN)>duOt;VYp&zqzC#5v0fw7p@DEiG zp4j*kiA@!9v3lX5RPcFPwF*dVs*pR2NTEiN3f)=-?9@yZ#;L~k0(f9oy;wVn#HI@4 zu9IBXQz1mPcqBB%kJ~E=H&FTSb`Y9XZ`>Cp;Tqz&$3bXTy>Y4$D<{Ie4nni)jZ