system

Docker와 Dumb-Init

오늘은 도커에서 안정적인 구동을 위해 사용하는 dumb-init과 pid1 그리고 init 시스템에 대한 이야기를 하려고 합니다. Init과 PID 1 Linux, macOS 등 대다수 OS에서 가장 첫번째 PID는 초기에 실행되는 Init 프로세스가 할당 받습니다. 그래서 ps 등으로 확인해보면 init 관련 프로세스가...

맥북을 Self-hosted Github action runner로 만들기

오늘은 Github action의 runner에 대한 이야기를 하려고 합니다. 글을 쓰기 앞서 잠깐 이야기를 풀자면 제 자동화 환경의 대다수는 Github action으로 동작합니다. Golang과 Ruby로 만들어진 Application 들과 Zest script 들이죠. 다만 Github action의 경우 github...

갑작스럽게 kubectl not found가 발생했다면 😫

평소에 잘 쓰던 kubectl이 갑자기 not found가 발생했습니다. (아마 특정 시점에 brew upgrade로 인해 문제가 됬을 것 같아요) zsh: command not found: kubectl 이미 설치된 상태이고, 재 설치를 해도 동일했습니다. 여기저기 찾아보니 homebrew로 설치한 경우에서 이 이슈가...

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

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

k8s livenessProbe를 이용한 self-healing

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

MacOS, Linux에서 현재 쉘 확인하기

자꾸 까먹어서 메모 차 작성해둡니다. 현재 사용중인 쉘은 $1 값을 출력해서 확인할 수 있습니다. MacOS echo $0 -zsh Linux echo $0 /usr/bin/zsh Linux with ssh on macos echo $0 -zsh 여기서 ma...

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

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

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

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

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

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

Docker scratch image from a Security perspective

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

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

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

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

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 ...

Docker images and running commands of vulnerable web

I often use the weak web for performance testing of tools under development. I write post collection of docker commands for the execution of the vulnerable web. All docker image pul...

Asciinema 영상을 GIF로 변환하기(How to convert asciinema to gif)

Install asciicast2gif를 설치해줍시다. npm 패키지입니다. 추가로 asciicast2gif 가 ImageMagick과 gifsicle을 사용하기 때문에 설치가 안되어 있다면 아래 부분도 같이 설치가 필요합니다. # install asciicast2gif npm install --global asciicas...

How to solv "argument list too long: grep" error using grep

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...

MacOS 외부모니터 연결 시 색상 문제(보라색화면?) 해결방법 / Display Profile RGB 모드 강제 설정

