Monday, November 18, 2013

CSCAMP CTF 2013: Stegno 50

https://www.dropbox.com/s/cx5v0h0kantsfmw/stega1.png

Дараах png файл өгөгдөв.


Мэдээж энгийн нүдээр харахад юу ч харагдахгүй бөгөөд StegSolver-р харахад улаан өнгөний LSB буюу 1-р битүүдээс бүтэх зургийг гаргаж харахад:


Ингээд флаг: Are_you_color_blind

CSCAMP CTF 2013: Reverse 100

100 онооны reverse engineering-н даалгавар нь харьцангуй хялбар байв. Дараах 64 битийн ELF файл өгөгдөв.

https://www.dropbox.com/s/3g3z9upfe9oqp7k/null







Харин файлыг ажиллуулахд username password дамжуулж өгөх хэрэгтэй нь харагдав.







Даалгаврын зорилго нь зөв нэр, нууц үгийг өгснөөр флаг гаргаж авах юм. Ингээд IDA-р ассемблер кодыг нь харахаар нээж агуулагдаж буй тэмдэгтийн цувааг харахад.

Нэр, нууц үг нь encrypt-лэгдээгүй хэлбэрээр байж байв. r00t : OshZ2sexLLLxXXnnn001
 

Ингээд флаг: 2afcad7815395d567001e09100c4e2fe
Маш хялбархан 100 оноотой болов оо!

CSCAMP CTF 2013: Web 150 Robots

"Humans, keep away!"

Өгсөн хаяг руу ороход дараах форм байв:
Уг даалгавар 'Robots' гэдэг нэрнээсээ маш хурдан хугацаанд хариу илгээх нь ёстой гэдэг нь бараг ойлгомжтой байсан бөгөөд харин яг юуг уг input-д бичиж илгээх нь эхлээд хачирхалтай байв. Ингээд жаахан эх кодыг нь ухвал хуудас дуудагдах бүрд input-н name field буюу өөрөөр хэлбэр параметрээ дамжуулах нэр нь өөр өөрөөр ирж байсан бөгөөд 'challenge' гэдэг cookie-д '2362+-+4312' эсвэл '8432+++1220' гэх мэт хэлбэрийн сонирхолтой утга мөн ирж байв. Уг илэрхийллийг бодоод формын утгыг бөглөөд илгээх код бичлээ. Ингэхдээ '+++' -г зүгээл л + үйлдэл '+-+'-г - үйлдэл гэж хэрэгжүүллээ.



Ингээд кодоо ажиллуудаад флаг гарч ирсэн бөгөөд флаг-аараа оноогоо авсан бөгөөд харин хадгалж авахаа мартсан байна лээ :)

CSCAMP CTF 2013: Crypto 300 Many times pad

"Well, this is a straightforward one; a classic case of a many time pad. The 12th message contains the flag.

Code:

import os

key = os.urandom(1024)
messages = [message.rstrip('\n') for message in open("messages")]

def xor_string(x, y):

    if len(x) > len(y):
        return ''.join([chr(ord(z) ^ ord(p)) for (z, p) in zip(x[:len(y)], y)])
    else:
        return ''.join([chr(ord(z) ^ ord(p)) for (z, p) in zip(x, y[:len(x)])])

print key.encode('hex')

for i in range(0, len(messages)):
    print "Message #{0}: {1}".format(i, xor_string(key, messages[i]).encode('hex'))



Message #0: 2838febbef072500b57a8e41119b051ad0174127b3f11208bd094d092bb9b6edfe0b655377a1dd6ccb5870d3ae250d91b9d097b5d13b569545c9fd0f3940195356d89ed9a99140b44fca2e5dffe40f37f07a
Message #1: 3a39badcc70c6143b47e981500974057dd100626a9f10e09af5d021731b9a8e1ec4c671c71abdd79cd5970fdac204a90f0c998f1f33012c14edeb802244215071edbccdeaddc14b14b862f1cece10572e56c80fb267a0a0b93e0458fdc3059c95ba33af02189
Message #2: 2b23eebbdf0d6141b47ed9121081051ac816473be7a50e05fc17180438f4a4e2f90b6d5a38829269855523b4a0224e9aa2c297bfd37f028e0dd8af16244f514611df85d8b7c514a8428f271cfae70831eb298ef52772431cc1f65198d1740dc957ed29eb
Message #3: 2838febbef072500a57a950d0097404ed41b062bb5a8460cbd1309401af8b3f8e50b63527ce58965c01c37f5b5294887b9c899f1c030118459c4b8117048170702d68996b3d040b958996a5fece30d37e72985ff6a4c4f0992a54595dd743ece5aa33df933c489caa16c8290717a85d2d470f6a6529d
Message #4: 2f39e8bbdc002452a33b9012459d0f1ace1b553fa2b21240b31b4d103aebb2e3e358224b71b1952de25334
Message #5: 213fe9bbc00d2044e67a9705459b09499c164726b5a24617b90f084028f1a8f8e80b6e5573a0dd7aca533cb4a0320d82b8cf8ab4943e05c15ec2b21470461f4356d685c5e4d44db959ca3d59ffea4133f0298cba2c734b0584a54b9d993210d35b
Message #6: 2838febbdc002400a36d9c0f0c9d071add10426fb3b90340b1121f0e36f7a6acfa4e705938b19568855a39f2b5290d91b1df
Message #7: 2533eebbce092d4ce67a95120ad31355d11b0620a1f11208b95d050131fda7f9e15822537ee58d78d74c3fe7a4614b9aa28696b4c67f178f498cb1063151140702d689dbe4c55cbd5eca3954e8af0c33fa298af62f7e444895ed4196993517c51ef12bfa318f9882a87dd0d96b3586
Message #8: 3d3effbbe4271364e6739c001797404ed41b0639a8b80505fc120b4026f6b4fead5c6d4e7cb6dd6ccb5870e3a0320d82a2c98ab9943e18850ddfaa022242515417c785d8a3
Message #9: 3d3effbbe4271364e662961417d32755d85e5127aeb20e40bb1208137ffba4eae259671c61aa882dcd5970e7a9204199f0c097b6dc2b568742defd1a3f52514615dd83c4a0d85abb0a9e251cece30d72f7618cee6a774f4885ec40dbdf3b0b8147ec3bb82d8adde7a761d28d253897d5c822f4e94496af2235eb4bab26
Message #10: 2b23eebbc91b6146a969d9180a86404ec90c486fbebe1340bd1309402bf8aae9ad526d496ae59762d04e3ef1b861449ba4c9dea5dc3a569644c0b90622491454059e8ecfe4c55cb90a9d2b45ade00772f76188ba187a4e4892e045

