Windows 시스템 CMD 로그 기록하기
2023. 12. 31. 15:00
기술보안/System
Windows 시스템에서는 리눅스 시스템과 다르게 shell(cmd) 사용 시 로그가 기록되지 않는다. 그래서 윈도우 내에서 CMD 로그를 기록할만한 방법을 찾아봤었는데, 명령 프롬포트 수동 저장 doskey 를 이용하는 방법이다. doskey /history > 경로\log.txt 명령어를 통해 지금까지 사용한 명령어를 경로\log.txt에 저장하는 방법이다. 사실 이 방법은 현재 프롬포트에서 사용한 로그를 프롬포트를 종료하기 전에 써야하는 번거로움이 있어 불편하다. PowerShell 수동 저장 이 또한 위와 비슷하다. Get-History 는 해당 PowerShell에서 사용한 명령어들을 출력하는 명령어로, 이를 이용하여 파일 저장 위치를 지정하여 파일을 저장하는 방법이다. 즉 해당 명령어를 통해 ..
[pwn.college] Assembly Crash Course - Level 7
2023. 11. 30. 14:13
기술보안/System
Study 레지스터의 종류 General Purpose Registers 데이터 레지스터 RAX : 누산기로서, 연산 결과를 저장하는 데 주로 사용 RBX : 기본 레지스터로서, 데이터를 보관하거나 주소 값을 가리키는 데 사용 RCX : 주로 반복문의 카운터로 사용 RDX : 확장된 산술 연산에서 단일 레지스터의 크기를 초과할 때 추가로 사용하는 레지스터 포인터 레지스터 RBP : 스택 프레임의 기본 포인터로, 스택프레임의 시작 지점 주소(스택 복귀 주소)로 사용 RSP : 스택의 최상단(현재 스택 주소)로 사용 인덱스 레지스터 RSI : 데이터를 복사할 때 src 데이터(복사할 데이터의 주소)로 사용 RDI : 데이터를 복사할 때 복사된, dest 데이터의 주소로 사용 Segment Registers ..
[pwn.college] Assembly Crash Course - Level 6
2023. 11. 30. 14:12
기술보안/System
문제 ASMLevel6에 오신 것을 환영합니다! ================================================== 이 레벨에서는 어셈블리 명령어를 통해 여러분이 직접 코드를 작성하게 됩니다. 문제를 효율적으로 해결하기 위해서는 먼저 어떤 일을 해야 하는지 확인한 후 코드를 작성하시기 바랍니다. 예를 들어, 여러분이 asm.S 파일에 어셈블리 코드를 작성했다면, 다음과 같은 명령어로 오브젝트 파일을 생성할 수 있습니다: as -o asm.o asm.S 그런 다음, .text 섹션(여러분의 코드)을 asm.bin 파일로 복사할 수 있습니다: objcopy -O binary --only-section=.text asm.o asm.bin 마지막으로, 이를 챌린지에 전송합니다: cat ...
[pwn.college] Assembly Crash Course - Level 5
2023. 10. 1. 03:08
기술보안/System
문제 ASMLevel5에 오신 것을 환영합니다 ================================================== 어떤 레벨과 상호작용하기 위해서는 프로그램에게 원시 바이트를 stdin을 통해 보내야 합니다. 이 문제들을 효과적으로 해결하기 위해서는, 먼저 실행하여 무엇이 필요한지 확인한 다음 바이트를 조립하고 이 프로그램에게 파이프로 보내야 합니다. 예를 들어, 만약 asm.S 파일에 어셈블리 코드를 작성한다면, 다음과 같이 오브젝트 파일로 조립할 수 있습니다: as -o asm.o asm.S 그리고 나서, .text 섹션(코드)을 asm.bin 파일로 복사할 수 있습니다: objcopy -O binary --only-section=.text asm.o asm.bin 최종적으로,..
[pwn.college] Assembly Crash Course - Level 4
2023. 10. 1. 03:05
기술보안/System
문제 ASMLevel4에 오신 것을 환영합니다. ================================================== 이 레벨에서는 어떤 레벨에서든 raw bytes를 stdin을 통해 이 프로그램에 전송하게 됩니다. 문제를 효율적으로 해결하기 위해, 먼저 실행하여 필요한 것이 무엇인지 확인한 다음 코드를 작성, 어셈블, 그리고 이 프로그램에 파이프하여 바이트를 전송하세요. 예를 들어, asm.S 파일에 어셈블리 코드를 작성한 경우, 다음과 같이 object file로 어셈블할 수 있습니다: as -o asm.o asm.S 그런 다음 .text 섹션(코드)을 asm.bin 파일로 복사합니다. objcopy -O binary --only-section=.text asm.o asm.bi..
[pwn.college] Assembly Crash Course - Level 3
2023. 10. 1. 03:02
기술보안/System
문제 ASMLevel3에 오신 것을 환영합니다 ================================================== 어떤 레벨과 상호작용하려면 이 프로그램에 stdin을 통해 원시 바이트를 보내야 합니다. 문제를 효율적으로 해결하려면, 먼저 어떤 것이 필요한지 확인하기 위해 한 번 실행해 보세요, 그런 다음, 조립하고 바이트를 프로그램에 파이프하세요. 예를 들어, assembly 코드를 asm.S 파일에 작성한다면, 다음과 같이 오브젝트 파일로 조립할 수 있습니다: as -o asm.o asm.S 그런 다음, .text 섹션 (코드)을 asm.bin 파일에 복사할 수 있습니다. objcopy -O binary --only-section=.text asm.o asm.bin 마지막으로,..
[pwn.college] Assembly Crash Course - Level 2
2023. 10. 1. 02:57
기술보안/System
문제 ASMLevel2에 오신 것을 환영합니다 ================================================== 어떤 레벨과 상호작용하려면 이 프로그램에 stdin을 통해 원시 바이트를 보내야 합니다. 문제를 효율적으로 해결하려면, 먼저 어떤 것이 필요한지 확인하기 위해 한 번 실행해 보세요, 그런 다음, 조립하고 바이트를 프로그램에 파이프하세요. 예를 들어, assembly 코드를 asm.S 파일에 작성한다면, 다음과 같이 오브젝트 파일로 조립할 수 있습니다: as -o asm.o asm.S 그런 다음, .text 섹션 (코드)을 asm.bin 파일에 복사할 수 있습니다. objcopy -O binary --only-section=.text asm.o asm.bin 마지막으로,..
[pwn.college] Assembly Crash Course - Level 1
2023. 9. 20. 02:01
기술보안/System
Study 개발 언어의 동작 원리 Compiler나 Interpreter에 의해 하이레벨에서 로우레벨로 변환이 되어 CPU에게 명령을 내림 어셈블리어 문법 구조 [opcode1] [operand2] 형식으로 이루어져 있음 주요 명령 코드 수행 역할 명령 코드 데이터 이동(Data Transfer) mov, lea 산술 연산(Arithmetic) inc, dex, add, sub 논리 연산(Logical) and, or, xor, not 비교(Comparison) cmp, test 분기(Branch) jmp, je, jg 스택(Stack) push, pop 프로시저(Procedure) call, ret, leave 시스템 콜(System call) syscall 피연산자의 종류 총 3가지 종류가 존재 상수..