해킹 공부 54

CodeEngn_Basic RCE L03

문제 파일 다운로드 후 파일 실행했더니 dll이 없다는 경고가 떴다. Dll 파일 다운로드 후 문제 파일과 MSVBVM50.DLL을 같은 폴더에 위치시킨 후 03.exe를 실행시키면 파일이 정상 실행된다. 디버거에 파일을 넣고 마우스 오른쪽 버튼 클릭 -> Search for -> All referenced text strings 선택 이 파일에 의해 참조되는 모든 문자열이 출력된다. 빨간 네모를 보면 비밀번호로 보이는 문자열 두개를 기점으로 비밀번호 정답/오류 메시지가 출력된다. 예상대로 해당 문자열을 입력하니 정답 창이 나왔다. 실행파일의 비밀번호를 알았으니, 이 비밀번호 정오를 검증하는 문자열 비교함수를 찾아야 한다. 비밀번호를 알아낸 창 왼쪽 상단을 보면 함수 이름으로 보이는 문자열들이 쭉 나온다..

DreamHack Stage 13_type Error

변수 자료형 선언시 담을 값의 크기, 용도, 부호 여부 고려 필요 Type error 부적절한 자료형을 사용했을 때 발생 - Out of Range: 데이터 유실 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 // Name: out_of_range.c // Compile: gcc -o out_of_range out_of_range.c #include unsigned long long factorial(unsigned int n) { unsigned long long res = 1; for (int i = 1; i = 50) { fprintf(stderr, "Input is too large"); return -1; } res = factoria..

DreamHack stage 9_Memory Corruption: Out of Bounds

배열은 같은 자료형의 요소(Element)들로 이루어짐 각 요소의 위치 = 인덱스(Index) 배열의 임의 인덱스에 접근할 수 있는 Out of Bounds (OOB) 가 취약점 OOB 요소를 참조할 때, 인덱스 값이 음수이거나 배열의 길이를 벗어날 때 발생 인덱스 범위 검사 명시적으로 프로그래밍하지 않으면, 프로세스는 계산한 주소가 배열의 범위 안에 있는지 검사하지 않음 만약 사용자가 배열 참조에 사용되는 인덱스를 임의 값으로 설정할 수 있다면, 배열의 주소로부터 특정 오프셋에 있는 메모리의 값을 참조할 수 있음 임의 주소 읽기 OOB로 임의 주소의 값을 읽으려면, 읽으려는 변수와 배열의 오프셋 알아야 함 배열, 변수가 같은 세그먼트에 할당됨 -> 둘 사이의 오프셋은 항상 일정(디버깅 통해 파악) 같은..

OlympicDestroyer - Volatility Contest 2018 문제풀이 정리

1. 시나리오 분석 악성코드 공격으로 평창올림픽 사이트가 중단된 사고가 실재했음 올림픽 담당자가 수신한 일정 업데이트 메일에 첨부된 파일 Olympic_Session_V10을 다운받고 실행함으로써 악성코드에 감염되었을것으로 보임 2. 시나리오에서 얻은 단서를 바탕으로 volatility 분석 시작 이미지 파일 폴더로 이동해 imageinfo로 운영체제 확인 분석 위한 log 파일들 생성 pstree.log파일에서 OlympicDestroy 프로세스 확인 정상 프로세스인 svchost에서 하위에 생성되는 프로세스들의 목록이 수상해보임 액셀을 통한 침입인 경우 위와 같은 마이크로소프트 오피스 관련 프로세스도 눈여겨 봐야 함 작업 스케줄러 프로세스는 악성코드가 침입하여 악성 프로그램을 작업스케줄러에 등록한 뒤..

CTF-d GrrCon 문제 풀이 정리

운영체제 식별결과 : Win7SP1X86 프로세스 검색 결과 : 의심스러운 프로세스들 발견 Teamviewer 관련 프로세스 (tv_w32.exe) explorer 하위 프로세스 (mstsc.exe(원격 접속), OUTLOOK.exe(메일)) 인터넷 익스플로러(iexplorer.exe, cmd.exe) -> cmd가 달려있는 기형적인 모양 네트워크 분석결과 : 공격자로 추정되는 IP : 180.76.254.120:22 PID : 2996(iexplorer.exe) cmd 분석 결과 : cmdline 결과 tv_w32.exe가 수상해 조사해보니 정상 프로세스로 확인됨 cmdscan, consoles 결과 악성 실행파일 wce.exe 발견 파일 분석 결과 : wce.exe : 관리자 계정을 포함하여 패스워드..

Volatility Cridex 풀이 정리