Message #11: 2437e3f9cd48384fb3718c1211950f4fd21a4b2ea9a80d05a50e4d092cb9b5e4e80b63526bb2987f85453fe1e1324890bb"


Даалгавар маань дээрх байдлаар өгөгдсөн бөгөөд 1024 байтын урттай санамсаргүй түлхүүр буюу key үүсгээд өгөгдлөө түлхүүртэйгээ харгалзах байт бүрээр нь XOR-дох байдлаар нууцалж байв. Уг түлхүүрийг өгөгдсөн 12 ciphertext-г ашиглан гаргаж авах кодыг python дээр бичив:























Кодын ажиллагааг тайлбарлах гэж оролдвол: XOR-дсон түлхүүрийн c-р байтыг олохын тулд нууцалсан өгөгдөл бүрийн (ciphertext) c-р байтуудыг 0-255 хүртэлх утгатай буюу cipher-р XOR-дход бүх тэмдэгтүүд хэвлэгдэх тэмдэгт байвал тэр cipher нь байх магадлалтай болно. Энэ мэтээр бүх ciphertext-г гаргаж авна. Үүний дараа 12-р text нь:






Ингээд flag нь: youjustfoundmanykeys

Wednesday, May 22, 2013

Battle City төсөл

Battle City хэмээх тоглоомыг SEGA, MEGA зэрэг тоглоомын консол дээр анх гарч байснаар нь бид бүгд сайн мэднэ. 2012 оны хавар буюу МУИС, МТС-н 2-р курс суралцаж байхдаа "Си хэл өгөгдлийн бүтцийн төсөл" хичээл дээр М.Золжаргал багшаараа удирдуулан ангийнхаа Г.Түвшинбат, Ц.Батхонгор нарын хамтаар дээрх тоглоомыг C++ програмчлалын хэл дээр хэрэгжүүлсэн.




Тоглоомын програмчлал сонирхдог болон С,C++ хэл судалж буй хүмүүст хэрэгцээтэй болов уу хэмээн тоглоомынхоо эх кодыг байршуулав.


Уг код нь C++ хэл дээр бичигдсэн бөгөөд, DEV-C editor ашигласан. Си хэл дээр графиктай ажиллахдаа BGI(Borland Graphics Interface) буюу Turbo C-н стандарт сан, Joystick-тай харьцахад mmsystem.h, сүлжээгээр өгөгдөл дамжуулахад winsock.h сангуудыг тус тус хэрэглэсэн.

Ямар ч програм хангамж буюу мэдээллийн системийн хөгжүүлэлтэнд хэрэгжүүлэлтээс гадна тест хийх шаардлагатай байдаг бөгөөд энэхүү жижиг тоглоомонд хангалттай хэмжээний тест хийгээгүй тул алдаа гарах магадлалтай. Дахин хэлэхэд энэ төслийг хэрэгжүүлэхэд бид ердөө 2-р курсын оюутнууд байсан тул зөвхөн тухайн үеийн өөрдсийн мэдлэг чадварын хүрээнд гүйцэтгэсэн болно.

Monday, April 29, 2013

Харуул занги 2-р үе Vulnerability

Уг бүлэгт нийт 4-н даалгавартай бөгөөд харин тэмцээний явцад 3 нь л нээгдсэн юм.

1. Харуул (100 оноо)
Харуул даалгавар бүрэн эхээрээ байхгүй бөгөөд гол санаа нь доорх код дээр энгийн sql injection маягийн зүйл хийнэ. Уг нь маш хялбархан даалгавар. Даанч тэр үедээ гүйцэтгэж чадаагүй л юм даа.
<?php
include('conn.php');
$flag = '...';
$admin = false;
$pass = false;
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$result = mysql_query("select * from members where username like '".real_escape_string($_POST['user'])."';");
if (!$result)
{
echo('Алдаа!');
return;
}
else
{
while ($row = mysql_fetch_assoc($result))
{
if ($row['username'] == 'admin')
{
$admin = true;
}
if ($row['userpass'] == $_POST['pass'])
{
$pass = true;
}
}
}

if ($admin && $pass)
{
echo $flag;
}
}
?>

//_______________________________________________________________________//
SOLUTION:
Уг даалгавар дээр шинээр хэрэглэгч үүсгэх боломжтой байсан бөгөөд хэрэв $row['username'] == 'admin' болон if ($row['userpass'] == $_POST['pass']) шалгалтыг давахад флаг маань гараад ирнэ. Шинээр хэрэглэгч үүсгэх боломжтой тул  if ($row['userpass'] == $_POST['pass']) үүнийг давах нь үүсгэсэн хэрэглэгчийнхээ нэр, нууц үгээр нэвтрэхэд л хангалттай юм. Харин  if ($row['username'] == 'admin') үүнийг давахын тулд дараах аргыг хэрэглэе.
Post-р дамжиж ирсэн өгөгдлийг real_escape_string($_POST['user']) гэж ашиглаж байгаа бөгөөд query дээрээ like ашигласан байна. real_escape_string функц нь \x00, \n, \r, \, ', ", \x1a тэмдэгтуудэд л  slash(\) нэмж өгдөг бөгөөд %-г хэвээр нь үлдээх юм. Үүнийг нь ашиглавал LIKE-р нөхцөл шалгаж байгаа тул admit гэсэн хэрэглэгч үүсгээд нэвтрэхдээ хэрэглэгчийн нэр дээ admi% гэж бичээд нууц үг дээр admit-н нууц үгийг бичихэд хангалттай.
//_______________________________________________________________________//

2. Татар (200 оноо)


3. Өэлүн (300 оноо)
Мөн л даалгавар бүтнээрээ байхгүй бөгөөд гол санаа нь:
if (strcmp($arg1, "arg1value1")==0){
if (strcmp($arg2, "arg2value1")==0){
if (strcasecmp($arg1, "arg1value2")==0){
if (strcasecmp($arg2, "arg2value2")==0){
if ($arg1==arg2){
echo $flag;
}
}
}
}

}
дээрх кодонд bypass хийх хэрэгтэй. $arg1 болон $arg2 нь GET-р дамжуулагдсан хувьсагчууд.

