ออกแล้วนะ version beta1 หลักๆ ก็คือแก้โค้ดข้างใน, bug และก็เพิ่ม MSSQL, MySQL, SNMP
โหลดกันได้ที่
http://sourceforge.net/project/platformdownload.php?group_id=204020
Thursday, November 22, 2007
Sunday, October 21, 2007
Bruter 1.0 alpha2 release
ในที่สุดก็ได้ release โปรแกรมนี้อีกรอบ แต่ยังคงเป็น alpha version
ดู changelog เอาเองละกัน หาโหลดได้ที่เดิม http://sourceforge.net/projects/worawita/
ปล. เนื่องด้วยก่อนหน้านี้เอาแต่เล่น hackthissite ทำให้หายไปนาน และออก alpha2 ช้า
ดู changelog เอาเองละกัน หาโหลดได้ที่เดิม http://sourceforge.net/projects/worawita/
ปล. เนื่องด้วยก่อนหน้านี้เอาแต่เล่น hackthissite ทำให้หายไปนาน และออก alpha2 ช้า
Thursday, September 20, 2007
Bruter 1.0 alpha1 release
ออกแล้ว โปรแกรม Bruter - parallel login brute forcer version 1.0 alpha1
=======================
Version 1.0 alpha1
=======================
- Initial alpha release
- Support protocols: FTP, HTTP (Basic), HTTP (Form), IMAP, POP3, SMB, SMTP, Telnet
- Support SSL
หาโหลดได้ที่ http://sourceforge.net/projects/worawita/
=======================
Version 1.0 alpha1
=======================
- Initial alpha release
- Support protocols: FTP, HTTP (Basic), HTTP (Form), IMAP, POP3, SMB, SMTP, Telnet
- Support SSL
หาโหลดได้ที่ http://sourceforge.net/projects/worawita/
Tuesday, September 4, 2007
Windows built-in users and groups
ตัว Microsoft Windows จะมี users และ groups ที่จะถูกสร้างเสมอ ตั้งแต่ลงตัว OS และบาง users หรือ groups จะถูกสร้างเพิ่ม เมื่อ role ของตัวเครื่องเปลี่ยนไป
หลายๆ คนคงทราบอยู่แล้วว่าแต่ละ users และ groups ใน Windows จะมี SID ซึ่ง Windows จะใช้ SID ในการทำงานหลายๆ อย่างแทนชื่อ และพวก built-in ที่มากับ Windows อยู่แล้ว พวกนี้จะมี SID ที่แน่นอน และ Windows จะแสดงพวกนี้อยู่ใน domain "NT AUTHORITY"
ทั้งหมดที่แสดงข้างล่างคือที่หามาได้ทั้งหมด (พูดง่ายก็คือ ไม่รู้ว่าหมดหรือยัง)
และก็นอกจากนี้แล้ว ยังมีอีก 2 user ที่สำคัญ และน่าจำคือ Administrator กับ Guest ซึ่งจะมี RID เป็น 500 กับ 501
หลายๆ คนคงทราบอยู่แล้วว่าแต่ละ users และ groups ใน Windows จะมี SID ซึ่ง Windows จะใช้ SID ในการทำงานหลายๆ อย่างแทนชื่อ และพวก built-in ที่มากับ Windows อยู่แล้ว พวกนี้จะมี SID ที่แน่นอน และ Windows จะแสดงพวกนี้อยู่ใน domain "NT AUTHORITY"
ทั้งหมดที่แสดงข้างล่างคือที่หามาได้ทั้งหมด (พูดง่ายก็คือ ไม่รู้ว่าหมดหรือยัง)
NULL AUTHORITY : S-1-0
Nobody : S-1-0-0
WORLD AUTHORITY : S-1-1
Everyone : S-1-1-0
LOCAL AUTHORITY : S-1-2
LOCAL : S-1-2-0
CREATOR : S-1-3
CREATOR OWNER : S-1-3-0
CREATOR GROUP : S-1-3-1
CREATOR OWNER SERVER : S-1-3-2
CREATOR GROUP SERVER : S-1-3-3
NONUNIQUE AUTHORITY : S-1-4
NT AUTHORITY : S-1-5
DIALUP : S-1-5-1
NETWORK : S-1-5-2
BATCH : S-1-5-3
INTERACTIVE : S-1-5-4
SERVICE : S-1-5-6
ANONYMOUS LOGON : S-1-5-7
PROXY : S-1-5-8
ENTERPRISE DOMAIN CONTROLLERS : S-1-5-9
SELF : S-1-5-10
Authenticated Users : S-1-5-11
RESTRICTED : S-1-5-12
TERMINAL SERVER USER : S-1-5-13
REMOTE INTERACTIVE LOGON : S-1-5-14
SYSTEM : S-1-5-18
LOCAL SERVICE : S-1-5-19
NETWORK SERVICE : S-1-5-20
BUILTIN : S-1-5-32
Administrators : S-1-5-32-544
Users : S-1-5-32-545
Guests : S-1-5-32-546
Power Users : S-1-5-32-547
Account Operators : S-1-5-32-548
Server Operators : S-1-5-32-549
Print Operators : S-1-5-32-550
Backup Operators : S-1-5-32-551
Replicator : S-1-5-32-552
Pre-Windows 2000 Compatible Access : S-1-5-32-554
Remote Desktop Users : S-1-5-32-555
Network Configuration Operators : S-1-5-32-556
Site Server Authority : S-1-6
Internet Site Authority : S-1-7
Exchange Authority : S-1-8
Resource Manager Authority : S-1-9
และก็นอกจากนี้แล้ว ยังมีอีก 2 user ที่สำคัญ และน่าจำคือ Administrator กับ Guest ซึ่งจะมี RID เป็น 500 กับ 501
Tuesday, August 28, 2007
Bruter
ในที่สุดก็ไปสมัครที่ sourceforge เพื่อเขียนโปรแกรม opensource ซะแล้ว
โปรแกรมนี้ชื่อว่า Bruter การทำงานก็คล้ายๆ กับตัวโปแกรม hydra, medusa นั่นแหละ
แต่โปรแกรมนี้จะให้มัน run บน windows
ตอนนี้ที่ sourceforge ยังไม่มี source code อะไรเลย เพราะกำลังหัดใช้ SVN อยู่ ใช้คล่องเมื่อไรก็จะ upload source code ขึ้นไปเลย
เอาหน้าตาที่ยังไม่เสร็จไปดูก่อนละกัน (ยังมี bug กับ feature ที่ยังไม่ทำอีกเยอะเลย)
โปรแกรมนี้ชื่อว่า Bruter การทำงานก็คล้ายๆ กับตัวโปแกรม hydra, medusa นั่นแหละ
แต่โปรแกรมนี้จะให้มัน run บน windows
ตอนนี้ที่ sourceforge ยังไม่มี source code อะไรเลย เพราะกำลังหัดใช้ SVN อยู่ ใช้คล่องเมื่อไรก็จะ upload source code ขึ้นไปเลย
เอาหน้าตาที่ยังไม่เสร็จไปดูก่อนละกัน (ยังมี bug กับ feature ที่ยังไม่ทำอีกเยอะเลย)
Sunday, August 19, 2007
SMTP command
note ไว้หน่อยกันลืม
220 mail.domain.ext ESMTP Sendmail ?version-number?; ?date+time+gmtoffset?
To: Nobody
reponse จาก server สำคัญที่ตัวเลข code อันแรก 200 กว่าคือพวก OK
220 mail.domain.ext ESMTP Sendmail ?version-number?; ?date+time+gmtoffset?
HELO local.domain.name 250 mail.domain.ext Hello local.domain.name [loc.al.i.p], pleased to meet you
MAIL FROM: mail@domain.ext
250 2.1.0 mail@domain.ext... Sender ok
RCPT TO: mail@otherdomain.ext
250 2.1.0 mail@otherdomain.ext... Recipient ok
DATA
354 go aheadFrom: John <@domain.ext>To: Nobody
Subject:-type subject here-
hello message here
.
250 2.0.0 ???????? Message accepted for delivery
QUIT
221 2.0.0 mail.domain.ext closing connection
ถ้าต้อง AUTH ก็จะนำ username กับ password มา encode ด้วย base64 ก่อนคือ
base64.encodestring('\000user@domain.ext\000password')
ได้เป็น 'AHVzZXJAZG9tYWluLmV4dABwYXNzd29yZA=='
แล้วทำ AUTH หลัง HELO หรือ EHLO
AUTH PLAIN AHVzZXJAZG9tYWluLmV4dABwYXNzd29yZA==
235 ok, go aheadreponse จาก server สำคัญที่ตัวเลข code อันแรก 200 กว่าคือพวก OK
Tuesday, August 7, 2007
TCP Connection State (Part 2)
หลังจาก Part1 เกี่ยวกับ establish TCP connection เสร็จแล้ว ระหว่างการส่งข้อมูล จะมีการ set ACK bit ใน TCP header ตลอด และสุดท้ายเมื่อส่งข้อมูลครบแล้วก็คือการปิด connection
ใน Part นี้จะพูดเกี่ยวกับ state ที่เหลือที่ค้างไว้ ซึ่งทั้งหมดจะอยู่ในช่วงของการปิด connection
Note: การปิด connection ของ TCP จะหมายถึงจะไม่ส่งข้อมูลอีกแล้ว
ในการปิดมี 3 แบบที่สำคัญใน (จาก rfc 793) แต่จะขอพูดแค่ 2 แบบ ซึ่งจะแสดงครบทุก state แล้วคือ
Case 1: มีการเริ่มปิด connection จากฝั่งหนึ่ง
2. เครื่อง B จะตอบด้วย ACK เมื่อเครื่อง A ได้รับ ACK จะถือว่าเครื่อง A ได้ปิด connection เสร็จแล้ว ขณะนี้เครื่อง A จะไม่มีการส่งข้อมูลอีก แต่ยังรับข้อมูลอยู่ได้ ส่วนเครื่อง B จะยังส่งและรับข้อมูลได้ เมื่อจบขั้นตอนนี้ state ของเครื่อง A จะเป็น FIN-WAIT-2 และเครื่อง B เป็น CLOSE-WAIT
3. เมื่อเครื่อง B ต้องการจะปิด connection ก็จะส่ง FIN ไปยังเครื่อง A (ACK flag เหมือนกับขั้นตอน1) โดย state ของเครื่อง A จะเป็น TIME-WAIT และเครื่อง B เป็น LAST-ACK
4. เครื่อง A ตอบกลับด้วย ACK เมื่อเครื่อง B ได้รับจะถือว่าเครื่อง B ปิด connection เสร็จแล้ว และเมื่อทั้งฝั่งปิด connection เสร็จแล้วจะถือว่าจบการ connection เมือถึงขั้นตอนนี้ state ของเครื่อง A ยังคงเป็น TIME-WAIT และเครื่อง B เป็น CLOSED
5. เครือง A หลังจากเข้าสู่ state TIME-WAIT จะคอยอีก 2 MSL (Maximum Segment Life) โดย 1 MSL ใน rfc793 จะกำหนดไว้ที่ 120 วินาที แล้วถึงเข้า state CLOSED
* สาเหตุที่ต้องคอยอีก 2 MSL หลังจาก TIME-WAIT มันต้องอธิบายเกี่ยวกับ Sequence Number ด้วย ถ้าใครสนใจก็อ่านเพิ่มได้จาก rfc
Case 2: ทั้งสองฝั่งปิด connection พร้อมกัน
2. เครื่อง A และ B จะตอบด้วย ACK เพื่อจบ connection โดยขณะที่ส่ง ACK แต่ยังไม่รับของอีกฝ่าย state จะเป็น CLOSING
3. เมื่อได้รับ ACK ทั้งสองฝั่งจะเข้าสู่ state TIME-WAIT และคอยอีก 2 MSL แล้้วเปลี่ยนเป็น state CLOSED
สรุป
จากที่กล่าวมาทั้งหมดจาก Part1 และ Part2 สามารถสรุปเป็น diagram สำหรับแสดงการเปลี่ยนแปลงของ state ดังนี้ (diagram นี้เป็นแค่สรุป ไม่ใช่ specification ทั้งหมดนะ)

