System

System

Docker와 Dumb-Init

2 min read

오늘은 도커에서 안정적인 구동을 위해 사용하는 dumb-init과 pid1 그리고 init 시스템에 대한 이야기를 하려고 합니다.

Kubernetes ingress에서의 413 에러 해결 방법

~1 min read

Kubernetes에서 nginx-ingress를 사용한다면 파일 업로드 등 큰 데이터를 전송할 때 413 Request Entity Too Large 에러가 발생할 수 있습니다. 이는 nginx-ingress에서 기본적으로 가지고 있는 최대 body size가 크지 않게 추가되어 있어서 발생하는 문제로 아래와 같이 ingress의 annotation을 설정하여 해결할 수 있습니다.

k8s livenessProbe를 이용한 self-healing

1 min read

Kubernetes의 self-healing

k8s는 자체적으로 self-healing이 가능합니다. 시스템이 영향받을 때 마다 pod, container 단위로 상태를 감지하고, 비정상적인 경우 자체적으로 교체하여 최대한 안정적인 서비스를 유지할 수 있도록 도와줍니다.

dpkg-deb error paste subprocess was killed by signal 에러 해결하기

~1 min read

어제 밤에 집 우분투 서버에 rust 기반 cli 도구인 hexyl와 bat을 설치하던 중 dpkg 에러를 발생하였습니다. 처음 보는 패턴이라 약간 당황했지만, 역시 에러 메시지 안에 답이 있어서 간단하게 해결했던 방법 정리해둡니다.

PKA 기반 ssh 환경에서 passphrase를 묻지 않도록 설정하기

~1 min read

Problem

보통 편의성과 보안성 모두를 위해 ssh는 PKA(Public Key Authentication) 기반으로 운영하는 경우가 많습니다. 특히나 AWS, Azure, GCP 등의 퍼블릭 클라우드 서비스들은 외부에 22 와 같은 ssh 포트를 오픈해야하는 필요성이 있기 때문에(ACL이 있던 없던) 당연히 PKA를 기본 인증 체제로 사용합니다. (패스워드는 되도록이면 사용하지 말라고 가이드하고 있죠.)

멀티 클라우드, 보안적 관점에서 바라보기

2 min read

AWS가 개최하는 Re:Invent라는 컨퍼런스에서 멀티 클라우드에 대한 이야기가 약간 언급되었나 봅니다. 대충 듣기론 멀티 클라우드를 위한 관리툴에 대한 이야기인 것 같습니다. 그래서 오늘은 멀티클라우드가 뭔지, 그리고 보안쪽 관점에선 어떤 방법으로 바라봐야할지 글로 풀어봅니다. (사실 저도 잘 몰라요. 그냥 생각나는 대로 적는거고, 의견은 댓글로 주세요 😅)

Docker scratch image from a Security perspective

2 min read

최근 도커 관련해서 테스트하던 중 Scratch 라는 이미지를 보게 되었습니다. 개인적으론 처음보는 이미지인데, 특이하게도 보편적인 OS에서 사용되는 명령어부터 여러가지 중요한 바이너리나 설정까지 없는 독특한 이미지였죠. 찾다보니 생각보다 재미있는 이미지여서 관련 내용과 저의 생각을 약간 더해서 글을 작성해봅니다.

Docker multi-stage build를 통해 이미지 경량화하기

1 min read

Why?

보통 베이스가 되는 도커 이미지는 생각보다 큰 용량을 가지고 있습니다. 거기에 의존성으로 추가적인 도구를 설치하고, 빌드하게 되면 생각보다 엄청 큰 용량으로 탄생합니다. 이런 경우에 alpine이나 minimum 이미지와 같이 경량화된 이미지를 사용하는 방법을 많이 사용합니다.

Use proxy in macos and pulse (with psproxy, for ZAP/Burp)

~1 min read

Problem

Have a light but troublesome problem. Pulse secure is enabled on the mac and proxy does not operate normally while connected. To solve this, I googled. and I find convenient tool and i share it

How to solv “argument list too long: grep” error using grep

1 min read