//_________________________________________________________________________//
SOLUTION:
Дээрх бүх нөхцөл шалгалтууд(IF)-г даваад буюу бүх бүгдийг нь true буцаалгаж л чадвал flag-аа буюу оноогоо олоод авчихна. Гол асуудал нь PHP дээрх 1 хувьсагч (дан ганц PHP ч бус бусад бүх хэлүүд) 2 тэс өөр утгатай нэгэн зэрэг тэнцүү байх боломжгүй юм.
Иймд харьцуулж буй 2 хувьсагчаа GET-р дамжуулж авч байгаа бөгөөд string дамжуулбал эхний 2 л нөхцөлийг биелүүлээд цааш явахгүй нь тодорхой. Тиймээс string биш өөр зүйл дамжуулж байж л болох юм. Тэр нь массив.
Учир юунд вэ гэвэл PHP-н strcmp функцэд аргументууд нь string байх ёстой бөгөөд бусад төрөл ороод ирвэл шууд NULL утга буцаах бөгөөд харьцуулахдаа === биш == гэж харьцуулсан тул тэр нь 0-тэй тэнцдэг.
Уг тохиолдолд test.php?arg1[]=abc&arg2[]=abc ингэж буюу массив дамжуулж өгч дуудахад bypass хийх юм.
//_________________________________________________________________________//

Харуул занги 2-р үе Reverse

Reverse бүлэгт нийт 5-н даалгавартай бөгөөд харин тэмцээний явцад эдгээрийн 2 нь л нээгдсэн юм.

1. Тэрэг (100 оноо)
101. Тэд цэргүүд хатиран одов. Хуагчин эмгэн, бөөр алаг үхрээ гуядаж, яаравчлан явах гэтэл тэрэгний тэнхлэг хугарав. Тэнхлэг хугарсан учир, явганаар ойд дутааж оръё гэж байтал, хойноос мөн цэргүүд Бэлгүтэйн эхийг сундалж, хоёр хөлий нь санжуулан давхиж ирээд, "Энэ тэргэн дотор юу байна?" гэж асуувал, Хуагчин эмгэн өгүүлрүүн: "Унгас бий" гэв. Тэр цэргүүдийн ахмад нь өгүүлрүүн: "Дүү нар бууж үзэгтүн" гэвэл, бусад нь бууж хаалттай тэрэгний хаалгыг нээвэл, дотор нь хатан сууж байна. Түүнийг тэрэгнээс чирч гаргаад Хуагчин хоёуланг сундалж Тэмүжиний хойноос өвсний налархайгаар мөшгөж, Бурхан халдун өөд гарав.

Файлыг тат! (татах файлыг нь вирусны эсрэг програмууд вирус гэж илрүүлээд байгаа тул нууц үг бүхий zip файлаар тавилаа. Нууц үг: sesi)

//____________________________________________________________________________//
SOLUTION:
Уг файл нь жижиг exe файл бөгөөд зөвхөн 64 бит-н систем дээр ажилладаг бололтой. Нээхэд дараах интерфэйс угтах бөгөөд ердөө 1 textbox, 12 button-с бүрдэж байв. Өөр дээрээ монгол бичгээр бичсэн (0-9 хүртэлх) тоотой товчлуур дээр дарах бүрд өөрийн утгаа textbox-д нэмэх бөгөөд алилгах, шалгах гэсэн нэмэлт 2 товчтой байв.


Гол зорилго нь зөв тоог бичээд шалгах товчийг дарвал flag-г маань гаргаж өгөх бололтой. Иймээс disassembler ашиглан програмын эх кодыг илүү доод түвшний буюу бараг assemler кодыг нь харъя.
Уг програмын(form) үндсэн функцуудыг дээрх зурагт харуулав. btn0_Click-с btn9_Click хүртэлх нь тоотой товчлуурууд дээрх дарагдах үед дуудагдах функцууд гэдэг нь ойлгомжтой. Бидний сонирхох ёстой функ нь шалгах товчыг дарах буюу btnCheck_Click-г функц юм.

Уг btnCheck_Click функцыг нээж харахад call tereg::frmMain::btnValue буюу өөр нэгэн btnValue функцыг дуудсан байна.


btnValue функц нь ямар нэгэн нөхцөл шалгалтууд хийсний үр дүнд "RmxhZzogVHV1a2hfM25kMzNzXzNraDNsZDNn" болон "0KLSr9Kv0YUg0Y3QvdC00Y3RjdGBINGN0YXRjdC70LTRjdCzIQ==" гэсэн 2 текстийг decode хийж MessageBox-р харуулж буй нь харагдаж байна. Decode функцыг нь харвал Base64 нууцлалын алгоритм ашиглаж байсан бөгөөд ==-р төгсснийг нь харвал андашгүй юм.

Эдгээрийг текстүүдийг decode хийвэл
"Түүх эндээс эхэлдэг!"
"Flag: Tuukh_3nd33s_3kh3ld3g" тус тус гарч байлаа. Ингээд бидний хайж байсан уг даалгаврын флаг маань "Tuukh_3nd33s_3kh3ld3g".



//____________________________________________________________________________//

2. Жамуха (200 оноо)
118. Тэмүжин Жамуха хоёр янаг найртай байж, нэгэн жил хагас хамт сууж, нэгэн өдөр тэр нутгаас нүүе гэлцэж, зуны тэргүүн сарын арван зургааны улаан тэргэл (дүгрэг сартай) өдөр нүүв. Тэмүжин Жамуха хоёр, тэрэгнүүдийн урд явж байтал Жамуха өгүүлрүүн:

"Тэмүжин анд аа!
Ууланд шахан бууя.
Адуучинд гэр болтугай!
[Ай зөв үү? А.то.]
Голд шахан бууя
Хоньчин хургачин нарт
Хоол болтугай!
[Хориггүй биш үү? А.то.] гэв.

(Хагас нь адууны бэлчээрийг таатж ууланд бууя, хагас нь хонины бэлчээрийг татаж голд бууя гэсэн үг бололтой). Тэмүжин, Жамухын энэ үгийг ухан ядаж хариу юу ч хэлсэнгүй хоцроод нүүдлийн тэргийг хүлээж Өэлүн эхэд өгүүлрүүн:

"Жамуха анд надад хэлэв:
Ууланд шахан бууя,
Адуучинд гэр болтугай!
Ай зөв үү?
Голд шахан бууя,
Хоньчин хургачин нарт
Хоол болтугай!
Хориггүй биш үү?

гэж өгүүлэв. Би энэ үгийг ухаж ядаж хариу юу ч эс хэлэв. Эхээс асууя гэж ирэв би" гэв.

Файлыг тат!

Харуул занги 2-р үе Forensic

Forensic бүлэгт нийт 4-н даалгавартай бөгөөд харин тэмцээний явцад үүний 2 нь л нээгдсэн юм.

1. Дува сохор (100 оноо)

