쓰게 될 내용을 생각해보니까, 분석이라기 보다는 실습보고서 정도에 그치지 않을까 싶다. 그래도 일단 남겨보자. 우선 IRC 서버부터 구축해보자.


어떤 프로그램으로 IRC 서버를 구축할까 찾아봤는데, UnrealIRC라는 프로그램이 있더라. 그래서 이 프로그램을 이용해서 IRC 서버를 구축해보기로 했다.


설치는 매우 간단하다. 설치 후, unrealircd.conf 파일을 생성하여 설정에 맞게 바꿔줘야 한다. 이 파일은 UnrealIRC/doc/example.conf 파일을 복사해서 unrealircd.conf로 바꿔서 사용하면 된다. (cp ./doc/exampleconf unrealircd.conf)


위와 같이 복사 후 unrealircd.conf 내용을 잘 읽어보면서 내용을 수정하면 된다. 영어를 잘 해석해보면 누구든지 할 수 있다. 
https://www.unrealircd.org/files/docs/unreal32docs.html


위의 사이트와 unrealircd.conf에 있는 내용을 참고해보자. 참고로 설정 시 irc.XXX.XXX 와 같이 도메인이 실제로 존재해야한다. IP로는 안 되는 것 같다.


그렇게 구축을 하면 아래 명령어를 통해 구동을 한다.

./unreal start


netstat -na | grep 포트번호 또는 ps -ef | grep ircd 명령어를 통해 제대로 동작하고 있는지를 더블체크해보자.


이 상태에서 IRC에 접속하여 체널을 생성해보자. IRC 접속은 irssi 라는 또 다른 프로그램을 설치하여 그 프로그램으로 IRC에 접속했다. 


irssi를 실행하여 아래와 같이 실행해보자.

/CONNECT <도메인명> <포트번호>



개인 중요 정보는 가려놨다. 아무튼 위와 같이 접속이 된다. 이 상태에서

/JOIN <체널명>

위와 같이 입력하여 체널을 생성한다. 단, 체널명 가장 앞에는 #을 붙여줘야한다. i.e "#ChannelName"



위와 같이 체널을 생성한다.

그리고 이전 포스팅에서 분석했던 그 프로그램을(이하 Kaiten) 실행시키면 된다. 그러면 위의 체널에 접속을 하게 될 것이다. (물론, Kaiten 프로그램 소스코드 내에서 서버 정보나 체널명 등을 제대로 수정해준 상태에서 가능한 것이다-_-)



위와 같이 새로운 사용자가 체널에 JOIN했다는 것을 알 수 있다. 이제 끝났다. 이제 Kaiten 소스코드에 있는 명령어들을 수행할 수 있다. 예를 들어 특정 IP에 대하여 PAN 명령어를 실행시켜보면



위와 같이 어마어마한 양의 패킷이 발생했다. destination이 random IP인 것은 소스 코드를 분석해보면 나온다.


이상 간단하게 분석보고서가 아닌 실습 보고서 마치려고 한다.

위와 같이 Botnet이 동작하는 것이므로 블로그 읽으시는 분들은 Botnet이 어떤식으로 동작하는지만 개념적으로 알면 될 것이라고 판단된다.


※ 악의적인 용도로 쓰일 가능성이 있으므로 최대한 rough하게 썼다.

Posted by 빛나유
,