Jump to content

H_T_P

VIP
  • Content count

    204
  • Joined

  • Last visited

5 Followers

About H_T_P

  • Rank
    R.C.E

Contact Methods

  • Website URL
    http://www.reversing.gr

Profile Information

  • Gender
    Male
  1. H_T_P

    Final Year Project

    Προσωπικά θα σου πρότεινα να ασχοληθείς με κάποιο θέμα για το οποίο έχεις ήδη τις βάσεις και να μην ξεκινήσεις κάτι απο το μηδέν. Αυτό, γιατί αφενός θα μπορέσεις να εμβαθύνεις σε κάτι που εξαρχής γνωρίζεις ότι σε ενδιαφέρει και κατά συνέπεια θα κάνεις ένα καλό project και αφετέρου διότι σε περίπτωση που ξεκινήσεις κάτι από το μηδέν δεν θα έχεις αρκετό χρόνο για να το αναπτύξεις στον κατάλληλο βαθμό. Όπως ανέφερε και ο k0niek, το σημαντικό κομμάτι του project είναι το report και όχι τόσο η πρακτική εφαρμογή, η οποία άλλωστε θα μεταφερθεί στο Appendix και πιθανά απλά να της ρίξουν μια ματiά και τίποτα περισσότερο, χωρίς αυτό όμως να σημαίνει ότι δεν θα μετρήσει. Απλά να θυμάσαι ότι αυτό που έχει την μεγαλύτερη βαρύτητα και στο οποίο κατά 90% θα στηριχθεί ο βαθμός είναι η θεωρητική, αλλά πάντα τεκμηριωμένη ανάλυση. Επίσης, να θυμάσαι ότι το να βρείς απλά εξαιρετικές πηγές δεν είναι αρκετό. Όταν αναφέρεις κάτι, να προσπαθείς πάντα να βάζεις την προσωπική σου άποψη την οποία προφανώς και πρέπει να τεκμηριώνεις. Με αυτόν τον τρόπο αποδεικνύεις και επιδεικνύεις ότι δεν παραφράζεις απλά, αλλά πραγματικά κατανοείς και κατέχεις τα όσα αναφέρεις. Επιπλεόν, πριν επιλέξεις κάποιο project είναι καλό να σκεφτείς τι μπορείς να αποδείξεις οτι διδάχτηκες μέσα από αυτό, κάτι το οποίο αναφέρεις στον πρόλογο, ως τον λόγο για τον οποίο το επέλεξες και στον επίλογο ότι πραγματικά πέτυχες αυτά που έιχες αναφέρει προηγουμένως, κάτι που αυτόματα σημαίνει οτι πρόκειται για ένα πετυχημένο ακαδημαικό project. Τέλος, να θυμάσαι ότι το project δεν είναι tutorial που γράφεις για να διδάξεις κάτι σε κάποιον άλλο, αλλά κάτι μέσα από το οποίο πρέπει να αποδείξεις στους εξεταστές ότι εσύ προσωπικά έμαθες κάτι περισσότερο. In any case, be realistic...,and keep romance for your spare time. Good luck, H_T_P
  2. Εξαρτάται τι θες ακριβώς να κάνεις. Μπορείς να χρησιμοποιήσεις windows APIs (αν θες να είναι μόνο συμβατό με windows), προκειμένου να πάρεις όλες τις απαραίτητες πληροφορίες από το PE header, αλλά και για να προσθέσεις το καινούριο section και φυσικά να αλλάξεις το OEP ώστε να δείχνει στο stub σου. Σχετικά με το stub, η καλύτερη λύση είναι να το γράψεις κατευθείαν σε asm διότι ο κώδικας θα είναι μικρότερος και επιπλέον έτσι κ αλλιώς θα πρέπει να τον έχεις σε ένα πίνακα από bytes που θα αντιστοιχούν στις εντολές που θες να κάνεις inject, συνεπώς μπορείς να το γράψεις δοκιμαστικά στην μνήμη ενώ κάνεις debug ένα πρόγραμμα με τον olly και στην συνέχεια να κάνεις binary copy το stub σου. Check this
  3. θα σου πρότεινα να μην κάτσεις να μπλέξεις με parent και child processes, το armadillo χρησιμοποιεί τέτοιες τεχνικές αλλά για άλλο σκοπό και όχι για να κρύψει κάτι από κάποιο anti-virus. Μπορείς να έχεις encrypted ανεξάρτητα το ενα από το άλλο κάποια κομμάτια κώδικα και το καθένα να γίνεται decrypt όποτε το χρειάζεσαι κατά την εκτέλεση του stub σου. Πάντως να ξέρεις ότι πολλά anti-virus είναι ιδιαίτερα ευαίσθητα σε self-modifying code και πιθανά να κάνουν detect το stub σου. Η καλύτερη λύση είναι να χρησιμοποιήσεις obfuscation ώστε κρύψεις το stub σου από τα κλασικά signatures σχετικά με self-modifying code. Πέρα από junk bytes, μπορείς να χρησιμοποιήσεις ακολουθίες από εντολές που στην ουσία δεν κάνουν τίποτα, όπως add eax,ebx και μετά λίγο πιο κάτω ή αμέσως μετά, ανάλογα με το τι κάνεις, sub eax,ebx. Επίσης, μπορείς να χρησιμοποιήσεις instructions permutations, με άλλα λόγια αντί να χρησιμοποιείς κατευθείαν μια εντολή για ένα συγκεκριμένο σκοπό, να κάνεις το ίδιο χρησιμοποιώντας άλλες εντολές που στην ουσία κάνουν το ίδιο. Για παράδειγμα αντί να κάνεις xor eax,eax μπορείς να κάνεις... push 0 pop eax ή push eax mov [esp],0 pop eax κτλ..κτλ...για διάφορες εντολές.
  4. H_T_P

    Fight Against Anti-Viruses

    Actually this is a good approach in order to find the appropriate byte patterns and modify them and the most important...it works! ;)
  5. H_T_P

    Fight Against Anti-Viruses

    Yeap, and I should add regarding the function names, that even under a debugging configuration it depends from where you debug the executable. Like, if you debug it from the debug folder of the project where are stored information about the object files created etc, with Olly for example, then you will be able to see the names, otherwise you won't. Furthermore, you shouldn't be so much surprised from the fact that it has been detected by NOD because even with the modifications that Thiseas did in the source, it does not mean that the targeted byte pattern that serves as a detection signature has been altered, not to mention also the heuristics that its AV engine uses... Actually, you would be surprised, but long time ago I saw a case where it was enough to change the sequence of just 2 assembly instructions in order to avoid detection of a specific malware. Which means that the byte pattern could be very very specific and also surprisingly very short (not reccomended in order to avoid false alarms but anyway...), and it could remain the same even after all the modifications that Thiseas mentioned.
  6. H_T_P

    Fight Against Anti-Viruses

    Well, im glad somebody mentioned that, because it is true. This is actually what we call detection through signatures in the case of an AV. The fact that Thiseas replaced some INT3 instructions, that were put by the compiler into so called "unreachable code" places, it for sure changes the computed hash of the file, but none anti-virus would ever use those instructions as a detection signature, which is probably the case of NOD. Furthermore, talking about targeting the hash, it would be enough in that case just to change 1 byte, the recomputed hash would have been completely different anyway. Regarding the 2nd method some of the changes that Thiseas did are optional. For example, changing the names of constants and variables, won't make any difference in the compiled binaries. Regarding names of functions, this may depend on the compiler configuration regarding the purpose of the current compile. In other words, if you are compiling under bebugging configuration it is possible that function names may still exist, otherwise if you are for example under release configuration then they may don't. In any case, it is quite impossible that an anti-virus developper would try to detect a malware through function names, because even if the names are still preserved, he cannot predict that somebody else wont use the same names into his code. The rest of the changes performed into the source by Thiseas, will for sure have an impact into the compiled binaries and could probably fool a detection method through signatures..or not like in the case of NOD.
  7. Καλό είναι οποιαδήποτε απορία σχετικά με το reversing course να την ποστάρετε στο www.reversing.gr στο κατάλληλο section.
  8. Το ενδέκατο μάθημα είναι έτοιμο. Καλή σας ανάγνωση. See ya, H_T_P
  9. Μετά από πολλές καθυστερήσεις και αναβολές, το καινούριο μάθημα σχετικά με το reverse engineering θα είναι σύντομα online. Όσοι πιστοί...υπομονή B) See ya, H_T_P
  10. H_T_P

    Hp Dv7-Series Πρόβλημα

    Το πρόβλημα αυτό το είχες εξαρχής ή άρχισε πρόσφατα να παρουσιάζεται; Αν είναι κάτι που δεν συνέβαινε προηγουμένως, ίσως θα ήταν καλό να θυμηθείς αν έκανες πρόσφατα κάποια updates σε drivers, όπως στην κάρτα γραφικών.
  11. H_T_P

    Reversing Camp

    Τα assignments πλέουν καλύπτουν τα 7 πρώτα μαθήματα. Για περισσότερες πληροφορίες διαβάστε το πρώτο post σχετικά.
  12. H_T_P

    Reversing Camp

    Παρακαλώ, χωρίς παρόμοια σχόλια. ( - και να μην συνεχιστεί η κουβέντα περι τούτου)
  13. H_T_P

    Reversing Camp

    Hi guys! #define endiferomenous OsoiExounAsxoli8eiSovaraMeTaMa8imataKaiTaAssignments Παρακαλώ, λοιπόν τους ενδιαφερόμενους σχετικά με το reversing camp στο site Επιθέσεις να κάνουν ένα reply κάτω από εδώ με απλά ενα "+1" στο νούμερο του προηγούμενου. Δηλαδή ο πρώτος κάνει reply "+1", ο δεύτερος "+2" κτλ, ώστε κοιτώντας πάντα το τελευταίο reply να ξέρω πόσοι είστε χωρίς να πρέπει να μετράω κάθε φορά. Αν έχετε να πείτε κάτι επικοδομητικό επ'αυτού μπορείτε επίσης να το κάνετε. Τα assignments προς το παρόν καλύπτουν τα 6 πρώτα μαθήματα (το 5ο μάθημα δεν το υπολογίζω προς το παρόν για συγκεκριμένα assignments επάνω σε αυτό καθώς ήταν μια παρουσίαση συνδιασμού προστασιών. Κατι αντίστοιχο θα μπεί αργότερα σε ανεξάρτητα reversing challenges). Ο λόγος για τον οποίο θα ήθελα να γνωρίζω πάνω κάτω τους προς το παρόν ενδιαφερόμενους, είναι...έκπληξη :P Τα λέμε, H_T_P
  14. H_T_P

    Compiler Error (?)

    Βασικά αν θες πόσταρε ένα παράδειγμα από αυτά που γράφεις.
  15. H_T_P

    To Grhack Πήγε Private

    Καταρχάς είναι αστείο να γυρίζεις σε private ένα site εξαιτίας προσωπικών διαφορών. Επίσης, νομίζω ότι τα παραλές λίγο αγαπητέ Thiseas, δεν νομίζω ότι θα χάσει κανείς κάτι αν δεν μπορέσει να μπεί στο grhack. Δεν το λέω για να υποτιμήσω, απλά είμαι αντικειμενικός. Όταν έχεις στην διαθεσή σου ολόκληρο το διαδύχτιο, νομίζω ότι το grhack είναι μάλλον μια αμελιτέα απώλεια. Επίσης, χωρίς να έχω τίποτα προσωπικό με τα παιδιά από το grhack, εμένα τουλάχιστον δεν μπορώ να πω ότι μου άρεσε η ellitistiki στάση που κράταγαν απέναντι στο p0wnbox ακόμα και όταν δεν είχα καμία σχέση με τη διαχείρηση, όπως τώρα. Για να τελειώνω, η Ελλάδα δεν κινδυνεύει να βυθιστεί στο σκοτάδι επειδή έκλεισε το grhacκ , ήμαρτον! Σε ότι αφορά σε αυτούς που και καλά ήθελαν την Ελλάδα στο σκοτάδι, έλεος παιδία αλλά ποιός νοιάστηκε ποτέ για αυτούς;!;! Υ.Γ: Όχι άλλο κλάψα!!!
×