4. Дува сохор, магнай дундаа ганц нүдтэй гурван нүүдлийн газар харах бүлгээ.
5. Нэгэн өдөр Дува сохор, Добу мэргэн дүүтэйгээ Бурхан халдун уулан дээр гарав. Дува сохор, Бурхан халдун дээрээс харвал Түнхэлэг горхин уруу нэгэн бүлэг иргэн нүүж айсуй.
6. Дува сохор өгүүлрүүн: "Тэр нүүдэл иргэний дотор, тэрэгний мухлагийн өмнө нэг сайхан охин сууж явна. Хүний гэргий болоогүй бол Добу мэргэн дүү чамд гуйж гэргий болгоё" гээд түүнийг үзүүлэхээр Добу мэргэн дүүгээ илгээв.

Файлыг тат!

//___________________________________________________________________________//
SOLUTION:

Уг зураг нь CMYK буюу Cyan, Magenta, Yellow, Black үндсэн өнгөөр өнгүүдийг илэрхийлсэн зураг байв. Хамгийн энгийнээр photoshop програмаар эдгээр 4-н channel-г нээж харвал:


Бөгөөд өнгөний суваг тус бүрээр харвал Монголын нууц товчооны хэсгүүд харагдах бөгөөд харин зөвхөн шар өнгөний сувгийг сонгон харвал:


Ингээд энэ даалгаврын флаг: "B4RGUJIN GUA"

//___________________________________________________________________________//

2. Алтан гэрэгэ
86. Гуравдугаар өдөр [Дөнгөт хүн хаана холдох билээ? А.то.] "Түүнийг манайхан нуусан биз. Өөр зуураа айлуудыг нэгжье" гэж айл бүрийг нэгжсээр Сорхон-шарынд ирж, гэр тэрэг ба исэр (ор)-ийн дор хүртэл нэгжээд хойд унгаст тэргэнд очиж амсар дахь унгасыг таталж, Тэмүжиний хөлд хүрвэл, Сорхон-шар өгүүлрүүн: "Ийм халуун цагт унгасан дотор амьд хүн яаж байна? [Сэтгэлээ хантал эр. А.то.] " гэвэл нэгжүүлийн хүмүүс бууж одов.

Файлыг тат!

Харуул занги 2-р үе Trivia

Энэ бүлэгт 3-н даалгавар бий бөгөөд хамгийн энгийн даалгаврууд байлаа.

1. Алтан аргамж


2. Элч


3. Оньсого (50 оноо)
sub al, 0x2c үйлдлийн (instruction) опкод (opcode) юу вэ?
Хариултаа 0xFFFF форматаар оруулна уу.
//___________________________________________________________________//
SOLUTION:

SUB AL, 0x2C үйлдлийн operation code нь 2C2C бөгөөд 0xFFFF форматаар гэсэн тул флаг: "0x2C2C".

//___________________________________________________________________//

Харуул занги 2-р үе Network

Сүлжээний уг бүлэгт нийт 4-н даалгавартай бөгөөд харин тэмцээний явцад багууд хангалттай гүйцэтгээгүйн улмаас 2 нь л нээгдсэн юм.

1. Нохой (100 оноо)
66. Есүхэй худ, охиныг үзвэл нүүртээ гэрэлтэй, нүдэндээ галтай охин тул санаанд нийлэв. Түүний нэр Бөртэ гэнэ. Тэмүжинээс нэгэн нас ах, аравтай ажээ.

Дэй сэцэний гэрт хоноод маргааш нь охиныг гуйвал, Дэй сэцэн өгүүлрүүн: "Олон удаа гуйлгаж өгвөл эрхэмлэгдэх, цөөн удаа гуйлгаж өгвөл доромжлогдох гэдэг боловч, охин хүний заяа, төрсөн үүдэнд өтлөхгүй тул охиноо өгье. Чи хөвүүнээ хүргэн болгож манай гэрт үлдээ" гэвэл, Есүхэй баатар өгүүлрүүн: "Би хөвүүнээ орхиё. Миний хөвүүн нохойноос цочимтгой билээ. Эрхэм худ чи, миний хөвүүнийг нохойноос бүү цочуул!" гээд хөтөлж явсан мориор бэлэг өгч, Тэмүжинийг орхиод Есүхэй баатар буцав.

Файлыг тат!

//______________________________________________________________________________//
SOLUTION:

Уг pcap файл буюу wireshark програмаар бичсэн сүлжээний бичлэгийг wireshark програмаар нээвэл 192.168.80.129 хаягнаас 192.168.80.135 хаяг руу FTP-р хандан олон тооны нэвтрэх оролдлого хийсэн байх нь харагдах бөгөөд сайн ажиглавал 1 хандалтаас бусад нь бүгд буруу байна.



1299-р пакет дээр 192.168.80.135-с "230 Login successful." хариу ирсэн байхыг харж болно. Эндээс packet analyser буюу TCP урсгалыг нь харвал:


Эндээс энэ даалгаврын флаг: "3sukh31_b44t4r".
//______________________________________________________________________________//

2. Хар дах (200 оноо)
104. Тэндээс Тэмүжин, Хасар, Бэлгүтэй гурвуул явж, Туул голын Хар шугуйд нутаглаж байгаа ван хан Тоорилд очиж өгүүлрүүн: "Санамсаргүй байтал гурван мэргид довтолж, эхнэр хүүхдийг минь булааж авав. Хан эцэг минь эхнэр хүүхдий минь аварч өгнө үү гэж ирэв" гэвэл, ван хан Тоорил хариу өгүүлрүүн: "Би ноднин жил чамд хэлсэн биш үү. Эцгийн адил эцэг гэж булган дах авчирч өгсөн тухайд би ингэж хэлсэн билээ:

"Булган дахын чинь хариуд
Бутарсан улсы чинь
Бөөгнөрүүлж өгье
Хар булган дахын чинь хариуд
Хагацсан улсы чинь хамтатгаж өгье.
Цэрээ цээжинд байлга
Бөөрөө бөгсөнд байлга (Ах захтай байг)"
гэж хэлсэн билээ.

Одоо тэр үгэндээ хүрч,
Булган дахын чинь хариуд
Бүгд мэргэдийг
Бүрэлгэн довтолж
Бөртэ үжинийг чинь
Буцааж өгье.
Хар булган дахын чинь хариу
Хамаг мэргидийг
Хамх цохиж
Хатан Бөртий чинь
Хариулж авчиръя.

Чи Жамуха дүүд хэл өг. Жамуха дүү Хорхунаг Жубур гэдэг газар бий. Би эндээс хоёр түмэн цэрэг авч баруун гар болон мордъё. Жамуха дүү хоёр түмэн цэрэг авч зүүн гар болон морилог. Бидний учрах болзоог Жамуха тогтоотугай" гэв.

Файлыг тат!

//______________________________________________________________________________//
SOLUTION:

