| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- diva
- lord of sql injection
- NTFS
- Reflected XSS
- 인시큐어뱅크
- elasticsearch
- MFT
- otter
- binwalk
- CTF-d
- SQL Injection
- ctf
- ESXi
- vulnhub
- Suninatas
- Openstack
- XSS
- kibana
- frida
- foremost
- 안드로이드
- base64
- igoat
- Volatility
- Strings
- 2018
- logstash
- InsecureBank
- beebox
- Docker
- Today
- Total
목록ctf (17)
Information Security
참고 해당 소스코드를 아래와 같이 컴파일한다. shell_basic 실행 후 AAAAA 문자열 입력했는데 Segmentation Fault를 보여주면서 메모리 접근 오류가 발생하였다. Flag는 /home/shell_basic/flag_name_is_loooooong 경로에 있는 것을 알 수 있다. 위에 코드 설명0x3016진수 30 = 48(10진수)보통 flag 길이 이하read(fd, buf, 0x30)fd에서 최대 48바이트 읽기읽은 크기 반환write(1, buf, 0x30)stdout에 48바이트 출력실제 읽은 크기만큼 써야 안전 write(1, buf, 0x30) 설명0STDIN_FILENO표준 입력키보드1STDOUT_FILENO표준 출력화면(콘솔)2STDERR_FILENO표준 에러화면(..
file 명령어를 통해 문제 파일의 확장자를 확인했다. XZ 확장자를 가진 압축파일을 확인하고 확장자 변경 후 압축 파일을 풀었다. 한번 더 file 명령어를 통해 파일의 유형을 확인했다. Windows로 파일을 옮긴 후 16개의 압축파일에서 동일한 용량을 확인했지만 013.7Z 압축파일만 CRC가 다른 것을 알 수 있다. 압축을 풀면 이번에는 009.7z 파일만 CRC가 다른 것을 알 수 있다. 009.7z 압축을 풀면 0000007.7z만 다른 것을 알 수 있다. 0000007.7z 압축 파일을 풀면 0000000008.7z 파일만 다른 것을 알 수 있다. 0000000008.7z 압축을 풀면 bomb_08 파일이 다른 것을 알 수 있다. strings 명령어를 통해 FLAG 값을 확인했다.
filescan 플러그인을 사용하던 중 Flag.txt를 발견했다. Flag.txt를 추출했다. 해당 파일을 HxD를 이용해서 확인했다. ILSpy 프로그램에서 파일의 확장자가 .locked 이어야 한다는 것을 알았다. HiddenTearDecrypter 프로그램을 아래와 같이 사용했다. Flag 파일이 출력되는 것을 알 수 있다.
ILSpy에 넣어 password를 검색해보면 computerName-userName-password를 넘기는 것 같습니다. 해당 악성코드는 .net이기 때문에 UTF-16으로 인코딩하기 때문에 el 옵션을 통해 비밀번호를 추출했다. (windows 용 strings 는 -el 옵션을 사용하지 않습니다)
foremost 명령어를 이용해 이미지 파일을 출력했다. png 파일 안에 Flag 값을 확인할 수 있다.
vmware-tray.exe을 procdump 플러그인을 이용해 덤프를 떴다. .Net assembly 파일 디컴파일인 ILSpy를 이용해서 디컴파일 해보면 해당 코드에 비트코인 주소 1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M 이라는 것을 알 수 있습니다.
filescan을 이용해 Chrome의 History 파일을 찾았다. dumpfile을 만들었다. DB Browser for SQLite를 이용해서 DB 파일을 열어 보았다. site_url 이라는 칼럼이 존재하는데 아래의 쿼리문을 입력했다. strings 명령어를 통해 @mail.com 검색했다. mail.com에 접속해 이메일을 확인할 수 있다.