OS/Windows
Windbg
Windbg
2018.07.26```c1: kd> x HelloDriver!gTraceFlagsfffff801`908a3020 HelloDriver!gTraceFlags = 01: kd> ed HelloDriver!gTraceFlags 0xffffffff1: kd> x HelloDriver!gTraceFlagsfffff801`908a3020 HelloDriver!gTraceFlags = 0xffffffff````` ed`` : e는 edit, d는 DWORD. `` eq``같은 것도 가능하다. Windbg에 OutputDebugString로 출력되는 디버그 스트링 찍기커널의 ``c Kd_DEFAULT_Mask``와 ``c &``연산을 하기 때문에, 기본적으로 아무것도 출력되지 않도록 되어있다.따라서 이 값을 ``c 0xffffffff..
[Windows] 작업 스케줄러 / 시작프로그램
[Windows] 작업 스케줄러 / 시작프로그램
2017.11.25전역 시작 프로그램 경로```C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup``` 작업 스케줄러`` SYSTEM`` 권한으로 실행하도록 하거나, 어떤 조건을 만족했을 때 프로세스가 실행되거나 종료되도록 설정할 수 있는 유용한 기능.
[Windows] 환경변수
[Windows] 환경변수
2017.02.15windows 환경변수 설정```set env_name="value"echo %env_name%```근데, Unix-based에서도 그렇 듯 해당 쉘에서만 임시로 추가된다.글로벌하게 사용하려면 .profile 등에 추가해줘야 하는 것 처럼 환경변수 탭에서 직접 설정해야 한다. windows 환경변수변수자료값 %ALLUSERSPROFILE%(윈도 XP) C:\Documents and Settings\All Users(윈도 비스타) C:\ProgramData %APPDATA%(윈도 XP) C:\Documents and Settings\{사용자 이름}\Application Data(윈도 비스타) C:\Users\{사용자 이름}\AppData\Roaming %COMPUTERNAME%{컴퓨터 이름} %COMSPE..
로컬 접근으로 SAM & SYSTEM 획득 및 Windows password crack
로컬 접근으로 SAM & SYSTEM 획득 및 Windows password crack
2016.12.25Windows 설치 시 SYSTEM권한으로 실행되기 때문에 파일 시스템에 접근만 가능하다면 모든 파일을 얻어낼 수 있다.따라서 대상 시스템에 로컬 접근이 가능하다면 부팅디스크와 외부저장매체를 이용해 windows의 SAM, SYSTEM 파일을 얻어내서 크랙할 수 있다.사실 로컬 접근이 가능하면 하드를 아예 가져가서 분석해도 되는거겠지만, windows 패스워드를 잊었거나 특정 파일만 얻어내고 싶을 때 유용하게 사용할 수 있다.ophcrack이라고 windows password crack이 아예 LiveCD로 나온 것도 있기는 한데, 이도 rainbow table 기반이라 결국 table에서 매치되는게 없으면 brute force로 넘어가게 돼서 처음에 매치 안되면 굉장히 느리다.반면 직접 SAM을 얻어내..
[Windows] 공유 폴더 설정
[Windows] 공유 폴더 설정
2016.11.01!!! 클라이언트 수 제한클라이언트 프로그램 중 파일을 받아올 때 마다 커넥션을 서너개 씩 막 열고 닫지는 않는 클라이언트 프로그램이 있다. 대표적으로 ES파일탐색기. 원래 안그랬는데 최근에 변경된 듯?이런 경우 사용자 수를 제한해버리면, 폴더를 눌렀는데 반응이 없거나, 파일 목록은 보이는데 재생할 수 없는 파일 형식이라고 뜨니 주의. # 공유폴더 등의 목적으로 생성한 계정을 로컬로그인 시 숨기는 방법.제어판 - 관리도구 - 로컬 보안 정책에서 로컬 정책 - 사용자 권한 할당 - 로컬 로그온 거부 에 개체를 추가하면 된다. 거부가 허용보다 우선하니 해당 계정의 그룹을 해제할 필요는 없다. RDP에서는 이 옵션이 필요 없다.windows server OS가 아닌 경우 한 OS에 여러 계정으로 로그인 할 수..
Windows Authentication [ SAM ]
Windows Authentication [ SAM ]
2016.10.14LSA , Local Security Authority [ lsass.exe ]SRM , Security Reference Monitor SAM , Security Account Manager SAMwindows 계정의 패스워드 해시를 저장하고 있는, *nix의 `` /etc/shadow``같은 파일이다.SYSKEY로 암호화 되어있기 때문에 SYSKEY를 이용해서 복호화해야 password hash를 얻을 수 있다.* 사실 단순히 password hash가 목적이라면 fgdump같은 툴을 사용해 memory에 올라가 있는 hash value를 바로 얻는 방법도 있다. FormatSAM 암호화를 풀면, windows 계정 패스워드가 다음과 같은 형태로 저장되어 있다.```username:SID:LM has..
Windows boot process, MBR
Windows boot process, MBR
2016.10.02MBR 앞쪽 440Byte에는 bootstrapping program이 들어있고, OS-specific하다. ( Windows MBR laoder, LILO, GRUB... )MBR의 446~509( 64Byte )Byte에 Partition Table이 들어있고, bootstrapping program과 달리 표준화되어있다. 각 파티션은 16Byte를 사용하므로 기본적으로 4개의 파티션에 대한 정보를 나타낼 수 있다. 각 파티션 정보의 첫 번째 바이트는 해당 파티션이 부팅 가능한 파티션인지 나타낸다. ( 0x80이면 부팅 가능 0x00이면 불가능 ) MBR 바이너리는 이렇게 생겼다.드라이브 1 드라이브 1의 MBR code 드라이브 2 드라이브 2의 MBR code파티션 테이블이 잘못되면 출력되는 In..
RDP를 활용한 Shadowing & Remote control
RDP를 활용한 Shadowing & Remote control
2016.09.30Shadowing Terminal Services session을 이용해 다른 터미널 세션을 컨트롤 할 수 있다. 즉 다른 사용자가 보고있는 그 화면 자체를 보거나, 컨트롤 할 수 있기 때문에 이를 이용해 원격지원 할 수 있다. RDP 시 `` /shadow:[sessionID]``를 붙여주거나, 일단 RDP로 연결한 다음 `` cmd - mstsc /shadow:[sessionID]`` 또는 `` 작업관리자 - 사용자 - user 우클릭 - 원격제어```` gpedit.msc``설정에 따라 Host에 세션에 shadow가 붙는다는 내용의 안내문구와 수락/거부 팝업이 뜬다.세션을 유지한 채 shadowing을 종료하려면 `` Ctrl + *`` (tenkey쪽 버튼으로 눌러야함) Windows 10 호스..
DLL, DLL mapping과 API 주소 결정 방식
DLL, DLL mapping과 API 주소 결정 방식
2016.09.03DLL, Dynamic Link LibraryDLL은 자신을 필요로 하는 프로그램이 실행될 때, 프로그램과 별도로 최초 한 번만 physical memory에 loading된 후 프로세스에 mapping 되는 방식으로 사용된다.OS는 dll별로 usage count를 유지하고 있으며 usage count가 0이 되면 이 dll을 참조하는 프로세스가 없다는 의미이므로 dll을 메모리에서 unloading한다. * 프로세스에서 DLL에 접근할 때는 VA를 사용하기 때문에, 같은 physical address를 참조하더라도 pointer 주소는 다 다르게 나온다. (Image base 대로 mapping 됐다면 같을 수도 있지만.) e.g.*nix에서 PLT, GOT를 사용하는 것 처럼, mapping(imp..
[Windows] Command & Conf file Path
[Windows] Command & Conf file Path
2016.08.15`` arp -a``현재 호스트와 연결되어 있는 다른 호스트의 IP와 MAC 출력 (ARP table)`` shutdown -r -t 0```` netstat -anob``-a 전부-n url->ip로, protocol->port 번호로 출력-o PID 출력-b 프로세스 이름 출력 [관리자 권한 필요]`` findstr " "```` whoami /user``SID 확인`` xcopy```` fc```` tasklist```` taskkill```` net use & net share`` dump 파일 위치```bashBSOD dump %SYSTEMROOT%\Minidumpwin 10 %USERPROFILE%\AppData\Local\CrashDumpsMEMORY dump %SYSTEMROOT% // d..