posted by 블르샤이닝 2011. 7. 28. 16:21
728x90

 

<최대 포털사이트 네이트정보유출>

3500만명 가량의 회원을 보유하고 있는 국내 유명 포털사이트 '네이트'의 회원정보가 유출된 것으로 밝혀져 충격을 안겨주고 있다. 28일 네이트, 싸이월드 등을 운영중인 SK커뮤니케이션은 "지난 26일 해킹으로 인해 고객의 일부 정보가 유출된 사실을 확인했다. 이에 대해 SK커뮤니케이션 측은 "중국발 IP의 악성코드를 통해 해킹된 것으로 추정된다" "가입자의 비밀번호와 주민등록번호는 최고 수준의 기술로 암호화돼 있기 때문에 (유출에도) 안전하다"고 밝혔다. 한편, SK컴즈는 2차 피해 방지를 위해 업계전문가 등 관련 기관과 연계해 보이스피싱 및 스팸메일 차단 프로그램을 운영한다는 방침이다.

출처 : http://game.chosun.com/article/view.php?no=78748

SK컴즈는 그간 해킹 우려가 있을 때 마다 3, 4중의 강력한 보안 시스템으로안전함을 강조해왔었던 만큼 이번 사고로 인해 보안 신뢰도에 상당한 타격을 입을 것으로 보인다. 특히 2500만명 싸이월드와 3000만명 네이트 회원 등 국내 최대 규모를 자랑하는 포털과 SNS에서 총 3500만명에 달하는 회원 정보가 털린 것은 업계 사상 초유의 일이다.

출처: http://www.fnnews.com/view?ra=Sent0901m_View&corp=fnnews&arcid=00000922377113&cDateYear=2011&cDateMonth=07&cDateDay=28

 

 

◇명의도용여부, 수시로 확인해야

이번 네이트 해킹 사고로 유출된 개인정보는 이름과 ID, 이 메일, 전화번호 등이다. 다행히 주민등록번호와 비밀번호는 암호화된 상태로 유출됐지만, 해커를 이를 풀 가능성이 있다는 점에서 안심할 수는 없다.

현재로서 우려되는 피해 중 하나가 인터넷 명의도용이다. 동일한 ID와 패스워드를 사용하는 모든 인터넷 사이트의 비밀번호를 변경하는 것이 좋다.

네이트와 싸이월드 사이트에 '개인정보 유출여부 확인하기' 팝업창을 통해 일단 자신의 정보가 빠져나갔는지 확인해 볼 수 있다.

◇보이스 피싱범죄 주의해야

보안 전문가들이 가장 우려되는 2차 피해가 무엇보다 보이스 피싱이다.

만약, 보이스 피싱 범죄자들이 이용자의 이름과 이 메일, 주민번호, 전화번호 등 개인신상정보를 송두리째 알고 있다면 더욱 타깃화된 공격이 가능하다.

가령, 이용자의 전화를 걸어 자신의 계좌번호까지 불러주고 연체를 빌미로 돈을 요구한다면, 속을 확률이 더욱 높아진다는 것. 전자상거래 사이트의 경품이나 배송을 빌미로 추가 금융정보나 현금인출을 유도할 수도 있다.

보안 업계 관계자는 "보이스 피싱범죄가 최근 들어 이용자들의 한 순간 방심을 노린 지능화된 수법이 많이 사용되고 있다" "이번에 유출된 개인정보가 한 단계 더 고도화된 보이스 피싱범죄를 저지를 수 있는 빌미가 되고 있는 만큼, 피해 이용자들의 철저히 주의해줄 것"을 당부했다.

이 메일을 통한 피싱사고도 우려된다. 실명과 결합된 개인 이 메일 정보는 비밀번호나 공인인증서 등 다른 금융정보를 추가로 빼가기 위한 악성코드 공격에 좋은 호재다.

가령, 해커가 이용자들에게 악성코드를 첨부해 이 메일을 보내고, 이용자가 이를 클릭해 악성코드가 설치된다면, PC안에 있는 공인인증서나 이용자가 키보드에 입력하는 비밀번호 등 금융정보를 가로챌 수 있다는 것.

이에 따라 수상한 이 메일을 받았을 경우, 이를 즉시 삭제하는 한편, 실시간 감시기능이 켜진 최신 백신엔진으로 수시로 바이러스 여부를 확인하는 것이 좋다.

