Entries For: 2007
- September (1)
- June (2)
2007-09-17
HITB 2007 CTF report
This is what we did to win the HITB 2007 CTF in Kualar Lumpur - Malaysia.
We decided to join HITB 2007 CTF in Kualar Lumpur just after the VNSECON '07 in August. Our team, Sao Vang from vnSecurity, is the last (10th) team registered, and we had only 1 month to prepare for the competition. It's unbelievable that we win the game!
Day 1 - 05/09
The game, which had been planned to start at 10:30 AM, was delayed because the organizer had not completed setting it up. Teams had to find something fun to do while waiting. We sat on the ground playing bzflag. Other guys checked email, or set up the hardware. We felt a bit nervous because there was only one network cable on each team's table and other teams brought their own switch.
Finally, CTF crew announced the game would start at 2:00 PM. At 2:45pm, it really started. While the crew setting up vmware images (Gentoo 2007 hardened) for teams' servers, some guys looked over their shoulders and captured (guessed) the root's password. It's a bad password (qwe123). We got it too ;).
The organizer sent out crackme1 for Windows and the main switch would only be plumbed after it had been cracked. I changed our root's password, copied the vmware image for backup, tried to upload the tools to server with USB HDD, and ran the defense script while lamer and sieukhung were cracking the binary on their laptop. They took it down only within 20 minutes!
Then the game really started. The organizer announced the root password to all teams. Before that, one team (perhaps Qb1t?) had used it to accessed other servers, installed backdoor user (lalala?) and unwisely changed their root passwords. The organizer identified and removed it easily. We had also prepared a script just for this situation. Had we run install_backdoor script (silently, without changing root password), we could have owned most of the boxes. But then, where is the fun?
All teams started looking at the vulnerability daemons (01 to 08) and defending their servers. Some teams chown'd all the flags so that no other team could get it, even the score server ;-). There was glitches in the score server. Only Sao Vang got positive defensive score while the rest got negative. After crackme1 was done, the organizer sent out crackme2 binary. By the end of day 1, no daemon was exploited and we earned 350 bonus points for crackme1.
There was not much to say about day 1 because it just happened in less than 3 hours. We managed
to crack crackme1 and identified the vulnerabilities in some daemons. Our dreaded vmware host running on WinXP hang 2 times and continued to hang 3 or 4 times on day 2.
Day 1.5
We got back to our place and continued the job overnight. crackme2 (md5 crack) was solved first by sieukhung. Then, we found the vuln in daemon05 (trivial buffer overflow; shamelessly, we weren't successful in exploiting it remotely) and daemon07 (trivial format string) but there were "bugs" that made them un-exploitable. After few hours, we could
exploit daemon02 (vtable overwrite) and daemon04 (buffer overflow with multithreaded complication). We went to bed (and sofa ;)) at 4:30 AM and woke up at 7:30 AM. Crazyyy!
The next morning, while waiting for taxi, lamer managed to exploit daemon01 (reverse crc32 and buffer overflow). All of our exploits were coded by lamer with his excellent Python framework.
Day 2 - 06/09
The game started at 11:00 AM and ran smoothly.
It was more exciting on day 2. We continued to lead from the beginning by submitting crackme2 and getting flags from other servers. The organizer also sent out fixed
binaries for daemon05 and daemon07.
After 2 hours, we raked in lots of points for captured flags from daemon 1, 2, 4, and 7. According to the detail score log, we should have gained breakthrough points for 5 daemons (daemon08 later) instead of 4 as displayed on the official score board and Padocon (from Korea) would have had no breakthrough. We guessed they just replayed our exploits. And maybe other teams did the same too. We raked in more than 3000 points while
the next closest team 700.
After that, we settled down to work on daemon 3, 6 and 8. At 2:00 PM, the organizer sent out crackme3 and source code of daemon08. sieukhung cracked crackme3 in half an hour and we earned many bonus points (800). Right after that, lamer finished his work on daemon08 and we got breakthrough for it. We decided to take a break and have lunch with McDonald hamburgers (thanks BlueMood, and Valmont for your support). We intended to give up daemon 3 and 6 to play bzflag (hey, they had a crowded bzflag server there) till the game ended.
But WsLabi (from Switzerland) managed to decode daemon03 and got breakthrough for it. They also ran exploits for other daemons and earned many offensive points. We felt their hot breath when their offensive score was just one flag behind us. I thought there was something wrong with our exploits and reviewed them. We found out that exploit for daemon04 was stuck by blocking socket behavior. We changed it and got more points.
Team Army Strong had best defensive score at that time and it seemed like we could not get valid flags from them. When trying to run exploit for daemon08 against Army Strong, I found that the first byte of the flag changed from time to time. It inspired us to write a brute force script to submit score to the server and with just a few Python loops we successfully captured their flag (thank you Army Strong for this inspration ;)).
Some of our exploits were not really stable (e.g. daemon07), flag data sometimes were 40 bytes or more instead of 20 bytes (fixed flag's length). We modified the above brute force script to submit flag in any size and raked in more points. By 4:30 PM the organizer set new flags for some daemons (they set new flags only 1 time on day 2) and we easily gained more offensive points with our scripts.
When there was only 30 minutes left, the organizer announced bonus points for crackmes' and daemons' exploits write-ups (brief). It was quite rush. We decided to shutdown the server because score server did not check for defensive things anymore and focus on write-ups. We submitted write-ups for all challenges we solved and got more than 1000 bonus points.
Finally, we won the 1st place with a total of 8900 points, with best offensive (5280), second-best defensive (510) and highest bonus (3110). WsLabi won the 2nd place with a total of 5540 points and Padocon came next with 3165.
Conclusion
- The CTF this year was very interesting and attracted a lot of people (though it started late as normal)
- Some teams had more than 3 players (4 to 6) and played in turn. It is more fun this way.
- Best defensive strategy is to keep the daemons running and modify nothing.
- Because defensive score is far lower than offensive score, "good" defensive strategy is to remove read permission from flags so that no other team can get it. "Best" defensive strategy is to follow Army Strong.
- Capturing then replaying is a good offensive strategy and can help team win if they do it effectively.
- python rox!
- Team must plan and prepare well to have good result.
References
- spoonfork's write up
- xwings' report
- WsLabi's write up for daemon03
- lamer's write up for daemon01, daemon05, and daemon07
- http://ctf2007.security.org.my/
Credits
To all vnSecurity members
More detailed write ups will be posted at http://www.vnsecurity.net.
2007-07-13
Những chủ đề "nóng" ở VNSECON 07
Một số chủ đề khá "nóng" và thời sự được trình bày tại hội thảo VNSECON 07 hứa hẹn sẽ thu hút được sự tham dự đông đảo của giới chuyên môn và giới lãnh đạo.
Chương trình hội thảo VNSECON 07
đã được công bố, chuyên đề kỹ thuật đã khá đầy đủ với hầu hết các báo
cáo do diễn giả nước ngoài trình bày, chuyên đề chính sách và thương
mại điện tử với chủ yếu các báo cáo trong nước hiện vẫn đang tiếp tục
được cập nhật. Một số chủ đề khá "nóng" và thời sự được trình bày tại
hội thảo lần này hứa hẹn sẽ thu hút được sự tham dự đông đảo của giới
chuyên môn và giới lãnh đạo.
Sau cơn bão khai thác lỗi tràn bộ
đệm của Microsoft IIS và SQL Injection trong ASP các web site trong
nước hiện khá yên ổn do phần lớn đã nâng cấp hệ điều hành Windows 2003
và sử dụng .NET cho ứng dụng web. Do đó, báo cáo "Next Generation .NET Attacks"
(Tấn công .NET thế hệ kế tiếp) của Paul Craig hứa hẹn sẽ đem đến cho cả
giới quản trị mạng/bảo mật và hacker sự quan tâm đặc biệt. Paul sẽ
trình bày các phương pháp khai thác lỗ hổng bảo mật dành cho .NET chưa
từng được công bố.
Virus luôn là mối quan tâm lo lắng hàng đầu
của các tổ chức và cá nhân khi mà các thông kê số lượng virus mới luôn
tăng lên mỗi ngày. Làm thế nào các tổ chức như Symantec, Sophos,
Message Lab, BKIS phát hiện và khống chế các virus mới? Paul Barrie
Ducklin đến từ Sophos Australia sẽ mang đến một trình bày rất hấp dẫn
và thú vị đối với tất cả người nghe: "Live Malware Attack"
(Xem trực tiếp chương trình mã độc tấn công). Hẳn người dùng vẫn còn
nhớ sự lây lan nhanh chóng mặt của virus Code Red khai thác lỗ hổng
Windows, hay virus nội Gaixinh qua Yahoo Messenger. Làm thế nào các
chương trình mã độc làm được điều đó? Làm thế nào các tổ chức phản ứng
nhanh có thể khống chế chúng? Tất cả sẽ có trong phần minh họa trực
quan hết sức sống động với các công cụ của Sophos - một trong các nhà
cung cấp phần mềm nổi tiếng thế giới.
Cũng về chủ đề mã độc
nhưng ở một khía cạnh khác: phân tích tĩnh thay vì phân tích động (trực
tiếp). Dr. Jose Nazario, Kỹ sư bảo mật cao cấp của công ty bảo mật
Arbor Networks sẽ cho thấy sức mạnh của công cụ tìm kiếm Google trong
việc tìm kếm các lỗi bảo mật cũng như các chương trình mã độc với báo
cáo "Googling for Malware and Bugs"
(Tìm kiếm chương trình mã độc và lỗi bảo mật bằng Google). Đây là một
phương pháp rất hữu ích cho những người nghiên cứu về bảo mật bởi cơ sở
dữ liệu khổng lồ và sức mạnh tìm kiếm của Google là một công cụ vô song
nếu biết khai thác.
Game online đang là một thị trường béo bở
với rất nhiều nhà cung cấp trong nước nhảy vào cuộc chơi, việc thương
mại hoá các đồ chơi trong game cũng đang được thừa nhận và bảo vệ. Việc
chống gian lận trong game online vì thế hết sức được quan tâm từ cả
phía người chơi lẫn nhà cung cấp. Các công cụ nhằm qua mặt sự kiểm soát
của nhà cung cấp, chơi tự động trình độ cao luôn được giới game thủ săn
lùng. Mikado và ReD Dragon của nhóm VNSECURITY
sẽ trình bày chi tiết về các kỹ thuật chống gian lận trong game online
cũng như những phương pháp, kỹ thuật để qua mặt các hệ thống này trong
báo cáo "Cheating Massively Multiplayer Online Game for Fun and Profit"
(Gian lận game online nhiều người chơi để tiêu khiển và kiếm lợi). Báo
cáo này cũng đề cập đến một vấn đề hầu như còn rất ít được quan tâm ở Việt
Nam là bảo mật và tính riêng tư của người chơi khi mà một số hệ thống
chống gian lận của nhà cung cấp đang sử dụng kỹ thuật rootkit để ngăn chặn và phát hiện gian lận.
Điện
thoại di động đang và sẽ là dịch vụ có tốc độ phát triển phi mã ở Việt
Nam khi kho số đã "cháy" sau hàng loạt "cuộc đua" khuyến mãi của các
nhà cung cấp dịch vụ. Bên cạnh đó, điện thoại di động đang được xem như
một bước đệm của thanh toán trực tuyến với các hình thức mobile
banking, thanh toán qua SMS do vẫn được xem là bảo mật (dựa trên sim)
và tiện dụng, phổ biến với đại đa số người dùng. Có thể sau khi nghe
báo cáo của Skyper (cựu tổng biên tập tạp chí Phrack) "Build your own GSM interceptor for $900" (Tự tạo bộ chặn bắt sóng GSM với giá 900 USD) sẽ có cái nhìn dè dặt hơn về tính bảo mật của giao thức viễn thông này.
Với
sự bùng nổ của thị trường chứng khoán Việt Nam trong năm qua, nhiều
ngân hàng thương mại, công ty chứng khoán được mở và ăn nên làm ra.
Khác với kiểu ngân hàng truyền thống trước đây, ngày nay các ngân hàng
phải kết nối với các ngân hàng khác và nối vào mạng để cung cấp nhiều
dịch vụ hơn cho khách hàng. Các ngân hàng ở các nước đang có tốc độ
phát triển nhanh thường "đi tắt đón đầu" ở bước này và để lộ ra những
lỗ hổng có thể bị lợi dụng. Với kinh nghiệm làm việc trong lĩnh vực bảo
mật ngân hàng, Fabrice A. Marie qua báo cáo "Banking Security in Fast Developing Countries"
(Bảo mật ngân hàng cho các nước đang phát triển nhanh) sẽ đề cập đến
những "vết xe đổ" cần tránh cho các ngân hàng trong vấn đề bảo mật. Các
nguy cơ thực tế như gian lận ATM, thẻ tín dụng, ứng dụng nghiệp vụ, bảo
mật mạng ngân hàng cũng được đưa thảo luận kèm với các giải pháp. Đây
là chủ đề rất đáng quan tâm đối với giới lãnh đạo công nghệ thông tin
và tài chính của các ngân hàng.
Mặc dù gặp khó khăn về tài trợ
do tổ chức lần đầu và không chấp nhận các báo cáo giới thiệu sản phẩm,
ban tổ chức hội thảo đang cố gắng để đạt được mục tiêu đề ra: một hội
thảo bảo mật chất lượng mang tầm quốc tế.
2007-06-15
Capture-the-Flag: hình thức hack game nổi tiếng lần đầu đến Việt Nam
Trong khuôn khổ hội thảo bảo mật VNSECON '07 sẽ tổ chức tại TpHCM tháng 8 tới, hình thức hack game nổi tiếng Capture the Flag (CTF) sẽ lần đầu được tổ chức tại Việt Nam. VNSECON CTF lần này hy vọng sẽ là một sân chơi mở, cạnh tranh và hấp dẫn cho các nhóm bảo mật trong nước và nước ngoài so tài.
Trong khuôn khổ hội thảo bảo mật VNSECON '07 sẽ tổ chức tại TpHCM tháng 8 tới, hình thức hack game nổi tiếng Capture the Flag
(CTF) sẽ lần đầu được tổ chức tại Việt Nam. VNSECON CTF lần này hy vọng
sẽ là một sân chơi mở, cạnh tranh và hấp dẫn cho các nhóm bảo mật trong
nước và nước ngoài so tài.
CTF lần đầu tiên được tổ chức tại hội
thảo bảo mật nổi tiếng DefCon (Mỹ) lần thứ 5 năm 1997. CTF đã được cải
tiến, nâng dần độ khó trong các lần sau đó để hấp dẫn và mang tính cạnh
tranh hơn với sự đóng góp của các nhóm tổ chức như GhettoHackers,
Kenshoto và được tổ chức ngày càng chuyên nghiệp hơn. Các lần DefCon
CTF gần đây được tổ chức bởi Kenshoto, một nhóm những người từng tham
gia tranh tài và tổ chức CTF qua các kỳ DefCon. Được xem như một hack
game "chuẩn", CTF đã được nhân rộng ở một số hội thảo bảo mật khác như Hack.Lu, HITBSecConf, tất nhiên về quy mô hoặc cách thức có thể khác nhau.
CTF
là thể loại hack game "tấn công và phòng thủ" (attack and defense), qua
đó không chỉ thử thách người chơi các kỹ năng phát hiện lỗ hổng bảo
mật, khai thác chúng mà còn các kỹ năng bịt các lỗ hổng đó, xây dựng
phòng tuyến để bảo vệ. Do chỉ diễn ra trong thời gian ngắn (2-3 ngày)
nên "cuộc chiến" sẽ rất căng thẳng với cường độ và áp lực cao, mặc dù
thể lệ cho phép cá nhân tham gia nhưng chiến thắng thường thuộc về các
đội có trình độ "cứng" và được tổ chức tốt. Các kỳ CTF gần đây được tổ
chức như sau: các đội tham gia sẽ được cấp một máy chủ chạy hệ điều
hành được công bố trước (như Gentoo Linux, FreeBSD, Windows 2000), trên
máy chủ đã cài đặt sẵn nhiều dịch vụ mạng chứa "lỗ hổng". Nhiệm vụ của
đội chơi là tìm ra các lỗ hổng đó, khai thác chúng và tấn công máy chủ
của các đội khác để ghi điểm, đồng thời phải tìm cách bịt các lỗ hổng
đó trước sự tấn công của các đội khác. Các dịch vụ có thể là thông
thường như http, mysql, ftp với các lỗ hổng đã được công bố hoặc được
các nhóm tổ chức tạo ra với lỗ hổng được "cố tình" tạo ra rất tinh vi
(loại này khó hơn).
Có hai loại điểm được tính: điểm tấn công
(offensive) và điểm phòng thủ (defensive). Ví dụ có 4 đội chơi, đội 1
khai thác được lỗ hổng trong daemon1 và dùng chúng để tấn công máy chủ
của đội 2-4, lấy các flag (hay token) cho daemon1 trên các máy chủ đó
và ghi được 3 điểm tấn công. Các flag được thay đổi định kỳ (ví dụ mỗi
2 giờ), do đó với cùng một lỗ hổng khai thác được, một đội có thể kiếm
được nhiều điểm tấn công theo thời gian. Ngược lại, điểm phòng thủ có
được bằng cách đảm bảo các dịch vụ cần bảo vệ chạy liên tục (máy chủ
tính điểm kiểm tra định kỳ) với các quy định như không được làm thay
đổi file chương trình, không được tắt, không được đặt firewall chặn các
đối thủ,... Ngoài ra một đội còn có thể có điểm thưởng thêm nếu viết
chi tiết về lỗ hổng phát hiện được, cách khai thác và vá chúng. Một đội
cũng có thể giành giải chỉ với điểm phòng thủ. CTF được xem là game rất
"đời thực" (real world) do lẽ giống như công việc của các nhà quản trị
mạng hoặc chuyên gia bảo mật, họ phải bảo vệ các máy chủ của công ty
trước sự tấn công từ bên ngoài trong khi vẫn phải duy trì sự liên tục
của các dịch vụ mạng. Luật chơi chỉ cấm các hình thức tấn công DoS (đội
vi phạm có thể bị loại lập tức), còn lại các đội có thể dùng bất cứ
"thủ đoạn" nào để đạt được mục tiêu kiếm điểm, kể cả các biện pháp phi
kỹ thuật như ... lừa gạt đội khác (social engineering).
Là một
hack game hấp dẫn, tất nhiên đối tượng tham gia CTF là các hacker,
nhưng thành phần cũng rất đa dạng. Có thể là nhóm các hacker, nhóm các
chuyên gia bảo mật hoặc nhóm nghiên cứu ở trường đại học. Đội giành
chiến thắng DefCon CTF 2005, ShellPhish đến từ trường đại học UCSB (University of California, Santa Barbara) và được dẫn đầu bởi Associate Professor Giovanni Vigna.
Giải thưởng CTF thường không lớn về vật chất nhưng rất có giá trị bởi
uy tín của nó. Đội đoạt giải thường được cộng đồng bảo mật trân trọng
bởi họ là "vàng thật " và đã chứng tỏ được những kỹ năng thực sự của
mình. Để được tham dự vòng chơi trực tiếp DefCon CTF các đội còn phải
trải qua vòng sơ loại để đảm bảo các đội là đủ năng lực và trình độ khá
tương đồng.
Ở châu Á, CTF được tổ chức lần đầu tiên tại Malaysia trong trong hội thảo HITBSecConf 2002. Năm nay, HITB CTF 2007 Dubai đã diễn ra tại Dubai, UAE từ ngày 3 đến 5 tháng 4 và ... không có đội nào thắng cuộc. HITB CTF 2006 Kuala Lumpur được tổ chức tại Malaysia với 9 đội tham dự đến từ Italia, Singapore, Malaysia và Hàn Quốc. Các đội tham dự phải giải quyết 6 thử thách
hóc búa có mức độ khó khác nhau của các nhà tổ chức là các chương trình
được viết có lỗi một cách tinh vi. Đội thắng cuộc DOKDO-KOR (PADOCON)
Hàn Quốc cũng chỉ vượt qua được một thử thách. Nhóm tổ chức HITB CTF
cũng là nhóm tổ chức VNSECON CTF 2007 tháng 8 tới tại Việt Nam với hình
thức tương tự nhưng chỉ khó trung bình do đây là lần đầu tiên. HITB CTF
2007 Dubai dự kiến cũng được sử dụng để làm bài thử cho VNSECON CTF
2007.
VNSECON CTF 2007
lần đầu tiên tại Việt Nam này sẽ gồm tối đa 10 đội, mỗi đội tối đa 3
thành viên. Ban tổ chức hy vọng sẽ thu hút được từ 3 đến 5 đội trong
nước và các đội trong khu vực Đông Nam Á như Signapore, Malaysia đã
không có điều kiện tham dự HITB CTF 2007 tại Dubai do Việt Nam hiện là
một điểm đến hấp dẫn, khá gần và không cần Visa. Để tham dự VNSECON CTF
2007, các đội tham gia cần chuẩn bị các kỹ năng như dịch ngược (reverse
engineering), kiểm lỗi mã nguồn (code auditing, trong trường hợp được
cung cấp mã nguồn) và kỹ năng quan trọng nhất là viết chương trình khai
thác lỗ hổng. Nếu muốn có hy vọng đoạt giải các đội cần phải lên kế
họach và chuẩn bị thật kỹ, đây là lời khuyên nghiêm túc của ban tổ
chức. Nếu các bạn muốn tham gia, hãy thành lập đội của mình và chuẩn bị
ngay từ bây giờ. Liệu các hacker nội có chứng tỏ được mình trước các
đối thủ nước ngoài? Hẹn gặp ở VNSECON CTF 2007!
--
Nguồn tham khảo
1. http://en.wikipedia.org/wiki/Capture_the_flag#Computer_security
2. http://defcon.org/
3. http://midnightresearch.com/hacking-contest-scoreboard/
4. http://conference.hackinthebox.org/
5. http://mel.icious.net/ctf_writeup.html
6. http://www.vnsecurity.net/download/rd/ctf/
7. http://conf.vnsecurity.net/contest-vi