There was an unusual phenomenon in which grep did not work in a particular directory. The directory was a result of testing multiple url with a meg, and I thought it was a phenomenon that was caused by a large number of subfiles and directories, but the funny thing is that the grep works normally in the parent directory of that directory. 특정 디렉토리에서 grep이 동작하지 않는 특이한 현상이 있었습니다. 해당 디렉토리는 meg로 다수의 url을 테스팅한 결과였고, 하위 파일과 디렉토리가 많아서 발생하는 현상으로 생각했었는데, 웃긴게 해당 디렉토리의 상위 디렉토리에서 grep은 정상 동작합니다.

맥OS의 기본 VNC Client 사용하기

~1 min read

집에 있는 테스트용 서버에 VNC 사용해야할 일이 있어 설치&세팅하고 맥으로 붙으려고 찾아보다 보니 MacOS에는 기본적으로 VNC Client가 깔려있다고 하네요. 별도 앱으로 있는건 아니고 vnc:// 프로토콜을 통해 바로 접근할 수 있습니다. 만약 VNC Sever의 IP가 192.168.0.11 Port가 5901 이라고 가정했을 때 아래와 같습니다.

nq를 이용한 command line queueing

1 min read

최근 Pipeline으로 여러가지를 스캐닝해줄 도구를 만들고 있는데, 해당 구간에서 사용할 큐에 대해 고민하던중 심플한 툴이 있어서 공유해봅니닷.. (사실 장인정신으로 한땀한땀 서비스를 분석하는걸 즐기지만, 슬슬 개인적인 영역에도 자동화의 필요성을 점점 느끼고 있네요..)

MacOS에서 터미널앱이 차단된 경우 (Gatekeeper disable 하기)

1 min read

간만에 Arachni 소스를 좀 고쳐볼까 하고 보던 중 난감한 상황이 있었습니다. 언젠가부터 MacOS에서 앱스토어 출처가 아닌 어플리케이션 경우 기본적으로 실행을 차단하고 별도의 과정을 통해 실행할 수 있게 하고 있습니다.

Golang 으로 만든 웹 어플리케이션 Heroku에 배포하기

1 min read

요즘 공부도할겸 golang 으로 끄적끄적 만들어보고 있는게 있습니다. 그 중 일부는 웹 환경으로 구성하고 heroku에 띄울 생각인데, 루비처럼 사전에 세팅이 필요한 부분들이 있어서 내용 정리해둡니다.

[ Rails on Heroku ] 간단한 루비 레일즈 앱 구성 및 Heroku에 배포하기

2 min read


