PDA

View Full Version : How to translate shellcode



Gen0TypE
09-04-2008, 12:25 PM
ในการเขียน code เพื่อโจมตี exploit ต่างๆ จะเห็นว่ามีการใช้งาน shellcode กันอย่างแพร่หลาย ซึ่งถ้าเราไปหา exploit เหล่านั้นมาจากเว็บ เราจะไม่ทราบว่า shellcode ที่มีการใช้งานใน exploit นั้นๆ คือคำสั่งอะไร

ยกตัวอย่างเช่น
[code]char shellcode[] = "\x65\x63\x68\x6f\x20\x68\x61\x6b\x72\x3a\x3a\x30\x3a\x30\x3a\x3a\x2f\x3a\x2f\x62"

pspn.n
10-04-2008, 09:09 AM
เป็นวิธีที่เยียมครับ :D

แต่ผมคิดว่ามันไม่สามารถใช้ได้กับทุก shellcode ครับ เพราะ shellcode ส่วนใหญ่ที่ใช้ใน exploit นั้นสร้างจากการทำ reverse engineer (code จาก assembly) ดังนั้นแปลมาแล้วก็ยังไม่สามารถอ่านได้ทั้งหมด เพราะบางอย่างเป็นการอ้างอิง address ในหน่วยความจำ จากตัวอย่างด้านล่างนี้เป็น shellcode จาก milw0rm ใช้ในการแสดง MessageBox ครับ ดูเต็มๆได้ที่นี้
http://www.milw0rm.com/shellcode/1443


[code]
char shellcode[]=
"\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xeb\x37\x59\x88\x51\x0a\xbb"
"\x77\x1d\x80\x7c"

Edkung_
18-04-2008, 09:52 AM
เป็นวิธีที่เยียมครับ biggrin.gif

แต่ผมคิดว่ามันไม่สามารถใช้ได้กับทุก shellcode ครับ เพราะ shellcode ส่วนใหญ่ที่ใช้ใน exploit นั้นสร้างจากการทำ reverse engineer (code จาก assembly) ดังนั้นแปลมาแล้วก็ยังไม่สามารถอ่านได้ทั้งหมด เพราะบางอย่างเป็นการอ้างอิง address ในหน่วยความจำ จากตัวอย่างด้านล่างนี้เป็น shellcode จาก milw0rm ใช้ในการแสดง MessageBox ครับ ดูเต็มๆได้ที่นี้
http://www.milw0rm.com/shellcode/1443
[/b]

ในเมื่อมันเป็น code assembly การที่เราจะทำการวิเคราะห์ shell code นั้นเราก็ควรแปลงมันกลับให้เป็น code assembly ครับ

**Hidden Content: Check the thread to see hidden data.**