분류 전체보기

greedun@lr-x-dl:~/RD/auto_ctfd$ sudo pip3 install virtualenverror: externally-managed-environment× This environment is externally managed╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/..
·OT Security
1. ICCP 프로토콜ICCP(Inter Control-Centre Communication Protocol): 여러 프로토콜을 사용하는 전력 제어센터들 사이에서 실시간 데이터 교환에 사용되는 프로토콜 미국 전력연구소에서 전력 제어센터간 통신을 담당하는 프로토콜로 발표한 통신 규약제어센터전력망과 관련된 정보를 받고 상황에 따라 적절한 명령을 내려서 시스템이 안전한 상태로 유지시키는 역할여러 프로토콜을 사용하는데 자동화용 통신 규약인 MMS를 응용계층 하부 규약으로 지정하여 서로 다른 기종간의 원활한 통신을 지원지원 내역으로는 장치제어, 일반적인 메세지(report), 원격제어 센터의 프로그램 제어등이 존재 2. ICCP 프로토콜의 표준전기 공학 및 전력 시스템 자동화 애플리케이션에서 원격제어(감독 제어 ..
·Pwnable/Kernel
1. musl이란?리눅스 커널 기반의 운영체제용으로 고안된 표준 라이브러리이다.표준을 준수하는 libc 구현체를 개발하는 것을 목적으로 개발했다. (특징)- 가볍고 빠르며 간단하고 무료이다.- 표준 준수하고 안정성 측면에서 정확성을 추구  2. musl-gcc 설치ex)// test.c#include int main(){ printf("Hello World\n"); return 0;} 컴파일할 코드는 c언어를 접했다면 한번쯤은 봤을 hello코드이다.musl.cc 바이너리들이 모여있는 아래 링크에서 원하는 아키텍처에 따라 다운 받으면 된다.(http://musl.cc/#binaries)- x86_64 : "x86_64-linux-musl-native.tgz"- arm : "aarch64-linux-mus..
1. serial통신 터미널 연결1 - usb연결 수 /dev에서 찾기2 - screen명령어를 통해 터미널로 접속 (1) usb연결 후 /dev에서 찾기 /dev 폴더에 "ls /dev/*usb*"를 했을 때 처음에는 아무것도 표시가 안된다.하지만 usb를 연결한 이후에 다시 확인하면 (사진1)과 같이 새로운 표시된다.- cu : 시리얼 통신에 사용되는 컨트롤러를 의미- tty : 시리얼 장치의 터미널을 의미  (2) screen명령어를 통해 터미널로 접속"screen [tty.로 시작하는 파일명] [시리얼 통신 속도]"를 통해 터미널에 접속할 수 있다.screen /dev/tty.usbserial-0001 115200 [시리얼 통신 속도]- 데이터가 전송되는 속도를 비트 단위로 나타낸다.- 초당 전송..
·Pwnable/stack
1. Shellcoding란?1-1. 개요 (Shellcode란?)익스플로잇을 위해 제작된 어셈블리 코드 조각이다.어셈블리어와 기계어 코드는 일대일 대응이기 때문에 공격자가 rip를 주입한 shellcode로 옮긴다면 cpu에게 원하는 명령을 하도록 유도할 수 있게 된다. [shellcode작성법을 알아야하는 이유]수행할 대상의 아키텍처와 운영체제 그리고 수행 목적에 따라 어셈블리어는 다르게 작성되어야 한다. 아키텍처별로 자주 사용하는 쉘코드를 공유하는 사이트가 있지만 해당 쉘코드들은 범용적으로 작성되었기 때문에 제대로 작동이 안 될 가능성이 있다. 따라서 타겟 시스템에 맞는 최적의 쉘코드를 상황에 따라서 언제든지 작성할 수 있어야한다. => 쉘코드 모음 사이트 : http://shell-storm.or..
1. 알고리즘1-1. 알고리즘이란?입력 정수에서 출력 정수를 구하기 위한 일반화된 작업을 정리하여 의사코드나 소스코드의 형태로 구현한 것이다.문제를 해결하는 방법 그 자체를 말한다. (알고리즘 충족 조건)ex) 요리 레시피타당성 : 구현할 수 있고 실용적이어야 한다. => 알고리즘의 성능 담당정밀성 : 변하지 않는 명확한 작업 단계를 가져야 한다.유일성 : 각 단계마다 명확한 다음 단계를 가져야 한다.유한성 : 특정 수의 작업 이후에 정지해야한다.입력 : 정의된 입력을 받아들일 수 있어야 한다.출력 : 답으로 출력을 내보낼 수 있어야 한다.일반성 : 정의된 입력들에 일반적으로 적용할 수 있어야 한다. 1-2. 알고리즘 성능 기준시간 기준 - 알고리즘이 적은 시간이 사용될 수록 빠르게 동작했다는 것을 의미..
·환경구축 & Tip
1. socat을 이용한 문제 구성[필요한 파일]1 - 문제파일(바이너리, *.py등)2 - Dockerfile, docker-compose.yml3 - README.md 1-1. socat이란?:다목적 소켓 터널링을 위한 유명한 유닉스 소켓 프로그램  (socat 설치)apt-get install socat  1-2. 문제파일 준비(1) 입출력이 가능한 문제파일을 작성ex) test.c# test.c#include #include #define FLAG "RD{welldone_you_found_the_flag}"void check_input(char *input) { if (strcmp(input, "1234") == 0) { printf("%s", FLAG); printf("..
1. MIPS(MIPS 아키텍처란?): 밉스 테크놀로지에서 개발한 RISC계열의 명령어 집합 체계(ISA)- MIPS 디자이너들이 명령어 세트를 깔끔하게 설계하여 많은 대학에서 해당 아키텍처를 가르침- MIPS 프로세스의 디자인은 후기 RISC 아키텍처에 영향을 줌- 2021년에 개발사가 개발 중단하고 RISC-V로 이주ex) 응용분야 : 임베디드 시스템, 소비자 가전등 (1) Installsudo apt install gcc-mips-linux-gnu -y (2) Compilemips-linux-gnu-gcc -o test test.c (3) Execution// 설치sudo apt-get install qemu-user-static// 실행qemu-mips-static -L /usr/mips-linu..
1. 기본 도커 구축현재 docker hub 이미지 이름 : greedun/rd_pwn:240629_2[환경 구성]ubuntu버전 - (24.06.29) 24.10설치할 패키지 - net-tools, gdb -> beta-gef, python3, python3-pip, one_gadgets, adduser, sudo, git, wget, openssh-server, curl, vim, fontconfig 1-1. zsh 설정(1) zsh, oh my zsh설치=> https://blackinkgj.github.io/zsh-installation/(설치 : zsh -> oh my zsh)# zsh설치sudo apt install -y zshchsh -s `which zsh`# oh my zsh설치cu..
·CTF/Write-up
보호되어 있는 글입니다.
Greedun (lr-x-dl)
'분류 전체보기' 카테고리의 글 목록