Guida Come installare Kali linux su android

Stato
Discussione chiusa ad ulteriori risposte.

insidehackers

Utente Gold
28 Giugno 2013
641
30
222
318
Ultima modifica:
Per utilizzare kali linux sul nostro dispositivo android dobbiamo per prima cosa installare le seguenti applicazioni e chiaramente dobbiamo avere i permessi di ROOT:

Ora scarichiamo l'immagine di kali linux per processori ARM dal sito ufficiale in base al nostro dispositivo:
Ora estraiamo l'immagine dall'archivio e rinominiamola in "kali.img", adesso creiamo un file "boot.sh" nella stessa cartella di kali.img e al suo interno copiamo il codice seguente:
Codice:
###########################################
# Linux boot script V7.9 for Android      #
# Built by Zachary Powell (zacthespack)   #
# and Martin Møller (Tuxling)             #
# Thanks to:                              #
# Johan Vromans                           #
# Marshall Levin                          #
# and to everyone at XDA!                 #
# Feel free to edit/use this script as you#
# like but credit Linuxonandroid.org      #
###########################################
# $ver: V7.9                              #
###########################################


###########################################
# This is a function we use to stop the   #
# script in case of errors                #
###########################################
error_exit() {
    echo "Error: $1"
    exit 1
}


###########################################
# Set up variables                        #
###########################################
if [ -f /data/data/com.zpwebsites.linuxonandroid/files/busybox ]; then
          export bbox=/data/data/com.zpwebsites.linuxonandroid/files/busybox
elif [ -f /data/data/com.zpwebsites.linuxonandroid.opensource/files/busybox ]; then
          export bbox=/data/data/com.zpwebsites.linuxonandroid.opensource/files/busybox
else
    export bbox=/system/bin/busybox
fi

export usermounts=android    # Base folder all user mounts are done in, should be moved to app later
export imgfile=$(dirname $0)/kali.img    # Default image file, another can be set by using an argument
export bin=/system/bin
export mnt=/data/local/mnt
export USER=root
if [[ ! -d $mnt ]]; then mkdir $mnt; fi
export PATH=$bin:/usr/bin:/usr/local/bin:/usr/sbin:/bin:/usr/local/sbin:/usr/games:$PATH
export TERM=linux
export HOME=/root

