diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 7179c92..d494dbd 100755 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,40 +13,30 @@ "state": { "type": "markdown", "state": { - "file": "Getting Started/Welcome to the Jibo Revival Project.md", + "file": "Documentation/Useful Items List.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "Welcome to the Jibo Revival Project" - } - }, - { - "id": "c3f7d6e3edde93cc", - "type": "leaf", - "state": { - "type": "markdown", - "state": { - "file": "Jibo Reval Project/Attack Vectors/Hardware and Tegra Exploitation.md", - "mode": "source", - "source": false - }, - "icon": "lucide-file", - "title": "Hardware and Tegra Exploitation" + "title": "Useful Items List" } }, { "id": "0806f039bf8a940e", "type": "leaf", "state": { - "type": "empty", - "state": {}, + "type": "markdown", + "state": { + "file": "index.md", + "mode": "source", + "source": false + }, "icon": "lucide-file", - "title": "New tab" + "title": "index" } } ], - "currentTab": 2 + "currentTab": 1 } ], "direction": "vertical" @@ -224,43 +214,43 @@ }, "active": "0806f039bf8a940e", "lastOpenFiles": [ - "Useful Items.md", + "Documentation/Useful Items List.md", + "obsidian/06 - Updater (How It Works).md", + "obsidian/02 - Mapping to guide.md", + "obsidian/00 - Index.md", + "Getting Started/Welcome to the Jibo Revival Project.md", "Documentation/AtDev - New Firewall script.md", + "Documentation/Networking/Network Profiling & Traffic Analysis.md", + "Documentation/Networking", + "Documentation/The be skill/Assets/The audio directory.md", + "Documentation/The be skill/Assets/The assets directory.md", + "Documentation/The be skill/Assets", + "Documentation/The be skill/The Splash screen image!.md", + "Documentation/The be skill/About the be skill.md", + "Documentation/The be skill", + "Documentation/Networking/Networking & ports & Error codes.md", + "Getting Started/Developing for Jibo/About - Jibo SDK V2!.md", + "Getting Started/Developing for Jibo/Introduction to the New Jibo SDK.md", + "Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.png", + "Attack Vectors/Hardware and Tegra Exploitation.md", + "Dictionary/ShofEL2 - Fusée Gelée Exploit.md", + "Assets/Jibo RCM.jpg", + "index.md", + "About UART Connection", "obsidian/08 - Troubleshooting.md", "obsidian/07 - Working Directory + State Files.md", - "obsidian/06 - Updater (How It Works).md", "obsidian/05 - Windows Support.md", "obsidian/04 - GUI (How It Works).md", "obsidian/03 - CLI Arguments.md", - "obsidian/02 - Mapping to guide.md", "obsidian/01 - Installer (How It Works).md", - "obsidian/00 - Index.md", "obsidian", - "Getting Started/Welcome to the Jibo Revival Project.md", + "Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.kra", + "Documentation/The be skill/Assets/Menu Buttons", "Getting Started/Modifying the Firmware/1. Get your environment ready!.md", - "Getting Started/Developing for Jibo/Introduction to the New Jibo SDK.md", - "index.md", - "Jibo Workshop HRI 2024.md", - "README.md", - "Getting Started/Developing for Jibo/About - Jibo SDK V2!.md", - "Getting Started/Modifying the Firmware/Using the install script.md", + "Discoveries/Jibo Workshop HRI 2024.md", "Getting Started/Developing for Jibo", - "Dictionary/Robot Os.md", - "Dictionary/ESML.md", - "Dictionary/NVIDIA Tegra K1 (T124) Soc.md", - "Dictionary/ShofEL2 - Fusée Gelée Exploit.md", - "Attack Vectors/Hardware and Tegra Exploitation.md", - "Discoveries/Network Profiling & Traffic Analysis.md", - "Documentation/Validated memory adresses.md", - "Assets/Jibo RCM.jpg", "Getting Started/Modifying the Firmware", "Getting Started", - "Attack Vectors", - "ESML/Jibo-Animations.pdf", - "ESML/ESML-SDK.pdf", - "Jibo Reval Project", - "Untitled.base", - "Assets/JiboChatGPT.png", - "Assets" + "Assets/JiboChatGPT.png" ] } \ No newline at end of file diff --git a/Documentation/Validated memory adresses.md b/Attack Vectors/Validated memory adresses.md similarity index 100% rename from Documentation/Validated memory adresses.md rename to Attack Vectors/Validated memory adresses.md diff --git a/Jibo Workshop HRI 2024.md b/Discoveries/Jibo Workshop HRI 2024.md similarity index 100% rename from Jibo Workshop HRI 2024.md rename to Discoveries/Jibo Workshop HRI 2024.md diff --git a/Documentation/AtDev - New Firewall script.md b/Documentation/AtDev - New Firewall script.md new file mode 100644 index 0000000..85a278f --- /dev/null +++ b/Documentation/AtDev - New Firewall script.md @@ -0,0 +1,254 @@ +- - - +# #AtDev , work in progress +- - - +Under /etc/init.d/ we have + +```shell + + # cd /etc/init.d/ +# ls +S00fix-os S15crond S33dbus S48avahi-daemon S63body-board-power S78jibo-system-manager +S01logging S18udev S36sshd S51upload-logs S66ntp S81named +S06coredumps S21firewall S39audio-enable S54modules S69start-X11 S84identity-syslog +S09wifi-enable S24cpufreq S42avahi-setup.sh S57alsa-volume S72jibo-apply-update rcK +S12dns-prime S30urandom S45network S60alsaloopback S75jibo-service-registry rcS + +``` + +currently interested in `/etc/init.d/S21firewall` + +```log +# cat /etc/init.d/S21firewall +#!/bin/sh +# +# Jibo Firewall init script +# + +set -e + +IPTABLES_CMDS="/usr/sbin/iptables /usr/sbin/ip6tables" + +flush_rules() { + for iptables in $IPTABLES_CMDS; do + $iptables -t filter -F + $iptables -t filter -P INPUT ACCEPT + $iptables -t filter -P FORWARD ACCEPT + $iptables -t filter -P OUTPUT ACCEPT + # add the DYNAMIC_ACCESS chain unconditionally + $iptables -t filter -X + $iptables -t filter -N DYNAMIC_ACCESS + done +} + +normal_rules() { + for iptables in $IPTABLES_CMDS; do + $iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT + $iptables -t filter -A INPUT -p icmp -j ACCEPT + $iptables -t filter -A INPUT -i lo -j ACCEPT + # allow dynamic access rules from system-manager + $iptables -t filter -A INPUT -j DYNAMIC_ACCESS + $iptables -t filter -A INPUT -j REJECT + $iptables -t filter -A FORWARD -j REJECT + done +} + +developer_rules() { + for iptables in $IPTABLES_CMDS; do + # jibo-dev-shell + $iptables -t filter -A INPUT -p tcp --syn --dport 8686 -j ACCEPT + # jibo-skills-service + $iptables -t filter -A INPUT -p tcp --syn --dport 8779 -j ACCEPT + # jibo-sync + $iptables -t filter -A INPUT -p tcp --syn --dport 8989 -j ACCEPT + # jibo-debug-proxy + $iptables -t filter -A INPUT -p tcp --syn --dport 9191 -j ACCEPT + # avahi + $iptables -t filter -A INPUT -p udp --dport 5353 -j ACCEPT + done + normal_rules +} + +certification_rules() { + for iptables in $IPTABLES_CMDS; do + # jibo-certification-service + $iptables -t filter -A INPUT -p tcp --syn --dport 9292 -j ACCEPT + done + normal_rules +} + +service_rules() { + for iptables in $IPTABLES_CMDS; do + # jibo-certification-service + $iptables -t filter -A INPUT -p tcp --syn --dport 9292 -j ACCEPT + # jibo-service-center-service + $iptables -t filter -A INPUT -p tcp --syn --dport 9797 -j ACCEPT + # avahi + $iptables -t filter -A INPUT -p udp --dport 5353 -j ACCEPT + done + normal_rules +} + +start() { + echo -n "Configuring firewall: " + flush_rules + my_mode=$(/usr/bin/jibo-getmode) + if [ $? -ne 0 ]; then + echo "Unspecified mode. SKIP" + elif [ "$my_mode" == "identified" ]; then + echo "IDENTIFIED" + elif [ "$my_mode" == "int-developer" ]; then + echo "INT-DEVELOPER" + elif [ "$my_mode" == "developer" ]; then + developer_rules + test $? -eq 0 && echo "DEVELOPER" || echo "ERROR" + elif [ "$my_mode" == "certification" ]; then + certification_rules + test $? -eq 0 && echo "CERTIFICATION" || echo "ERROR" + elif [ "$my_mode" == "service" ]; then + service_rules + test $? -eq 0 && echo "SERVICE" || echo "ERROR" + else + normal_rules + test $? -eq 0 && echo "OK" || echo "ERROR" + fi +} + +stop() { + echo -n "Unconfiguring firewall: " + flush_rules + test $? -eq 0 && echo "OK" || echo "ERROR" +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" >&2 + exit 1 + ;; +esac +``` + +and in `S78jibo-system-manager` + +```log +# cat S78jibo-system-manager +#!/bin/sh +# +# Jibo System Manager init script +# + +set -e + +PROCESS=jibo-system-manager +BIN_DIR=/usr/local/bin +CFG_DIR=/usr/local/etc + +check_mode() { + my_mode=$(/usr/bin/jibo-getmode) + if [ $? -ne 0 ]; then + echo "Unspecified mode. SKIP" + exit 0; + fi + if [ "$my_mode" != "oobe" \ + -a "$my_mode" != "int-developer" \ + -a "$my_mode" != "developer" \ + -a "$my_mode" != "normal" \ + -a "$my_mode" != "certification" \ + -a "$my_mode" != "service" ]; then + echo "Mode is $my_mode. SKIP" + exit 0; + fi + # only configure coredump generation for internal development modes + # for all other modes, don't configure as they cannot be used + if [ "$my_mode" == "int-developer" ]; then + echo "Configuring coredumps" + # all subprocesses should generate core dumps + ulimit -c unlimited + fi +} + +check_running() { + pgrep -x jibo-system-man >& /dev/null + return $? +} + +wait_for_stopped() { + while check_running; do + echo -n "waiting... " + sleep 2 + done +} + +start() { + echo -n "Starting $PROCESS: " + check_mode + $BIN_DIR/$PROCESS -c $CFG_DIR/$PROCESS.json --daemon + test $? -eq 0 && echo "OK" || echo "ERROR" +} + +stop() { + echo -n "Stopping $PROCESS: " + killall $PROCESS + wait_for_stopped + test $? -eq 0 && echo "OK" || echo "ERROR" +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + *) + echo "Usage: $0 {start|stop}" >&2 + exit 1 + ;; +esac +``` + +to bypass the lockout in normal mode we can add like a filter under the normal rules function + +first ima remount with write permissions : + +```shell + + mount -o remount,rw / + +# vi and append : + +normal_rules() { + for iptables in $IPTABLES_CMDS; do + $iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT + $iptables -t filter -A INPUT -p icmp -j ACCEPT + $iptables -t filter -A INPUT -i lo -j ACCEPT + # allow dynamic access rules from system-manager + + + + >>> $iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT <<< + $iptables -t filter -A INPUT -j DYNAMIC_ACCESS + $iptables -t filter -A INPUT -j REJECT + $iptables -t filter -A FORWARD -j REJECT + done +} + + +``` + +i was gonna use telnetd but its not installed + +anyway using`jibo-getmode` i will revert back to the `normal` mode + +and it works! saving diff for the installer + +now that we have normal mode with ssh we have more capabilities, i will re screw the head back!... i broke my face ring diff --git a/Discoveries/Network Profiling & Traffic Analysis.md b/Documentation/Networking/Network Profiling & Traffic Analysis.md similarity index 82% rename from Discoveries/Network Profiling & Traffic Analysis.md rename to Documentation/Networking/Network Profiling & Traffic Analysis.md index b1984b3..b7fa4ef 100755 --- a/Discoveries/Network Profiling & Traffic Analysis.md +++ b/Documentation/Networking/Network Profiling & Traffic Analysis.md @@ -61,14 +61,11 @@ When Jibo reaches the "Checking for Updates" screen, it isn't "dead." Even while ### **Domain Discrepancy** - **jibo.com:** Officially shut down; no longer resolves to an active site. -- **jibo.net:** Currently active with a "Coming Soon" page. I am monitoring this to see if any hardcoded traffic redirects here. +- **jibo.net:** Tribute site made by Community member Jibo-detective or RoboticaLabs on youtube --- -## Next Steps for Contributors - -1. **SSL Decryption:** We need to perform a Man-in-the-Middle (MITM) attack using a tool like `mitmproxy` to see the actual content of the HTTPS requests. -2. **DNS Poisoning:** Set up a local DNS server (like Pi-hole or a custom BIND server) to redirect `8.8.8.8` calls to a local gateway. -3. **Endpoint Mocking:** Create a Python or Flask server to return dummy `200 OK` responses to the AWS IPs to see if Jibo bypasses the update screen. +Check out [[Networking & ports & Error codes]] by ZaneDev from discord --- + diff --git a/Useful Items.md b/Documentation/Networking/Networking & ports & Error codes.md similarity index 55% rename from Useful Items.md rename to Documentation/Networking/Networking & ports & Error codes.md index 56b64ec..77df8ac 100644 --- a/Useful Items.md +++ b/Documentation/Networking/Networking & ports & Error codes.md @@ -1,4 +1,4 @@ -Jibo was built a little weird, so it's easy to forget things. This document contains things that are nice to know for tinkering or developing for Jibo Revival. +- - - # Useful Ports > [!INFORMATION] > You might not be able to access some ports if you haven't unblocked them on Jibo's firewall. @@ -19,11 +19,3 @@ It seems in recent versions of Jibo errors relating to him not being able to con | Q4 | No | | | N1–N12 | No | | | OTA11, R1 | No | Triggers error-within-error: "NOT HANDLED BY ERROR SKILL" | - -# Useful Files -### /opt/jibo/Jibo/Skills/@be/be/resources/JiboSplash.png -This file allows you to edit the splash screen. This is the image that shows at the start of the Be skill (normally the Jibo logo, Jibo Revival logo, OpenJiboOS logo, or some variation). Note: This is only the splash screen for the Be skill. It will only edit the splash seen when you restart "@be/Be", or in the 'second boot stage' when Jibo spins and shows the splash a second time. -### /usr/local/bin/ -Has a lot of random assets, potentially has assets useful for restoration. -### /opt/jibo/Jibo/Skills/@be/be/node_modules/jibo-anim-db-animations/audio/ -Lots of audio assets, the surrounding folders also contain other assets. diff --git a/Documentation/The be skill/About the be skill.md b/Documentation/The be skill/About the be skill.md new file mode 100644 index 0000000..e155dff --- /dev/null +++ b/Documentation/The be skill/About the be skill.md @@ -0,0 +1,5 @@ + - - - +The Be skill really is just jibos main menu including his eye and well... menu... +anyway i will write about this later but for now here are some references to check out :) + + diff --git a/Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.kra b/Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.kra new file mode 100644 index 0000000..c60bad9 Binary files /dev/null and b/Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.kra differ diff --git a/Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.png b/Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.png new file mode 100644 index 0000000..94f115e Binary files /dev/null and b/Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.png differ diff --git a/Documentation/The be skill/Assets/The assets directory.md b/Documentation/The be skill/Assets/The assets directory.md new file mode 100644 index 0000000..4710c38 --- /dev/null +++ b/Documentation/The be skill/Assets/The assets directory.md @@ -0,0 +1,5 @@ +- - - + +Located in `/usr/local/bin/` + +Has a lot of random assets, potentially has assets useful for restoration. \ No newline at end of file diff --git a/Documentation/The be skill/Assets/The audio directory.md b/Documentation/The be skill/Assets/The audio directory.md new file mode 100644 index 0000000..2919870 --- /dev/null +++ b/Documentation/The be skill/Assets/The audio directory.md @@ -0,0 +1,5 @@ + - - - + +Located in `/opt/jibo/Jibo/Skills/@be/be/node_modules/jibo-anim-db-animations/audio/` + +Lots of audio assets, the surrounding folders also contain other assets. \ No newline at end of file diff --git a/Documentation/The be skill/The Splash screen image!.md b/Documentation/The be skill/The Splash screen image!.md new file mode 100644 index 0000000..496253c --- /dev/null +++ b/Documentation/The be skill/The Splash screen image!.md @@ -0,0 +1,7 @@ +- - - + +it is located in: + +`/opt/jibo/Jibo/Skills/@be/be/resources/JiboSplash.png` + +This file allows you to edit the splash screen. This is the image that shows at the start of the Be skill (normally the Jibo logo, Jibo Revival logo, OpenJiboOS logo, or some variation). Note: This is only the splash screen for the Be skill. It will only edit the splash seen when you restart "@be/Be", or in the **'second boot stage'** when Jibo spins and shows the splash a second time. \ No newline at end of file diff --git a/Documentation/Useful Items List.md b/Documentation/Useful Items List.md new file mode 100644 index 0000000..9de44c7 --- /dev/null +++ b/Documentation/Useful Items List.md @@ -0,0 +1,13 @@ +Jibo was built a little weird, so it's easy to forget things. This document contains things that are nice to know for tinkering or developing for Jibo Revival. +- - - +## About [[The Splash screen image!]] + +## About [[The assets directory]] + +## About [[The audio directory]] + +## About [[Networking & ports & Error codes]] +## About [[Network Profiling & Traffic Analysis]] + +- - - + Documented by ZaneDev @ Our Discord \ No newline at end of file diff --git a/index.md b/index.md index ca660e7..3392fad 100644 --- a/index.md +++ b/index.md @@ -5,28 +5,18 @@ This is a vault base around the jibo revival project, everything we have discove ### Table Of Contents -[[Hardware and Tegra Exploitation]] +To check a mod guide , go to [[1. Get your environment ready!]] -[[Network Profiling & Traffic Analysis]] +To read about the project go to : [[Welcome to the Jibo Revival Project]] + +To learn about the os , check out [[Useful Items List]] +>[!info] + Files under uncategorized or Documentation with the #AtDev tag are files i use to keep track of the steps to make or recreate something , eventually they will get compiled to a guide or proper documentation + - - - - - Uncategorized: - [[Jibo Workshop HRI 2024]] - [[Useful Items]] - - - Documentation: - ESML: - [[ESML-SDK.pdf]] - [[Jibo-Animations.pdf]] - Dictionary: - [[ESML]] - [[Robot Os]] - - More stuff will be coming soon :) \ No newline at end of file