daily pastebin goal


a guest Dec 11th, 2010 496 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. On decrypter payload https://github.com/grafchokolo/psgroove
  3. <iLLNESS> graf, is your payload to be used with psgroove?
  5. <g_chokolo> yeah, psgroove, it uses 2 stages
  7. <g_chokolo> boostrap is programmed into psgroove
  8. <g_chokolo> payload is sent to ps3 via ethernet
  9. <g_chokolo> payload is what does the real job :-)
  11. <g_chokolo> i did it that way because you cannot program psgroove with large piece of code
  12. <g_chokolo> bootstrap.bin have to be converted to C hex and inserted into psgroove descriptor
  14. <g_chokolo> i can upload my psgroove descriptor, it's no problem
  15. <g_chokolo> ok, here is my psgroove desc
  16. <g_chokolo> http://pastie.org/1368027
  17. <g_chokolo> just convert bootstrap.bin to payload.h with bin2hex tool i provided
  18. <g_chokolo> the bytes after payload.h doesn't matter, they are just dummies
  20. <g_chokolo> program your psgroove with this bootstrap
  21. <g_chokolo> bootstrap has one purpose, it received payload.bin from me via ethernet and runs it :-)
  23. <g_chokolo> this way i can run huge piece of code :-)
  24. <g_chokolo> and do not need to reprogram my psgroove everytime, have just to change payload and it does something different
  26. <g_chokolo> i'm using tcpdump to capture verything that comes back from ps3 and extract it then with pcap2bin
  28. <g_chokolo> you can also use wireshark if you want to
  29. <g_chokolo> payload.bin is sent to ps3 with sendfile tool i provided
  30. <g_chokolo> and a self to decrypt e.g. is also sent with sendfile via ethernet
  31. <g_chokolo> all data sent to ps3 is acked by ps3, to make sure that file transferred to ps3 is ok
  33. <g_chokolo> because sometimes a ethernet frame can get lost
  35. <g_chokolo> to be able to decrypt selfs you have first to edit main.c file and uncomment it, make sure only self decrypter will be called in main except mm and gelic
  37. <g_chokolo> to decrypt selfs, first run psgroove with programmed bootstrap
  38. <g_chokolo> wait some time till it runsa
  39. <g_chokolo> then send payload.bin
  41. <g_chokolo> data sent to ps3 should be acked,sendfle will give you feedback
  42. <g_chokolo> if it doesn't see any acks then there is a problem
  43. <g_chokolo> i think here it would be best to test it with your ps3
  44. <g_chokolo> when payload.bin is uploaded to ps3 it will be executed immediately
  45. <g_chokolo> if the payload.bin does self decryption then it waits now for you to send it some SELF file to decrypt :-)
  47. <g_chokolo> so send  a SELF to ps3 with sendfile
  48. <g_chokolo> but before that make sure you start tcpdump to capture the data coming back from ps3 :-)
  50. <g_chokolo> because the data will contain the decrypted SELF segments :-)
  51. <g_chokolo> every decrypted self segment is sent using different Ethernet protocol field values
  53. <g_chokolo> i do it for one purpose, to make extracting decrypted segments easier
  54. <g_chokolo> here an example
  55. <g_chokolo> if a SELF has 2 encrypted segments, i send 1st decrypted segment with Ethernet protocol field value 0xBEEF, and the 2nd one i send with protocol (0xBEEF+1)
  57. <g_chokolo> so to extract the 1st segment from tcpdump pcap file i just use "pcap2bin -p 0xBEEF <pcap filename> <segment filename>"
  59. <g_chokolo> so to extract the 2nd segment from tcpdump pcap file i just use "pcap2bin -p 0xBEF0 <pcap filename> <segment filename>"
  61. <g_chokolo> and now you have 2 decrypted segments :-) which are impatient to be loaded into IDA for reversing, but that's not all :-)
  62. <g_chokolo> forgot to say. when self decrypter is done, ps3 should make 2 beeps :-)
  63. <g_chokolo> you need also the right load addresses for those segments in order to be able to reverse it
  64. <g_chokolo> self decrypter sends not only decrypted segments to you, it sends more data :-)
  65. g_chokolo> one of the packets sent to PC by self decrypter contains load address of segment, take a look at decrypt_self.c and you will understand what i mean
  67. <g_chokolo> this paxket is sent just before the decrypted data is sent
  68. <g_chokolo> so now you have everything to do reversing with IDA
  69. <g_chokolo> just load these segments into IDA at right addresses
RAW Paste Data