포스팅 내용

국내외 보안동향

공격자들이 자주 사용하는 Windows 명령어

Windows 시스템 중에는 기본적으로 설치되어 있는 명령어들이 있습니다. 하지만 매우 적은 부분들만 일반사용자들에게 사용되고 있습니다. 


공격자들은 이러한 Windows 명령어들을 시스템들의 정보를 획득하고 악성코드를 유포하는데 악용하고 있습니다. 


여기서 주의할 점은, 일반 사용자들이 사용하는 윈도우 명령어와 공격자들이 사용하는 윈도우 명령어에는 차이가 있다는 점입니다. 


그렇기 때문에, 공격자들이 Windows 시스템을 공격할 때 사용하는 Windows명령어을 알고, 일반 사용자들이 사용하지 않는 명령어들의 비활성화를 통하여 공격 위협을 낮출 수 있습니다. 


Remote Access Tool/Trojan-RAT는 일반적으로 함수를 이용하여 실행시키고 원격 서버로부터 명령어를 절달받습니다. 즉, 이런 함수의 도움을 통하여 공격자는 원격에서 임의의 윈도우 명령어를 실행할 수 있는 것입니다.


공격자는 악성코드를 성공적으로 사용자 PC에 설치한 후, 다음과 같은 순서로 감염 PC와 동일한 네트워크에 위치하고 있는 다른 기기들의 감염 및 정보 유출들 시도합니다. 


1) 초기 탐색 : 감염 PC정보 수집

2) 탐색 : 감염 PC에 저장된 중요 정보를 수집하고, 동일 네트워크 상 다른 디바이스 스캔

3) 유포 : 다른 악성코드를 통하여 감염 PC를 추가적으로 감염시키거나, 다른 디바이스 감염 시도


위에 언급한 모든 단계들에서 Windows 명령어가 사용되며, 각 단계에서 사용되는 Windows명령어에 대해서 조금 더 알아보겠습니다. 



초기 탐색 


다음 명령어들은 공격자들이 감염된 PC와 관련된 정보를 수집할 때 주로 사용하는 명령어들 입니다. “Times executed”의 통계에서, 3개의 각기 다른 공격 조직들의 C&C서버 중 사용된 Windows 명령어들의 집합이기도 합니다. 


<이미지 출처 : http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html>


공격자들이 사용하는 "tasklist", "ver", "ipconfig" 및 "systeminfo"등의 명령어를 통하여 네트워크, 프로세스, os등 감염 PC의 정보를 획득하고, 이러한 정보들은 가상머신 여부를 판단하는데 사용되기도 합니다. 



탐색 


다음 명령어들은 공격자들이 중요 정보 혹은 동일 네트워크에 존재하는 다른 호스트를 찾을 때 주로 사용하는 명령어들 입니다. 


<이미지 출처 : http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html>


공격자는 "dir"과 "type"을 통하여 파일을 검색합니다. 또한 "dir" 명령어의 파라미터를 통하여 감염 PC의 파일들을 검색하기도 합니다. 


"net"명령어를 통해 네트워크 정보를 획득하기도 합니다. 


net view : 지정된 PC와 공유된 영역, 호스트 혹은 자원 정보를 얻는데 사용 

net user : 시스템 계정 관련 정보를 얻는데 사용

net localgroup : 로컬 그룹에 속해져 있는 사용자 리스트 얻는데 사용

net group : 특정 영역에 속해있는 사용자 리스트를 얻는데 사용

net use : 공유 폴더 접근


이밖에도 다음 명령어들을 사용하면 Active Directory가 활성화 된 환경에서 사용이 가능하며, 이 명령어들은 Windows Server 중에서 사용할 수 있습니다. Windows7과 Windows8에는 존재하지 않지만, 공격자가 수동으로 설치 후 사용할 수 있습니다. 


dsquery : Active Directory중 계정 검색

csvde : Active Firectory중 계정정보 획득



유포


원격 호스크 접근 및 동일 네트워크 상 다른 디바이스에 접근하기 위하여, 다음과 같은 명령어를 사용합니다. 


<이미지 출처 : http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html>


"at"과  "wmic"는 주로 원격호스트에서 악성코드를 실행하는데 사용됩니다. 


"at" 명령어를 이용하여, 공격자는 원격호스트에서 예약작업을 통해 호스트에 연결할 수 있습니다. 


at \\[remote host name or IP address] 12:00 cmd /c "C:\windows\temp\mal.exe"


동일하게, "wmic" 명령어를 통해, 공격자는 원격호스트에 임의의 명령을 실행시킬 수 있습니다. 


wmic /node:[IP address] /user:”[user name]” /password:”[password]” process call create “cmd /c c:\Windows\System32\net.exe user”



불필요한 Windows 명령어 비활성화 


일반 사용자들이 거의 사용하지 않은 Windows 명령어들은 비활성화를 시켜놓는 것이 좋습니다. 


명령어 비활성화는 AppLocker에서 규칙을 만들어 설정하면 되며, 자세한 내용은 MS 홈페이지를 참고하시면 됩니다. (▶ 참고 )



또한 AppLocker의 이벤트 로그 기능을 활성화 시켜놓는다면, 윈도우 명령어 실행 혹은 실행 거부된 이력이 로그로 남기 때문에, 침해사고 조사에 유용한 자료가 될 수 있습니다. 






출처 :

http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html

  1. 환자 2017.07.05 10:35 신고  수정/삭제  댓글쓰기

    알약 형님, 감사합니다.
    오늘도 화이팅 입니다.

  2. 환자 2017.07.06 04:10 신고  수정/삭제  댓글쓰기

    알약 형님
    net, shutdown 같은 외부커맨드는 막기 쉬운데
    dir 같은 내부커맨드는 어떻게 막습니까?
    cmd 통째로 막는거 말구요..
    알려주시면 감사하겠습니다.

    • 알약(Alyac) 2017.07.06 10:11 신고  수정/삭제

      환자님 안녕하세요^^ applocker에 규칙 추가는 Publisher, Path, File hash 총 3가지 방법을 이용할 수 있습니다. 하지만 dir같은 경우는 internal 명령어로 파일 형태로 존재하는 것이 아니라 cmd.exe 내부에 포함되어 있기 때문에, applocker를 이용하여 차단할 수는 없습니다. dir 명령어를 차단하려면 말씀하신 것처럼 cmd.exe 자체를 차단해야 합니다. applocker 관련한 더 자세한 내용은 https://technet.microsoft.com/en-us/library/ee619725(v=ws.10).aspx를 참고해 주시기 바랍니다. 감사합니다.

티스토리 방명록 작성
name password homepage