###########################################
# Handle arguments if present             #
###########################################
if [ $# -ne 0 ]; then
    if [ -f $1 ]; then # Is full path present?
        imgfile=$1

    elif [ -f $(dirname $0)/$1 ]; then # Is only a filename present?
        imgfile=$(dirname $0)/$1

    else
        error_exit "Image file not found!($1)"
    fi
fi

###########################################
# If a md5 file is found we check it here #
###########################################
if [ -f $imgfile.md5 ]; then
        echo "MD5 file found, use to check .img file? (y/n)"
    read answer
    if [ $answer == y ]; then
         echo -n "Validating image checksum... "
             $bbox md5sum -c -s $imgfile.md5
             if [ $? -ne 0 ];then
                  echo "FAILED!"
                  error_exit "Checksum failed! The image is corrupted!"
             else
                  echo "OK"
                  rm $imgfile.md5
             fi
    fi

fi
################################
# Find and read config file    #
# or use defaults if not found #
################################
use_swap=no

cfgfile=$imgfile.config # Default config file if not specified

if [ -f $imgfile.config ]; then
    source $imgfile.config
fi

###########################################
# Set Swap up if wanted                   #
#                                         #
###########################################
if [ $use_swap == yes ]; then
    if [ -f $imgfile.swap ]; then
        echo "Swap file found, using file"
        echo "Turning on swap (if it errors here you do not have swap support"
        swapon $imgfile.swap
     
    else
        echo "Creating Swap file"
        dd if=/dev/zero of=$imgfile.swap bs=1048576 count=1024
        mkswap $imgfile.swap
        echo "Turning on swap (if it errors here you do not have swap support"
        swapon $imgfile.swap
         
    fi
fi
###########################################
# Set up loop device and mount image      #
###########################################
echo -n "Checking loop device... "
if [ -b /dev/block/loop255 ]; then
    echo "FOUND"
else
    echo "MISSING"
    # Loop device not found so we create it and verify it was actually created
    echo -n "Creating loop device... "
    $bbox mknod /dev/block/loop255 b 7 255
    if [ -b /dev/block/loop255 ]; then
        echo "OK"
    else
        echo "FAILED"
        error_exit "Unable to create loop device!"
    fi
fi

$bbox losetup /dev/block/loop255 $imgfile
if [ $? -ne 0 ];then error_exit "Unable to attach image to loop device! (Image = $imgfile)"; fi

$bbox mount -t ext4 /dev/block/loop255 $mnt
if [ $? -ne 0 ];then error_exit "Unable to mount the loop device!"; fi

###########################################
# Mount all required partitions           #
###########################################
$bbox mount -t devpts devpts $mnt/dev/pts
if [ $? -ne 0 ];then error_exit "Unable to mount $mnt/dev/pts!"; fi
$bbox mount -t proc proc $mnt/proc
if [ $? -ne 0 ];then error_exit "Unable to mount $mnt/proc!"; fi
$bbox mount -t sysfs sysfs $mnt/sys
if [ $? -ne 0 ];then error_exit "Unable to mount $mnt/sys!"; fi
$bbox mount -o bind /sdcard $mnt/sdcard
if [ $? -ne 0 ];then error_exit "Unable to bind $mnt/sdcard!"; fi

if [[ ! -d $mnt/root/cfg ]]; then mkdir $mnt/root/cfg; fi
$bbox mount -o bind $(dirname $imgfile) $mnt/root/cfg


###########################################
# Checks if you have a external sdcard    #
# and mounts it if you do                 #
###########################################
if [ -d /sdcard/external_sd ]; then
    $bbox mount -o bind /sdcard/external_sd  $mnt/external_sd
fi
if [ -d /Removable/MicroSD ]; then
    $bbox mount -o bind /Removable/MicroSD  $mnt/external_sd
fi
# This is for the HD version of the Archos 70 internet tablet, may be the same for the SD card edition but i dont know.
if [ -d /storage ]; then
    $bbox mount -o bind /storage  $mnt/external_sd
fi

###########################################
# Mount all user defined mounts if any    #
###########################################
if [ -f $imgfile.mounts ]; then
    olddir=$(pwd)
    echo "Mounting user mounts"

    cd $mnt
    if [[ ! -d $mnt/$usermounts ]]; then $bbox mkdir -p $usermounts; fi

    echo "# Script to unmount user defined mounts, do not delete or edit!" > $imgfile.shutdown
    echo "cd $mnt/$usermounts" > $imgfile.shutdown

    cd $mnt/$usermounts
    for entry in $(cat "$imgfile.mounts"); do
        ANDROID=${entry%;*}
        LINUX=${entry#*;}

        if [[ -d $ANDROID ]]; then
            echo -n "Mounting $ANDROID to $usermounts/$LINUX... "
            if [[ ! -d $mnt/$usermounts/$LINUX ]]; then $bbox mkdir -p $LINUX; fi
            $bbox mount -o bind $ANDROID $mnt/$usermounts/$LINUX &> /dev/null
            if [ $? -ne 0 ];then
                echo FAIL
                if [[ -d $mnt/$usermounts/$LINUX ]]; then $bbox rmdir -p $LINUX; fi
            else
                echo OK
                echo "$bbox umount $mnt/$usermounts/$LINUX" >> $imgfile.shutdown
                echo "$bbox rmdir -p $LINUX" >> $imgfile.shutdown
            fi
        else
            echo "Android folder not found: $ANDROID"
        fi
    done
    echo "cd $mnt" >> $imgfile.shutdown
    echo "$bbox rmdir -p $usermounts" >> $imgfile.shutdown
    cd $olddir

else
    echo "No user defined mount points"
fi

###########################################
# Sets up network forwarding              #
###########################################
$bbox sysctl -w net.ipv4.ip_forward=1
if [ $? -ne 0 ];then error_exit "Unable to forward network!"; fi

# If NOT $mnt/root/DONOTDELETE.txt exists we setup hosts and resolv.conf now
if [ ! -f $mnt/root/DONOTDELETE.txt ]; then
    echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
    if [ $? -ne 0 ];then error_exit "Unable to write resolv.conf file!"; fi
    echo "nameserver 8.8.4.4" >> $mnt/etc/resolv.conf
    echo "127.0.0.1 localhost" > $mnt/etc/hosts
    if [ $? -ne 0 ];then error_exit "Unable to write hosts file!"; fi
fi


###########################################
# Chroot into ubuntu                      #
###########################################
$bbox chroot $mnt /root/init.sh $(basename $imgfile)

###########################################
# Shut down ubuntu                        #
###########################################
echo "Shutting down Linux ARM"
#for pid in `lsof | grep $mnt | sed -e's/  / /g' | cut -d' ' -f2`; do kill -9 $pid >/dev/null 2>&1; done
for pid in `$bbox lsof | $bbox grep $mnt | $bbox sed -e's/  / /g' | $bbox cut -d' ' -f2`; do $bbox kill -9 $pid >/dev/null 2>&1; done
sleep 5

###########################################
# Unmount all user defined mounts if any  #
###########################################
if [ -f $imgfile.shutdown ]; then
    echo "Unmounting user defined mounts"
    sh $imgfile.shutdown
    rm $imgfile.shutdown
fi

$bbox umount $mnt/root/cfg
$bbox umount $mnt/sdcard
$bbox umount $mnt/external_sd
$bbox umount $mnt/dev/pts
$bbox umount $mnt/dev
$bbox umount $mnt/proc
$bbox umount $mnt/sys
$bbox umount $mnt
$bbox losetup -d /dev/block/loop255 &> /dev/null

Adesso non ci resta che avviare kali linux, apriamo l'emulatore terminale sul nostro dispositivo, come prima cosa dobbiamo dare i permessi di root al terminale e quindi:
Codice:
su

Spostiamoci nella cartella che contiene il file boot.sh e kali.img con il comando cd, possiamo aiutarci con io comando LS per trovare la directory,se il file si trova nella memoria esterna di solito è:
Codice:
cd /storage/emulated/0

Ora digitiamo:
Codice:
chmod 777 boot.sh

ora possiamo avviare kali:
Codice:
sh boot.sh

Se è andato tutto per il verso giusto ci troveremo davanti al bash di kali linux e da qui possiamo installare ed utilizzare alcuni tool, ad esempio possiamo installare nuovi pacchetti con il comando apt-get o aptitude
Adesso per visualizzare il KDE(il Desktop) digitiamo sul terminale di kali
Codice:
vncserver

lasciamo il terminale in esecuzione in background ed apriamo VNC Viewer, tramite il "+" verde in basso a destra aggiungiamo come ip 127.0.0.1:1 e sotto mettiamo il nome che vogliamo.
 
Perché mi da questo errore?
u0_a225@hllte:/ $ su
root@hllte:/ # chmod 777 boot.sh
Unable to chmod boot.sh: No such file or directory
10|root@hllte:/ #
 
L'errore e dovuto al semplice fatto che bisogna spostarsi nella cartella che contiene il file in questione boot.sh, quindi con io comando cd /storage ,possiamo cercare il file con il comando find | grep boot.sh
 
225@hllte:/storage/extSdCard/kali.img $ su
root@hllte:/storage/extSdCard/kali.img # chmod 777 boot.sh
root@hllte:/storage/extSdCard/kali.img # sh boot.sh
: not found
: not found:
: not found:
Error:
: bad number 1



Mi da questo errore perché?
 
Arrivato al punto dove devo eseguire boot.sh mi da questo problema
 

Allegati

  • Screenshot_20160404-110228~01.png
    Screenshot_20160404-110228~01.png
    39.7 KB · Visualizzazioni: 195
225@hllte:/storage/extSdCard/kali.img $ su
root@hllte:/storage/extSdCard/kali.img # chmod 777 boot.sh
root@hllte:/storage/extSdCard/kali.img # sh boot.sh
: not found
: not found:
: not found:
Error:
: bad number 1



Mi da questo errore perché?
Stesso problema

Inviato dal mio LG-D802 utilizzando Tapatalk
 
Stesso problema

Inviato dal mio LG-D802 utilizzando Tapatalk
stesso problema. Come posso risolvere?
225@hllte:/storage/extSdCard/kali.img $ su
root@hllte:/storage/extSdCard/kali.img # chmod 777 boot.sh
root@hllte:/storage/extSdCard/kali.img # sh boot.sh
: not found
: not found:
: not found:
Error:
: bad number 1



Mi da questo errore perché?
Anche a me stesso problema! Da cosa può dipendere?
 
Stato
Discussione chiusa ad ulteriori risposte.