{"id":16183069,"url":"https://github.com/raphaelm-sudo/genexis_f500","last_synced_at":"2025-07-09T15:31:39.941Z","repository":{"id":213385603,"uuid":"734017253","full_name":"raphaelM-sudo/Genexis_F500","owner":"raphaelM-sudo","description":null,"archived":false,"fork":false,"pushed_at":"2024-06-16T14:29:08.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-13T15:24:33.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raphaelM-sudo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-20T16:58:03.000Z","updated_at":"2024-06-16T14:29:11.000Z","dependencies_parsed_at":"2023-12-20T18:23:39.542Z","dependency_job_id":"82245ee2-9d3b-40e2-830c-ae823321a33b","html_url":"https://github.com/raphaelM-sudo/Genexis_F500","commit_stats":null,"previous_names":["raphaelm-sudo/genexis_f500"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelM-sudo%2FGenexis_F500","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelM-sudo%2FGenexis_F500/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelM-sudo%2FGenexis_F500/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raphaelM-sudo%2FGenexis_F500/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raphaelM-sudo","download_url":"https://codeload.github.com/raphaelM-sudo/Genexis_F500/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247655130,"owners_count":20974123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T06:44:49.992Z","updated_at":"2025-04-07T12:41:43.767Z","avatar_url":"https://github.com/raphaelM-sudo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Anleitung für Root-Zugang und ändern des DNS\nStand: 22.12.2023, Genexis Pure F500, Firmware: PURE-F500-GNX-4.3.6.110-R \n\n## 1. JUCI Admin\nMan kann sich mit dem Benutzernamen: \"admin\" und dem Passwort: \"admin\" auf dem JUCI Panel (http://192.168.1.1) des Modems anmelden. #security\n(Falls die Zugangsdaten falsch sind: Ich musste mein Modem erst kürzlich auf die Werkseinstellungen zurücksetzen, d.h. kann es sein, dass das notwendig ist.)\n\n![JUCI Admin Credentials](https://imgur.com/jaLbzsz.png \"JUCI Admin Credentials\")\n\n## 2. SSH Key generieren\nEs ist möglich sich über SSH, als root-User anzumelden, allerdings muss man vorher einen Schlüssel erzeugen.\n\n### Linux\nUm einen neuen RSA-Schlüssel unter Linux zu erstellen, muss der Befehl `ssh-keygen -t rsa` ausgeführt werden.\nMan kann bei allen Optionen die Eingabetaste drücken. Optional kann man ein Passwort wählen, welches dann beim Aufbau der SSH-Verbindung abgefragt wird.\n\n![Linux RSA Key](https://imgur.com/EpRbUnf.png \"Linux RSA Key\")\n\n### Windows (PuTTYgen)\nPutty ist ein SSH-Client für Windows und kann [hier](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) heruntergeladen werden.\n\nMit dem PuTTY Installer kommt auch PuTTYgen.\nZum Erstellen eines SSH-RSA Schlüssels muss PuTTYgen geöffnet werden.\n\n![PuTTY Key Generator](https://imgur.com/TuM3tFu.png \"PuTTY Key Generator\")\n - Die Bit-Anzahl rechts unten auf `3072` setzen.\n - \"Generate\" klicken.\n - Den Mauszeiger über die Fläche unterhalb des Fortschrittbalkens bewegen, bis dieser voll ist.\n\n![PuTTY Key Generator](https://imgur.com/Zjaadi1.png \"PuTTY Key Generator\")\n - Optional kann in den Feldern \"Key passphrase\" und \"Confirm passphrase\" ein Passwort für den Schlüssel gesetzt werden.\n - \"Save private key\" klicken und den privaten Schlüssel an einem sicheren Ort speichern.\n - Den Public-Key aus dem Textfeld vollständig kopieren, in einen Texteditor einfügen und ebenfalls speichern - nicht \"Save public key\" klicken!\n\n## 3. SSH in JUCI einrichten\nMit dem admin-Benutzer ist es nun möglich unter http://192.168.1.1/#!/settings-management-dropbear den generierten, öffentlichen SSH-RSA-Schlüssel zu hinterlegen.\n\n![Dropbear SSH](https://imgur.com/rdA10YE.png \"Dropbear SSH\")\n - Unter dem Punkt \"Accepted SSH keys\" auf \"Add\" klicken.\n\n![Dropbear SSH](https://imgur.com/eCdFziK.png \"Dropbear SSH\")\n - Den Text des Public-Keys entweder einfügen, oder die Datei (unter Linux befindet sie sich in `~/.ssh/id_rsa.pub`) auswählen.\n - \"Apply\" klicken.\n\n## 4. Per SSH verbinden\n### Linux\nDer Befehl dazu lautet: `ssh -i ~/.ssh/id_rsa root@192.168.1.1`.\n\nUnter Linux ist es noch notwendig folgenden Eintrag in der `~/.ssh/config` vorzunehmen, da das Modem den ssh-rsa Cypher verwendet:\n\n```\nHost 192.168.1.1\n    HostKeyAlgorithms +ssh-rsa\n    PubkeyAcceptedKeyTypes +ssh-rsa\n```\n\n### Windows (PuTTY)\nZum Verbinden PuTTY (nicht PuTTYgen) öffnen.\n\n![PuTTY](https://imgur.com/FvcRpLg.png \"PuTTY\")\n - Unter Connection \u003e SSH \u003e Auth \u003e Credentials den Pfad zum Private-Key angeben.\n\n![PuTTY](https://imgur.com/ygGVGiF.png \"PuTTY\")\n - Unter Connection \u003e Data \"root\" als Auto-Login-Usernamen angeben.\n\n![PuTTY](https://imgur.com/vC03vS9.png \"PuTTY\")\n - Unter Session `192.168.1.1` als IP-Adresse angeben.\n - Einen Namen für die Verbindung im Feld unter \"Saved Sessions\" eingeben.\n - \"Save\" klicken - die Verbindung kann in Zukunft einfach ausgewählt werden.\n - \"Open\" klicken.\n\nDie SSH-Verbindung sollte nun erfolgreich und man als root-User angemeldet sein:\n\n![SSH](https://imgur.com/RJlR9qw.png \"SSH\")\n\n## 5. DNSmasq DNS-Rolle deaktivieren\nFolgende Befehle in GenXOS eingeben:\n```\nservice dnsmasq stop\nuci set dhcp.@dnsmasq[0].localuse=\"0\"\nuci set dhcp.@dnsmasq[0].port=\"0\"\nuci commit dhcp\nservice dnsmasq restart\n```\n\n## 6. Custom DNS über DHCP\nMein Raspberry Pi ist unter `192.168.1.31` erreichbar. Diese IP auf die eure abändern.\nIch habe zusätzlich den Cloudflare DNS `1.1.1.1` als Failsafe hinzugefügt.\n```\nuci -q delete dhcp.lan.dhcp_option\nuci add_list dhcp.lan.dhcp_option=\"6,192.168.1.31,1.1.1.1\"\nuci commit dhcp\nservice dnsmasq restart\n\nuci -q delete network.wan.dns\nuci add_list network.wan.dns=\"192.168.1.31\"\nuci add_list network.wan.dns=\"1.1.1.1\"\nuci set network.wan.peerdns=\"0\"\nuci commit network\nservice network restart\n```\n\n## 7. Optional: Gäste-Netzwerk\nFalls ihr das default Gäste-Netzwerk verwenden wollt, muss ebenfalls DNS über DHCP konfiguriert werden:\n```\nuci -q delete dhcp.guest.dhcp_option\nuci add_list dhcp.guest.dhcp_option=\"6,192.168.1.31,1.1.1.1\"\nuci commit dhcp\nservice dnsmasq restart\n```\n### Firewall-Regel\nDamit man im Gästenetzwerk auf den DNS-Server im LAN Zugriff hat, muss folgende Regel erstellt werden:\n```\nuci set firewall.guest_rule_local_dns=\"rule\"\nuci set firewall.guest_rule_local_dns.name=\"Allow local DNS Queries\"\nuci set firewall.guest_rule_local_dns.src=\"guest\"\nuci set firewall.guest_rule_local_dns.dest=\"lan\"\nuci set firewall.guest_rule_local_dns.dest_port=\"53\"\nuci set firewall.guest_rule_local_dns.dest_ip=\"192.168.1.31\"\nuci set firewall.guest_rule_local_dns.target=\"ACCEPT\"\nuci set firewall.guest_rule_local_dns.proto=\"tcp udp\"\nuci set firewall.guest_rule_local_dns.family=\"ipv4\"\nuci commit firewall\nservice firewall restart\n```\nIP wie immer abändern.\n\n# 🎉 Done!\n\n![](https://imgur.com/ftOscRA.jpeg)\n\nMal eingeloggt, kann man das root-Passwort mit dem Befehl: `passwd root` ändern, wenn man nicht mehr mittels RSA-Key verbinden möchte.\n\nIch habe versucht die Anleitung möglichst einfach zu halten und wollte das root-Passwort cracken, damit der Schritt des RSA-Key-Erstellens entfällt. Jedoch hat Hashcat mit der RockYou Passwortliste und allen Kleinbuchstaben bis inkl. 8 Zeichen zu keinem Ergebnis geführt. Der Hash ist folgender: `$1$hixkj06D$465iCCMxkKbE6OW9NbcOV1`. Vielleicht hat ja jemand mehr Erfolg ;)\n\nAuf der Suche nach dem Passwort bin ich auch auf folgenden Forenpost gestoßen, der ebenfalls interessant sein könnte: [IOPSYS EG400 - ein Modem vom selben Hersteller](https://forum.openwrt.org/t/iopsys-eg400-possible-to-run-up-to-date-openwrt/20673)\n\nMein nächstes Ziel ist es, auf dem F500 das originale OpenWRT zu installieren.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraphaelm-sudo%2Fgenexis_f500","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraphaelm-sudo%2Fgenexis_f500","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraphaelm-sudo%2Fgenexis_f500/lists"}