[ Rails on Heroku ] 자주 사용하는 heroku 명령어 정리 (https://www.hahwul.com/2019/04/what-is-heroku.html) [ Rails on Heroku ] 간단한 루비 레일즈 앱 구성 및 Heroku에 배포하기 (https://www.hahwul.com/2019/04/ruby-on-rails-distribute-heroku.html) [ Rails on Heroku ] Heroku란? 빠르게 환경 구성하기 (https://www.hahwul.com/2019/04/favorite-command-heroku.html)

MacOS에서 Proxy 설정하기(for ZAP, BurpSuite)

~1 min read

MacOS에서 프록시 설정하는 방법 메모해둘까 합니다. 사실 뭐 별다른건 아니고.. 다른 OS에서 직접 설정하는 것과 동일합니다. 다만 MacOS의 경우 좀 더 On/Off가 쉬운 편이라 별도의 프로그램이 필요하단 느낌을 받진 않았네요.

Windcard(*) Attack on linux (와일드 카드를 이용한 공격)

2 min read

조금 철 지난 기법이지만 관심이 적어 모르고 있던거라.. 글로 작성해둡니다. wildcard는 굉장히 많은 영역에서 사용되는 문자이고 컴퓨팅, 프로그래밍에선 더더욱 많이 사용되는 문자들입니다.

unix timestamp 2038 버그(Year 2038 problem)

~1 min read

최근에 timestamp 계산할거 있어서 구글링해서 웹 페이지 찾아서 사용했었는데요, 해당 웹 사이트에서 이런 내용이 있어 조금 찾아보았고, 재미있는 내용이라 가볍게 공유드립니다.

리눅스에서 OWASP ZAP과 BurpSuite의 색상 바꾸기

2 min read

아주 예전부터 Burp suite, ZAP의 색상을 바꿀 수 있으면 좋겠다는 생각을 했었습니다. 관련해서 양쪽 개발자분꼐 여쭤봤지만 동일하게 코드 수정을 매우 어렵다고 답변 들었습니다. (당연한 이야기…, 역시 자바란)

[LINUX] Plank Dock - 심플하고 깔끔한 Dock Application

1 min read

리눅스 유저라면 Dock을 사용하시거나 한번쯤은 꼭 들어봤을거라 생각합니다. Dock 어플이 아니여도 xfce 패널이라던지, 유니티의 기본 dock gnome3의 dash dock 등 자연스럽게 접하게 되어있죠.

[LINUX] How to install xfce on blackarch linux

~1 min read

개인적으로 gnome과 xfce를 좋아합니다. 그중에서도 xfce를 최고로 생각하는데, 그 이유는 클래식의 익숙한 느낌과 빠른 속도 때문이죠.

[LINUX] BlackArch Linux install tip!

1 min read

최근에 OS 배포판 변경을 시도했다가.. 다시 Debian으로 돌아왔는데요 (이제는 5일씩 밤을샐 수 없네요.. / 인간은 실수를 반복하죠)

[DEBIAN] Thunder Bird에서 Anigmail, GnuPG(gpg)를 통한 이메일 암호화

3 min read

오늘은 암호화된 메일 통신을 위해 GPG를 이용한 키생성과 Thunder Bird에 연동하는 과정을 이야기할까 합니다. 일반적으로 쓰는 메일 서비스들이 암호화되어 안전하게 전송된다고는 하지만 우리는 신뢰할 수 없기 때문에 종단 간 암호화로 더 튼튼한 이메일을 사용하죠.

[DEBIAN] terminator를 이용한 창 분할 터미널 사용하기

~1 min read

오늘은 아주 매력적인 terminal program에 대해 소개해드릴까 합니다. 창 분할이 컨셉인 터미널 프로그램이죠. 저는 주로 tilda와 gnome-terminal 사용했는데, terminator를 보고 gnome-terminal을 빼버리게 되었네요.

[DEBIAN] SquashFS - compressed read-only file system for Linux

1 min read

서버 PC에 리눅스를 재설치 해야할 일이 생겨 unetbootin으로 굽던 중 일시적인 딜레이로 인해 잠깐 멈춰있었습니다. 그 중 눈에들어온 것이 하나 있는데요. 바로 “SquashFS” 입니다.

[DEBIAN] Using Redmine on Debian and Apache server, and Change a theme

2 min read

프로젝트 관리 프레임워크는 아주 많은 종류가 있습니다. 그 중 Redmine, 즉 Rails로 만들어진 Ruby 기반의 프레임워크에 대해 이야기할까합니다. 간단하게 설치 과정에 대한 이야기로 진행하겠습니다.

[HACKING] BlackArch Linux Install, Review (Arch linux for Pentest)

2 min read

이번에 가상머신 정리좀 할 겸 최근에 이야기 나왔던 BlackArch를 설치해봤습니다. 개인적으로 Arch Linux를 써본적이 없기 때문에(딱 한번 설치만 해봤던거 같네요) 기대감을 지닌 채 구성을 하였습니다.

[SYSTEM HACKING] RPC Port Map Dump를 이용한 서비스 Port 확인

1 min read

System에 오픈되어 있는 Port 를 확인하는 방법에는 여러가지가 있습니다. 대표적으로 port 에 대해 직접 요청하여 확인하는 방법(Syn Scan, XMAS 등등)이 있지요. nmap을 통해 서비스에 있는 포트들에 대해 확인하게 되는데 이 중 rpc 관련 포트가 있다면 좀 더 세심하게 스캔이 가능합니다.

TOCTOU(Time-of-check Time-of-use) Race Condition

1 min read

간만에 내용 정리할겸 Race Condition Attack에 대해 작성해볼까 합니다. 일단 Race Condition 기법은 이름 그대로 “경쟁조건” 을 의미하는 공격이고 취약한 프로그램이 사용하는 부분을 동일하게 점유하여 경쟁하고 반복적인 요청 중 공격프로그램이 이길 시 공격자가 원하는 흐름으로 프로그램의 로직을 바꿀수가 있습니다.

64bit Linux Execve Shell Code 만들기

4 min read

오늘은 64비트 쉘코드에 대한 이야기를 할까 합니다. 예전에 이쪽 분야 관심을 가졌을 초반 쯤에 32bit에 대한 쉘코드를 만들고 사용했었지만 지금은 일 특성상 딱히 쉘코드를 사용할 일이 굉장히 적어졌기에 간만에 보는 느낌입니다.

grep -v , -E 옵션을 이용한 문자열 제외하여 찾기

~1 min read

오늘은 terminal에서 데이터를 걸러낼 때 많이 사용하시는 grep에 대한 이야기를 할까 합니다. 특별한건 아니고 -v(invert)와 -E(regex)를 이용해서 원하는 패턴의 값만 걸러내는 방법입니다.

/proc/self/maps 파일을 이용하여 실행중인 시스템 메모리 주소 확인하기

1 min read

모바일 악성코드 분석 중 /proc/ 하단 데이터를 건드리는 코드가 있어 추가로 내용 더 써서 작성하였습니다. 참고로 /proc 디렉토리는 리눅스에서 사용되는 디렉토리이고 시스템의 프로세스 정보를 담고 있습니다. 간단하게 구조를 살펴보자면 아래와 같습니다.

Trinity를 활용한 System call Fuzzing

2 min read

취약점을 찾기 위해 하는 작업 중 큰 부분을 차지하는것이 바로 Fuzzing 입니다. Fuzzing 을 돕는 프로그램을 Fuzzer라고 부르는데, Fuzzer 중 Linux 시스템에서 Syscall에 대한 Fuzzing 작업을 수행할 수 있는 “Trinity” 라는 툴에 대한 이야기를 할까 합니다.

[HACKING] katoolin 을 이용한 Kali Linux Hacking tool 간편 설치(Easy Install Kali Linux Hacking Tool)

2 min read

최근 Kali linux 2.0 이 릴리즈 되었습니다. 이에 맞춰서 kali 내부의 툴을 쉽게 설치할 수 있는 스크립트가 공유되고 있습니다. 저도 facebook group를 통해 정보를 얻었고, 확인해보니 간단하게 kali 저장소를 이용한 설치방법(apt)이지만 구조나, 주요 툴 리스트를 확인하며 설치가 가능하단 점에서 좋은 스크립트라고 생각들었습니다.

[DEBIAN] Pidgin(on Debian) 에서 Facebook 사용하기

1 min read

리눅스에서 사용할 수 있는 메신저 종류 중 유명한 pidgin 에 대한 이야기입니다. pidgin은 여러 메신저를 통합하여 사용할 수 있고, facebook, nateon 등을 지원하기 때문에 국내 리눅서도 많이 사용하는 것으로 생각됩니다.

Linux System hooking using LD_PRELOAD

3 min read

공유 라이브러리의 경로를 의미하는 LD_PRELOAD를 이용하여 Linux System 후킹에 대한 이야기입니다. 크게 시나리오를 보자면 LD_PRELOAD에 공격자가 .so 파일을 삽입하고 시스템 명령이 해당 so 파일을 로드하여 명령 내에서 사용되는 함수를 바꿔치기 하여 데이터를 숨기는 과정입니다.

NTFS File System 의 숨겨진 영역 ADS(Alternate Data Stream)

2 min read

요즘 포렌식, 윈도우즈 시스템에 관심이 생겼습니다. 거의 리눅스만 사용하기 때문에 윈도우즈 시스템의 재미있는 부분에 대해서 많이 모르고 있었더군요. 그 중 오늘은 ADS(Alternate Data Stream) 영역에 관련된 이야기를 할까 합니다.

Gnome3 application menu 설정하기

~1 min read

gnome3 에서 어플리케이션 메뉴에 대해 설정하는 방법입니다. gnome 버전이면 유사한 형태로 설정이 가능합니다. 데비안 메뉴 내 어플리케이션은 /usr/share/applications 디렉토리 하위에서 설정이 가능합니다.

Debian에서 왼손 마우스 커서 테마 적용하기

~1 min read

왼손으로 마우스를 사용하다 보면 오른손 잡이 기준인 커서가 참 불편합니다. 오늘은 데비안 환경에서 마우스 커서를 왼손 커서로 변경하는 방법에 대해 작성합니다. 마우스 커서 테마적용과 동일합니다. 단 모양이 반대 방향이죠.