Мөн адид pcap файлыг wireshark-р нээвэл:




дээрх байдлаар харагдах бөгөөд #20 пакет дээр 192.168.119.1 хаягтай компьютер 192.168.119.130-с Temuujin_Toorilvan.rar файлыг http-р дамжуулах авах хүсэлт илгээж байгаа нь харагдах бөгөөд харин #22 пакет дээр эхний хэсгийг нь дамжуулж байгаа ба нийт 201-н хэсэг уг файлыг хувааж дамжуулж байв. Иймд зөвхөн эхний хэсгийн дамжсан өгөгдлийг нь rar файл болгож хадгалаад бүрэн гүйцэт биш ч гэсэн нээж харахад comment хэсэг нь дараах текст бичигдсэн байв.


Энэ даалгаврын флаг: "Kh4r_Bulg4n_D4kh".

//______________________________________________________________________________//

Харуул занги 2-р үе "Монголын нууц товчоо"

Монголын нууц товчоо хэмээх тэмцээний 2-р үеийн даалгаврууд үндсэн 6-н бүлэгт хуваагдаж байв.
  1. Trivia
  2. Reverse
  3. Vulnerability
  4. Network
  5. Web
  6. Forensic
Блог дээр тавьж болохуйц даалгавруудыг л орууллаа. Зарим даалгаврыг оруулах нь хэтэрхий төвөгтэй байсан тул орхив :)

Харуул занги 1-р үе RecoverMe

1. RecoverME
AnalyzeMe хэсэг нь дотроо нийт 3-н даалгавартай:

               RecoverME(1):
https://www.dropbox.com/s/n5qg85wig3y6fyk/RecoverMe%281%29.zip

               RecoverME(2):
https://www.dropbox.com/s/aeuj9gis4pmiwdn/RecoverMe%282%29.zip

               RecoverME(3):
https://www.dropbox.com/s/0k1z0zth7xywhpc/RecoverMe%283%29.zip


Харуул занги 1-р үе DiscoverMe

4. DiscoverME
DiscoverMe хэсэг нь дотроо нийт 5-н даалгавартай. Даалгавар бүр нь файлд ямар нэгэн хэлбэрээр өгөгдөл нууцалсан байгаа.(Steganography)

               DiscoverME(1):
BMP https://www.dropbox.com/s/wbl2i1bkofltkdq/DiscoverMe%20.bmp

               DiscoverME(2):
GIF https://www.dropbox.com/s/adhok1qwycmf223/DiscoverMe%20.gif

               DiscoverME(3):
JPG https://www.dropbox.com/s/ym8ce9rji3mq0s9/DiscoverMe%20.jpg

               DiscoverME(4):
PDF https://www.dropbox.com/s/hhj6c75brjokceg/DiscoverMe%20.pdf

               DiscoverME(5):
PNG https://www.dropbox.com/s/ua7pf81item4m2t/DiscoverMe%20.png



Харуул занги 1-р үе DecryptMe

3. DecryptME
DecryptMe хэсэг нь дотроо нийт 9-н даалгавартай:

               DecryptME(1):
Btvvmujjo ybsjv-h ybsyjjo uvme fsuojj hsffl jjo ovvutmbmjjh nfefi tibbsembhubj: dbftfsdpef123

               DecryptME(2):
Vwvvi yrv vv xsrnvsvvi  Viwnvv yrv vv xsrn. mffgh ft :afrift2

               DecryptME(3):
HoQBLoH9OfQUSfSC

               DecryptME(4):
1kPb7+wM1/GfwdwNE1f8

               DecryptME(5):
748ad6ccd32e4e52718445bb1cadc01eb08a0df6

               DecryptME(6):
Англи хэл дээр бичигдсэн эх текстийг орлуулга шифрийн аргаар боловсруулсан бөгөөд дараах шифр текстийг тайлна уу.
LVE GTU JHLOGCK KRBY WHYYVAH

Тусламж: Англи хэлний үсгийн тархалтын давтамжийг доорх хүснэгтээр харуулав. 


Тайлбар Орлуулга шифрийн арга гэдэг нь эх текстийн тэмдэгтийг тодорхой зүй тогтол бүхий системийн дагуу нэг нэгээр (нэг тэмдэгтэд нэг үсэг харгалзуулах) хувиргаж шифр текст үүсгэх бөгөөд хүлээн авагч тал шифрлэхэд хэрэглэсэн аргыг урвуу хэрэглэн тухайн текстийг тайлж унших криптографийн арга юм.

               DecryptME(7):
Bifid төрлийн шифрийн аргачлал нь мэдээллийг нууцлах маш хялбар дүрэм буюу тэгш өнцөгт хэлбэртэй хүснэгтийг түлхүүр болгон ашигладаг. Уг хүснэгтэд англи үсгүүдийг тодорхой дарааллаар байрлуулсан байдаг. Ингэхдээ англи хэлний  I болон J үсгийг адилтган үзнэ. Дээрх түлхүүрийг ашиглан мэдээллийг нууцалсны үр дүнд  SIXTY EIGHT MILES гэдэг үг RYXXT OFTXT LKSWS болон хувирсан байг.  Тэгвэл дээрх аргаар шифрлэсэн DQTTR EBRTT KVLQR шифр текстийг тайлна уу.

C
O
D
E
A
B
F
G
H
I/J
K
L
M
N
P
Q
R
S
T
U
V
W
X
Y
Z
               
               DecryptME(8): Дэффи-Хеллманы түлхүүрийг тайлах бодлого
Амар, Бат хоёр утсаар ярихдаа гадны этгээд тэдний яриаг сонсохоос сэргийлж нууц тоо сонгон хэрэглэхийг хүсчээ. Эхлээд Амар, Бат нар 2-уулаа мэдэх дараах чанартай a <= 256 бүхэл тоог сонгоно:

1 <= i <= 256 хувьд R257(a^i) утгууд бүгд ялгаатай ба R257(a^256) = 1 байна. /энд R257(t) нь t тоог 257-д хуваахад гарах үлдэгдэл, ө.х t = R257(t)(mod 257) байна./
Тэд хоорондын яриагаа нууцлахдаа дараах алхамаар гүйцэтгэнэ:
  1. Амар x <= 256 эерэг бүхэл тоог нууцаар сонгосон бол Бат  y <= 256 тоог нууцаар сонгов.  
  2. Амар Бат нар өөрсдийн тоонуудыг харгалзан тооцсоны дараа Амарын тоо R257(a^x), Батын тоо R257(a^y) болно. /Уг тоонууд нийтэд ил байх юм./    
  3. Эдгээр тоонууд харилцан бие биедээ дамжуулна. 
  4. Тэдний яриагаа нууцлах дундын нууц тоо нь өөрсдийн нууц тоонууд x, y –ийг ашиглан тооцсон R257(a^(xy+1)) утга болно. 
