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

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

그러던 중 최근에 트위터로 재미있는 소식을 하나 접했는데요, 리눅스 창 관리자를 약간 이용하면 색상 변환이 가능합니다.

Thank you xer0 :)

ZAP, Burp의 WM_CLASS 찾기

우선 바꿀 프로그램의 WM_CLASS를 찾습니다. xprop로 찾으면 편합니다. 명령어 입력 후 마우스로 포인팅해서 값을 얻어옵니다.

xprop | grep WM_CLASS
WM_CLASS(STRING) = "OWASP ZAP", "OWASP ZAP"

ZAProxy는 “OWASP ZAP”, Burp suite는 이미지와 같습니다.

Burp는 창을 여러개 띄우니 한번 더 확인하고 진행해주세요.

compton 창 관리자를 이용하여 invert-color 하기

compton 창 관리자를 이용해 해당 WM_CLASS의 창인 경우 색상을 invert 해줍니다. 먼저 compton를 설치합니다.

apt-get install compton

--invert-color-include 옵션을 주면 다음 규칙 인자값에 맞는 창에 대해서만 invert-color 합니다. (보통 어둡게 쓰는 경우 오히려 밝아지지만, Java Application의 기본 창 특성 상 밝기 떄문에 어두워집니다)

compton --invert-color-include 'class_g="OWASP ZAP"'

TroubleShotting(XFCE > XFWM4 사용중인 경우)

보통은… 여기서 바로 적용되겠지만, 저는 xfce에서 xfwm4 창 관리자를 쓰고 있기 떄문에 에러가 발생합니다.

compton --invert-color-include 'class_g="OWASP ZAP"'

Another composite manager is already running

다른 composite manager 가 동작중이라는 내용의 에러인데요, xfwm 동작 여부를 보면..

ps -aux |  grep xfwm
hahwul    1009  0.7  0.2 195904 24492 ?        S    Jul09   0:06 xfwm4
root      4330  0.0  0.0  12980  1072 pts/0    S+   00:01   0:00 grep xfwm

네 말그대로 동작중이여서 안된거 같습니다. 우선 기능을 내릴 수 있을지 옵션을 보면..

xfwm4 -h
Usage:
  xfwm4 [OPTION…] [ARGUMENTS...]

Help Options:
  -h, --help                   Show help options
  --help-all                   Show all help options
  --help-gtk                   Show GTK+ Options
  --help-sm-client             Show session management options

Application Options:
  --daemon                     Fork to the background
  --compositor=on|off|auto     Set the compositor mode
  --replace                    Replace the existing window manager
  -V, --version                Print version information and exit
  --display=DISPLAY            X display to use

--compositor 옵션으로 설정이 가능할듯 하네요. 우선 테스트를 위해 기능을 내려봅시다

xfwm4 --compositor=off

그리고 --replace를 하는 순간..

xfwm4 --replace

xfwm4이 종료된게 아니기 떄문에 분명히 안될거라는 확신과 함께 설정 에러가 발생해서 xfwm4가 꺼졌습니다. 워인을 알았으니 아래와 같이 처리해주면 잘 반영됩니다.

pstree -p | grep xfwm4
kill -9 [xfwm4의 pid]
compton --invert-color-include 'class_g="OWASP ZAP"'

ZAP

BurpSuite

다만 xfce 기본 창 관리자의 장점들을 사용할 수 없기 때문에 xfwm4에 대해 좀 더 찾아봅니다.

--help-all로 좀 더 상세히 보면,,

xfwm4 --help-all
Usage:
  xfwm4 [OPTION…] [ARGUMENTS...]

Help Options:
  -h, --help                   Show help options
  --help-all                   Show all help options
  --help-gtk                   Show GTK+ Options
  --help-sm-client             Show session management options

GTK+ Options
  --class=CLASS                Program class as used by the window manager
  --name=NAME                  Program name as used by the window manager
  --screen=SCREEN              X screen to use
  --sync                       Make X calls synchronous
  --gtk-module=MODULES         Load additional GTK+ modules
  --g-fatal-warnings           Make all warnings fatal

Session management options
  --sm-client-id=ID            Session management client ID
  --sm-client-disable          Disable session management

Application Options:
  --daemon                     Fork to the background
  --compositor=on|off|auto     Set the compositor mode
  --replace                    Replace the existing window manager
  -V, --version                Print version information and exit
  --display=DISPLAY            X display to use

오예, --class, --name 옵션이 있네요.

라고 썼지만, 추가적인 삽질이 필요할 것 같네요. 마저 쓰다간 밤샐 느낌이기 때문에 적당히 마무리하고, 후속 포스팅을 올리도록 하겠습니다. 감사합니다 :)