study 59

WannaCrypto 리소스 압축 패스워드 찾기

전에 이미 랜섬웨어에 걸린 윈도우에서 pestudio를 열어준다 여기에 이제 C드라이브에 있는 a.exe를 드롭해주면 이렇게 떠야 하는데... 더보기 나는 왜 안뜰까 ㅜㅜ 이렇게 아무것도 안뜸... 뭐지? 일단 강의 내용 바탕으로 쓰기.. 이 a.exe 같은 경우에는 킬스위치, 네트워크 전파, 드로핑하고 파일을 설치하는 등의 일들을 함!! 여기서 리소스를 클릭하면 a.exe 안에 숨겨진 파일을 볼 수 있음!! 맨 위에 있는 R 의 dump를 떠서 바탕화면에 b.exe로 저장해줍니당 (얘가 사실 나중에 taskche.exe 임) 이걸 다시 pestudio로 열자~~ 여기에 resources(PKZIP) 이라고 있음!!! 여기서 보면, 전체 b.exe 파일의 크기의 98퍼를 이 pkzip 파일이 차지하는 것..

WannaCrypto 리소스 파일 추출

워너크립토 랜섬웨어를 실행하게 되면 킬스위치, 네트워크 전파, 파일 드로핑 되는 것 까지 나와있음 그 다음에는 리소스가 동작함! 리소스에서 tasksche.exe 실행파일이 동작한다. 여기에서 a.zip 파일을 꺼내서 추가적인 작업을 실행한다. 이 a.zip에 대한 파일들을 간략히 분석하면 다음과 같다. 파일/폴더명 내용 b.wnry 파일 암호화 후 설정되는 바탕화면 이미지 c.wnry Tor 네트워크 설정파일 (다운로드, 비트코인 계좌 주소) r.wnry 랜섬웨어 감염에 따른 비트코인 결제 안내문 (txt 파일) s.wnry Tor 네트워크 실행 모듈 (zip 압축 파일) t.wnry 암호화 모듈 파일 (.WNRY 형태로 암호화 되어 있음) -> 프로세스 시스템에 들어가서 직접적으로 암호화 수행 (암호..

랜섬웨어란?

랜섬웨어 - 몸값을 뜻하는 Ransome + 제품을 뜻하는 Ware - 사용자의 동의 없이 컴퓨터에 불법으로 설치되어 사용자의 파일을 암호화 - 암호화된 파일을 인질로 잡아 금전을 요구하는 악성코드 랜섬웨어의 주요 증상 - "랜섬웨어에 감염이 되었습니다" 돈을 요구하는 협박 메세지 페이지 출력 - 파일, 문서 등 암호화 되어 있음 - 암호화된 파일을 열 수 없음 - 중요 시스템 프로그램이 열리지 않음 - 별도의 다른 악성코드를 심기도 함 - 실행되면 숙주 파일이 사라지는 경향이 있어 한번 암호화 끝나면 다시 암호화 되지 않음 - MBR을 악성 MBR로 교체하여 부팅 안되게끔 함 주요 전파 경로 - 침투: 이메일이나 악성 사이트에 악성코드 삽입 - 감염: 사용자의 이메일 첨부파일이나 악성사이트에 의한 감염..

study/보안 2024.03.23

WannaCrypto 웜 분석

beginthreadex 함수를 실행하는 407720 이 주소를 올리디버거에서 따라가보자!! 여기서 강제로 프로그램 실행을 이 줄부터 실행되게 할 거기 때문에 오른쪽 클릭해서 New origin here를 클릭한다. 407720 주소 안에 들어가보면 adapter info를 받는 이 함수를 호출하는걸 볼 수 있는데, 이 부분을 올리디버거에서 한번 분석해보자. 주소값 409160을 찾아보자 bp 걸고 보면 409173에서 GetAdapterInfo 함수 call 하는 부분이 보인다. 이때 이 부분(inet)을 잘 봐야되는데 여기서 EDX에 주소값이 보임. (192.168.56.102) 이게 자신의 IP 값을 구하고 여기는 네트워크 대역대인 255.255.255.0을 구함! 이제 다시 407720로 다시 들..

[안티디버깅] INT3 (CC 패치)

INT3 - 디버거가 실행중인 프로그램에 브레이크 포인트를 거는 역할 (일시적으로 실행중인 프로그램에 bp 거는데 적합) - 다른 명령어들은 2바이트를 사용하는데 INT3 은 1바이트를 사용해서 명령어 패치하는데 적합함 - opcode: CC - 소프트웨어 브레이크 포인트로 사용됨 C/C++ 코드 bool IsDebugged() { __try { __asm int 3; return true; // debugger detected } __except(EXCEPTION_EXECUTE_HANDLER) { return false; // no debugger detected } } 만약 디버거가 없다면 예외가 발생하고 예외처리를 핸들러가 함 만약 디버거가 있다면 예외를 핸들러가 처리하지 않음 [참고] https:..

study/보안 2024.02.23

WannaCrypto 웜 동작 함수 찾기 (2)

저번 글에 이어, 워너크립토의 메인함수... sub_407BD0을 분석해봅쉬당 더블 클릭 들어오자마자 beginthreadex 가 보이는데 이건 쓰레드를 만드는 함수 ㅎㅎ 쓰레드를 만들때 당연히 start_address 가 있어야함 워너크립토에서는 start_address가 loc_407720 으로 확인됨! 더블클릭~ 여기 안에도 beginthreadex가 보임!!!! 그 위에 있는 sub_409160을 더블클릭~ 여기서 GetAdapterInfo 라는 함수가 보이는데, 이 함수가 중요함!! 네트워크 어댑터를 식별하는 함수이다! 여기서 어댑터 드라이버에 대한 정보를 가지고 오고 이후에 네트워크 어댑터의 ip, subnet, gateway 주소 등을 가져오게 됨 -> 이거를 직접 확인해보기 위해서 직접 실..

WannaCrypto 웜 동작 함수 찾기 (1)

워너크립토를 실행하고 SysAnalyzer로 분석을 해보자 레지스트리 모니터로 들어가면 실행파일을 확인 할 수 있다. 일단 워너크립토의 전체적인 암호화 분석 보다는 드로핑된 파일과 서비스된 파일 중에 네트워크를 담당하는 부분이 있는데 그 웜 부분만 분석을 해보장 아이다로 a.exe(랜섬웨어 실행파일)을 분석해봅쉬당 메인 함수에 킬스위치라는 부분이 나옴! 이렇게 생김 킬 스위치란? 랜섬웨어가 실행될때 저 인터넷 주소에 접속이 된다면 랜섬웨어가 실행을 안하고 종료됨. 가상기기를 우회하기 위해 넣었다는 의견도 있다.(https://www.boannews.com/media/view.asp?idx=54809) 저기서 접속이 잘 되면 인터넷 오픈을 한다 원래는 InternetOpenUrl 이라는 api를 쓴다! 이..

WannaCrypto 랜섬웨어 웜 동작시키기

웜의 동작을 리버싱해보자! 윈도우 환경을 두개를 깔아줍니다. 이때 네트워크 설정은 'host only network'로 해서 외부 인터넷과 차단되게 설정해줍니다. (이때 ip가 각각 달라야함!!) 왜냐면 외부와 연결이 되면 그 연결이 끊겨버리는, 더 이상 악성코드가 동작하지 않는 환경이 됨!! 6b~ 로 시작하는 악성코드를 압축 해제하고 a.exe로 저장해준다 이때 이 실행파일을 SysAnalyzer에 넣고 분석하면 됨. 근데,,, 원래 얘가 부팅을 리부트를 할때 감염을 시켜서 SysAnalyzer에 넣고 분석을 하려고 해도 잘 안 보임 -> 그래서 와이어샤크로 분석해보자!! 우선 두 pc 모두 네트워크를 홈네트워크로 바꿔주자 와이어샤크 실행시키고 캡쳐하기~ 갑자기 이런 에러가 떴지만.. 일단 프로그램 ..

MSF를 활용한 SMB 취약점 공격

칼리 리눅스 가상환경을 만들어주고, msfconsole을 켜준다! (윈도우7도 가상환경 만들어주고 둘다 NAT network로 설정해서 ip 주소 다르게) 이터널블루를 검색해보자 이터널블루란? 이터널블루는 취약점 분석 도구이며, 워너크라이 랜섬웨어 공격에 일부로 사용되었다. 이터널블루는 마이크로소프트의 서버메세지블록(SMB) 프로토콜 구현의 취약점을 공격한다. 5개의 모듈이 보이는데, 이중에서 0번 모듈을 선택해서 사용하자! (use 명령어 사용) 이 다음, show options를 입력해서 공격할 곳에 대한 정보를 얻자 Required 에 Yes라고 되어있으면 반드시 필요한 부분, no는 필요 없는 부분 근데 지금 보면 yes라고 되어있는데 옆에 Current Setting에 비어있는 부분이 보임!! ..

728x90