Rating:

## ? Rewind 200 (Forensics)

### Solution

```
$ tar xvf rewind.tar.gz
$ unzip rewind.zip
$ rg -a -e "flag\{" --null-data
rewind-rr-snp:while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done?rewind-rr-snp:while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done?rewind-rr-snp:??ls??flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
??flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
??flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
??flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
????OA??flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
??flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
??flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
????OA??flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?rewind-rr-snp:@asd123
ls
cd De
ls
./a
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
????fA?G<???H?4??rewind-rr-snp:???(

Ubuntu 16.04.4 LTS danny ttyS0

danny login: danny

Password:

Last login: Wed Aug 8 20:54:28 EDT 2018 on ttyS0

Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-130-generic x86_64)

* Documentation: https://help.ubuntu.com

* Management: https://landscape.canonical.com

* Support: https://ubuntu.com/advantage

33 packages can be updated.

0 updates are security updates.

lsdanny@danny:~$ ls

Desktop Downloads Music Pictures Templates

Documents examples.desktop peda Public Videos

danny@danny:~$ cd Desktop/

danny@danny:~/Desktop$ ls

a.out team.c vms

danny@danny:~/Desktop$ ./a.out

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

danny@danny:~/Desktop$ ./a.out

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

danny@danny:~/Desktop$ ./a.out

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

danny@danny:~/Desktop$ ./a.out

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

^[[Aflag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

danny@danny:~/Desktop$ ./a.out

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

danny@danny:~/Desktop$ ./a.out

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

danny@danny:~/Desktop$ ./a.out

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

^[[Aflag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

danny@danny:~/Desktop$ ./a.out

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}

danny@danny:~/Desktop$ ?rewind-rr-snp:???(ls
cd Desktop/
ls
./a.out
ls
./a.out
while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done
ls
./a.out
while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done
ls
cd Desktop/
ls
./a.out
ls
./a.out
while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done
ls
./a.out
while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done
?rewind-rr-snp:????(ls
cd Desktop/
ls
./a.out
ls
./a.out
while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done
ls
./a.out
while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done
ls
cd Desktop/
ls
./a.out
ls
./a.out
while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done
ls
./a.out
while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done
?rewind-rr-snp:while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done?rewind-rr-snp:while [ true ]; do printf "flag{FAKE_FLAG_IS_ALWAYS_GOOD}" | ./a.out; done?rewind-rr-snp:danny
asd123
ls
cd De
ls
./a
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?OA
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
?
```

### Flag

```
flag{RUN_R3C0RD_ANA1YZ3_R3P3AT}
```

Original writeup (https://github.com/jaidTw/ctf-writeups/blob/master/csaw-2018/rewind.md).