이밖에 금융권 사이트를 모방한 가짜 사이트를 개설해놓고 이용자들에게 금융정보를 빼가는 피싱 범죄에 악용될 소지가 많은 만큼, 이에 대해서도 이용자들의 철저한 주의가 당부된다.

출처 : http://www.mt.co.kr/view/mtview.php?type=1&no=2011072814310964754&outlink=1

 

다음과 같이 네이트에서는 프로그램을 업데이트 하도록 유도하고 있었다. 필자는 네이트온이 멈추는 현상 후 다음과 같이 프로그램이 업데이트 진행된 것을 볼 수 있었다.

 

 

최근 몇 년 사이에 대형 개인정보 유출사고가 발생하고 있다. 사례를 살펴 보면 2008 2월 옥션 1081만명, 2008 9 GS 칼텍스 1125만명, 2010 3월 신세계 몰 390만명, 2001 년 현대캐피탈 42만명의 개인정보가 유출되는 사고가 발생하였다. 단순 수치로만 본다면 누적인원은 2010년 인구주택 총 조사에 따른 우리나라 인구 4822만 여명의 72% 에 해당하는 수치이다. 이 수치는 미취학 아동 및 일부 성인을 제외한 인터넷 사용인구의 전부라고 할 수 있을 만큼의 인원으로 이번 네이트온의 개인정보 피해가 얼마나 크게 일어난 것인지 알 수 있다.

 

728x90
posted by 블르샤이닝 2011. 7. 22. 18:50
728x90
728x90
posted by 블르샤이닝 2011. 7. 22. 16:22
728x90

그냥 일반 사용자들이 읽을 수 있을정도의 간단한 설명을 토대로 사례 위주로 써봤습니다. 필요하신분은 리플달고 가져가시면 고맙겠습니다.

 

 

 

이파일은 해당 웹디스크에서 악성 스크립트를 모아놓은거지만 제공하진않겠습니다

728x90
posted by 블르샤이닝 2011. 7. 22. 16:18
728x90

뭐 나중에 필요하면 필요하겠찌...하고받아놨는데 나름 ㅋㅋ 이번년도에 나온거라....하지만 pc에 용량이없어서 토렌트로 간직하고있음 ㅎㅎ

 


728x90
posted by 블르샤이닝 2011. 7. 6. 16:08
728x90

저도 초보 수준인데 이런 말씀 드리긴 뭐하지만, 이 글은 초보 분들에게 별 재미가 없을테니 초보 분들은 그냥 넘겨주세요. 배치파일 자주 작성하시는 분들을 위한 글입니다.

저는 FOR 구문에 대해 특별히 공부한 것이 없습니다. 그냥 /? 붙여서 나온 도움말을 보고 익힌게 다입니다. 그래서 여기서 다룰 내용은 매우 기초적인 것들입니다. 하지만 이러한 기초적인 내용을 익혀두면 응용하기에 따라 매우 편리하게 사용할 수 있습니다. 제가 윈도우 하드에서 설치하기나 PE, VHD 관련 글에 첨부하는 스크립트에는 대부분 FOR 구문이 포함되어 있습니다. 조금만 익혀두면 적어도 제가 사용하는 수준만큼은 도달할 수 있습니다.



1. 기본 구조

for /f "옵션" %변수 in (메롱) do 명령어


FOR 구문의 기본 구조입니다. (메롱) 안에 있는 문자열, 파일, 명령어의 출력값 등에 대해 DO 이하 명령어를 반복 수행하도록 지시합니다. 그런데 %변수의 경우 일괄 배치파일 안에 들어갈 때는 %%변수 형태로 적어줘야 합니다. 또한 %변수는 대소문자를 구분합니다. 즉 %a와 %A는 다릅니다.

예제)

for %a in (*.msu) do start /wait wusa %a /quiet /norestart


위 예는 현재 위치에 존재하는 확장자 msu 파일에 대해 wusa라는  "윈도우 업데이트 독립 실행형 설치 관리자" 툴을 사용하여 반복해서 설치를 수행합니다. 아 물론 이건 윈도우 비스타, 세븐 기준입니다.

XP 업데이트라면 아래 예제처럼 하면 되겠지요.

예제)

for %a in (*.exe) do start /wait %a /quiet /norestart


위 예는 현재 위치에 존재하는 확장자 exe 파일에 대해 반복해서 실행을 수행합니다.


