TMCTF 2017 Writeup

Reversing 100

RARファイルが渡されるので解凍.

$ unrar e biscuit

すると、PEとZipが出てくる。

$ file biscuit1 biscuit2
biscuit1: PE32 executable (console) Intel 80386 (stripped to external PDB), for MS Windows
biscuit2: Zip archive data, at least v2.0 to extract

T-Pot構築

はじめに

簡単にHoneypot群を作成できるT-Potの紹介.
前にも別のところでまとめたが、そのアップデート.

セキュリティキャンプ2017応募用紙晒し

はじめに

セキュリティキャンプ2017に無事参加できることが決まりました。
ここがゴールではないので、キャンプでは全てを吸収して今後に活かしていきます。

DockerでDionaea構築

低対話型ハニーポットであるDionaeaを構築するDockerfileを作成しました。(https://github.com/kobad/docker-dionaea)

Dos

SYN Flooding

greeting

gdb-peda$ disassemble main
Dump of assembler code for function main:
   0x080485ed <+0>:	push   ebp // 開始アドレスをpush
   0x080485ee <+1>:	mov    ebp,esp // edpにスタックトップアドレス代入
   0x080485f0 <+3>:	and    esp,0xfffffff0 // espが変な位置にないかcheck
   0x080485f3 <+6>:	sub    esp,0xa0 // esp = esp - 0xa0
   0x080485f9 <+12>:	mov    eax,gs:0x14 // eaxにgsセグメントのアドレス代入
   0x080485ff <+18>:	mov    DWORD PTR [esp+0x9c],eax // esp+0x9cのアドレスにeaxを代入
   0x08048606 <+25>:	xor    eax,eax // eaxを0で初期化
   0x08048608 <+27>:	mov    DWORD PTR [esp],0x80487b3 // espに0x80487b3を代入
   0x0804860f <+34>:	call   0x8048450 <printf@plt> // print Hello, I'm nao! Please tell me your name...
   0x08048614 <+39>:	mov    DWORD PTR [esp+0x4],0x40 // esp+0x4(0x80487b7)に0x40
   0x0804861c <+47>:	lea    eax,[esp+0x5c] // eax = [esp+0x5c]adress
   0x08048620 <+51>:	mov    DWORD PTR [esp],eax // espにeax([esp+0x5c]adress)代入
   0x08048623 <+54>:	call   0x8048679 <getnline> // call getnline
   0x08048628 <+59>:	test   eax,eax
   0x0804862a <+61>:	je     0x8048656 <main+105> // 0x8048656にjmp
   0x0804862c <+63>:	lea    eax,[esp+0x5c]
   0x08048630 <+67>:	mov    DWORD PTR [esp+0x8],eax
   0x08048634 <+71>:	mov    DWORD PTR [esp+0x4],0x80487d0
   0x0804863c <+79>:	lea    eax,[esp+0x1c]
   0x08048640 <+83>:	mov    DWORD PTR [esp],eax
   0x08048643 <+86>:	call   0x80484e0 <sprintf@plt>
   0x08048648 <+91>:	lea    eax,[esp+0x1c]
   0x0804864c <+95>:	mov    DWORD PTR [esp],eax
   0x0804864f <+98>:	call   0x8048450 <printf@plt>
   0x08048654 <+103>:	jmp    0x8048662 <main+117> // 0x8048662 jmp
   0x08048656 <+105>:	mov    DWORD PTR [esp],0x80487e9
   0x0804865d <+112>:	call   0x8048480 <puts@plt>
   0x08048662 <+117>:	mov    edx,DWORD PTR [esp+0x9c]
   0x08048669 <+124>:	xor    edx,DWORD PTR gs:0x14
   0x08048670 <+131>:	je     0x8048677 <main+138>
   0x08048672 <+133>:	call   0x8048470 <__stack_chk_fail@plt>
   0x08048677 <+138>:	leave  
   0x08048678 <+139>:	ret    
End of assembler dump.

Pwn Memo

メモリレイアウト