일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- C언어 알고리즘
- 스트림암호
- 파이썬
- 신경망
- 달고나bof
- 알고리즘
- BOJ
- 항등함수
- C언어알고리즘
- FTZlevel10
- 버퍼오버플로우
- 딥러닝
- 머신러닝
- 딥러닝파이썬
- 보안
- 8086CPU레지스터
- c언어
- 소프트맥스함수
- 신경망구현
- 활성화함수파이썬
- 백준
- 백준알고리즘
- C알고리즘
- 신경망파이썬
- 신경망 학습
- 정보보안
- 파이썬신경망
- 인공지능
- BOF
- 밑바닥부터시작하는딥러닝
- Today
- Total
HeeJ's
[06]악성코드분석_7주차 본문
1. 기초 정적 분석
1.1 VirusTotal
1.2 PEView
컴파일된 시간 확인
Address Table의 KERNEL32.dll 확인
대부분의 프로그램에 사용되는 dll
API들로 어떤 동작이 있었는지 확인 가능
CreateMutexA :
이름이 있거나 이름이 없는 Mutex 오브젝트 생성
-> 동기화 진행
-> 다른 프로그램이 침범할 수 없게끔
-> 중복 실행 방지
CreateThread :
스레드 생성
-> 부가적인 스레드를 만들어냄
-> 동기화를 위해 Sleep, WaitForObject 실행
GetStartUpInfoA :
StartUpInfo 구조체 생성
-> CreateProcess에 필요함(Process를 만드는 함수)
TerminateProcess :
프로세스 종료
GetCurrentProcess :
현 프로세스의 핸들을 얻음
1.3 Exeinfo
Win Console로 실행,
Packing 되지 않음
2. 기초 동적 분석
2.1. SysAnalyzer
socket -> bind -> listen :
소켓을 만들고 ip와 바인딩
바탕화면의 analysis 폴더에서 로그 확인 가능
3. 고급 정적 분석
3.1. IDA
esi 0으로 초기화 후, nCmdShow에 넘겨줌
=> Cmd를 보이지 않게 설정
Mutex 생성했지만, 분기점이 없으므로 중요X
소켓 생성 후 초기화
바인드 에러가 뜬 경우, "bind error"를 띄우고, 재 바인딩
바인딩이 성공한 경우, Listening 진행
스레드 동작 함수 정의
StartAddress로 이동
Object(MutexBackdoor)를 기다리는 함수
후, ReleaseMutex 진행
파이프를 받아, StartUpInfo 구조체 생성
(cmd 입출력을 파이프로 관리함)
위의 내용으로 CreateProcess 진행
103h : Still Alive
-> ExitCodeProcess를 진행해도 프로세스는 살아있게 됨
4. 고급 동적 분석
4.1. ollydbg
main 함수
위에서 분석했던 함수들 확인
'<Information Security> > <Malware>' 카테고리의 다른 글
[05]악성코드분석_6주차 (0) | 2021.11.10 |
---|---|
[04]악성코드분석_5주차 (0) | 2021.11.03 |
[03]악성코드분석_4주차 (0) | 2021.10.06 |
[02] 악성코드 분석_3주차 (0) | 2021.09.29 |
[01] 악성코드 분석_2주차 (0) | 2021.09.21 |