Pivot Network with Chisel — [POC]
#CyberSecurity
#Blue_Team
#DFIR
#Pivot_Network_Chisel
#เป็นเพียงแนวคิดหรือความคิดของผู้เขียนผิดพลาดประการใดต้องขออภัยด้วยครับจัดทำขึ้นมาเพื่อShareครับโดยไม่มีจุดประสงค์อื่นครับ
สวัสดีครับพี่น้อง นักสืบ Cyber นักสืบโคนนัน ทุกท่าน ๆ ครับ วันนี้ว่าง ๆ เลยจะมาขอ Share ในเรื่องของ Pivot Network ครับ เพราะความสงสัย ในเรื่องของการโจมตี ครับ อาจจะมีส่วนเกี่ยวข้องกับ Case ที่เจอครับ จากการ Investigate & Analysis การโจมตี และมีความส่งสัยว่า แอ๊ะ ๆ ทำไม่ เครื่อง Server ที่ถูก Compromises นั้น มันมี พฤติกรรมแปลก ๆ ครับ เมื่อส่งสัยก็ต้องทดสอบฮะ!!!
สำหรับ Pivot Network จะเป็น Techniques หนึ่ง ที่พวก Attacker ใช่ในการโจมตีในระบบ Network แบบว่า Attacker สามารถ Compromises Server ได้เครื่องหนึ่งแล้ว และจะใช้ เครื่องนี้แหละ เป็นฐานปฏิบัติการ เพื่อที่จะ Lateral Movement ไปยัง Network Zone อื่น ที่นี้แหละ คือ Detection ยากแหละครับ เพราะว่า มันคือ Internal to Internal เพราะฉะนั้นแล้ว มันก็ Detection ยากอะแหละครับ !!! และส่วนมาก Policy Firewall ก็อาจจะทำไม่ Security อาจจะเปิดเป็น All-All, Any-Any ครับ และถ้าองกรณ์ไม่มี SOC ค่อย Monitoring & Detection อยู่ก็อาจจะไม่รู้เลยก็ได้นะครับ ว่ามี Attacker มาฝั่งอยู่นานแสนนานแล้วครับ อย่างที่บอกว่าทำไม่ถึงบอกว่า Internal to Internal มันก็ Detection ยากอะครับ เพราะ Attacker อาจจะใช่ Techniques เพิ่มเติมเช่น (Port Forwarding, Proxy Pivoting Proxychain, VPN Pivoting etc) ครับ ยิ่งทำแบบนี้ก็ ยิ่ง Detection ยากเลยครับ เพราะว่า จะมองว่า เป็น Behavior ปกติ ที่ Internal คุยกับ Internal ครับ แน๊ะ ๆ เริ่มส่งสัย.. ไอ้ Attacker มันทำอย่างไร นะแบบนี้ 5555!! ว่าแต่มีความสงสัย!! เราก็ต้องไป Proof of concept สิครับ เพื่อให้ความสงสัยนั้น ไม่สงสัย เพราะเห็นด้วยตาของเราแล้วครับ
สำหรับการ Proof of Concept Pivot Network with Chisel
Ref: https://github.com/jpillora/chisel
Infrastrcture:
Chisel Server:
1. Attacker (KALI): 192.168.1.85
Chisel Client: (SSH)
1. Victim: 192.168.1.9 — (Nic1)
2. Victim: 172.168.10.10 — (Nic2)
Web Server:(HHTP,SSH)
1. Web Server: 172.168.10.20
Server:(RDP)
2. Server: 172.168.10.30
#Remark: เพื่อให้มีความเข้าใจเกี่ยวกับการทำ Pivot Network มากขึ้น!!!
Proof of Concept “1”
Command: สามารถดูตามภาพได้เลยนะครับ
Proof of Concept “2”
- หลักจาก Attacker สามารถ Compromises เครื่อง Victim Server ได้แล้ว และทำ Pivot จากเครื่อง Victim ให้วิ่งไป HTTP เครื่อง Victim ที่ให้บริการ Website (HTTP)
Check Network Connection
ตรวจสอบ Network Connection จะเห็นว่าการเป็น Established Between
[ 192.168.1.85 to 192.168.1.9 ]
Diagram Pivoting Network to Web [HTTP]
Configure Pivoting Network to Web [HTTP] -1
Configure Pivoting Network to Web [HTTP] -2
หลังจากการ Configure เสร็จเรียบร้อยเราจะและดำเนินการทดสอบ เราจะพบว่า ไม่สามารถ Connection ไปยัง 172.168.10.20 ได้ และหลังจากนั้นเราต้องมา Configure เพิ่มเติมในส่วนของ “proxychains” เพิ่มเติม เพื่อให้สามารถเชื่อมต่อไปยังเครื่อง Target ได้
Diagram Pivoting Network to Server [RDP]
จาก Diagram ตรงนี้เราจะใช่ เครื่อง Attacker(Kali): 192.168.1.85 ดำเนินการ Pivoting Network to Server [RDP] ไปยัง RDP: Port: 3389 / IP: 172.168.10.30 โดยจะใช่เครื่อง Victim: 172.168.10.10 เป็น Source ในการเชื่อมต่อ ไปยังเครื่อง 172.168.10.30 [RDP] แต่ เครื่องที่สั่งการหรือเครื่องที่ใช่คำสั่ง Remote จะเป็นเครื่อง Attacker(Kali) ฮะ !!!
Configure Pivoting Network to Server [RDP]
Check Network Connection [1]
Check Network Connection [2]
Check Network Connection [3]
Check Network Connection [4]
Check Network Connection [5]
Conclusion:
การทำ Pivot Network คือ เทคนิคในการใช้เครื่องที่ถูก Compromises ได้แล้วเป็นจุดเชื่อมต่อเพื่อ Lateral Movement ไปยังเครื่องอื่น ๆ ภายใน Network >> Attacker สามารถ Compromises เครื่อง Victim ได้แล้ว จะใช้เครื่องนี้เป็นทางผ่าน (Pivot) เพื่อ Lateral Movement ไปโจมตี Victim เครื่องอื่น ที่อยู่ Internal Network ลักษณะแบบว่า มีการทำ Tunneling เพื่อสามารถ ใช้คำสั่ง ๆต่าง ๆ บน เครื่อง Attacker และ มี Traffic สามารถ วิ่งไปที่เครื่อง Victim แล้วก็ วิ่ง ไปที่เครื่องปลายทางอีกที!!! จริง ๆถ้าเจอแบบนี้ก็ Dtection ยากครับ เพราะ เราจะเห็น Traffic แบบว่า Internal to Internal เพราะ Attacker อาจจะใช่ Techniques เพิ่มเติมเช่น (Port Forwarding, Proxy Pivoting Proxychain, VPN Pivoting etc) ครับ ยิ่งทำแบบนี้ก็ ยิ่ง Detection ยากเลยครับ เพราะว่า จะมองว่า เป็น Behavior ปกติ ที่ Internal คุยกับ Internal ครับ
How to Detection & Protection
1. Network Segmentation: ต้องมีการ Design Network VLAN ตามความเหมาะสม
2. Firewall Policy &Firewall Access Control List: คือจริง ๆแล้วสำหรับเรื่อง Policy Firewall นี้สำคัญ และสามารถเพิ่มความ Security ได้ง่ายที่สุดแหละครับ แบบว่า แค่คุณกำหนด Policy แบบว่า [Source, Destination, Service, Port] Configure แบบว่า เปิดเฉพาะที่จำเป็นแค่นี้ก็จะเพิ่ม Security ในเรื่องของ Network ได้ระดับหนึ่งแล้ว คือ ถ้าสมมุติ เราทำ Policy Firewall ไว้ ๆดี ๆ ยังไงก็ Lateral Movement ยาก พอสมควรเพราะว่า SCAN Port ไป SCAN IP ไป ยังไงก็ไม่เจอ เพราะถูก Policy Firewall Drop อะครับ…เรื่องง่าย ๆ แค่ทำ Policy ดี ๆ เปิดเฉพาะที่จำเป็น Only!!!!
3. Least Privilege Access: อันนี้ก็ไม่เสียตังเพิ่มแค่ กำหนด Privilege Access ดี ๆ แบบว่ากำหนด สิทธิ์ เฉพาะ User ที่จำเป็นเท่านั้น และ Restrict User ที่ไม่มีสิทธิ์ ฮะ!!
4. EDR: หา EDR ดี ๆ สัก Product เพื่อมาช่วยในการ Detection Behavior ไม่ใช่ว่ามี EDR ดี ๆ แล้ว แต่ไม่มีคน Monitoring or Detection Threat นะครับ ซึ่งถ้ามีของดี ๆ แต่ไม่มี คนดูก็หน้าจะไม่มีประโยชน์!!!
## คร่าว ๆ เพียงเท่านี้ ก็หน้าจะสามารถเพิ่มความปลอดภัยได้ในระดับหนึ่งแล้วครับ…!! ขอบคุณครับ
Ref: https://github.com/jpillora/chisel
#หวังว่าเนื้อหานี้จะเป็นประโยชน์กับทุกคนครับแล้วเจอกันใหม่ในบทความต่อไปครับ!
#แบ่งปัน
#เป็นเพียงแนวคิดหรือความคิดของผู้เขียนผิดพลาดประการใดต้องขออภัยด้วยครับ
#การเรียนรู้ไม่มีที่สิ้นสุด_เล่นไปเรื่อยๆ_ยิ่งเล่นยิ่งสนุก
#ผู้เขียนจัดทำเพื่อแชร์ความรู้และประสบการณ์นะครับผิดพลาดประการใดต้องขออภัยด้วยครับ
#มือใหม่กำลังหัดเขียนมีอะไรแนะนำได้เลยนะครับ
#Share_Knowledge_and_Experience