2016년 8월 17일 수요일

CMD 명령어를 활용한 시스템 분석 – 여러가지 명령어들

[출처 : http://www.sharedit.co.kr/ ]


<CMD 명령어 모음>
모든 명령어는 win + R키나 cmd 명령창에서 실행하실 수 있습니다
아랫쪽에 SYSINTERNALS 도구와 NIRSOFT 도구, 기타 명령어 목록도 있습니다

$$ CMD 명령어
$ .MSC

eventvwr.msc(이벤트뷰어)
gpedit.msc(로컬 그룹 정책 설정)
secpol.msc(로컬 보안 설정)
wmimgmt.msc(WMI 관리자)
certlm.msc (인증서관리자 – 로컬컴퓨터)
certmgr.msc(인증서관리자 – 현재사용자)
fsmgmt.msc(공유폴더)
lusrmgr.msc(로컬 사용자 및 그룹)
printmanagement.msc(프린터 관리)
wf.msc(방화벽고급관리자)
devmgmt.msc (장치 관리자)(= hdwwiz.cpl)
compmgmt.msc(컴퓨터관리)
perfmon.msc(성능모니터)
taskschd.msc(작업 스케쥴러)
comexp.msc (구성요소 COM,COM+,DCOM 서비스)(= dcomcnfg.exe)




$ .EXE

$ winmgmt.exe (WMI 관리도구)
$ color.exe (프롬프트 색상을 바꿉니다)
        # 흰 색상에 검정글씨로 바꿉니다
        $ color f0


$ fsquirt.exe (블루투스를 이용한 파일 송수신)
$ getmac.exe (MAC주소를 출력하는 프로그램)
        # MAC주소를 자세히 확인합니다
        $ getmac.exe /v


$ label.exe (디스크 볼륨레이블 지정)
$ pnputil.exe (pnp 디바이스 열거/설치/삭제)
        # c:\drivers에 모든 패키지를 추가합니다
        $ pnputil.exe -a c:\drivers\*.inf

        # 패키지를 열거합니다
        $ pnputil.exe -e


$ psr.exe (단계레코더)
$ qprocess.exe (tasklist의 단순형 프로그램)
$ launchtm.exe (작업관리자)(taskmgr.exe와 동일합니다)
$ makecab.exe (cab 파일 만들기)
$ narrator.exe (음성지원 나레이터)
$ ping.exe (ping을 날리는 프로그램)
$ pathping.exe (ping + 패킷이 전달되는 루트를 추적합니다)
$ ftp.exe (ftp 클라이언트 프로그램)
$ useraccountcontrolsettings.exe (UAC 세팅)
$ bdehdcfg.exe (bitlocker 드라이브 준비도구)
$ dfrgui.exe (디스크 조각 모음)
$ changepk.exe (윈도우즈 제품키 입력)
$ certutil.exe (인증서 유틸리티)
$ diskpart.exe (디스크 파티션 설정)
$ eventcreate.exe (사용자 지정 이벤트 생성)
$ chkntfs.exe (디스크검사 예약)
        $ chkntfs.exe c: /c

$ chkdsk.exe (디스크 검사)
$ certreq.exe (요청을 인증기관으로 제출하는 유틸리티)
$ mrt.exe(악성소프트웨어 제거도구)
$ cprintui.exe(프린터 UI)
$ sigverif.exe(File Signature Verification Tool)
$ resmon.exe(리소스 모니터)
$ robocopy.exe (견고한 파일복사)
        # desktop에 있는 파일들을 c:\test에 복사합니다
        # 비어있는 디렉토리 제외, Multi Thread 20개 사용, 복사실패 시 1번 재시도, 대기시간 1초, 7개의 하위디렉토리 복사
        $ robocopy.exe C:\Users\edward\Desktop c:\test /S /MT:20 /R:1 /W:1 /LEV:7



$ xcopy.exe (파일복사 프로그램)
        # deskop에 있는 파일들을 c:\test에 복사합니다
        # 하위 디렉토리, 오류가 생겨도 계속 복사, 조용히 복사, 겹치는 파일 묻지 않고 복사, 특성을 복사, 숨겨진파일과 시스템파일 모두 복사합니다
        $ xcopy.exe C:\Users\edward\Desktop c:\test /s /c /q /y /k /h
        # WebcacheV01.dat 파일을 바탕화면에 복사합니다 (taskhost, dllhost 프로세스를 먼저 종료해야합니다)
        $ xcopy.exe /s /h /i /y “%Localappdata%\Microsoft\Windows\Webcache\*.dat” %userprofile%\desktop



$ copy.exe (간단한 파일복사)
$ charmap.exe(문자표)
$ wbemtest.exe(WMI 테스터)
$ magnify.exe(돋보기)
$ setx.exe
        # path 환경변수를 영구적으로 설정합니다
        $ setx.exe path “%path%;경로” /m  

$ shutdown.exe (컴퓨터 종료)
        # 컴퓨터를 바로 강제로 종료합니다
        $ shutdown.exe /s /t 0 /f

        $ shutdown.exe /r /t 0 /f
        $ shutdown.exe /l


$ tlntsvr.exe (텔넷서버실행) (추가기능 설치에서 telnet을 설치해야합니다)
$ tlntadmn.exe (텔넷서버관리) (윈도우8부터는 없어진듯합니다)
$ wbadmin.exe(윈도우 백업관리자)
$ fsutil.exe(디스크 구성 도구)
$ fltmc.exe(필터 드라이버 로딩 언로딩 목록 보기)
$ cleanmgr.exe(디스크 정리)
$ sndvol.exe (스피크 볼륨 콘트롤)
$ wevtutil.exe(이벤트로그 수집도구)
$ slidetoshutdown.exe (화면을 슬라이드해서 종료)
$ esentutl.exe(서버데이터베이스 관리 도구)
        # 해당 .dat 파일의 상태를 확인합니다
        $ esentutl.exe /mh WebCacheV01.dat
        # 해당 .dat 파일이 dirty shutdown 상태이면 clean shutdown 상태로 고쳐줍니다
        $ esentutl.exe /p WebCacheV01.dat



$ mmc.exe (콘솔 루터)
$ msconfig.exe (시스템 구성요소 유틸리티)
$ mstsc.exe (원격 데스크톱 연결)
$ odbcad32.exe(odbc 데이터 원본 관리자)
$ wuapp.exe(윈도우 업데이트)
$ dxdiag.exe (다이렉트X 정보)
$ msinfo32.exe (시스템 정보)
$ slui.exe (라이센스 등록)
$ slmgr.exe (라이센스 등록2)
        $slmgr.exe /ipk /dlv /ato


$ osk.exe (화상 키보드)
$ wmplayer.exe (미디어 플레이어)
$ mkdir.exe (디렉토리 만들기)
$ mklink.exe (바로가기 폴더 만들기)
        # aaa 폴더의 바로가기 폴더 bbb를 만듭니다
        $ mklink.exe /d c:/bbb c:/aaa


$ taskmgr.exe (작업 관리자)
$ cmd.exe (명령 프롬프트)
$ explorer.exe (윈도우 탐색기)
$ rstrui.exe(시스템복원)
$ systeminfo.exe(시스템정보)
$ taskkill.exe (프로세스 종료)
        # 메모장 프로세스를 강제로 자식노드까지 전부 종료합니다
        $ taskkill.exe /f /im “notepad.exe” /t


$ tasklist.exe (프로세스 목록)
        $ tasklist.exe /svc /fi “imagename eq <processname>”
        $ tasklist.exe /svc /fi “services eq <servicename>”
        $ tasklist.exe | find /i “explorer”

$ timeout.exe (지정된 시간을 기다리는 프로그램)
        $ timeout.exe /t 100 /nobreak

$ tskill.exe (간단한 프로세스 종료 프로그램)
$ systempropertiesadvanced.exe (시스템속성 – 고급)
$ systempropertiesdataexecutionprevention.exe (시스템속성 – 데이터실행방지 dep)
$ systempropertiecomputername.exe (시스템속성 – 컴퓨터이름)
$ systempropertieshardware.exe (시스템속성 – 장치관리자)
$ systempropertiesperformance.exe (시스템속성 – 성능옵션)
$ systempropertiesremote.exe (시스템속성 – 원격)
$ gpupdate.exe(그룹 정책 업데이트)
        $ gpupdate.exe /force


$ cmdkey.exe(자격증명 저장 관리)
        $ cmdkey.exe /add:<targetname> /user:<username> /pass:<password>

$ find.exe (특정 문자열 찾기)
        # mysql_ed.sql 파일에서 create가 들어간 구문을 찾습니다
        $ find.exe mysql_ed.sql “create” /n /i

        # abc.txt 파일의 라인 수를 셉니다
        $ find.exe /c /v abc.txt “”

        # 현재 동작하는 프로세스 중 대소문자를 구분하지 않고 sql 글자가 들어간 구문을 검색합니다
        $ tasklist.exe | find.exe /i “sql”



$ optionalfeatures.exe(윈도우 기능 켜기/끄기)
$ forfiles.exe (하위파일까지 전체탐색)(루프돌리는 배치파일 만들 때 유용)
$ regedit.exe (레제스트리 GUI 편집도구)
$ regsvr32.exe (COM 모듈 등록/해제)
$ cleanmgr.exe(Disk Clean Up)
$ rundll32.exe
        # 절전 모드
        $ rundll32.exe powrprof.dll SetSuspendState 0,1,0
        # 환경 변수
        $ rundll32.exe sysdm.cpl EditEnvironmentVariables
        # 화면 잠금
        $ rundll32.exe user32.dll LockWorkStation
        # 자격증명 저장 관리
        $ rundll32.exe keymgr.dll KRShowKeyMgr


$ runas.exe (권한상승 후 프로그램 실행)
$ snippingtool.exe(캡처도구)
$ dcomcnfg.exe(구성요소 COM,COM+,DCOM 서비스)(=comexp.msc)
$ winver.exe(윈도우버전)
$ where.exe (Linux find와 비슷한 명령어, 검색명령어)
        # 바탕화면에서 edw로 시작하는 파일을 전부 검색합니다
        $ where.exe edw* /r c:\users\gyurs\Desktop\


$ control.exe (제어판)
$ sc.exe (서비스컨트롤 명령어)
$ powercfg.exe (전원옵션 명령어)
$ soundrecorder.exe (음성 녹음기)
$ reg.exe (레지스트리 추가/수정 명령어)
        # 해당 레지스트리 값을 추가합니다 (psexec을 사용하기 위해)
        $ reg.exe add hklm\software\microsoft\windows\currentversion\policies\system /v localaccounttokenfilterpolicy /t reg_dword /d 1 /f
        # UAC 세팅을 해제합니다 (재부팅 필요)
        $ reg.exe add hklm\software\microsoft\windows\currentversion\policies\system /v enablelua /t reg_dword /d 0 /f
        # IPC$의 기본공유를 해제합니다
        $ reg.exe add hkey_local_machine\system\currentcontrolset\control\lsa\ /v restrictanonymous /t reg_dword /d 2 /f
        # ADMIN$, C$의 기본공유를 해제합니다
        $ reg.exe add hkey_local_machine\system\currentcontrolset\services\lanmanserver\parameters /v autosharewks /t reg_dword /d 0 /f


$ net.exe (네트워크 설정 명령어)

$ NET STATS
        # 시스템 마지막 부팅시간을 확인합니다
        $ net stats work

$ NET SHARE
        # IPC$ 자동공유를 중지합니다 (C$, ADMIN$도 삭제할 수 있습니다)
        $ net.exe share IPC$ /delete
        # IPC$ 자동공유를 다시 설정합니다
        $ net.exe share IPC$ /grant:gyurse,full

$ NET USER
        # ashley 라는 계정을 생성합니다. 비밀번호는 qwer1234 fullname은 Iron Man, comment는 hello guys, 계정은 활성화상태입니다
        $ net.exe user ashley qwer1234 /add /fullname:”Iron Man” /comment:”hello guys” /active:yes
        
        # ashley의 자세한 정보를 확인합니다
        $ net.exe user ashley

        # ashley 계정을 삭제합니다
        $ net.exe user ashley /delete

$ NET LOCALGROUP
        # ashleygroup 이라는 이름의 localgroup을 생성합니다 comment도 같이 생성합니다
        $ net.exe localgroup ASHLEYGROUP /add /comment:”here is ashley world”

        # ashley 계정을 ASHLEYGROUP 그룹에 추가시킵니다
        $ net.exe localgroup ASHLEYGROUP ashley /add

$ NET USE
        # localhost의 컴퓨터 자체에 계정명 ashley, 패스워드 qwer1234로 접속합니다 (사용자와 연결이 아닙니다)
        $ net.exe use \\localhost\IPC$ /user:ashley qwer1234

        # localhost의 share라는 폴더에 계정명/패스워드로 접속합니다
        $ net.exe use \\localhost\share /user:ashley qwer1234


$ NET TIME
        # localhost의 시간을 확인할 수 있습니다
        $ net time \\localhost




$ msg.exe (네트워크 사용자들에게 메세지 보내는 명령어)
        # 컴퓨터의 모든 사용자들에게 5초동안 유효한 hello guys 메세지를 보냅니다
        $ msg.exe * /v /time:5 hello guys

        # localhost의 모든 세션 사용자들에게 hello guys2 메세지를 보냅니다
        $ msg.exe * /server:localhost /v /w hello guys2



$ subst.exe (디렉토리, 주소를 가상 드라이브로 치환해주는 명령어)
        # c:\temp 경로를 X: 드라이브로 치환합니다
        $ subst.exe X: C:\temp\

        # X 드라이브에 접속합니다
        $ cmd> X:

        # 해당 치환경로를 삭제합니다
        $ subst.exe X: /d




$ netsh.exe (IP, 방화벽 등등 네트워크 설정 명령어 )

$ NETSH ADVFIREWALL (cmd> wf를 통해 확인할 수 있습니다)
        # 새로운 방화벽 허용룰을 추가합니다 이름은 TCP-445이고 tcp 445번 포트의 접속을 허용합니다
        $ netsh.exe advfirewall firewall add rule name=”TCP-445″ dir=in action=allow protocol=tcp localport=445

        # tcp-445라는 이름을 가진 방화벽 정책을 확인합니다
        $ netsh.exe advfirewall firewall show rule name=”tcp-445″

        # 현재 방화벽 설정을 파일로 저장하고 나중에 가져올 수 있습니다
        $ netsh.exe advfirewall export c:\advfirewallpolicy.wfw
        $ netsh.exe advfirewall import c:\advfirewallpolicy.wfw

        # 현재 방화벽 설정을 볼 수 있습니다
        $ netsh.exe advfirewall firewall show rule name=all | more

        # 2000 – 3000 번 포트 접속을 막습니다
        $ netsh.exe advfirewall firewall add rule name=”Block_2000_3000″ dir=in action=block protocol=tcp localport=2000-3000


$ NETSH INTERFACE
        # 네트워크 인터페이스 목록을 확인합니다
        $ netsh.exe interface show interface

        # 모든 네트워크 인터페이스 목록을 확인합니다
        $ netsh.exe interface dump

        # 원격포트가 443번인 모든 ipv4 tcp 연결을 확인합니다
        $ netsh.exe interface ipv4 show tcpconnections remoteport=443

        # ipv4 프로토콜의 여러 매개변수들을 확인합니다
        $ netsh.exe interface ipv4 show global

        # 현재 네트워크카드의 IP 관련된 설정을 확인합니다
        $ netsh.exe interface ipv4 show config

        # IP를 DHCP로 설정합니다
        $ netsh.exe interface ip set address name =”Ethernet” source=dhcp
        $ netsh.exe interface ip set dns “Ethernet” dhcp



$ .CPL (CONTROL PANEL 제어판)

$ powercfg.cpl(전원옵션)
$ firewall.cpl(방화벽 관리)
$ desk.cpl(디스플레이)
$ appwiz.cpl(프로그램추가/제거)
$ main.cpl(마우스)
$ mmsys.cpl(사운드 및 오디오장치)
$ hdwwiz.cpl (장치관리자)(= devmgmt.msc)
$ sysdm.cpl(시스템속성)
$ inetcpl.cpl(인터넷속성)
$ netplwiz.cpl(사용자계정2) (= control userpasswords2)
$ ncpa.cpl(네트워크 연결)
$ wscui.cpl(관리센터)
$ timedate.cpl(날짜 시간 속성)
$ control /name Microsoft.NetworkandSharingCenter(네트워크 공유센터)
$ control desktop(개인 설정)
$ control /name Microsoft.Troubleshooting(문제해결)
$ control userpasswords(사용자 계정)
$ control userpasswords2 (사용자계정2) (= netplwiz)
$ control printers(장치 및 프린터)
$ control folders(폴더옵션)
$ control keyboard(키보드 옵션)
$ control admintools(관리 도구)




———————————————————————————————————–
<SYSINTERNALS & NIRSOFT 명령어>
$$ SYSINTERNALS 명령어

$ psexec.exe (원격명령어 실행 도구)
        # 원격컴퓨터에서 실행해야할 명령어들
        # ADMIN$, IPC$ 공유가 설정되어있어야 합니다
        $ net.exe share

        # 타겟컴퓨터에 해당 레지스트리 값을 추가합니다
        $ reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

        # 타겟컴퓨터에 445번 포트를 개방합니다
        $ netsh.exe advfirewall firewall add rule name=”TCP-445″ dir=in action=allow protocol=tcp localport=445

        # 타겟컴퓨터 Start -> Run -> secpol.msc -> Local Policies -> Security Options -> Network Access: Sharing > and security model for local accounts > Classic – local users authenticate as themselves

        # 내컴퓨터, psexec 명령어를 사용합니다
        $ psexec \\172.30.1.15 -u <hostname> -p <password> <command>



$$ NIRSOFT 명령어
$ nircmd.exe (nirsoft cmd)
        # 프로그램을 hide 모드로 실행합니다
        $ nircmd.exe exec hide <processname>




———————————————————————————————————-
<기타 여러 프로그램들 명령어>
$$ 기타 여러 프로그램들 명령어

$ pscp.exe (putty 파일 전송 프로그램)
        # pscp를 이용해 tempuser 계정과 qwer1234 비밀번호를 사용해서 원격에  tigerk 하위폴더의 모든 내용을 내 컴퓨터의 바탕화면에 복사합니다
        $ pscp.exe -r -pw qwer1234 tempuser@210.113.90.70:C:\\Users\\tigerk0430\\Desktop\\tigerk c:\\users\\gyurs\\Desktop

댓글 없음:

댓글 쓰기