Diagram จาก RFC 793
สรุปความหมายของแต่ละ state ได้ดังนี้
- LISTEN คือกำลังคอย connection request (SYN) จาก remote TCP และ port
- SYN-SENT คือกำลังคอยการตอบกลับ (SYN,ACK) หลังจากได้ส่ง connection request (SYN)
- SYN-RECEIVED คือกำลังคอยการยืนยัน connection (ACK) หลังจากตอบกลับ connection request (SYN, ACK)
- ESTABLISHED คือได้เปิด connection สมบูรณ์แล้ว และมีการส่งข้อมูลอยู่
- FIN-WAIT-1 คือกำลังคอยการปิด หลังจากส่ง connection termination request (FIN)
- FIN-WAIT-2 คือกำลังคอย connection termination request (FIN) จากอีกฝั่ง หลังจากปิด connection ของฝั่งตัวเองแล้ว
- CLOSE-WAIT คือกำลังคอยปิด connection จาก local user โดยได้รับและตอบกลับ connection termincation request (FIN และ ACK) จากอีกฝั่งแล้ว
- CLOSING คือกำลังคอยการปิด หลังจากส่ง connection termination request (FIN) และได้รับ connection termination request ด้วย (ก็คือส่ง FIN ไปแล้ว ได้รับ FIN มาก่อน แต่ยังไม่รับ ACK)
- LAST-ACK คือกำลังคอยการปิด หลังจากส่ง connection termination request (FIN) จาก state CLOSE-WAIT
- TIME-WAIT คือคอยให้เวลาผ่านไป 2MSL เพื่อให้แน่ใจว่า remote TCP ได้รับ ACK และปิด connection ไปแล้ว
- CLOSED คือ state ที่ไม่มี connection ใดๆ ทั้งสิ้น
11 August 2007
Reference:
[1] RFC 793 - Transmission Control Protocol, http://www.rfc.net/rfc793.html
ใน Part นี้จะพูดเกี่ยวกับ state ที่เหลือที่ค้างไว้ ซึ่งทั้งหมดจะอยู่ในช่วงของการปิด connection
Note: การปิด connection ของ TCP จะหมายถึงจะไม่ส่งข้อมูลอีกแล้ว
ในการปิดมี 3 แบบที่สำคัญใน (จาก rfc 793) แต่จะขอพูดแค่ 2 แบบ ซึ่งจะแสดงครบทุก state แล้วคือ
Case 1: มีการเริ่มปิด connection จากฝั่งหนึ่ง
TCP A TCP B 0. ESTABLISHED ESTABLISHED 1. FIN-WAIT-1 --> FIN,ACK --> CLOSE-WAIT 2. FIN-WAIT-2 <-- ACK <-- CLOSE-WAIT 3. TIME-WAIT <-- FIN,ACK <-- LAST-ACK 4. TIME-WAIT --> ACK --> CLOSED 5. (2 MSL) CLOSED1. เครื่อง A จะส่ง packet โดย set FIN ไปยังเครื่อง B เพื่อบอกว่าจะปิด connection และจะเห็นว่า ACK bit ได้ถูก set ด้วย ซึ่ง ACK อันนี้หมายถึงตอบกลับว่าได้รับข้อมูลถึงไหนแล้ว ขณะนี้ state เครื่อง A จะเป็น FIN-WAIT-1 และเครื่อง B เป็น CLOSE-WAIT
2. เครื่อง B จะตอบด้วย ACK เมื่อเครื่อง A ได้รับ ACK จะถือว่าเครื่อง A ได้ปิด connection เสร็จแล้ว ขณะนี้เครื่อง A จะไม่มีการส่งข้อมูลอีก แต่ยังรับข้อมูลอยู่ได้ ส่วนเครื่อง B จะยังส่งและรับข้อมูลได้ เมื่อจบขั้นตอนนี้ state ของเครื่อง A จะเป็น FIN-WAIT-2 และเครื่อง B เป็น CLOSE-WAIT
3. เมื่อเครื่อง B ต้องการจะปิด connection ก็จะส่ง FIN ไปยังเครื่อง A (ACK flag เหมือนกับขั้นตอน1) โดย state ของเครื่อง A จะเป็น TIME-WAIT และเครื่อง B เป็น LAST-ACK
4. เครื่อง A ตอบกลับด้วย ACK เมื่อเครื่อง B ได้รับจะถือว่าเครื่อง B ปิด connection เสร็จแล้ว และเมื่อทั้งฝั่งปิด connection เสร็จแล้วจะถือว่าจบการ connection เมือถึงขั้นตอนนี้ state ของเครื่อง A ยังคงเป็น TIME-WAIT และเครื่อง B เป็น CLOSED
5. เครือง A หลังจากเข้าสู่ state TIME-WAIT จะคอยอีก 2 MSL (Maximum Segment Life) โดย 1 MSL ใน rfc793 จะกำหนดไว้ที่ 120 วินาที แล้วถึงเข้า state CLOSED
* สาเหตุที่ต้องคอยอีก 2 MSL หลังจาก TIME-WAIT มันต้องอธิบายเกี่ยวกับ Sequence Number ด้วย ถ้าใครสนใจก็อ่านเพิ่มได้จาก rfc
Case 2: ทั้งสองฝั่งปิด connection พร้อมกัน
TCP A TCP B 0. ESTABLISHED ESTABLISHED 1. FIN-WAIT-1 <--> FIN,ACK <--> FIN-WAIT-1 2. CLOSING <--> ACK <--> CLOSING 3. TIME-WAIT TIME-WAIT (2 MSL) (2 MSL) CLOSED CLOSED1. เครื่อง A และ B ขอปิด connection พร้อมกัน โดยส่ง packet ที่ set FIN flag พร้อมกัน ซึ่ง state ทั้ง 2 เครื่องจะเป็น FIN-WAIT-1
2. เครื่อง A และ B จะตอบด้วย ACK เพื่อจบ connection โดยขณะที่ส่ง ACK แต่ยังไม่รับของอีกฝ่าย state จะเป็น CLOSING
3. เมื่อได้รับ ACK ทั้งสองฝั่งจะเข้าสู่ state TIME-WAIT และคอยอีก 2 MSL แล้้วเปลี่ยนเป็น state CLOSED
สรุป
จากที่กล่าวมาทั้งหมดจาก Part1 และ Part2 สามารถสรุปเป็น diagram สำหรับแสดงการเปลี่ยนแปลงของ state ดังนี้ (diagram นี้เป็นแค่สรุป ไม่ใช่ specification ทั้งหมดนะ)
Diagram จาก RFC 793
สรุปความหมายของแต่ละ state ได้ดังนี้
- LISTEN คือกำลังคอย connection request (SYN) จาก remote TCP และ port
- SYN-SENT คือกำลังคอยการตอบกลับ (SYN,ACK) หลังจากได้ส่ง connection request (SYN)
- SYN-RECEIVED คือกำลังคอยการยืนยัน connection (ACK) หลังจากตอบกลับ connection request (SYN, ACK)
- ESTABLISHED คือได้เปิด connection สมบูรณ์แล้ว และมีการส่งข้อมูลอยู่
- FIN-WAIT-1 คือกำลังคอยการปิด หลังจากส่ง connection termination request (FIN)
- FIN-WAIT-2 คือกำลังคอย connection termination request (FIN) จากอีกฝั่ง หลังจากปิด connection ของฝั่งตัวเองแล้ว
- CLOSE-WAIT คือกำลังคอยปิด connection จาก local user โดยได้รับและตอบกลับ connection termincation request (FIN และ ACK) จากอีกฝั่งแล้ว
- CLOSING คือกำลังคอยการปิด หลังจากส่ง connection termination request (FIN) และได้รับ connection termination request ด้วย (ก็คือส่ง FIN ไปแล้ว ได้รับ FIN มาก่อน แต่ยังไม่รับ ACK)
- LAST-ACK คือกำลังคอยการปิด หลังจากส่ง connection termination request (FIN) จาก state CLOSE-WAIT
- TIME-WAIT คือคอยให้เวลาผ่านไป 2MSL เพื่อให้แน่ใจว่า remote TCP ได้รับ ACK และปิด connection ไปแล้ว
- CLOSED คือ state ที่ไม่มี connection ใดๆ ทั้งสิ้น
11 August 2007
Reference:
[1] RFC 793 - Transmission Control Protocol, http://www.rfc.net/rfc793.html
Subscribe to:
Posts (Atom)