quick update
This commit is contained in:
82
.obsidian/workspace.json
vendored
82
.obsidian/workspace.json
vendored
@@ -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"
|
||||
]
|
||||
}
|
||||
254
Documentation/AtDev - New Firewall script.md
Normal file
254
Documentation/AtDev - New Firewall script.md
Normal file
@@ -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
|
||||
@@ -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
|
||||
|
||||
---
|
||||
|
||||
@@ -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.
|
||||
5
Documentation/The be skill/About the be skill.md
Normal file
5
Documentation/The be skill/About the be skill.md
Normal file
@@ -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 :)
|
||||
|
||||
|
||||
BIN
Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.kra
Normal file
BIN
Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.kra
Normal file
Binary file not shown.
BIN
Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.png
Normal file
BIN
Documentation/The be skill/Assets/Menu Buttons/ButtonSetup.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 133 KiB |
@@ -0,0 +1,5 @@
|
||||
- - -
|
||||
|
||||
Located in `/usr/local/bin/`
|
||||
|
||||
Has a lot of random assets, potentially has assets useful for restoration.
|
||||
5
Documentation/The be skill/Assets/The audio directory.md
Normal file
5
Documentation/The be skill/Assets/The audio directory.md
Normal file
@@ -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.
|
||||
7
Documentation/The be skill/The Splash screen image!.md
Normal file
7
Documentation/The be skill/The Splash screen image!.md
Normal file
@@ -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.
|
||||
13
Documentation/Useful Items List.md
Normal file
13
Documentation/Useful Items List.md
Normal file
@@ -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
|
||||
24
index.md
24
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 :)
|
||||
Reference in New Issue
Block a user