2018-05-02 12:50:31 -06:00
#!/usr/bin/env bash
Rewrote fluxion for better extensibility.
Most spaghetti code has be removed or replaced with better alternatives.
Refactored most functionality into directory-based, load-on-demand, addon attack scripts.
Changed the naming scheme of variables throughout for consistency (try to stick to one, guys).
Changed color names (variable identifiers) for better consistency.
Changed language file names to follow the scheme "Language.lang"
Changed function naming scheme to better reflect their behavior, more under [ FLUXION V3 ]
Added more comments in code, attempting to decrease the obfuscation of functionality.
Minimized the usage of globals throughout the script, trying to leave absolute essentials, for safety.
Multiple improvements in general to the visuals, the algorithms, and to methods used.
[ FLUXION V3 ]
* Custom attacks may now be developed and installed independently.
* Custom portals may now be installed independently.
* Globally changed functions' naming scheme to use snake-case, systematically prefixed with:
* > set_: function will set/configure something.
* > unset_: function will undo what set_ did.
* > run_: function will execute a blocking command.
* > halt_: function will abort a running command (possibly via signals [SIGABRT])
* > start_: function will start executing something in the background.
* > stop_: function will stop background execution of something, undoing start_.
[ Custom Attacks ]
* Custom attacks must be bundled in a directory, with the name representing the attack.
* Custom attacks must include a load-script "attack.sh" within the attack directory bundle.
* Custom attacks' attack.sh script must implement the following boot functions:
* > unprep_attack: fluxion will load attack.sh and call unprep_attack to reset attack parameters.
* > prep_attack: fluxion will load attack.sh and call prep_attack to set attack parameters.
* > start_attack: fluxion will load attack.sh and call start_attack to start a stopped/unstarted attack.
* > stop_attack: fluxion will load attack.sh and call stop_attack to stop a started attack.
* Custom attacks may signal fluxion to stop an attack when done, by sending it a SIGABRT signal.
[ Custom Portals ]
* Portal-containing directories must now follow the naming scheme "Some Brand_Language.portal"
* Portal directories, after properly being named, must be stored at "attacks/Captive Portal/sites"
Function return values are significant in the script, where anything other than 0 means go back.
2017-08-08 13:14:32 -06:00
# German
2017-08-26 13:55:10 -06:00
# native: Deutsch
Rewrote fluxion for better extensibility.
Most spaghetti code has be removed or replaced with better alternatives.
Refactored most functionality into directory-based, load-on-demand, addon attack scripts.
Changed the naming scheme of variables throughout for consistency (try to stick to one, guys).
Changed color names (variable identifiers) for better consistency.
Changed language file names to follow the scheme "Language.lang"
Changed function naming scheme to better reflect their behavior, more under [ FLUXION V3 ]
Added more comments in code, attempting to decrease the obfuscation of functionality.
Minimized the usage of globals throughout the script, trying to leave absolute essentials, for safety.
Multiple improvements in general to the visuals, the algorithms, and to methods used.
[ FLUXION V3 ]
* Custom attacks may now be developed and installed independently.
* Custom portals may now be installed independently.
* Globally changed functions' naming scheme to use snake-case, systematically prefixed with:
* > set_: function will set/configure something.
* > unset_: function will undo what set_ did.
* > run_: function will execute a blocking command.
* > halt_: function will abort a running command (possibly via signals [SIGABRT])
* > start_: function will start executing something in the background.
* > stop_: function will stop background execution of something, undoing start_.
[ Custom Attacks ]
* Custom attacks must be bundled in a directory, with the name representing the attack.
* Custom attacks must include a load-script "attack.sh" within the attack directory bundle.
* Custom attacks' attack.sh script must implement the following boot functions:
* > unprep_attack: fluxion will load attack.sh and call unprep_attack to reset attack parameters.
* > prep_attack: fluxion will load attack.sh and call prep_attack to set attack parameters.
* > start_attack: fluxion will load attack.sh and call start_attack to start a stopped/unstarted attack.
* > stop_attack: fluxion will load attack.sh and call stop_attack to stop a started attack.
* Custom attacks may signal fluxion to stop an attack when done, by sending it a SIGABRT signal.
[ Custom Portals ]
* Portal-containing directories must now follow the naming scheme "Some Brand_Language.portal"
* Portal directories, after properly being named, must be stored at "attacks/Captive Portal/sites"
Function return values are significant in the script, where anything other than 0 means go back.
2017-08-08 13:14:32 -06:00
2018-01-09 13:16:47 -07:00
FLUXIONInterfaceQuery = "Wähle Sie ihre Netzwerkkarte aus"
2018-04-23 13:02:54 -06:00
FLUXIONAllocatingInterfaceNotice = " Allocating reserved interface $CGrn \"\$interfaceIdentifier\". "
FLUXIONDeallocatingInterfaceNotice = " Deallocating reserved interface $CGrn \"\$interfaceIdentifier\". "
FLUXIONInterfaceAllocatedNotice = " ${ CGrn } Interface allocation succeeded! "
FLUXIONInterfaceAllocationFailedError = " ${ CRed } Interface reservation failed! "
FLUXIONReidentifyingInterface = "Renaming interface."
2018-01-09 13:16:47 -07:00
FLUXIONUnblockingWINotice = "Wiederherstellen von allen Netzwerkkarten..."
2018-04-23 13:02:54 -06:00
#FLUXIONFindingExtraWINotice="Suche nach Netzwerkkarten..."
2018-01-09 13:16:47 -07:00
FLUXIONRemovingExtraWINotice = "Entferne Netzwerkkarten..."
FLUXIONFindingWINotice = "Suche nach Netzwerkkarten..."
FLUXIONSelectedBusyWIError = "Die ausgewählte Netzwerkkarte befindet sich gerade in Benutzung"
2018-04-23 13:02:54 -06:00
FLUXIONSelectedBusyWITip = " This is usually caused by the network manager using the interface selected. We recommened you $CGrn gracefully stop the network manager $CClr or configure it to ignored the selected interface. Alternatively, run \"export FLUXIONWIKillProcesses=1\" before fluxion to kill it but we suggest you $CRed avoid using the killer flag ${ CClr } . "
2018-01-09 13:16:47 -07:00
FLUXIONGatheringWIInfoNotice = "Sammeln von Daten, von allen Netzwerken..."
2017-08-28 12:09:25 -06:00
FLUXIONUnknownWIDriverError = "Netzwerkkartentreiber konnte nicht bestimmt werden"
2018-04-23 13:02:54 -06:00
FLUXIONUnloadingWIDriverNotice = "Warte auf Netzwerkarte \"\$interface\"..."
FLUXIONLoadingWIDriverNotice = "Warte auf Treiberantwort \"\$interface\"..."
2017-08-28 12:09:25 -06:00
FLUXIONFindingConflictingProcessesNotice = "Suche nach Diensten die Probleme verursachen können..."
FLUXIONKillingConflictingProcessesNotice = "Beende Diensten die Probleme verursachen können..."
FLUXIONPhysicalWIDeviceUnknownError = " ${ CRed } Die Physische Schnittstelle konnte nicht ermittelt werden "
2018-01-09 13:16:47 -07:00
FLUXIONStartingWIMonitorNotice = "Starte die Netzwerkkarte im sogenannten Monitor Mode"
2018-04-23 13:02:54 -06:00
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
FLUXIONTargetSearchingInterfaceQuery = "Select a wireless interface for target searching."
FLUXIONTargetTrackerInterfaceQuery = "Select an interface for target tracking."
2018-04-27 17:00:11 -06:00
FLUXIONTargetTrackerInterfaceQueryTip = " ${ CSWht } Avoid $CClr selecting a ${ CSWht } virtual interface ${ CClr } here. "
2018-04-23 13:02:54 -06:00
FLUXIONIncompleteTargettingInfoNotice = "Missing ESSID, BSSID, or channel information!"
FLUXIONTargettingAccessPointAboveNotice = "Fluxion is targetting the access point above."
FLUXIONContinueWithTargetQuery = "Continue with this target?"
2017-08-10 20:58:10 -06:00
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2017-12-13 06:23:27 -07:00
FLUXIONStartingScannerNotice = "Starte Netzwerkscanner"
2018-04-23 13:02:54 -06:00
FLUXIONStartingScannerTip = "Wenn nach etwa 30 Sekunden Netzwerke sichbar werden, schließe Netzwerkscanner (ctrl+c)"
2017-08-28 12:09:25 -06:00
FLUXIONPreparingScannerResultsNotice = "Analysieren von allen gesammelten Daten..."
FLUXIONScannerFailedNotice = "Netzwerkkarte ist möglichweise nicht geeignet ( Keine Netzwerke gefunden )"
FLUXIONScannerDetectedNothingNotice = "Keine Netzwerke konnten gefunden werden"
2017-08-10 20:58:10 -06:00
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2017-08-28 12:09:25 -06:00
FLUXIONHashFileDoesNotExistError = "Hash Datei existiert nicht"
2017-09-10 05:20:08 -06:00
FLUXIONHashInvalidError = " ${ CRed } Fehler $CClr , falscher Hash "
2017-12-13 06:23:27 -07:00
FLUXIONHashValidNotice = " ${ CGrn } Erfolgreich $CClr ,Hash wurde erfolgreich verifiziert "
2017-08-28 12:09:25 -06:00
FLUXIONPathToHandshakeFileQuery = " Geben sie den Pfad zum Handshake an $CClr (Beispiel: /.../dump-01.cap) "
2018-04-23 13:02:54 -06:00
FLUXIONPathToHandshakeFileReturnTip = "To go back, leave the hash path blank."
2018-01-09 13:16:47 -07:00
FLUXIONAbsolutePathInfo = "Geben sie den absoluten Pfad ein"
2018-04-23 13:02:54 -06:00
FLUXIONEmptyOrNonExistentHashError = " ${ CRed } Error $CClr , path points to non-existing or empty hash file. "
2017-08-10 20:58:10 -06:00
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2018-01-09 13:16:47 -07:00
FLUXIONScannerChannelQuery = "Wähle deinen Netzwerkfrequenz aus"
FLUXIONScannerChannelOptionAll = "Alle Netzwerkfrequenzen"
FLUXIONScannerChannelOptionSpecific = "Spezifische Frequenz(en)"
2017-08-10 20:58:10 -06:00
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2018-01-09 13:16:47 -07:00
FLUXIONScannerChannelSingleTip = "Einzelne Frequenz"
FLUXIONScannerChannelMiltipleTip = "Mehrere Frequenzen"
2017-08-10 20:58:10 -06:00
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
FLUXIONScannerHeader = "FLUXION Scanner"
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2017-08-28 12:09:25 -06:00
FLUXIONHashSourceQuery = "Wähle eine Methode aus um den Handshake zu erlangen"
FLUXIONHashSourcePathOption = "Handshake Pfad eingeben"
FLUXIONHashSourceRescanOption = "Handshake Ordner neu einlesen"
2018-01-09 13:16:47 -07:00
FLUXIONFoundHashNotice = "Ein Hash wurde für das Netzwerk gefunden"
FLUXIONUseFoundHashQuery = "Möchten Sie dieses Netzwerk nutzen?"
2018-04-23 13:02:54 -06:00
FLUXIONUseFoundHashOption = "Use hash found"
FLUXIONSpecifyHashPathOption = "Specify path to hash"
2018-01-09 13:16:47 -07:00
FLUXIONHashVerificationMethodQuery = "Wählen sie eine Methode um den Hash zu verifizieren"
FLUXIONHashVerificationMethodPyritOption = " Pyrit verifizierung ( ${ CGrn } Empfohlen $CClr ) "
FLUXIONHashVerificationMethodAircrackOption = " Aircrack verfizierung ( ${ CYel } Nicht empfohlen $CClr ) "
2018-05-02 18:50:28 -06:00
FLUXIONHashVerificationMethodCowpattyOption = "cowpatty verification"
2017-08-10 20:58:10 -06:00
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
FLUXIONAttackQuery = "Wählen Sie einen drahtlosen Angriff für den Zugangspunkt aus"
2018-04-23 13:02:54 -06:00
FLUXIONAttackInProgressNotice = " ${ CCyn } \$FluxionAttack $CClr Angriff gestartet "
2018-01-09 13:16:47 -07:00
FLUXIONSelectAnotherAttackOption = "Wählen Sie einen anderen Angriff"
2018-04-23 13:02:54 -06:00
FLUXIONAttackResumeQuery = "This attack has already been configured."
FLUXIONAttackRestoreOption = "Restore attack"
FLUXIONAttackResetOption = "Reset attack"
FLUXIONAttackRestartOption = "Restart"
2017-08-10 20:58:10 -06:00
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2018-04-23 13:02:54 -06:00
FLUXIONGeneralSkipOption = " ${ CYel } Skip "
2017-08-10 20:58:10 -06:00
FLUXIONGeneralBackOption = " ${ CRed } Zurück "
FLUXIONGeneralExitOption = " ${ CRed } Ausgang "
2018-04-23 13:02:54 -06:00
FLUXIONGeneralRepeatOption = " ${ CRed } Repeat "
2017-08-10 20:58:10 -06:00
FLUXIONGeneralNotFoundError = "Nicht gefunden"
2017-08-28 12:09:25 -06:00
FLUXIONGeneralXTermFailureError = " ${ CRed } Xterm Terminal konnte nicht gestartet werden "
2017-08-10 20:58:10 -06:00
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
FLUXIONCleanupAndClosingNotice = "Aufräumen und schließen"
2018-01-09 13:16:47 -07:00
FLUXIONKillingProcessNotice = " Beende ${ CGry } \$targetID $CClr "
2017-12-20 17:30:09 -07:00
FLUXIONRestoringPackageManagerNotice = " Restoring ${ CCyn } \$PackageManagerCLT $CClr "
2017-12-13 06:23:27 -07:00
FLUXIONDisablingMonitorNotice = "Deaktivierung der Netzwerkkarte"
FLUXIONDisablingExtraInterfacesNotice = "Deaktivierung der Netzwerkkarte"
FLUXIONDisablingPacketForwardingNotice = " Deaktivierung ${ CGry } von der Weiterleitung von Paketen "
2017-08-10 20:58:10 -06:00
FLUXIONDisablingCleaningIPTablesNotice = " Säubere ${ CGry } iptables "
FLUXIONRestoringTputNotice = " Wiederherstellung von ${ CGry } tput "
2017-12-13 06:23:27 -07:00
FLUXIONDeletingFilesNotice = " Löschen ${ CGry } von Daten "
2017-08-10 20:58:10 -06:00
FLUXIONRestartingNetworkManagerNotice = " Neustarten des ${ CGry } Netzwerk Manager "
FLUXIONCleanupSuccessNotice = "Wiederherstellung war erfolgreich"
FLUXIONThanksSupportersNotice = "Vielen Dank für die Nutzung von FLUXION"
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2017-08-09 15:25:26 -06:00
# FLUXSCRIPT END