guestbook

  1. BlogIcon 아무개 2015.11.19 18:17 신고  Edit/Del  Reply

    초식닷컴 화이팅

  2. Bangg 2012.10.04 14:13 신고  Edit/Del  Reply

    pwd를 통해서 경로에 cygdrive/c/users 형식으로 나오는데, 이걸 test.txt에 저장시키고 set /p var= <test.txt 변수에 넣고 echo %var%하면 문제없이 나오는데 cd %var%하면 안되네요, 왜그런거죠?

    • Favicon of http://chosik.com BlogIcon 초식사자 2012.10.05 09:11 신고  Edit/Del

      pwd는 cygwin을 통해 동작하는 명령이고 경로가 unix 체계에 맞춰서 출력이 되니 윈도우 명령인 cd의 인자로는 알맞지 않은게 당연하지요~ (이런 경우 디버깅은 직접 cmd창에 해당 명령을 쳐보면 쉽게 알 수 있습니다.)
      윈도우 cd 명령에 인자를 주지 않으면 현재 디렉토리 정보를 출력해주므로 pwd를 cd로 대체해서 사용하시면 되겠습니다.
      소스만 봐서는 무슨 동작을 하시려는건지 잘 알 수 없지만 디렉토리 이동후 작업하고 원래 디렉토리로 돌아오기 위한 목적이면 pushd와 popd를 활용하시면 깔끔하게 작성이 가능합니다.
      디렉토리 변경 : pushd <이동할 디렉토리>
      복귀 : popd

    • Bangg 2012.10.05 15:57 신고  Edit/Del

      고맙습니다. ㅎ

  3. Bangg 2012.09.20 00:50 신고  Edit/Del  Reply

    윈도우 스크립트 만드는데, sed와 awk가 명령어가 안먹히는데 어떻게 스크립트를 짜신건가요? 맛보기라도 공유 못하시나요?

    • Favicon of http://chosik.com BlogIcon 초식사자 2012.09.20 10:50 신고  Edit/Del

      awk는 보통 문자열을 쪼개서 토큰으로 나눌때 사용되는데 윈도우 스크립트에서는 for문을 통해 문자열 입력을 토큰으로 나누는게 가능하기때문에 없어도 사용에 불편함은 없습니다.

      위 아래 불필요한 부분과 예외처리 부분 제거하고 가볍게 보자면 아래와 같습니다. (제가 작성한 스크립트 기준이며 실제 사용중인 스크립트와는 갭이 좀 있습니다. )

      net share | find /V "기본 공유" | find /V "원격 IPC" | find /V "원격 관리" | find /V "명령을 잘 실행했습니다." > %TEMP%
      for /F "tokens=1-1" %%a IN ('type %TEMP2%') Do (
      net share %%a | find "공유 이름" >> %RESULT%
      net share %%a | find "사용 권한" >> %RESULT%
      echo. >> %RESULT%
      net share %%a | find "사용 권한" | find /I "Everyone" >> %TEMP%
      )

  4. Bangg 2012.09.06 19:27 신고  Edit/Del  Reply

    윈도우 스크립트를 작성하면서, 예를들어 test.txt 파일에 a b c 값이 있는데, a와 c를 제외한 값이 있을 경우에 취약하다는 결과물을 내야하는데 이 부분에 대한 문제점과, IIS 보안 설정에 대한 레지스트리를 알고자 합니다.

    • Bangg 2012.09.06 19:29 신고  Edit/Del

      한가지 더, net share에서 $가 포함되지 않은 공유 디렉터리만 추출하여 값이 있을 때 취약하다고 결론을 내고 싶은데 도움좀 받고 싶습니다.

    • Favicon of http://chosik.com BlogIcon 초식사자 2012.09.10 13:10 신고  Edit/Del

      1. a b c라는 값에서 a와 c가 아닌 값이 있을 경우 취약 판단 부분은 find 명령의 /V 옵션을 응용해서 작성이 가능합니다.
      a b c가 각각 한줄씩 3줄에 걸쳐 있는 경우에는
      findstr /V "a" test.txt | findstr /V "c"
      결과가 없다면 ERRORLEVEL 값이 0이 아닌 값으로 지정이되고
      IF 문을 통해 ERRORLEVEL이 0이 아닌 값인지로 판단하면 됩니다.

      만약 a b c 라는 값이 한 줄에 모두 같이 있는 경우에는 해당 내용이 어떠한 포맷으로 출력이되고 있는지에 다르겠지만 미리 flag 변수를 한개 선언해주고 for문으로 해당 문자열들을 토큰으로 쪼개서 비교해주고 만약 a, c가 아닌 값이 있다면 flag 변수 값을 1로 변경해준 뒤 for문을 빠져나와서 flag가 1이면 취약하다고 출력하는 방법을 쓰면 되겠습니다.

      2. IIS관련 레지스트리부분은 http://qaos.com/article.php?sid=567 이곳에 잘 정리가 되어있네요~

      3. net share의 $가 없는 공유 리스트 출력은 위에 제가 쓴 것과 마찬가지로 for문을 통해 명령 실행결과를 토큰으로 쪼개주고 첫번째 토큰에서 $공유가 아닌것만 출력해주면 손 쉽게 해결이 됩니다.

  5. Bangg 2012.08.31 15:34 신고  Edit/Del  Reply

    윈도우 Vista/7/2008 진단 스크립트 v1.3.3에 대한 스크립트를 보고싶은데, 비밀번호를 알수 있을까요? (공부용)

    • Favicon of http://chosik.com BlogIcon 초식사자 2012.09.06 17:54 신고  Edit/Del

      안녕하세요~
      말씀하신 스크립트는 회사의 대외비 자료를 참조하여 작성한 것이라 제가 작성하였어도 외부에 오픈하기가 조심스러운 부분이라 비공개해두었습니다.
      http://labmice.techtarget.com/articles/winxpsecuritychecklist.htm
      위 사이트에 대략적인 윈도우 시스템의 취약점 체크리스트가 있으니 참고해서 직접 한번 작성해보시는게 어떠련지요?? (직접 작성해보는 것이 공부에 큰 도움이 됩니다. 제가 스크립트를 직접 다 작성해본 이유이기도 하구요~)
      막히는 부분이나 궁금한점 있으시면 다시 글 남겨주세요~
      제가 아는 한도 내에서는 알려드리겠습니다.
      그럼 좋은 하루되세요~