예제)

for %%a in (C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z:) do (
     if exist %%a\WIN51 set CDROM=%%a
)


위 예는 C ~ Z 드라이브 중에 WIN51 이라는 파일을 포함하고 있다면 해당 드라이브를 CDROM 이라는 변수로 지정해줍니다. 제가 WIN51 이라는 태그파일을 넣은 이유는 XP 설치 CD를 예로 든 것입니다. 만약 XP 무인설치를 구성하는데 추가 프로그램이 CD롬에서 실행되어야 한다면 CD롬 드라이브 문자를 알아내기 위해 저렇게 사용할 수 있겠지요. 이렇게 한번 지정해두면 예를 들어 CD롬 안에 UTILS 폴더가 있고 그 안에 있는 AAA.EXE 파일을 실행해야 한다면

%CDROM%\UTILS\AAA.EXE


위 예처럼 넣으면 되겠지요.



2. 옵션

저는 tokens= 옵션이 FOR 구문의 꽃이라 생각합니다. 토큰을 잘 활용하면 재미있는 스크립트를 많이 만들어낼 수 있습니다. 제가 자주 사용하는 옵션 몇가지만 간단히 설명드리겠습니다.

tokens=
FOR 구문은 각 행별로 분석하는데 이때 토큰은 각 행의 몇번째 문자열을 전달해줄지 지정합니다. 문자열의 기본 구분단위는 공백입니다.

for /f "tokens=3" %a in ("I LOVE YOU") do echo %a


위 예제를 입력하면 결과가 어떻게 될까요? 바로 세번째 문자열인 YOU가 출력됩니다. 토큰이 뭔지 이해되시죠?


delims=
토큰은 기본적으로 공백으로 구분하는데 delims 뒤에 구분 문자를 지정하면 그걸로 대체됩니다.

for /f "tokens=3" %a in ("I LOVE YOU-SO MUCH") do echo %a

for /f "tokens=2 delims=-" %a in ("I LOVE YOU-SO MUCH") do echo %a

for /f "tokens=4 delims=- " %a in ("I LOVE YOU-SO MUCH") do echo %a


위 예제를 각각 입력해보시면 delims의 기능을 이해하실 수 있을겁니다.
첫번째 줄은 delims가 없기 때문에 공백이 구분 문자라서 세번째 토큰은 YOU-SO가 됩니다.
두번째 줄은 - 문자가 구분자라서 두번째 토큰은 SO MUCH가 됩니다.
세번째 줄은 - 와 공백이 동시에 구분자라서 네번째 토큰은 SO가 됩니다.


skip=
위에서부터 몇줄까지 무시할지 결정해줍니다. 필요한 토큰이 세번째 줄에 있다면 처음 두줄은 무시해줘도 되겠지요. 이 경우 skip=2 라고 입력하면 됩니다.


usebackq
이 옵션은 공백을 포함한 파일 경로 양쪽에 큰 따옴표를 붙여줄 때 사용합니다. 대신 이 옵션을 사용하면 괄호안에 들어갈 집합에 대한 표시를 조금 다르게 해야합니다. 원래는

(파일), ("문자열"), ('명령어') 인데 usebackq 옵션을 사용하면 ("파일"), ('문자열'), (`명령어`) 형태로 써야합니다.

예를 들어 MY NAME.TXT 라는 공백을 포함한 이름의 텍스트 파일이 존재하는 경우

for /f "tokens=1" %a in (MY NAME.TXT) do echo %a

for /f "tokens=1" %a in ("MY NAME.TXT") do echo %a

for /f "tokens=1 usebackq" %a in ("MY NAME.TXT") do echo %a


위 3가지 예중에 정상적으로 되는건 세번째밖에 없습니다.
첫번째 줄은 MY 라는 파일과 NAME.TXT 라는 파일을 찾기 때문에 실패하고
두번째 줄은 "MY NAME.TXT"를 파일 이름이 아닌 하나의 문자열로 인식하기 때문에 MY가 출력되고
세번째 줄만 원래 의도대로 MY NAME.TXT 파일 안에서 각 행의 첫번째 토큰을 출력해줍니다.
그러니까 FOR 구문에서 뒤쪽에 띄어쓰기 문제로 큰 따옴표를 사용해야 한다면 usebackq 옵션을 넣고 형식에 맞게 변경해야 합니다. 비단 괄호 안에 들어가는 파일 집합 뿐 아니라 DO 이하 구문에 들어가는 파일 경로에도 동일하게 적용된다는 점 알아두시면 됩니다.