최근에 모니터를 바꿨습니다 😍 다만 사용하던 중 특정 맥북에서 연결 시 화면이 무조건 보라색으로 보이는 현상이 있었고, 구글링해서 얻은 정보 토대로 고쳤던 내용 간략하게 정리합니다. (나중에 또 이럴수도 있으니) 솔직히 왜 그 맥북안 이런 현상이 있는지는 잘 모르겠네요. (같은 맥북 프로에 똑같은 OS 버전인데…. 생산년도...

맥OS의 기본 VNC Client 사용하기

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

nq를 이용한 command line queueing

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

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

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

Mac 업그레이드 후 xcrun: error: invalid active developer path 에러 해결하기

MacOS 업그레이드 시 어김없이 발생하는 문제가 하나 있습니다 😫 바로 개발 관련 도구 사용 시 대다수가 발생하는 missing xcrun 에러인데요. 오늘은 매번 업데이트 마다 꼭 해야할 일 중 하나가 되어버린 그 문제와 어떻게 해결하는지 이야기할까 합니다. TL;DR xcode-select --install ...

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

요즘 공부도할겸 golang 으로 끄적끄적 만들어보고 있는게 있습니다. 그 중 일부는 웹 환경으로 구성하고 heroku에 띄울 생각인데, 루비처럼 사전에 세팅이 필요한 부분들이 있어서 내용 정리해둡니다. Pre-setting 우선, GoLand 같은 IDE를 쓰더라도 빌드 로그 떄문에 커밋까지만 IDE에서 하는게 개인적으론...

How to pause/resume process on MacOS and Linux(Mac/Linux에서의 프로세스 일시정지, 재 시작)

Summary 프로세스 일시정지(Pause process) kill -STOP [pid] 프로세스 복구(Resume process) kill -CONT [pid] Step by Step testcommand pid : 57103 일시정지(Pause) ps -elf | grep top 0 57103...

MacOS에서 맞춤법 자동 교정, 더블쿼테이션(따옴표) 변경되지 않도록 해제하기

MacOS에선 기본적으로 키보드 관련 여러 기능들이 활성화 되어 있습니다. 일반 사용자 입장에선 불편한게 없지만, 개발자나 보안 등등 일반적이지 않은 영문장을 자주 사용하고, 맞춤법들이 필요 없는 사람에겐 아주 거슬리고 불편한 기능들이죠. “설정 > 키보드 > 텍스트” 에서 해제가 가능합니다.

Testing command(curl, wget, portscan, ssh) with Powershell

curl Invoke-WebRequest -Uri https://www.google.com wget Get-WebFile https://www.google.com out.html portscan 1..1024 | % {echo ((new-object Net.Sockets.TcpClient).Connect("1...

[ Rails on Heroku ] 자주 사용하는 heroku 명령어 정리

[ Rails on Heroku ] 자주 사용하는 heroku 명령어 정리 (https://www.hahwul.com/2019/04/what-is-heroku.html) [ Rails on Heroku ] 간단한 루비 레일즈 앱 구성 및 Heroku에 배포하기 (https://www.hahwul.com/2019/04/rub...

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

[ Rails on Heroku ] 자주 사용하는 heroku 명령어 정리 (https://www.hahwul.com/2019/04/what-is-heroku.html) [ Rails on Heroku ] 간단한 루비 레일즈 앱 구성 및 Heroku에 배포하기 (https://www.hahwul.com/2019/04/rub...

[ Rails on Heroku ] Heroku란? 빠르게 환경 구성하기

[ Rails on Heroku ] 자주 사용하는 heroku 명령어 정리 (https://www.hahwul.com/2019/04/what-is-heroku.html) [ Rails on Heroku ] 간단한 루비 레일즈 앱 구성 및 Heroku에 배포하기 (https://www.hahwul.com/2019/04/rub...

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

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

Seagate Personal Cloud에서 ssh 접속하기(Connect SSH on Seagate Personal Cloud)

라즈베리파이로 파일서버를 쓰다가 최근에 NAS하나를 구입했습니다. 뒤적뒤적 보다가 ssh 오픈할 수 있는 케이스를 찾았는데 이미 관련 글도 있더군요… (구글링 해볼껄..) 별건 아니지만 글로 작성해봅니다. How to find? 앞서 이야기드리면 이건 취약점은 아닙니다. 해당 NAS에서 스펙으로 포함된 기능인데, 일반...

우분투 18.04에서 OBS Studio 설치 및 스트리밍 환경 구성(+Android 화면 출력하기)

이전부터 영상 관련해서 연습삼아 쓰던 프로그램 중 OBS Studio라는 도구가 있습니다. 방송을 위한 프로그램이며, 개인적으로는 화면 녹화 떄문에 사용했었죠. 한참 잊고 살다가 최근에 다시 세팅할 일이 생겨서 하다보니, 글로 메모해두면 좋을 것 같아 작성해둡니다. Install OBS Studio on Ubuntu 18...

grep과 sed를 이용한 다수 파일 내 문자열 치환

별건 아니지만, 이런 명령어는 자주 안쓰면 까먹기 떄문에 메모차 작성해둡니다. 요약 grep "찾을 문자열" * -rl | xargs sed -i 's/찾을 문자열/바꿀 문자열/g' History.. Mad metasploit을 msf 적용 후 로드 시 Metasploit3~4 어쩌고 저쩌고 하는 모듈 워닝이 발생하...

AWS 서울 리전 내 서비스 도메인, 전체 리전 정보(Domain of AWS Region)

AWS는 전세계적으로 정말 많이 사용되는 클라우드 플랫폼입니다. 테스트할 떄 aws 서버를 만날 상황이 있는데, 이때 참고하고자 서울 리전 정보 기록해둡니다. 서울 이외에 외국에 리전을 둘수도 있는데, 고건 아래 문서에서 보고 참고하시면 좋을듯합니다. 서울 리전 도메인 정보(Domain of Seoul Region) 오...

Docker Optimization and cleanup script (도커 최적화 하기 🐳)

이 과정은 docker prune 명령으로도 쉽게 가능합니다. 아래 댓글을 확인해주세요!😁 예전에 도커 용량 관련 문제로 한번 고생한적이 있었습니다. 도커 자체가 많이 사용할수록 리소스를 엄청쓰는데(물론 VM에 비하면 뭐…) 정기적으로 청소해주면 위에 문제나 용량, 속도 면에서 좀 이득이 되는 부분들이 있습니다. 그...

apt-get 지정한 패키지만 업그레이드 하기(Upgrade only specified packages)

메모 차 작성해둡니다. apt 패키지 관리자에서 간혹 단일 패키지만 업그레이드가 필요할 때가 있습니다. 보통 설치 명령으로 업그레이드 하란 이야기가 있긴한ㄷ.. apt-get install metasploit-framework 아래와 같이 –only-upgrade 옵션이 제일 좋은듯 합니다. apt-get --only...

Ubuntu 18.04 Shutter Edit 사용 불가 이슈(Fixed disable edit)

Shutter는 제가 정말 애용하는 캡쳐&이미지 편집 툴입니다. 가끔 아래 이미지 같은 문제가 생길때가 있었는데, 간단한 방법으로 해결했었습니다. (예전엔 그냥 libgoocanvas-perl 설치로 해결.. 마우스 가져다 대면 무슨 패키지 없다고 나왔었죠.) 다만 이번엔 좀 달랐습니다. 관련 패키지가 있는데,...

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

조금 철 지난 기법이지만 관심이 적어 모르고 있던거라.. 글로 작성해둡니다. wildcard는 굉장히 많은 영역에서 사용되는 문자이고 컴퓨팅, 프로그래밍에선 더더욱 많이 사용되는 문자들입니다. 리눅스 환경에선 정말 보편적으로 쓰이고 있고(명령어 처리, 인자값, 설정 등등..), 프로그래밍시에도 굉장히 많이 사용되는 부분입...

unix timestamp 2038 버그(Year 2038 problem)

최근에 timestamp 계산할거 있어서 구글링해서 웹 페이지 찾아서 사용했었는데요, 해당 웹 사이트에서 이런 내용이 있어 조금 찾아보았고, 재미있는 내용이라 가볍게 공유드립니다. What happens on January 19, 2038? On this date the Unix Time Stamp will cease to...

Ubuntu Linux에서 Spectable(macOS App) 같은 창 제어 사용하기(Spectable for linux?)

macOS에서 쓸만하다고 느꼈던 App 중 하난 Spectable 입니다. 단축키로 화면 내 창의 위치를 전체화면이나 좌/우/상/하 로 반듯하게 반으로 나누어 정리가 가능합니다. (이젠 이게 없으면 모니터 정리가 안될듯 싶어요.) 그래서 비슷한 프로그램이 리눅스에도 있을까 쭉 뒤져봤는데, 의외의 곳에서 답을 찾았습니다. ...

asciinema - Linux/Macos에서의 터미널 녹화 프로그램

Record and share your terminal sessions, the right way 그냥.. 이미지에요 가끔 기술 블로그들 보면 동영상으로 터미널 화면을 설명하는데, youtube나 vimeo가 아니 화면에 복사/붙여넣기가 ...

p0wn-box - 가볍게 사용하기 좋은 모의해킹/침투테스트 툴 도커 이미지

최근에 Docker image 한번 제대로 날려먹은적이 있습니다. 테스트용 칼리….ㅜㅜ (맥은 리눅스와 다르게 세팅을 다 안해놓은지라… 도커에 엄청 의존하고 있었죠) 아무튼 급히 툴 쓸일이 있어서 찾던 중 여러 보안툴 세팅해놓은 Docker project가 있어 공유드릴까 합니다. dotdotpwn 사용 때문에(ssl 문...

tree명령 없이 ls로 treeview로 보기(Treeview without tree command as ls)

개인적으로 tree 명령을 굉장히 자주 사용합니다. 다만 간혹, tree가 없는 환경에서 treeview로 보고 싶은 경우가 있는데, ls, grep, sed 3개를 이용하면 tree와 비슷한 형태의 출력을 얻어낼 수 있습니다. ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\...

Docker "No space left on device" 오류 해결 방법(in MacOS)

요즘 도커 이미지를 빌드할일이 아주 많은데, 갑자기 아래와 같은 에러가 발생했습니다. failed to register layer: Error processing tar file(exit status 1): write /usr/local/arachni/system/gems/gems/ffi-1.9.18/lib/ffi_c...

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

아주 예전부터 Burp suite, ZAP의 색상을 바꿀 수 있으면 좋겠다는 생각을 했었습니다. 관련해서 양쪽 개발자분꼐 여쭤봤지만 동일하게 코드 수정을 매우 어렵다고 답변 들었습니다. (당연한 이야기…, 역시 자바란) 그러던 중 최근에 트위터로 재미있는 소식을 하나 접했는데요, 리눅스 창 관리자를 약간 이용하면 색상 변환...

Mapscii - Ascii base Map on Linux terminal (리눅스 터미널에서 아스키 지도를 보자!)

종종 터미널 브라우저를 통해 웹서핑 하곤 합니다. 이전에 종종 쓰다보니 나름 편리한 경우도 있어 일반 브라우저랑 섞어서 사용하는데, 문뜩 이런 생각이 들었습니다. 터미널에서 지도를 볼 수 있을까?(아스키로?!) 그래서 git 을 뒤지다 보니 재미있는 프로젝트가 있어 공유드릴까 합니다. 아스키 지도 어플리케이션인 mapsc...

MacOS에서 git 실행 시 CommandLIneTools 에러 발생한 경우 해결방법

최근(?)에 MacOS 배포판 업그레이드(시에라 => 하이시에라) 이후 git 명령에 문제가 생겼었습니다. (판올림을 좀 늦게하긴했죠..) #> git xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing...

Kali Linux 2(04.30) release review

4/30, Kali linux의 업그레이드가 있었습니다. (https://www.kali.org/news/kali-linux-2018-2-release/ ) 간략하게 어떤점들이 추가되었는지 살펴보도록 하죠. Metasploit script Metasploit사용뿐만 아니라 취약점 분석 자체에더 쓸만한 스크립트들이 업데...

도커 컨테이너(Docker Container)에 대한 쉘 권한과 접근에 대한 이야기

잠깐 시간내어 간단하게 글 작성합니다. docker 컨테이너 내부로 접근할 떄 보통 exec 명령으로 /bin/bash, /bin/sh를 호출하는 경우가 많습니다. 테스트 하다보니 권한 관련해서 좀 신기한게 있었네요. (물론 지나서 보면 별거 아니였습니다) Execute shell on docker(not shell per...

PostgreSQL FATAL: Peer authentication failed for user Error 해결하기

rails의 db를 postgresql로 바꾸고 하는중에 이런 에러가 발생했습니다. root@cherry:/home/cherry/cherry_web# rake db:setup FATAL: Peer authentication failed for user "cherry-web" /usr/lib/ruby/vendor_ruby/...

[DOCKER] 도커 컨테이너, 호스트간 파일 전송/받기(How to send/recive docker container)

그냥 메모 차원으로 작성합니다. docker container 와 호스트 간 파일 이동 시 cp, scp 와 동일하니 쉽게 생각하면 됩니다. cp [source] [destination] #> docker cp ./move.me containerId:/[file_path] #> docker cp contain...

[HACKING] Kali linux The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 에러 해결하기

최근에 테스트 기기로 쓰는 칼리에서 인증서 관련 에러가 났습니다. #> noon@n341:/usr/share# apt-get update Get:1 http://kali.cs.nctu.edu.tw/kali kali-rolling InRelease [30.5 kB] Err:1 http://kali.cs.nctu.edu....

[DEBIAN] Kali Linux 로그인 화면, 잠금 화면 변경하기(Change background login , lock screen)

메모차 작성합니다. kali에서 login, lock 화면 배경 변경하기. 기본적으로 아래 디렉토리에서 데이터를 읽어옵니다. (/etc/alternatives/desktop-theme) . ├── grub │ ├── grub-16x9.png │ ├── grub-4x3.png │ ├── grub-4x3.png_b ...

macOS에서 aapt 다운로드/사용하기(Download aapt binary for macOS)

macOS에선 Android SDK를 설치하여도 aapt가 깔리지 않습니다. 기본적으로 제공되는 항목에서도 없을뿐더러, brew로도 설치가 어렵습니다. (adb는 있는데, aapt 만 없네요) 작년말쯤… 관련해서 제 git에 issue가 올라온게 있었습니다. https://github.com/hahwul/droid-hun...

[EXPLOIT] macOS High Sierra root privilege escalation 취약점/버그에 대한 이야기(code metasploit)

오랜만에 글을씁니다. 글감은 항상 적어두지만, 글 쓰기까지가 참 어렵네요. (그냥 바쁘다는 핑계임) 최근 macOS High Sierra 버전에서 권한 상승 취약점이 있었습니다. 일단 매우 간단하며 패스워드 공백으로 root 로그인 반복 시도 시 간헐적으로 넘어가지는 경우였죠. EDB를 보던 중.. 이 취약점에 대한 코드...

[LINUX] Install docker on kali linux(칼리 리눅스에서 도커 설치하기)

Kali Linux 에선 기본 패키지 매니저에 있는 docker 사용이 불가능합니다. 그러다 보니 직접 source.list를 추가하고 dockerproject에서 docker 설치가 필요합니다. 살짝 Virtualbox 설치하는 것과 비슷비슷하죠. Install! 먼저 인증서 처리를 위해 dirmngr를 비롯한 몇가지 ...

[SYSTEM HACKING] lynis를 이용한 시스템 취약점 스캔(System vulnerability Scanning with lynis)

Install 설치는 다른 툴과 동일하게 아주 심플합니다. CISOfy의 github를 이용해도 되고 패키지 매니저를 이용해도 됩니다. #> apt-get install lynis or #> git clone https://github.com/CISOfy/lynis Usage 크게 2가지 옵션이 존재합니다....

[LINUX] Make a Persistent Live OS USB(비 휘발성 Live OS 만들기)

파티션의 Label이 persistence로 지정하고 persistence.conf 를 작성해주면 persistence 파티션에 변경사항을 기록하며 LiveOS지만 데이터 저장이 가능해집니다. Step1. Persistence Partition 설정하기 먼저 기존 Live OS를 부팅합니다. 그다음 파티션 도구를 이용해 파...

[HACKING] Kali Live OS를 이용한 Windows, Linux 물리 접근 해킹

Live USB 를 이용한 물리적인 해킹 시 사용할만한 간단한 툴킷 하나 만드려고 하는김에 메모차원으로 포스팅 작성합니다. 원활한 이미지 캡쳐를 위해 전 가상환경에서 진행합니다. (타겟은 Windows7 중심으로.. ) 시작하기 앞서 Windows VM에 Kali live CD를 넣어주고 CD 우선 부팅으로 칼리를 부팅합...

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

리눅스 유저라면 Dock을 사용하시거나 한번쯤은 꼭 들어봤을거라 생각합니다. Dock 어플이 아니여도 xfce 패널이라던지, 유니티의 기본 dock gnome3의 dash dock 등 자연스럽게 접하게 되어있죠. 오늘은 dock 어플 중 실픔하고 깔끔하기로 유명한 Plank Dock에 대해 가볍게 이야기하려 합니다. P...

[LINUX] How to install xfce on blackarch linux

개인적으로 gnome과 xfce를 좋아합니다. 그중에서도 xfce를 최고로 생각하는데, 그 이유는 클래식의 익숙한 느낌과 빠른 속도 때문이죠. 아쉽게도 blackarch linux의 기본 창 매니저에는 xfce가 포함되어 있지 않습니다. Openbox를 비롯하여 awsome 등 archlinux에서 많이 사용되는 manag...

[LINUX] BlackArch Linux install tip!

최근에 OS 배포판 변경을 시도했다가.. 다시 Debian으로 돌아왔는데요 (이제는 5일씩 밤을샐 수 없네요.. / 인간은 실수를 반복하죠) 관련해서 blackarch 설치 시 Tip 작성해봅니다. (사실 예전에 작성한 포스팅과 별 다를게 없네요) 다른 리눅스 설치하는 것과 동일하지만, 같은 Cli여도 다른 느낌으로! G...

[LINUX] VirtualBox에서 디스크 크기 변경하기(동적할당, 고정할당)

동적할당의 경우 VBoxManage명령의 modifyhd 옵션을 통해 디스크 정보에 대해 변경이 가능합니다. –resize를 주어 사이즈를 변경하면 되죠. 단위는 MB 단위이니 잘 확인하시고 하시길 #> VBoxManage modifyhd blackarch_.vdi –resize 20000 0%…10%…20%…30%...

[HACKING] KALI Linux 2017.2 Release Review (무엇이 달라졌을까요?)

지난 주 수요일 Pentesting OS인 Kali Linux의 2017.2 버전이 Release 되었습니다. 중국에 있었던지라 이제야 소식을 접하게 되었네요. 간단하게 리뷰 들어갑니다. 달라진점 1 - Update tools 가장 먼저 눈에 띄는 변화는 툴의 추가입니다. 아무래도 Kali는 BlackArch 등 다른 ...

[POWERSHELL] 파워쉘을 이용한 파일 정보 확인하기(Write a get file information script)

파워쉘에 대한 이야기를 잠깐 할까합니다. 윈도우 환경에서 파워쉘 사용 시 batch 파일에 비해 상세하게 시스템에 대해 제어할 수 있고 Ruby, Python 과 같은 언어와 달리 기본적으로 내장되어 있기 때문에 별도의 설치 없이 사용할 수 있는 장점이 있습니다. 오늘은 파워쉘을 이용해서 파일에 대한 정보를 가져오고, 내용...

[POWERSHELL] 이 시스템에서 스크립트를 실행할 수 없으므로 파일을 로드할 수 없습니다(execution of scripts is disabled on this system.) 에러 해결 방법

메모차 간단하게 작성합니다. Powershell script 를 작성 / 사용하다보면 아래와 같은 에러가 반겨주는 경우가 있습니다. 한글 “이 시스템에서 스크립트를 실행할 수 없으므로 파일을 로드할 수 없습니다” 영문 “execution of scripts is disabled on this system.” 이런 ...

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

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

[EXPLOIT] Linux Kernel - Packet Socket Local root Privilege Escalation(CVE-2017-7308,out-of-bound) 분석

정말 오랜만에 포스팅을 하네요. 최근에 공개된 Linux kenel 취약점에 대한 분석 내용으로 준비하였습니다. (예전에 Kernel OOB 취약점 써둔건 어디갔는지 모르겠네요.. 설마 지운건가? =_=) Socket을 생성하고 사용하는 중에 out-of-bound가 일어나고, 이를 통해 권한상승까지 가능한 취약점이죠...

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

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

[DEBIAN] Intro Memcahed and Accessing Memcached from the command line

최근에 Memcached 관련 3rd party application에 대해 개인적으로 아아아아…주 잠깐 분석을 했던지라 관련 내용으로 포스팅합니다. What is Memcached? Memcached는 범용 분산 메모리 캐싱 시스템입니다. 일반적으로 DB의 부하를 줄이고 동적 웹 어플리케이션의 속도 향상을 위해 사용되죠....

[CODING] Ruby telegram-bot 을 이용한 텔레그램 봇 만들기

안녕하세요. 하훌입니다. 오늘은 Ruby를 이용한 텔레그램 봇 만들기에 대한 이야기로 준비했습니다. 짧은 내용이지만.. 워낙 정신없이 지낸지라 이제서야 포스팅을 하게되네요. 그럼 시작해보겠습니다. @BotFather를 이용한 신규 Bot 생성 먼저 텔레그램 내 봇들은 @BotFather를 통해 관리되고 있습니다. F...

[HACKING] Microsoft Windows Kernel Win32k.sys Local Privilege Escalation Vulnerability 분석(CVE-2016-7255/MS16-135)

오랜만에 취약점 분석을 하는 것 같습니다. 오늘은 작년에 발표되고 올해 공격코드가 공개된 Windows kenel Win32k.sys Local Privilege Escalation에 대해 보도록하겠습니다. 간략하게 정리하고 시작하겠습니다. CVE-NUMBER: CVE-2016-7255 CVSSv3: 7.6 Mic...

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

서버 PC에 리눅스를 재설치 해야할 일이 생겨 unetbootin으로 굽던 중 일시적인 딜레이로 인해 잠깐 멈춰있었습니다. 그 중 눈에들어온 것이 하나 있는데요. 바로 “SquashFS” 입니다. (아마 copy 과정 중 제일 오래걸렸던 것 같습니다.) SquashFS란? SquashFS(스쿼시FS)는 고압축 파일시스템입...

apt-get 사용 시 Could not get lock /var/lib/dpkg/lock 에러 해결하기

메모 차원에서 간단하게 적어둡니다. apt-get 사용 시 아래와 같은 에러로 인해 진행이 되질 않는 경우가 있습니다. E: /var/lib/dpkg/lock 잠금 파일을 얻을 수 없습니다 - open (11: Resource temporarily unavailable) E: Unable to lock the adminis...

[DEBIAN] webissues를 이용한 Bug Tracking(install webissue and tutorial)

최근 redmine부터 trac 등등 여러가지 bug tracking system을 찾고 테스트해봤습니다. 물론 ui 자체는 yobi(yona)가 좋긴하지만 협업보다는 개인적으로 이슈관리가 필요해서 선택하지 않았습니다. 찾던 중 webissues 라는 툴킷을 찾게 되었습니다. 이 Issue tracker는 php 를 ...

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

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

[DEBIAN] Change the GRUB background image

GRUB Background image 에 대해 변경하는 방법입니다. 메모할겸 작성해둡니다. /boot/grub/grub.cfg.파일 내 “GRUB_BACKGROUND” 값을 통해 배경 이미지 변경이 가능합니다. #> vim /boot/grub/grub.cfg GRUB_DEFAULT=0 GRUB_TIMEOUT=5...

[DEBIAN] Geany - Develope IDE for hacker and programmer

우분투 소프트웨어 센터에서 쓸만한 툴이 있나 찾아보던 중 Geany라는 개발 IDE에 대해 알게 되었습니다. “fast and lightweight IDE” 즉 가볍고 빠름을 추구하는 이 IDE에 대해 사용해보고, 계속 사용해오던 gedit과의 비교를 하는 시간을 가져볼까 합니다. Geany? Geany IDE는 일반 ...

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

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

[DEBIAN] malloc() 시 sysctl vm.swappiness를 이용하여 Swap 적극 활용하기

리눅스에서 여러가지 테스트를 하다보면 memory를 full 시켜야할 상황이 오기도 합니다. 사실 제가 이런 테스트가 필요하기보단 필요한 분 도와드리다보니 아무래도 정리해놓는게 좋을 것 같아 가볍게 작성합니다. 오늘은 memory full test에서 swap 부분에 대해서 쉽게 사용하기 위해서 malloc과 vm.swap...

[DEBIAN] Linux Terminal에서 .sql 파일 실행하기(Execute .sql file on linux . MYSQL)

오픈소스 코드를 사용하다 보면 자주 만나는 것이 .sql 파일입니다. 이는 개발자가 미리 구성한 DB 환경을 같이 배포해주기 위해 사용하거나, sql 쿼리를 모아서 한번에 실행하기 위해 만들어 놓는 경우가 많습니다. .sql 실행하기(Execute .sql file) 일단 샘플로 간단한 .sql 파일을 만들어보겠습니다. 아...

[DEBIAN] GDB layout(-tui, layout asm,reg) and save setting in gdb(gdb 레이아웃 및 세팅 저장하기)

웹 해킹이 밥줄이기 때문에 gdb를 많이 사용할일은 없지만 그래도 항상 리눅스 환경에서는 정말 유용한 디버거라 생각합니다. 오늘은 GDB를 좀 더 이쁘게 꾸미는 방법과 설정을 저장에 대한 이야기를 할까합니다. GDB 꾸미기(Set Layout) 일단 기본 gdb는 아래와 같은 구성을 가지고 있습니다. 각각 레지스터, 스택 ...

[DEBIAN] Gedit Plugins for hacker/programmer(해커/프로그래머를 위한 gedit 플러그인)

최근 sublimetext3를 으로 갈아타려다 한글 관련 문제를 해결하지 못하고 다시 gedit으로 돌아오게 되었습니다. 그래서 기존에 쓰던 gedit을 강화하기 위해서 유용한 플러그인에 대해 조금 더 찾아봤지요. (물론 기존에 쓰던게 대다수네요..ㅋㅋ) Gedit? 일단 gedit에 대한 설명을 간단하게 하면 gnome ...

[DEBIAN] Linux에서 Sublimetext3 한글 입력 사용하기(Use hangul on slt3)

최근 gedit에서 sublimetext3(st3)으로 갈아타려 했습디마나.. 하나 문제를 발견하였지요. 바로 ibus 사용 환경에서는 sublime에서 한글 사용이 되지 않는다는 점 이였습니다. 에디터 하나때문에 입력기를 바꾸기는 좀 그래서 좀 알아봤더니 중국분이 만들어놓은 so를 이용해서 어느정도 해결이 가능한 것 같습...

[BUG] Repair & Fix Windows7 Install Error [0x000035a] (VirtualBox Win7 64-bit 에러 수정하기)

Windows 7 설치 중에 발생하는 에러 중 자주 나타나는 것이 0x000035a 에러입니다. 가상머신(Virtual Machine) 환경에서 주로 발생하며 설치 자체가 불가능합니다. 다만 에러 내용을 잘 읽어본다면 쉽게 확인할 수도 있는 에러입니다. 위와 같이 0xc000035a 라는 메시지가 발생하며 Info를...

[DEBIAN] qemu를 이용한 arm elf 파일 실행

일반적으로 PC에서 arm으로 컴파일된 프로그램을 실행할 수 없습니다. 만약 실행한다면 아래와 같은 메시지가 발생하죠. #> ./mzz_arm bash: ./mzz_arm: cannot execute binary file: Exec 형식 오류 그러나 디바이스에 직접 넣어 테스트하기 귀찮기도 하고, 번거로울 때 사용할...

[DEBIAN] w3m/lynx :: Linux text base web browser(리눅스 텍스트 브라우저)

제작년쯤인가요.. 한때 텍스트 브라우저를 잠깐 썼었던 시절이 있었습니다. 키보드로만으로도 심플하게 웹을 탐색할 수 있어 좋았지만, 최근 화려하고 컨텐츠가 많은 웹의 형태에는 약간 어울리기 힘든 부분도 있었습니다. 그래도 오랜만에 정리할겸하여 작성해봅니다. 일단 리눅스에서 사용 가능한 텍스트 기반 브라우저는 유명한 두가지...

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

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

[EXPLOIT] Linux Kernel REFCOUNT Overflow/UAF in Keyrings 취약점 분석

요즘 Linux Kernel 취약점이 간간히 많이 올라오는 것 같습니다 . 그 중 1월 9일 EDB를 통해 공개된 CVE-2016-0728 취약점에 대한 이야기입니다. 리눅스 전반적으로 영향력이 있어 파급력이 강한 취약점이네요. EDB-ID: 39277 CVE: 2016-0728 OSVDB-ID: N/A ED...

[EXPLOIT] Linux Kernel Overlayfs - Local Privilege Escalation 취약점 분석

작년 6월쯤 overlayfs 관련 local root exploit 이 나와서 좀 관찰해봤던 기억이 납니다. 물론 포스팅에선 걍 소식만 전했었네요.. 최근 유사형태의 취약점으로 edb에 overlayfs 를 이용한 권한상승 취약점이 다시 올라오게 되었습니다. EDB-ID: 39230 CVE: 2015-8660 OS...

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

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

[SYSTEM HACKING] ShellNoob를 이용한 Shellcode 작성 및 활용 (Writing Shell Code with ShellNoob || Install and Using ShellNoob)

shellcode 를 만드는 일은 재미있지만, 생각보다 시간도 투자되고 약간 귀찮은 부분도 존재합니다. 그러한 과정을 조금 줄여줄 수 있는 좋은 툴이 있어 작성하였습니다. Shellnoob라는 이 툴은 Shellcode를 위한 툴 입니다. Assembly 코드를 쉘코드로 변환하거나 ShellCode 제작에 있어 굉장히 도움...

64bit Linux Execve Shell Code 만들기

오늘은 64비트 쉘코드에 대한 이야기를 할까 합니다. 예전에 이쪽 분야 관심을 가졌을 초반 쯤에 32bit에 대한 쉘코드를 만들고 사용했었지만 지금은 일 특성상 딱히 쉘코드를 사용할 일이 굉장히 적어졌기에 간만에 보는 느낌입니다. 일단 32bit나 64bit나 직접 assembly 코드를 짜거나, C에서 변환하는 식으로 하...

GDB를 이용한 원격 디버깅(GDB Remote Debugging)

오늘은 간단하게 gdb를 이용한 remote debugging에 대한 이야기를 할까 합니다. gdbserver gdb는 패키지 내 gdbserver를 내장하고 있습니다. 이 서버는 gdb를 원격상태로 두어 사용자가 네트워크를 통해 디버깅할 수 있도록 하는 기능입니다. 리눅스 쉘에서 “gdbserver” 명령을 주게되면 U...

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

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

[HACKING] TOR를 이용하여 익명 네트워크 사용하기(Anonymity Network Using Tor) on linux

아래 양파로고가 메인인 tor에 대해 들어보셨나요? 익명브라우징에서는 굉장히 유명한 툴 입니다. 이전에도 tor 관련해서 글을 작성했던거 같은데요, 리눅스상에서 tor 설치 후 쉽게 사용하는 방법에 대해 작성해보았습니다. 짧으니 편하게 봐주시면 될 것 같습니다. tor는 쉽게 말해서 익명 네트워크를 제공해주는 도구입니...

Trinity를 활용한 System call Fuzzing

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

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

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

OpenVAS Debian Linux 에 설치하기(Install OpenVAS Scanner on debian)

최근 OpenVAS 설치 관련 글을 작성하였는데요, 문제가 있는 것 같아. 삭제 후 다시 작성하였습니다. 간단하게 스크립트로 한번에 설치가 가능합니다. echo “deb http://download.opensuse.org/repositories/security:/OpenVAS:/UNSTABLE:/v6/Debian_7....

Linux System hooking using LD_PRELOAD

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

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

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

Gnome3 application menu 설정하기

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