Тэгвэл a = 5, R257(a^x) = 16, R257(a^y)=248 тохиолдолд тэдний дундын нууц тоог ол.

               DecryptME(9):
Доорх өгөгдлөөс нууц түлхүүрийг гарга.
NTML hash: F60548599E57CC0BA2220BBEF3F905D1
LM hash: 164056BA90E0DDDDB30E00C28EBFE1EE

Харуул занги 1-р үе DecodeMe

2. DecodeME
DecodeMe хэсэг нь дотроо нийт 9-н даалгавартай бөгөөд бүгд ямар нэгэн хэлбэрээр мэдээллийг нууцалсан байгаа. Уг нь мэдээллийг decode хийн гарган авах нь даалгавар нь юм.

               DecodeME(1):
VGEgYW1qaWxsdGFpIGRhdmxhYS4gbnV1dHMgdHVseHV1cjogemFuZ2kyMzk5

               DecodeME(2):
3/\/3 50|2!17!!6 |)4\/4%!!/\/ 7|_|1|) 74 "/_4|2!|\/| /\/36 1337 |-|31!!6 |\/|3|)|)36 |>4!% 5|-|44|2|)14674! /\/|_||_|75:753|23/\/_/4\/1918

               DecodeME(3):
62 61 79 61 72 20 78 75 72 67 69 69 79 20 65 6e 65 20 64 61 61 6c 67 61 76 61 72 69 69 6e 20 6e 75 75 74 73 3a 20 48 61 72 75 75 6c 31 32 32 32

               DecodeME(4):
- ..- ..- .... .. .. -.   -- . -.. .-.. . --.   - .- -. .. -..   .... . .-. . --.   -... --- .-.. -. --- .-.-.-   -. ..- ..- - ...   ..- --. .-.-.- .-.-.- .-.-.- -- --- .-. ... . -.-. --- -.. . .----

               DecodeME(5):
0x4861636B65725A616E67213337

               DecodeME(6):
44C811060065

               DecodeME(7):
6e,23,2a,5d,3e,43,3c,77

               DecodeME(8):
Nzwvyggnv-69qs09

               DecodeME(9):
Доорх өгөгдлөөс түлхүүрийг ол.
Тext=48 61 72 75 75 6c 7a 61 6e 67 69
Ciphertext=20 20 11 1E 47 5C 4B 52 27 09 0E

Харуул занги 1-р үе эрвэл олдоно

Тэмцээн дээр ирсэн даалгавруудыг өөрийн компьютер дээр дэмий хадгалж байхаар энэ чиглэлээр сонирхдог тэмцээнд оролцоогүй хүмүүст зориулж дэлгэхээр шийдлээ. Ирэх жилийн тэмцээн илүү өрсөлдөөнтэй болно байх гэдэгт найдаж байна.

Эрвэл олдоно хэмээх тэмцээний 1-р үе маань үндсэн 5-н бүлэг даалгавар байв.

  1. AnalyzeMe
  2. DecodeMe 
  3. DecryptMe 
  4. DiscoverMe 
  5. RecoverMe 

Харуул занги 1-р үе AnalyzeMe

1. AnalyzeME
AnalyzeMe хэсэг нь дотроо нийт 6-н даалгавартай:

               AnalyseME(1):
Check.exe virus-ийш татаж аван анализ хийн ямар үйлдэл хийж буйг тодорхойл. (Windows XP машин дээр туршина).
https://www.dropbox.com/s/6ciwn1hy6oteg8j/Check.zip
(татах файл нь вирус тул нууц үг бүхий zip файлаар тавилаа. Нууц үг: sesi)

               AnalyseME(2):
Wireshark програмаар бичиж авсан бичлэгийг анализ хийн ямар үйлдэл хийж байгааг тодорхойлно уу.
https://www.dropbox.com/s/7c2elquyjl8yzop/AnalyzeME%20%282%29.pcap

               AnalyseME(3):
Wireshark програмаар бичиж авсан бичлэгийг анализ хийн ямар үйлдэл хийж байгааг тодорхойлно уу.
https://www.dropbox.com/s/f1cr720qyzrpxt4/AnalyzeMe%20%283%29.pcap

               AnalyseME(4):
Доор кодыг шинжилгээ хийн ямар үйлдэл хийж байгааг тодорхойл.

               AnalyseME(5):
Доор логийг шинжилгээ хийн ямар ямар төрлийн халдлага хийж байгааг тодорхойл.

               AnalyseME(6):
Доор snort-ийн логийг шинжилгээ хийн ямар ямар төрлийн халдлага хийж байгааг тодорхойл.

Sunday, April 28, 2013

Харуул занги

2013 оны 4-р сарын 25-нд болсон "Харуул занги" хэмээх цахим аюулгүй байдлын тэмцээнд оролцсон тухайгаа дурдъя.
Ийм нэгэн тэмцээн болох талаар ердөө 14 хоногийн л өмнө сүлжээний үндэс хичээлийг үзэж байсан багшаасаа сургуулийн facebook хуудсаар дамжуулан сонсоод ороод үзэхээр шийдлээ. Юу ирдэг яг ямар учиртай тэмцээн болохыг үнэндээ нь сайн ойлгохгүй л байлаа. Ямартай ч мэдээллийн технологийн салбартай холбоотой л юм болохоор оролцож үзье л гэж бодлоо. Ангийнхаа 1 хүүхэдтэй баг болоод юу ч гэсэн бүртгүүлчих вээ.

"Эрвэл олдоно" хэмээх нэртэй 1-р үе нь онлайнаар боллоо. Даалгавруудаа татаж аваад хартал AnalyzeME, DecodeME, DecryptME, DiscoverME, RecoverME гэсэн үндсэн бүлэг даалгавруудтай байв. Эхэндээ ч яг яах, яаж оноо авах талаар юу ч мэдэхгүй байв. Харин хамгийн эхлээд манай багын нөгөө гишүүн маань DecodeME-н 4-р даалгавар болох Morse-р кодлосон байсныг нь тайлан анхныхаа token-оо гаргаад авчихлаа. Ингээд л цаашаа оноог авч өгсөн дөө. Тэмцээнд хамт орсон ангийнхаа бусад багуудаас зарим 1 даалгавар дээр тусламж авснаа нуух юун.