운영체제 식별 결과 : WinXPSP2x86 프로세스 검색 결과 : reader_sl.exe(1640)가 수상한 프로세스로 보임 네트워크 분석 결과 : reader_sl.exe의 PID를 가진 줄에서 공격자 IP로 보이는 41.168.5.140:8080 확인 PID : 1484(explorer.exe) cmd 분석 결과 : 특이사항 없음 파일 분석 및 덤프 : filecan 결과 reader_sl.exe 추출 dumpfiles 이용하여 추출 -> virustoal에 검색 -> 확실히 바이러스라고 보기에는 애매한 결과 얻음 프로세스 세부 분석 : procdump 이용하여 reader_sl.exe 실행파일 추출 -> virustoal에 검색 -> 악성코드 판정 memdump 이용하여 reader_sl.exe..

Volatility 명령어 정리

Volatility 메모리 포렌식 도구, 오픈소스, CLI 인터페이스 버전 3까지 공개되었으나 아직 버전2를 많이 사용함 이 도구로 증거를 획득할 수 있는 이유 : 메모리에 올라온 프로세스 정보를 가져와 분석할 수 있음 명령어 목록 - 운영체제 식별 imageinfo : 메모리 덤프의 운영체제를 식별 - 프로세스 검색 pslist : 시간 순서대로 보여줌 psscan : 숨겨진 프로세스 출력 가능 pstree : PID, PPID 기준으로 구조화하여 보여줌 psxview : pslist, psscan을 포함한 도구들의 결과를 한 눈에 볼 수 있음 - 네트워크 분석 netscan : windows 7 이상 TCP, UDP 통신 조회 / IPv4, IPv46 지원 socket listening, establ..

DreamHack_System hacking stage 4

- 익스플로잇(Exploit) : '부당하게 이용하다'라는 뜻으로, 해킹 분야에서는 상대 시스템을 공격하는 것을 말함 - 셸코드 : 익스플로잇을 위해 제작된 어셈블리 코드 조각. 일반적으로 셸을 획득하기 위한 목적으로 셸코드를 사용 셸코드 공유 사이트 : http://shell-storm.org/shellcode/ 셸코드는 공격을 수행할 대상 아키텍처와 운영체제에 따라, 셸코드의 목적에 따라 다르게 작성해야 함 => 따라서 직접 상황에 맞추어 작성하는 것이 제일 좋음 - orw(open-read-write) 셸코드 파일을 열고, 읽은 뒤 화면에 출력해주는 셸코드 “/tmp/flag”를 읽는 동작을 하는 c언어 코드 line3) int fd = open(“/tmp/flag”, O_RDONLY, NULL) ..

퀴즈 오답노트

0707 문제 : FTK Imager에서 디스크 마운트 및 증거 추가를 완료하였다. Evidence Tree 에서 삭제된 파일 리스트를 확인할 수 있는 폴더는? 나의 답 : Recycle.bin 정답 : root 해설 : 나의 답은 휴지통을 생각했는데, 그 전에 root 폴더에서 먼저 삭제된 파일들의 목록을 확인할 수 있다. 문제 : FTK Imager에서 메모리 덤프를 진행했는데 갑자기 노트북이 강제종료 되었다. 해당 오류를 해결하여 무사히 메모리 덤프를 진행하려면 어떻게 해야 하는가? 나의 답 : 커널 메모리 덤프 정보 사용 정답 : 가상화 모드 해제 해설 : 문제 이해를 잘못했다. 메모리 덤프 진행 도중 강제 종료되었을때 이어서 덤프를 진행하는 방법에 대한 질문으로 오해하고 커널 메모리 덤프 정보를..

section 1) 도구 실습_삭제된 파일 복구

1. FTK Imager 디스크 이미징 후 디스크 마운트를 통해 해당 디스크의 정보를 확인할 수 있다. FTK Imager로 해당 디스크에서 삭제된 파일을 확인할 수 도 있는데, 삭제된 파일은 붉은 x표시가 된 파일 그림으로 표시된다. 파일 사이즈가 0또는 1인 것으로 보아 내용은 남아있지 않고 파일 껍데기만 남은 것을 알 수 있다. Export Files를 눌러 삭제된 파일 복구를 진행한다. 왼쪽과 같은 복구 성공 메세지 확인 후 지정한 경로로 들어가 보면 삭제된 파일이 성공적으로 복구된 것을 볼 수 있다. 지정한 복구 위치에 해당 파일이 복구되었다. 앞서 예상한 것과 같이 파일 크기는 0으로 내용은 날아가고 단지 껍데기만 남은 파일이다. 2. autopsy로 디스크 이미징한 E01 파일 분석 결과 사..