posted by 블르샤이닝 2011. 7. 29. 13:57
728x90

1.Bat이란?

Bat파일은 위키 백과사전으로 나와있는 용어로 다음과 같이 설명되어 있다.

“MS-DOS, OS/2, 윈도에서 쓰이는 배치 파일(batch file)은 명령 인터프리터에 의해 실행되게끔 고안된 명령어들이 나열되어 있는 텍스트 파일이다. 배치 파일이 실행될 때, COMMAND.COM 또는 cmd.exe와 같은 셸 프로그램이 파일을 읽어 명령어를 줄 단위로 실행한다. 배치 파일은 보통 실행 파일을 자동으로, 연속적으로 실행할 때 유용하며 시스템 관리자가 따분한 일들을 자동화하기 위해 자주 사용한다. 유닉스 계열 운영체제에서 배치 파일은 셸 스크립트와 닮아 있지만, 구문과 명령어가 제한이 되어 있기 때문에 일반 목적의 프로그래밍에 적합하지 않다. 이러한 제한을 해결하려면 DOS 시절의 경우 노턴 유틸리티나 이후에 나온 셸 4DOS와 같은 넓은 용도의 "강화" 명령어를 사용하면 된다. 도스 배치 파일은 파일 확장자로 .BAT를 사용하지만 윈도 NT OS/2에서는 .CMD, 4DOS에서는.BTM을 사용한다.”

여기서 bat의 요점은 결국 셸 프로그램이 파일을 읽어 명령어를 줄 단위로 실행을 의미한다고 할 수 있다. 우리가 아는 bat파일의 명령어로는 매우 간단한 쉘 프로그래밍을 작업하겠지만 좀 더 나아가게 된다면 네트워크의 로그 저장부터 ftp 명령어, 프로그램 스케쥴러 등 다양한 기능을 수행할 수 있다.

@echo off

set SRV_NAME="Windows Firewall/Internet Connection Sharing (ICS)"

set TITLE_NAME="Windows

방화벽"

echo %TITLE_NAME% 서비스 종료

net stop %SRV_NAME%

echo %TITLE_NAME% 서비스 시작

net start %SRV_NAME%

echo 작업 완료

 

이렇게 기본적인 서비스 명령어를 bat의 내용에 넣어주면 간단한 윈도우 xp의 방화벽 설정이 가능해진다.

위에 bat파일을 만들어서 실행하게 된다면 다음과 같은 명령어가 실행된다. 이렇듯 bat파일은 콘솔명령어들의 인터프리터(라인단위명령어해석)을 통해서 여러 가지 작업들을 한번에 실행하기 편하도록 만들 수 있다.

 

1.    bat파일 만드는 방법

간단한 예를 들어서 설명해 보도록 하겠습니다. 특정 파일을 찾아서 해당파일의 경로를 보이게 하는 bat파일을 만들도록 하겠습니다. .

1)     먼저 notepad를 열어 실행될 명령어들을 입력한다. txt파일을 열어서 명령어들을 입력한다. 저장시 bat파일로 확장자를 바꿔서 저장을 하면 된다.

@echo off // 이것은 파일에 있는 명령들이 나오지 않고 결과값만 나오도록 하는 것이다

bat파일을 만드는 것을 매우 어렵지 않다. 다만 명령어들을 어떻게 조합해서 쓰느냐에 따라서 다르기 때문이다. 이러한 bat파일의 최대 장점은 속도가 GUI(그래픽 사용자 인터페이스)보다 실행 속도 면에서 더 빠르다는 것이다. 단점으로는 사용할 수 있는 명령어들의 한계가 있다는 것이다.

 

2.    양날의 칼로 쓰이는 bat파일

bat파일을 쓰게 된다면 단순하게 작업하는 관리적인 프로그램들을 좀 더 수월하게 할 수 있게 된다. 문제는 이러한 정상적인 작업들을 블랙해커들 또한 사용하여 시스템의 보안을 약화 시킬 뿐만 아니라 pc의 시스템 정보를 가져가기 위해 쓰인다는 것이다.

소스는 공개하지 않지만 윈도우의 모든 파일을 삭제 한 후에 윈도우가 무한 재부팅이 발생하도록 파일을 만들어 보았다.

 

또 다른 예로 바이로봇에서 접수된 KillAV 동작을 하는 BAT파일을 보여주고 있다.

-       바이로봇 진단명 : BAT.S.KillAV.6574

 

 

위에 동작들은 윈도우 서비스에 등록된 배신업체들의 백신프로그램들로서 강제로 서비스를 멈추는 동작과 함께 파일을 삭제하도록 하는 BAT파일의 내용들이며 이러한 동작으로 인해서 다른 악성파일이 동작하기전 백신 제품의 서비스를 내려 악성파일이 진단되지 않도록 만들어진 BAT파일이다.

이렇듯 BAT파일은 매우 간단하면서도 시스템 환경에 맞는 명령들을 모아서 쓰게 된다면 매우 유용하게 쓰일 수 있지만 악의적인 동작을 구성하게 된다면 시스템의 보안 환경 및 시스템 정보를 조작하는데 유용하게 쓰이는 악의적인 파일로 만들어진다.

자신의 PC를 보호하기 위해서는 자신의 모르는 BAT파일을 실행하지 않도록 하고 BAT파일이 생성 및 발견되었다면 bat파일안에서 실행되는 커맨드 명령어들을 확인하기 위해서 노트패드로 내용을 확인해 보는 것이 좋다.

-------------------------------------------------------------------------------------------------

 

728x90