연습 샘플 분석 - 3 - 고급 정적 분석

악성코드 및 포렌식|2021. 3. 7. 23:29

no cache가 나오면 계속 새로운 요청을 받아와라는 뜻인데

 

계속해서 똑같은 요청이 날아옵니다.

타이머가 잘등록이되서 수행이되야하는데 수행이 잘되지않는 거 같습니다.

 

 

 

 

=============================================

 

 

 

ida pro 활용

 

 

Main 함수를 잘보면  startservice 즉 서비스를 실행해라 이런내용으로 보입니다.

 

 

 

서비스를 실행하고나서 sub_401040으로 들어갑니다.

 

실질적인메인함수라 판단된다.

 

 

실질적인 메인함수를 들어와보니까 

들어오자마자 mutex를 생성한다.

 

 

두가지의 길이 존재하는데  만들고 exit 프로세스를 나올건지 뮤텍스를 계속만들건지를 정하고있습니다

 

 

중복방지를 막기위해서

 

 

HGL345를 쓴것을 알수있고

 

서비스를 등록한다는 사실도 알수가있습니다.

 

 

 

그것을 어떻게 등록했냐면

 

이프로세스를 가져와서 Malservice를 등록합니다

 

서비스를 등록할수 있었던 이유가 getmodulefilenameA를 이용해서

된 것입니다.

 

 

 

 

system시간을 파일 타임시간형태로 바꾸겟다는 의미입니다 시간에대한 형식을 만드는것을 알수있고

 

그리고 createwaitabletimer 타이머를 만드는 것을 알수가있고 어떤 타이머 시점이되면 

 

waitForSingleobject로 그때까지 기다립니다.

 

 

제대로된 요청이 오게된다면

 

 

 

가운데로 지나가게되고 

기다리던 타이머가 그내용이아니라면 sleep을하고 프로세스를 종료합니다

 

 

만약 잘실행되면

 

createThread를 쓰레드를 만들고

 

edi 에넣고 내려와서

 

쭉쭉내려와서 

 

offset startAddress에서 쓰레드로 만들 함수 주소를 가르키고있습니다.

 

그래서 쓰레드가 되기때문에 더블클릭을해서 쫒아갑니다.

 

그랬더니 internet explore 라고 세팅을하고 인터넷 오픈해서

 

밑에 질의를 날립니다

 

 

근데 잘보면 jmp 점프 즉 무조건 점프인데

같은 구간을 계속해서 점프를 합니다

그니까 저url 에 계속 질의를 해서 도스 공격을 만드는 바이러스 라는것을 알수있는것입니다.

 

 

동시다발적으로 여러시스템에 감염시키고난뒤에 공격을 수행하는 방향을 가지고 잇습니다.

 

 

 

댓글()