전에 서버에 누군가 접속한 흔적이 남아 있다고 문의했었던 문제 관련입니다

ssh 포트 번호를 바꾸고 며칠 잠잠했었는데

오늘 또 누군가 제 서버에 접속해서 뭔가를 설치해 놓았습니다.

첨부해 놓은 파일을 /dev/shm에 풀고 start를 실행해 놓았는데

이게 뭐하는 파일인지 분석을 좀 부탁드리겠습니다.

초보자에게 서버 운영은 진정 무리한 일인가 봅니다.

이 파일을 실행시킨 것에 대해서 어떻게 대처해야하는 것인지도 좀 문의 드립니다.

복받으실 겁니다.

안녕히 계세요~

검색해보니 악성코드라는 이야기가 있군요.

http://www.spycheck.co.uk/genera.php?pr ... ir=r&pag=3

리눅스 서버에 심어두고 접속 PC에 악성코드를 심는 프로그램이 아닐까 추측만 해봅니다…

ELF 파일이 있어서 정확히 이건 이거다! 라고 섯불리 말하긴 힘든것이 사실입니다만.
아마도 IRC 봇이 아닌가 싶습니다.
대략 IRC 채널에 들어와서 도배를 한다던가 욕을 한다던가 하며(직접적으로 봇설치한 사람의 IP 가 뜨지 않음으로 마음 편하게), 심한경우 봇자체에 백도어
기능이 있어서 봇이 깔린 OS 를 주무르기도 합니다만.

제 추측으로는 단순한 봇으로 생각됩니다.

무엇보다 중요한 것은 현재 해당 시스템이 보안상 아주 취약하다는 것 이 되겠습니다.
비밀번호를 아주 쉽게 지정된 계정이 있는지 확인하시고 보안상 취약점이 있는 서버프로그램
(예를 들면 sshd 등등) 이 돌고 있는게 아닌지 점검해 보아야 할 것 같습니다.

저런 상태로 두면 많은 사람들이 광고나 도배로 IRC 이용에 불편을 격을 수 있고,
2차적으로 해당 IP 나 IP 대역에 대해 ban 이나 ignore 가 걸릴 수 도 있습니다.
(이건 뭐 별 문제가 안될 때도 있긴 합니다만)

개인적인 서버라면 ssh 접속을 해당 사용자에 대해서만 허용하게 하는 방법이 있는걸로 암니다.
이렇게 하면 보안성을 더 높일 수 있을것 같습니다.

ps. 엔신님의 글을 보니 제 추측은 완전 빗나갔네요… 조금 죄송할 따름…

답변에 감사드립니다.

우선은 ssh로 접속 가능한 권한을 수퍼유저 외에는 모두 없앴습니다.

root 로그인도 안되도록 설정했구요.

해커가 풀어놓은 파일은 우선 모두 삭제했습니다만.

어떤 프로세스가 그 파일로 인해 떠 있는지는 잘 모르겠습니다.

실력이 부족하여 로그 분석은 엄두도 못내고 있습니다.

답변에 다시한번 감사드립니다.

대충 보니
play란 파일에 친절하게 어떻게 이용하라고 나와 있습니다

  1. ./configure
  2. ./install
  3. ./run

이렇게 3가지를 실행하라고 나오네요

configure 보면 설정파일 만들고 있고

install 을 보면 ./do vhost라고 해서 실행하게끔 되어 있습니다.

do 파일은 실행파일이지만 특별한 동작을 하는 것은 아니고
vhosts안에 있는 ip값을 인자값으로 해서
./ip ip(인자값)
이런 명령을 반복적으로 실행합니다.
do 파일에 대한 어셈 루틴은 첨부했구요.

ip는 쉘 스크립트이구요.
안에 보시면 25개정도 되는 닉네임이나 기타 값이 있는데
그 값들을 랜덤하게 선택해서
./gen 이란걸 또 실행합니다.(물론 ip도 전달합니다)

gen도 쉘 스크립트입니다.
gen을 보면 친절하게 주석까지 잘 달려 있습니다 :)

cp confs/bot.conf confs/bot$1.conf
이렇게 복사하는 명령이 중간에 있고
mech.set 라는 파일을 계속 만들어가네요

마지막으로 run은
bash 실행파일을 실행시키게 됩니다.

악성코드는 bash 라는 파일이 실제 악성코드이구요.
irc 기반의 악성코드로 생각이 되구요.
실행이되면 특정 irc 서버로 접속해서 어떠한 채널로 들어가서
대기하고 있게 될 것으로 예상되구요.
그러면 그 방에서 나뿐놈이 대기하고 있다가
채팅창에 어떤 말을 칩니다.
그 말은 채팅방에 들어와있는 많은 감염 봇들에게는
명령으로 인식되어져서 동시에 감염 봇들에게 어떠한 동작을 하게 되는 루틴일껍니다.

대체로 irc 기반 봇들이 그러한 루틴이거든요.

보니까 특정 프로그램을 실행시키거나 상태를 확인한다거나 하는 여러 명령어가 들어가 있는 것 같네요
아마도 mech.set 파일에 명령이 들어가게 되는 것 같네요.
bash 실행 파일의 경우 디버거로 열면 종료되는 간단한 루틴도 들어가 있군요.

checkmech 파일을 보게 되면
crontab -e에
10 분 단위로 체크해서 run 하는 루틴이 들어가 있는 것 같네요

cd /path/to/mech

이 경로가 있는지도 확인해보시구요
ps -ef |grep bash
프로세스중에 bash라는게 여러개 띄워져있다면 기본 bash 말고
악성 프로그램이 실행되어 있는 상태로 예상이 되구요.
위처럼 재시작시키는 루틴만 제거하고 bash 파일이 있는 경로를 찾아서 삭제하고
재부팅하면 다시 악의적인 bash가 실행되지 않을껍니다.
단, 진짜 정상적인 bash를 지우거나 하시면 안되겠죠 ^^;;

그리고 올려주신 샘플은 잘 쓰겠습니다.(악의적이 아닌 분석용도로)
일단 배고파서 밥먹으러 휘리리리릭

[quote="엔신 ":3eiw8b5r]

그리고 올려주신 샘플은 잘 쓰겠습니다.(악의적이 아닌 분석용도로)
일단 배고파서 밥먹으러 휘리리리릭[/quote:3eiw8b5r]

첨부하신 FlowChart가 깔끔해서 문의드립니다. FlowChart 작성용 프로그램으로 무엇을 쓰시는지요?

[quote="pukakk":1gamdoeg]
첨부하신 FlowChart가 깔끔해서 문의드립니다. FlowChart 작성용 프로그램으로 무엇을 쓰시는지요?
[/quote:1gamdoeg]

따로 FlowChart용 프로그램을 이용한 것은 아닙니다.
디버깅 프로그램인 IDA Pro Advanced 라는 프로그램을 이용해서
디버깅한 것이고, IDA의 장점중 하나가 저렇게 Flowchart식으로 볼 수 있습니다.
IDA는 윈도우용, 리눅스용 다 있는 걸로 알고 있지만
리눅스용은 써본적은 없습니다.
일단 윈도우용 실행 파일에 대해서도 저런식으로 보여주지만,
리눅스 ELF도 지원하므로 깔끔하게 보이네요.