This repository has been archived on 2024-04-13. You can view files and clone it, but cannot push or open issues or pull requests.
shallot/shallot.sh

63 lines
1.6 KiB
Bash
Raw Normal View History

2023-01-03 21:25:00 +01:00
#!/bin/bash
2023-01-04 19:41:21 +01:00
set -e
# Setting env
SCAN_DATE=`date "+%F-%H-%M"`
SHALLOT_DIR="/tmp/shallot-$SCAN_DATE"
mkdir -p $SHALLOT_DIR
2023-01-03 21:25:00 +01:00
echo "Shallot scritp v0.0.1"
if [[ $# -eq 0 ]] ; then
echo "No arguments was passed, exiting..."
exit 1
fi
if [[ $# -ge 2 ]] ; then
echo "Too much argument was passed, expecting to only get 1 argument, exiting..."
exit 1
fi
ONIONSITE=$1
echo "Checking if Tor Browser proxy is running..."
2023-01-04 19:41:21 +01:00
NETSTAT_OUTPUT=`netstat -tlnp 2> /dev/null`
IF_TOR_RUNNING=`echo $NETSTAT_OUTPUT | grep -Ezqv "/tor" && echo 0 || echo 1`
if [[ "$IF_TOR_RUNNING" = 1 ]] ; then
echo "Tor is running!"
2023-01-03 21:25:00 +01:00
else
echo "Tor is not running"
exit 1;
fi
2023-01-04 19:41:21 +01:00
echo "Checking Onion Service, address: $1"
echo ""
# OnionScan
echo "Runnning OnionScan aginst address, this will take a while..."
ONIONSCAN_REPORT=$(onionscan --jsonReport --torProxyAddress "127.0.0.1:9150" $1 2>$SHALLOT_DIR/onionscan_error.log | jq)
echo $ONIONSCAN_REPORT > $SHALLOT_DIR/onionscan_result.txt
if [ $? ] ; then
echo "OnionScan done! Saved in $SHALLOT_DIR/onionscan_result.txt"
else
echo "Error occured, exiting, check $SHALLOT_DIR/onionscan_error.log for details."
exit 1
fi
# HTTP Headers
echo "Scanning HTTP headers, wait..."
HTTP_HEADERS=$(proxychains -q -f /etc/proxychains4.conf /usr/bin/curl -I -s $1 | tail -n +3 | sed 's/\r//g' | head -n -1 | jq -R 'split(":")|{(.[0]) : .[1]}' 2>$SHALLOT_DIR/http_headers_error.log)
echo $HTTP_HEADERS > $SHALLOT_DIR/http_headers.txt
if [ $? ] ; then
echo "HTTP headers done! Saved in $SHALLOT_DIR/http+headers.txt"
else
echo "Error occured, check $SHALLOT_DIR/http_headers_error.log"
exit 1
fi