Шөнийн 2-н цаг өнгөрч тэмцээний цаг бараг дуусч байлаа. AnalyzeME-н даалгавруудаас бусад даалгавар оноо нь шууд орж тооцогдож байсан бөгөөд 170-н оноотой болсон байв. Decoding болон decrypt зэргийг л голчлон гүйцэтгэв. Steganography-н баахан tool хайж хайж хэдэн даалгаврыг нь гүйцэтгэсэн. Ингээд цаг нэлээд дөхсөн тул AnalyzeME-н бүх даалгавар дээр багийнхаа гишүүнтэй зөвлөж байгаад богино хэмжээний тайлбар бичээд л бүгдийг нь илгээчихлээ.

Маргааш нь өдрийн 1 цагт дүн гарч AnalyzeME-с 40-н оноо буюу нийт 210-н оноотой болсон байв. 1-р шатны дүнгээр 2-р байранд манай баг жагсжээ. Дүнгээ хараад бөөн баяр, эхний үеэ л давбал их юм хэмээн бодож байсан маань улам даварч 2-р үеийг л давчихвал гэж бодов.

1-р үеээс SESI багийн оноо авсан байдал:
Decryption 1 - 10
Decryption 2 - 10
Decryption 3 - 10
Decryption 4 - 10
Decryption 5 - 10
Decryption 6 - 10
Decryption 7 - 10
Decryption 8 - 10
Decoding 1 - 10
Decoding 2 - 10
Decoding 3 - 10
Decoding 4 - 10
Decoding 5 - 10
Decoding 8 - 10
Steganography 2 - 10
Steganography 3 - 10
Steganography 5 - 10
Analysis 2 - 10
Analysis 3 - 10
Analysis 4 - 10
Analysis 5 - 10

Нөгөөдөр нь буюу 4-р сарын 25-нд 2-р үе onsite хэлбэрээр болов. Тэмцээн ч эхэллээ. "Монголын нууц товчоо" хэмээх 2-р үеийн даалгавруудыг Mobicom компаниас зохиосон байсан бөгөөд өгөгдсөн даалгавар, тэдгээрийг Монголынхоо түүх соёлтой сэдвийнх нь хувьд холбосон байдал зэрэг нь үнэхээр сэтгэлд хүрсэн.

2-р үеийн үргэлжлэх хугацаа 3-н цаг байв. Ороод нилээн ч суулаа. Нийт 3-н цагийн маань бараг 2 цаг нь өнгөрөв. Оноо авч чаддаггүй ээ. Бусад багууд оноо аваад л байдаг. Анх удаа ийм тэмцээнд орж байгааг хэлэх үү, яг хажууханд хэдхэн метрийн цаанаас үзэгчид хараад л, өрсөлдөгчид өөдөөс хараад ойр ойрхон оноо аван түүнийг зарлах нь сэтгэл зүйд тун сөргөөр нөлөөлөөд байх шиг. Бүр сандраад толгойд юу ч орж ирдэггүй дэмий л даалгавар бүрийг гүйцэтгэсэн ч юм байхгүй хальт эргүүлж тойруулж ухаж суутал хамаг цаг маань явчихлаа. Ингээд өнгөрдөг юм байж л гэж бодлоо. Тэр үед хамгийн өндөр оноотой баг нь 300 гарчихсан байсан байх. Манайх 0 оноотой. Ядаж л оноо авчих юмсан л гэж бодлоо.

Хамгийн эхэнд барьж авсан даалгавар маань Trivia-н 50-н онооны Оньсого гэдэг даалгавар байсан юм.
"sub al, 0x2c үйлдлийн (instruction) опкод (opcode) юу вэ?
Хариултаа 0xFFFF форматаар оруулна уу."

Ердөөсөө л энэ. Ассемблер хэл гадарладаг хүнд бол хялбархан л асуулт. Opcode-г нь 2C2C гэдгийг мэдэж байгаа мөртлөө л давуулж чадаагүй. Сүүлд нь давуулж чадсан багаас сонсоход Flag-аа илгээхдээ "2C2C" гэж илгээх биш яг "0x2C2C" гэж илгээх байсан юм билээ. Миний хувьд ойлгохдоо 0xFFFF хэлбэрээр илгээнэ үү гэдгийг нь binary биш hexadecimal гэдгээ л хэлж байгаа юм байна гээд л шууд бодчихсон хэрэг. Эхнээсээ л ингээд үл ялиг жижиг зүйлээс бага зэрэг бүтэлгүйтээд эхэлчихсэн юм билээ.

Гэтэл харин багийн гишүүн (Т.Батсаруул) маань тэмцээний үед шүүгчдээс өгч байсан жижиг тусламжийг ашиглан гар утасны товчлуурыг ашиглан нууцалсан байсан Trivia-н Элч хэмээх даалгаврыг гүйцэтгээд 50-н оноотой болов. Бөөн баяр :) Ямар ч байсан оноо авчихлаа нойллоогүй л болоо гэж бодоод санаа амран бараг л сандрахаа больчихлоо.

Багийнхаа гишүүнтэй ярилцаж байгаад тактиктай үзэхээр шийдлээ. 50-н оноо авсан ч гэсэн 9-р байрт л бичигдэж байв. Өндөр оноотой 4-н баг нь 3-р үед өрсөлдөх тул одоо шууд 200, 300 гэх мэт оноотой даалгаврыг л хийх гэж оролдохоос өөр сонголт байсангүй.

Нээгдсэн даалгавруудаас хамгийн өндөр оноотой нь Vulnerability-н 300-н оноотой Өэлүн эх гээд даалгавар байв. Харсан чинь PHP дээрх код байв. Өмнө нь вэб програмчлал хичээл дээр болон бие дааж л PHP дээр жижиг сажиг юм хийж үзэж байсны л хэрэг гарлаа даа. Даалгаврын гол санаа нь гэвэл:
if (strcmp($arg1, "arg1value1")==0){
if (strcmp($arg2, "arg2value1")==0){
if (strcasecmp($arg1, "arg1value2")==0){
if (strcasecmp($arg2, "arg2value2")==0){
if ($arg1==arg2){
echo $flag;
}}}}}

энэ бүх нөхцөл шалгалтууд(IF)-г даваад буюу бүх бүгдийг нь true буцаалгаж л чадвал flag-аа буюу оноогоо олоод авчихна. Гол асуудал нь PHP дээрх 1 хувьсагч (дан ганц PHP ч бус бусад бүх хэлүүд) 2 тэс өөр утгатай нэгэн зэрэг тэнцүү байх боломжгүй. Би ч бүр гайхлаа. Хичээл дээр иймэрхүү юм зааж, өмнө нь сонсож байсан биш. Ямартай ч болдог болоод л даалгавар болгож оруулсан байж таарлаа гээд л оролдож үзлээ дээ. Харьцуулж буй 2 хувьсагчаа GET-р дамжуулж авч байсан бөгөөд string дамжуулбал эхний 2 л нөхцөлийг биелүүлээд цааш явахгүй нь тодорхой байв. Тиймээс string биш өөр юм дамжуулж байж л болох юм байна тэр нь магадгүй обьект юм уу массив байж болох юм гээд дамжуулж үзье гэж бодлоо.