/L
이 옵션은 단계적으로 증가, 감소하는 숫자 집합을 이용할 때 씁니다.

for /l %a in (1,1,5) do start /wait imagex /export h:\sources\install.wim %a e:\install.wim


위 예제는 Imagex로 윈도우 7 통합본 만들 때 일일이 export 시키는게 귀찮은 경우 사용할 수 있습니다. %a를 1부터 5까지 순서대로 받아주기 때문에 h:\sources\install.wim 이미지의 1~5 인덱스를 순서대로 e:\install.wim 파일로 export 시켜줄 수 있습니다. 만약 (5,-1,1) 하시면 5부터 1까지 차례대로 감소하면서 진행됩니다. 그러니까 (시작, 간격, 끝) 형태로 사용하시면 됩니다.



3. 실전 예제

현재 윈도우 7 사용중이신 분들의 에디션을 화면에 출력해보겠습니다. 에디션은 C:\Windows\System32\spp\tokens\skus 폴더 안을 보시면 확인이 가능합니다. 또는 레지스트리 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 을 통해서도 확인할 수 있습니다. 이 두가지 방법을 각각 FOR 옵션에 적용해보겠습니다.

먼저 토큰 폴더를 활용하려면

dir /b C:\Windows\System32\spp\tokens\skus

이렇게 입력하면 저같은 경우

Security-SPP-Component-SKU-Ultimate

이렇게 출력되는데 이건 공백 기준으로 하나의 토큰이므로 delims=- 를 사용하여 구분해주면 에디션은 다섯번째 토큰이 됩니다.

@echo off
for /f "tokens=5 delims=-" %%a in ('dir /b %windir%\System32\spp\tokens\skus') do set sku=%%a
echo.
echo      당신은 현재 %SKU% 에디션을 사용하고 있습니다.
echo.
pause
exit


위 스크립트를 실행하면 화면에 에디션이 출력되겠지요?

다음은 레지스트리로 해봅시다.

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID

이렇게 입력하면


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
    EditionID    REG_SZ    Ultimate


저의 경우 이렇게 출력되는데 첫줄은 공백이고 에디션은 세번째 줄의 세번째 토큰입니다. 따라서 이렇게 구성하면 되겠네요.

@echo off
for /f "tokens=3 skip=2" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID') do set SKU=%%a
echo.
echo      당신은 지금 %SKU% 에디션을 사용하고 있습니다.
echo.
pause
exit


위 스크립트를 실행해도 마찬가지로 화면에 에디션이 출력됩니다.


위 두가지 예제를 어디에 활용할 수 있을까요? 예를 들어 윈도우 7 $OEM$ 배포폴더 SetupComplete.cmd 파일에 처리해주면 에디션을 자동으로 인식해서 시디키를 입력해줄 수 있겠지요?

@echo off
for /f "tokens=5 delims=-" %%a in ('dir /b %windir%\System32\spp\tokens\skus') do set sku=%%a
if /i %sku%==starter cscript %windir%\system32\slmgr.vbs /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
if /i %sku%==homebasic cscript %windir%\system32\slmgr.vbs /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
if /i %sku%==homepremium cscript %windir%\system32\slmgr.vbs /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
if /i %sku%==professional cscript %windir%\system32\slmgr.vbs /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
if /i %sku%==ultimate cscript %windir%\system32\slmgr.vbs /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx




제가 활용하는 수준은 딱 이정도이고 나머지 FOR 옵션에 대해서는 잘 모르겠습니다. 그냥 한번 읽어봤을 때 웬지 제가 사용할 일이 없을 것 같은 옵션들은 이해하려는 노력을 하지 않게 되더군요. 그리고 이 FOR 구문은 그 자체보다 괄호 안에, DO 뒤에 무엇을 넣어주느냐에 따라 가치가 결정된다고 생각합니다. 보통 IF와 SET 구문을 곁들여서 활용하니 IF와 SET에 대해서도 사용법을 익혀두시면 좋을 것 같습니다.

728x90
posted by 블르샤이닝 2011. 7. 6. 15:52
728x90

@ 기본 명령어 사용 구조

For /F "옵션" %변수 in (구문) do 명령어

