목록연구 자료 (42)
단디연구소
_EPROCESS 구조체 정보 0: kd> dt _EPROCESSntdll!_EPROCESS +0x000 Pcb : _KPROCESS (KPROCESS) +0x098 ProcessLock : _EX_PUSH_LOCK +0x0a0 CreateTime : _LARGE_INTEGER (프로세스 생성 시간) +0x0a8 ExitTime : _LARGE_INTEGER (프로세스 종료 시간) +0x0b0 RundownProtect : _EX_RUNDOWN_REF +0x0b4 UniqueProcessId : Ptr32 Void (프로세스 ID) +0x0b8 ActiveProcessLinks : _LIST_ENTRY (모든 프로세스를 관리하는데 사용되는 LIST_ENTRY) +0x0c0 ProcessQuotaUsage..
커널디버깅하기위해 VMware에 시리얼 포트를 이용해 windbg를 사용하는 방법을 이용한다. 하지만 virtualKD를 이용하여 간단하게 커널 디버깅을 할수 있다. virtualKD 사이트http://virtualkd.sysprogs.org/ 현재 3.0 까지 나왔고 windows10까지 지원된다. 1. 위 사이트에서 virtualkd를 다운 받고 압축을 푼다음 target 폴더를 VM에 이동 시킨후 vminstall.exe를 실행 시키고 install를 진행한다. 2. vmmon.exe를 실행 시키고 디버거의 위치를 설정 하고 Run Debugger 버튼을 눌러 커널 디버깅을 한다. VM 부팅시에는 virtualKD 디버그 모드로 부팅한다.
악성코드 중 봇 기능을 수행하는 악성코드들이 많이 있다. 이런 봇기능을 수행하는 악성코드들은 C&C에서 명령을 받고 명령에 따라 수행하는데 . 이때 스위치 문을 많이 쓰게 된다. 물론 IF문을 사용할때도 있지만 스위치와 IF문의 특성을 고려해서 스위치문을 많이 사용하는 듯하다. 악성코드를 분석 하면 스위치문은 다음과 같은 특성을 가지게 된다. 점프문이 가리키는 오프셋을 확인해 보면 위와 같이 점프로 이동 될수 있는 주소값들이 있고 이곳으로 선택 되어 조건을 실행 시킨다. #물론 스위치문이 있다고 다 봇은 아니다. 스위치문으로 들어가기전 C&C와의 통신을 통해 명령을 받아야 하고 받은 명령어가 악의 적인 행위를 해야 악성코드로 볼수 있다. 스위치문은 누구나 쓸수 있으니까. ㅋㅋㅋ
악성코드가 분석을 방해 하기 위해 Anti VM 기법을 적용할 때가 있다. 이를 우회 하기 위해서 VM이미지파일이 있는 경로에 vmx파일안에 아래 내용을 추가 한다. isolation.tools.getPtrLocation.disable = "TRUE"isolation.tools.setPtrLocation.disable = "TRUE"isolation.tools.setVersion.disable = "TRUE"isolation.tools.getVersion.disable = "TRUE"monitor_control.disable_directexec = "TRUE"monitor_control.disable_chksimd = "TRUE"monitor_control.disable_ntreloc = "TRUE"mo..
악성코드 분석 중에 웹브라우저 자동로그인 계정정보 탈취?를 하는 악성코드가 있었다 . 어떤 웹사이트에 계정정보를 보내는듯 했다. 해당 사이트는 로그인이 필요 했고 .. 로그인만하면.. 탈취된 계정을 전부 볼수 있지 않을까??? 전송 방법?action=add&username=[username]&password=[password]&app=[application]&pcname=[computer_name]&sitename=[server_address] # 그런데 ISI AGU TEAMS ?????
가장 간단한 방법으로 HWP의 쉘코드를 찾는 방법을 기록한다. 여기서는 누리랩에서 만든 HwpSacn이라는 툴을 이용한다. 1. HwpSacn으로 HWP을 열고 취약점 검사 버튼을 누르면 취약점이 존재하는 섹션은 알수가 있다. 2. 취약점이 존재하는 섹션을 덤프를 떠야 하는데 한글은 데이터가 압축되어 있어 정확한 데이터를 얻기 힘들지만 HwpSacn 툴은 압축을 해제한 데이터 덤프도 제공하고 있다. 취약점 색션 우클릭 > Save a Hex (Decompress).. 3. 해당 덤프를 올리로 실행시켜 쉘코드를 찾는다. 올리디버거로 아무 EXE를 실행한다. (예. 나 같은 경우는 올리에서 쓰는 loaddll.exe를 많이 씀) 그이후 memory map창을 열고 덤프 파일을 로드 시킨다.memory map..
파밍 악성코드는 여러가지 형태로 파밍사이트에 접속을 유도 하는데 이번 악성코드는 DNS서버 설정을 변경하는 파밍 악성 코드 이다. 이 악성코드에 감염 되면 DNS설정이 다음과 같이 바뀐다. DNS서버를 로컬호스트로 바꼈는데 어떻게 이런식으로 파밍 사이트 로 접속 되는지를 확인해 보면악성코드는 서비스를 등록해 DNS서버 기능 을 한다. 위사진 처럼 53번 포트를 열어 DNS서버 기능을 수행해 파밍 사이트로 접속 된다.
악성코드 분석을 하다보면 여러가지 팩커를 만나는데 너무 힘들게 하는 패커는 더미다 이다. 분석을 편하게 완벽하게 만들수는 없지만 간단한 방법으로 언팩하는 방법을 기술 한다. # 이방법은 단순히 메인 함수를 찾는 방법이다 . 더미다의 분석 방해 기법인 API리다이렉트 등에 대한 해결책은 제시 되어 있지 않다. 1. 더미다 안티 디버깅 우회종종 이런것들이 힘들게 한다 PhamtOm플러그인으로 우회를 할껀데 귀찬으니까 옵션을 다켠다. 2. ZwFreeVirtualMemory 에 BPZwFreeVirtualMemory 에 BP를 건다. 3. 코드섹션 값 확인 Shift + F9 를 눌러가면서 코드섹션 값을 확인한다. 코드섹션 값이 코드로 변하면 ZwFreeVirtualMemory 에 BP 없엔다. 4. 메인 함..
악성코드 분석 할때 악성코드들이 안티 디버깅과 모니터링 툴을 확인해 동작을 안하거나 분석을 방해하는 경우가 있다 . 이때 PhantOm Plugin을 통해 우회 하여 분석을 할 수 있다.
부울 연산자 연산자 사용 예 설명 AND "A" & "B""A" "B""A" AND "B" A, B를 모두 포함 OR "A" | "B""A" OR "B" A 또는 B 를 포함 NOT "A" -"B""A" NOT "B" A는 포함되어 있지만 B는 제외 검색 연산자 연산자 설명 "1234" 1234와 정확한 단어 혹은 문구를 검색 ~1234 동의어 또는 관련 검색어와 함께 검색 * 23 * 78 * 에 다른문자를 포함아여 일치하는 데이터 검색 12 .. 100 숫자 사이의 수치를 알아서 포함 하여 검색 고급 연산자inurl:dandi (사이트 주소에 dandi 가 들어간 내용 검색)intitle:dandi (사이트 제목에 dandi 가 들어간 내용 검색)intext:dandi (사이트 본문에 dandi 가 ..