За тэгээд оролдож байгаад массив дамжуултал болж байна шүү. Учир юунд вэ гэвэл PHP-н strcmp функцэд аргументууд нь string байх ёстой бөгөөд бусад төрөл ороод ирвэл шууд NULL утга буцаах бөгөөд харьцуулахдаа === биш == гэж харьцуулсан тул тэр нь 0-тэй тэнцэж байгаа юм байна л даа. Ингээд л 300-н оноотой боллоо. Хөтлөж байсан ах маань ч 9-р байранд явж байсан SESI баг 1-р байранд орж ирлээ, өрсөлдөөн тун ширүүслээ гээд л зарлалаа. Тун ч их баярлав.

Үүний дараа web-н шонхор гэсэн даалгавраас 100 оноо авсан бөгөөд уг даалгаврын гол санаа нь 1 жижиг зураг байгаа бөгөөд onmouseover буюу хулганы курсор дээр нь очих үед санамсаргүй байршил руу шилжихээр кодлогдсон байв. Гол зорилго нь тэр шонхор дээр очиж хулганаараа дарах байсан бөгөөд гараар хийнэ гэвэл миний бодлоор боломжгүй юм. Иймээс Google chrome-нхоо inspector-г нь ашиглаад дээр нь дарахад үүсэх event-г нь хялбархнаар олсон бөгөөд success.php?dfsadfjaks4h34kj3h4 иймэрхүү хаяг руу үсрэхээр кодтой байв. Ингээд л энэ url-руу нь ортол шууд л flag маань гараад ирчихсэн.

Ингээд нийт 454 оноотойгоор 2-р үеийг дуусгасан бөгөөд манай SESI баг 2-р үеийн оноогоороо 1-рт бичигдэж байв. Уг нь бол Монголын нууц товчоо гэсэн энэ үеийн даалгаврууд нь боломжийн байсан бөгөөд ямар ч багт өндөр оноо авах хангалттай бололцоо байсан. Гэвч яг сэтгэл хөдлөл, сандрал зэрэг тухайн үеийн нөхцөл байдлаас болоод үнэхээр сохорчихсон байсан бололтой. Оноо авчхаар энгийн даалгаврууд өчнөөн л байсан юм билээ. Сүүлд нь гэртээ ирээд анализ хийгээд харж байхад л анзаарсан.

3-р үедээ ингээд шилдэгт 4-н багт нь шалгараад орлоо. Бидэнд 1 хост өгөгдсөн бөгөөд түүний vulnerability буюу цоорхой нүхийг нь олоод нэвтрэн, дараад нь түүнийгээ засаж оноо авах ёстой байлаа. Их сургуульдаа сүлжээний үндэс гэсэн хичээл үзсэнээс өөр сүлжээний мэдлэггүй, unix үйлдлийн системийн анхан шатны чадвараас өөр юмгүй бид 2-т тун хүнд санагдав. Хэд хоногийн өмнө татаж авсан Backtrack-аараа ухаж metasploit framework дээр суурилсан armitage гээд график интерфэйстэй 1 tool-р уг нь нэвтэрвээ. Өөрөө янз бүрийн exploit-ууд шалгаад уг нь нэвтэрчихдэг юм билээ. Тэгээд 1 root эрхээр нь нэвтэрсэн terminal гаргаад уг нь өгөх юм. Даанч үнэхээр мэдлэг дутаад засаж чадахгүй юм билээ. Угаасаа бэлэн tool-р нэвтэрсэн болохоор нэвтэрсэн аргыг нь ч сайн тайлбарлаж чадахгүй байсан. Ингээд л 3-р үе дээрээ 0 оноо аваад 4-р оров.

Аз болж 4-р үед орох завшаан манай багт тохиолдов. Хэрвээ 4-р үед өгсөн даалгаврыг гүйцэтгэж чадвал манайх 3-р байранд орох байсан боловч хараахан амжаагүй юм. 4-р үеийн даалгавар нь 1 IP хаяг, SSH-р хандах username, password өгсөн байлаа. Хандаад үзтэл дотор нь 1 pcap файл байх нь тэр. Яаж тэрийг нь татаж авах вэ гэж бодоод scp гэдэг комманд судалж байтал манай багын гишүүн шууд FileZilla ашиглаад татаад авчихлаа. Нээгээд үзтэл сүлжээний траффик байв. Сүлжээний талын мэдлэг сул тул бас л жаахан будилсан. Ямартай ч тэр бөөн сүлжээний packet дотроос ftp-р дамжуулсан id_dsa.zip файлыг нь гаргаад авчихлаа.

Хамгийн гол асуудал нь би алдаа гаргаад гаргаж авсан файлын өргөтгөлийг zip файл гэж анзааралгүй шууд л яагаад ч юм бэ id_dsa гэдэг үгийг нь хараад ч тэр үү id_dsa.pub гээд хадгалчихсан байсан. Ингээд pub файлаас түлхүүр гаргаж авах гэж оролдсоор хамаг цагаа үрсэн дээ. Эцэст нь zip файл байсныг цаг дуусах дөхсөн үед л мэдсэн. Тэгээд zip файл болгоод нээх гэтэл нууц үг нэхэж байна. Нууц үг нь уг нь нөгөө pcap файлын бараг төгсгөл хавьд нь "Nuucyg tailax gerege "D5bSafuEbb"" ингэж илгээгдсэн байсан юм билээ. Гэвч 4-р үеийн цаг нь 30-н минут байсан тул нууц үгийг нь олох гэсээр байтал цаг дуусчихсан. Ингээд 3-р байранд орох боломжоо алдсан даа. Магадгүй 5 юм уу 10-н минутын хугацаа илүү байсан бол олчих л байсан байх даа.

Ингээд л манай баг 4-р байранд шалгарлаа. Анх энэ тэмцээнд энэ жилдээ зүгээр л ороод үзье, 1-р үеэ л давбал их юм гэж бодож байснаа бодоход амжилттай.

Блогын талаар

Миний бие одоогоор МУИС, МТС-н жирийн л нэгэн оюутан. Мэргэжил маань мэдээллийн технологийн инженер тул энэ чиглэлээр өөрийн санаа бодлыг хуваалцах, бусдад түгээх зорилгоор ийм нэгэн блог нээв.