가장 기본적인 것만을 몇가지 사용하자.
 [그이상은 나도 잘 모름.]

() 안에 있는 문자열, 파일, 명령어의 출력값 등에 대해 do 이하 명령어를 수행한다. 


@ 본격 분석.===> 아래 구문을 보기 위해서는 우선 Cmd 의 date 명령어를 먼저 봐주세요.

 

>>아래 명령을 실행해보세요.

D:\tmp>For /F "tokens=1 delims= " %i IN ('date /t') DO echo %i

>> 결과

D:\tmp>echo 2010-10-16
 2010-10-16

 

tokens : FOR 문은 각 행별로 분석하는데 Tokens 은 ()에서 나온 결과의 몇번째 문자열을 전달해줄지 지정.

 

delims : ()에서 나온 결과 String의 분해시 기준 character를 설정한다.

  - -> 조금 이해 되기 힘들죠...^^ 예제 몇개 보면 이해 되실것입니다. 패스.

 

%i : () 구문의 결과값이 들어간다고 생각하시면 됩니다. 물론 이결과는 tokens와 delims 옵션에 영향을 받습니다.

   ==> 들어갈수 있는 char 값은 0~9 , a~z A~Z 가능합니다. 만약 %aa 로 넣으면 에러가 발생할 것입니다.

          다른 것이 더 있다면 알려주세요. 저도 여기까지 밖에 몰라요. 독한한거라...^^

   ==> "%변수"의 경우 bat 파일 안에 들어갈 때는 "%%변수" 형태로 적어줘야 합니다.

          "%변수"는 대소문자를 구분합니다. 즉 "%a"와 "%A"는 다릅니다.

           Ex1> cmd창에서 아래와 같이 호출하지만,

              D:\tmp>for /f "tokens=1" %i in ('date /t') do echo %i

           =>  Bat파일에서는 아래와 같이 %%두개를 넣어야된다.

              For /F "tokens=1" %%i in ('date /t') do echo %%i

 

DO echo %i : 이건 그냥...DO 이하는 Echo라는 명령으로 i의 내용을 출력하는 것이니 패스.

 

위 네가지 속성을 종합해 보면, ()안 date라는 명령으로 생성된 스티링을

delims 속성으로 tokens으로 지정한 첫번째 스트링을 a가 갖게 되는 것입니다.

 

@좀더 쉬운예제

 

Ex1>

D:\tmp>For /F "tokens=1 delims= " %A IN ("Hello Bat_file") DO echo %A

>> 결과

Hello

 

Ex2> delims의 기준이 ' '(스페이스)이니 tokens가 가르키는 두번째 녀석이 출력되겠죠.

D:\tmp>For /F "tokens=2 delims= " %A IN ("Hello Bat_file") DO echo %A

>> 결과

Bat_file

 

Ex3>delims의 기준이 ' '(스페이스)와 '_'이니 tokens가 가르키는 세번째 녀석이 출력되겠죠.

D:\tmp>For /F "tokens=3 delims=_ " %A IN ("Hello Bat_file") DO echo %A

>> 결과

file

==> 이제 슬슬 감이 오시죠..^^

 

Ex4> delims 빼면?????

D:\tmp>For /F "tokens=2" %A IN ("Hello Bat_file") DO echo %A

>> 결과

Bat_file

==> Why ???

   명령구문에 delims를 적지 않았지만, default값이 ' '(스페이스)로 정해져 있기 때문입니다.

 

Ex5> tokens 빼면?????

D:\tmp>For /F %A IN ("Hello Bat_file") DO echo %A

>> 결과

Hello

==> Why ???

  tokens를 적지 않았지만, 이것 역시 default값이 1로 정해져 있기 때문입니다.

 

 

@ 3개의 결과를 만드는 것을 보실까요.

 

D:\tmp>FOR /F "tokens=1-3 delims=- " %a IN ('date /t') DO echo %a %b %c

>> 결과
 2010 10 16

  ==> a에 "2010"이 들어가게 되고, b에 "10", c에 "16"이란 값이 들어가게 됩니다.

 

 

For에 대해서 100% 적은 것은 아닙니다. 저도 다 모르고요.

위의 내용을 이해 하면 많은 도움이 될 것이라고 생각되어 정리해봤습니다.

728x90
posted by 블르샤이닝 2011. 7. 6. 10:28
728x90
728x90