상세 컨텐츠

본문 제목

너의 웹캠은 내가 컨트롤한다! Async RAT 원격 접근 트로이목마 분석

악성코드 Malware/RAT

by 0xmh 2022. 5. 20. 06:59

본문

728x90

안녕하세요~ 오늘은 AsyncRAT이라는 Remote Access Trojan/원격 접근 트로이 목마를 분석할 것입니다. 제가 원래 악성코드 혹은 악성 프로그램을 다운로드하는 홈페이지에 AsyncRAT가 많길래 한번 분석해 봤는데 C#로 만든 프로그램이라 생각보다 분석이 쉽습니다.

RAT 같은 tool들은 말 그대로 피해자의 컴퓨터를 원격으로 컨트롤할 수 있고, keylogger를 파견할 수 있으며, 화면도 캡처도 가능하고, 웹캠 컨트롤까지 가능합니다. 분석에 들어갑시다

1) Anti Analysis

AsyncRAT는 피해 시스템의 방어 장치를 우회하기 위해 여러 가지의 기능이 있습니다.

흔하게 보일 수 있는 "CheckRemoteDebuggerPresent"이라는 WinAPI call이 역시 있습니다. 분석가들은 Dynamic Analysis를 할 때 원래 x32/x64 dbg나 windbg를 사용하는데 AsyncRAT가 이런 WinAPI call를 발견하면 종료될 것입니다.

다음은 IsSmallDisk이라는 function이 있습니다. 분석가들은 악성코드를 Virtual Machine 안에서 분석하는데 VM 같은 경우는 저장용량이 많이 없으며 아래 사진 "long num" 변수보다 용량이 작으면 악성 프로그램은 자기가 실행된 환경은 VM인 것을 가정합니다.

"SbieDll.dll"은 Sandboxie라는 프로그램이 사용하는 dll인데 시스템에 그 dll이 존재하는지를 확인하는 것입니다.

다음 사진은 sql query처럼 생긴 string이 보이는데 이 명령어는 컴퓨터 시스템을 확인하는 역할을 합니다. 더 자세하게 설명하자면 시스템에 대한 정보에 "Virtual", "vmware","VirtualBox"이라는 string이 들어가 있는지 확인합니다. 즉 가상 머신에 대한 check입니다.

마지막으로는 바이러스 검사 프로그램 check!

2) 지속성 확보

여러 가지의 설정 초기화가 보이는데 이 샘플의 C2 서버는 159.65.243.143였습니다. Port는 8080이며 AsyncRAT 버전은 0.5.7B입니다. 하나씩 decrypt할 수는 있지만 breakpoint를 박고 실행시키는 것이 더 빠릅니다.

악성 프로그램이 실행될 때 이미 실행되고 있는 AsyncRAT가 있는지 확인하고, 있다면 process를 죽이고 없다면 IsAdmin 함수에 들어갑니다.

AsyncRat는 지속성을 확보하기 위해 스케줄 작업을 만들고자 하는데 그렇게 하기 위해 무조건 admin이어야 합니다. 작업 명령어를 자세하게 살펴봅시다

schtasks: 작업 스케줄 불러오기 /create: 작업 만들기 /f: 작업이 이미 존재하는 경우 경고를 차단 /sc onlogon: 피해자가 로그인할때마다 실행 /rl hightest: 가장 높은 권한으로 실행 /tn: 작업 이름 정하기 /tr: 실행될 파일을 정하기

Admin이 아닐 경우 Registry의 Software/Microsoft/Windows/CurrentVersion/Run을 통해 지속성을 확보합니다.

아울러 .bat 파일을 만드는 것을 볼 수가 있으며 파일을 실행시키고 나서 바로 삭제합니다.

3) C2 서버 통신

설정이 초기회 되고 지속성을 확보한 다음에 모든 설정이 통신 서버에게 보내지며 연결이 아직도 존재하는지를 확인하기 위해 TimerCallback도 있습니다.

두 번째 사진을 보시면 피해자 시스템에서 무슨 정보가 통신서버에게 보내지는지를 보실 수가 있습니다.

유저 이름, 운영체제, admin인지 아닌지, 바이러스 검사 스포트웨어 등

4) AsyncRAT 기능

AsyncRAT에 대해 구글링하다가 누구나 그 악성 프로그램을 다운로드할 수 있다는 것을 알게 됐어요.. ㅎㅎ 직접 한번 써보시고 싶다면 꼭 Legal Disclaimer (법적 고지 사항?)을 읽으시길 바랍니다.

다양한 기능이 있는데 가장 재밌는 기능만 여기서 보여드리겠습니다.

피해자 웹캠

데스크톱 감시

키로가 기능

RAT을 분석하는 것은 처음이어서 많은 기대를 했는데 제가 발견한 AsyncRAT는 생각보다 좀 재미없었네요 ㅠㅠ Obfuscation이 전혀 없어서 분석이 엄청 쉬웠고요 ㅠㅠ 암튼! 적어도 악성 프로그램의 방어 창지를 우회와 지속성 확보에 대해 배울 수 있었습니다. 사람들이 자기 노트북의 카메라를 가리는 이유가 있었네요 :)