티스토리 뷰

windows XP  32비트 환경, 안티바이러스 백신 미설치, 네트워크 차단


악성코드 (Malware) : “악성 소프트웨어(Malicious Software)” 줄임말

 

운영체제 점유율이 윈도우 계열이 전세계적으로 80퍼센트 정도

맥이 10퍼센트, 리눅스는 5퍼센트도 안되는 정도

à 감염자율과 좀비피시 수를 많게 하기 위해서 윈도우를 타겟으로

 

Why analyze Malware?

- assess the damage

- determine the sophistication level of an intruder

- discover the indictors of compromise

- identify a vulnerability

- catch the attackers

 

악성코드의 56.2% Trojan 식으로 전파됨

그외virus, worm, spyware, rootkit, ransomeware, adware, bot 등이 있음

 

à Money Stealer : Pharming, Ransom, PoS, Miner(비트코인)

à Information Stealer : Spyware, Keylogger, RAT, DDoS

 

* PC 스마트폰을 동시에 감염 시키는 악성코드 등장

OS취약점 악용 악성코드 -----------------> PC감염(1) ---------------> USB 디버깅모드 설정, 스마트폰 감염(2)

                                       Drive-By-Download             악성 강제 다운

 

DBD 악성코드

- 사용자 동의 없이 임의의 코드를 PC 설치하는

- 컴퓨터를 악성코드에 감염시키거나 사용자의 민감한 저오 탈취 수단

- 북마크 변경, 원치않는 툴바 설치, 브라우저 시작페이지 변경

 

Infection path of malware

- Email & Messenger attachment (대표적으로doc, pdf 취약점을 이용)

- P2P File & Webhard

- SNS 단축 URL

- Software vulnerability

 

MSDN

처음보는 api 모르는 api봤을시 msdn 검색하면 설명과 리턴값 있음

 

올리 디버거

F2 브레이크포인트 지정

F9 브레이크포인트까지 실행

Ctrl+F2 코드 처음 부분으로 회귀

F7 Call함수나 반복적으로 수행하는 Rep명령을 만났을 함수 내부로 추적 또는 Rep 조건을 만족할 때까지 계속 실행

F8 함수 내부로 추적하지 않고 함수 실행 다음 코드로 넘어감 Rep같은 반복 명령도 한번에 처리하고 다음 코드로 실행

Ctrl+F9 API 함수나 추적해 들어갈 필요 없는 함수 내부로 추적해 들어갔을 해당 함수의 ret명령 지점까지 한번에 실앻아혹 함수를 나옴

Alt+K 현재 호출된 함수 목록을 보여줌

 

Options-Debugging Options


Entry point of main module 체크

 

Options-Appearance-Directories

plugin 자동적으로 설치되지만

udd설정해줘야함 (임시파일 같은거로 저장되는 것이 udd)


udd 폴더 하나 만들어서 디렉토리 설정

 

 




LENA 151


Tutorial 01


à 라이선스를 묻는 프로그램


분석할 프로그램을 각각 드래그해서


올리에 올림



Alt+M = memory map 보는것


0040000 PE header 더블클릭 하면 덤프 창이

4D 5A “MZ” 시작하는 부분이 PE구조에서 매직넘버


image base 400000 + EntryPoint1000 = 401000 PEHeader

여기 나와있는 주소로 항상 프로그램이 시작됨


 

방향키로 CALL함수로 가서 자세히 보고싶으면 엔터, 돌아오고 싶으면 - 버튼

저기서 F8 누르면 CALL함수 들어가지않고 한줄씩 실행 (값과 스택도 바뀜)

 

F9누르면 팝업이

지금 분석하고 있는 프로그램 LENA실행하는것이 종료된

Ctrl+F2 누르면 다시 처음으로 돌아감

 

메시지가 언제 뜨고 어떻게 해야 우회되는지 확인해봐야함

F8 한줄씩 분석하기

어떤 파일(CreateFileA) 만드는 CALL

à keyfile.dat 만들고 위에는 간단한 설명을 알려줌

 

JNZ, JMP 점프

조건이 안맞아서 바로 다음줄로 (회색 화살표는 조건이 안맞은 하늘색은 조건이 맞음)


아까 떴었던 팝업창 내용이 보임


플래그가 바뀐걸 있음

1에서 더블클릭하면 0으로 바뀜


그리고 화살표가 활성화되어 메시지박스를 완전히 건너뛰고 다음으로 넘어가버림


 

실무에서는 분기별-안으로 들어갔을때와 그냥 지나갔을때로 2개씩 스냅샷을 찍어두어야 편함

(버튼하나 잘못 눌렀는데 처음부터 다시 분석해야할 있으므로)

 


여기서 enter하면 점프로 넘어가고


메시지 박스가 뜨게 되어있음

마이너스 버튼을 눌러 뒤로가서  다시 제로플래그를 고쳐줌



그다음 점프도 제로플래그와 스택플래그 고치기






룰룰


 

브레이크 포인트 사용하는 방법

1) 특정 위치에서부터 실행하고 싶을 위치에 브레이크 포인트

2) 반복문 끝나는 위치에서 (반복문 건너뛰고 실행하고 싶을떄)

 


Shift+방향키 하면 셀렉트됨

 

필요없는 부분 NOP으로 코드수정 수도 있음

(더블클릭 또는 어셈블)


 

NOP으로 바꾼뒤 저장하려면


Copy All

한뒤에 저장




점프하는 부분의 주소를 바꿔줄 수도 있음



00401205 You really did it! 부분이니까 주소를



여기 넣기

--> 강제적으로 점프할 있음



이런식으로 크랙된 프로그램을 만들거나

악성코드 없는 프로그램을 만드려고 패치를 하는 것임



댓글
댓글쓰기 폼