[완료] 해킹을 당하였습니다.
서버호스팅을 받고 있는데
2주전쯤 비정상적인 트래픽이 발생하였다며 연락이 왔습니다.
확인해보니 /root/8081 바이너리 파일이 실행중이었고 8081포트가 열려있었으며, 무엇인가를 하고 있었습니다.
프로세서를 죽이고 그후 몇번의 이상 트레픽이 더 발생하던중 오늘 오전에
/var/tmp 폴더에 아래와 같은 파일들이 있었고
그중 x.c 파일은 Linux kernel 2.6.17 - 2.6.24.1 에서 root권한을 획득할수 있는 루트 익스플로잇이었습니다.
제 서버가 2.6.18 이라 root권한을 획득했을거라고 봅니다.
그런데 그 파일말고도 많은 파일들이 있는데 직접 코딩한것 같진 않고 알려진 해킹 소스를 사용한것 같습니다.
아래는 tar 로 tmp 하의 파일과 폴더를 압축한것을 복사해온것입니다.
아래 아이피가 몇개 나오는데 보안상. 116.123.158.109 는 저희 서버 아이피인데 임으로 변경한것입니다.
나머지 아이피는 있던 그대로 입니다.
제가 궁금한것은
아래에 있는 파일들이 도대체 어떤작동을 하는 알고 싶습니다.
필요하시다면 ci5ns@naver.com 로 메일주시면 파일들도 보내드리겠습니다.
조언부탁드립니다. 감사합니다.
== 아래 ==
[root@(none) tmp]# tar zcvf ../back.tar.gz ../tmp
tar: Removing leading `../' from member names
../tmp/
../tmp/dc.pl
../tmp/4877
../tmp/x.c
../tmp/dc.zip
../tmp/8081
../tmp/ .. /
../tmp/ .. /.tmp/
../tmp/ .. /.tmp/192.168.0.1.user3
../tmp/ .. /.tmp/157.100.186.42.user
../tmp/ .. /.tmp/inst
../tmp/ .. /.tmp/Kemsley.seen
../tmp/ .. /.tmp/bash
../tmp/ .. /.tmp/cri5tina.seen
../tmp/ .. /.tmp/italianul.seen
../tmp/ .. /.tmp/r/
../tmp/ .. /.tmp/r/rversions.e
../tmp/ .. /.tmp/r/rpickup.e
../tmp/ .. /.tmp/r/rnicks.e
../tmp/ .. /.tmp/r/raway.e
../tmp/ .. /.tmp/r/rsay.e
../tmp/ .. /.tmp/r/rkicks.e
../tmp/ .. /.tmp/r/rtsay.e
../tmp/ .. /.tmp/r/rinsult.e
../tmp/ .. /.tmp/r/rsignoff.e
../tmp/ .. /.tmp/m.help
../tmp/ .. /.tmp/192.168.0.1.user2
../tmp/ .. /.tmp/157.100.186.42.user3
../tmp/ .. /.tmp/116.123.158.109.user2
../tmp/ .. /.tmp/116.123.158.109.user
../tmp/ .. /.tmp/192.168.10.200.user3
../tmp/ .. /.tmp/Remak.seen
../tmp/ .. /.tmp/autorun
../tmp/ .. /.tmp/cron.d
../tmp/ .. /.tmp/116.123.158.109.user3
../tmp/ .. /.tmp/LinkEvents
../tmp/ .. /.tmp/Comstock.seen
../tmp/ .. /.tmp/Ng.seen
../tmp/ .. /.tmp/192.168.10.200.user
../tmp/ .. /.tmp/m.lev
../tmp/ .. /.tmp/direktory.seen
../tmp/ .. /.tmp/magnnum.seen
../tmp/ .. /.tmp/192.168.10.200.user2
../tmp/ .. /.tmp/xh
../tmp/ .. /.tmp/start
../tmp/ .. /.tmp/Hester.seen
../tmp/ .. /.tmp/run
../tmp/ .. /.tmp/m.ses
../tmp/ .. /.tmp/m.set
../tmp/ .. /.tmp/mech.dir
../tmp/ .. /.tmp/m.pid
../tmp/ .. /.tmp/192.168.0.1.user
../tmp/ .. /.tmp/157.100.186.42.user2
../tmp/ .. /.tmp/update
../tmp/ .. /.tmp/Edward.seen
../tmp/ .. /.tmp/vhosts
../tmp/x
../tmp/bind.tar.gz
../tmp/bind.tar.gz.1
== 아래2 ==
[root@(none) tmp]# ls -al /var/tmp
합계 136
drwxr-xr-x 3 nobody 4294967295 4096 Mar 24 07:40 ..
drwxrwxrwt 3 root root 4096 Apr 12 13:10 .
drwxr-xr-x 22 root root 4096 Apr 12 13:50 ..
-rwxr--r-- 1 nobody 4294967295 28304 Mar 23 19:45 4877
-rwxr-xr-x 1 nobody 4294967295 23472 Oct 17 2004 8081
-rw-r--r-- 1 nobody 4294967295 17528 Aug 19 2005 bind.tar.gz
-rw-r--r-- 1 nobody 4294967295 17528 Aug 19 2005 bind.tar.gz.1
-rw-r--r-- 1 nobody 4294967295 759 Feb 3 2006 dc.pl
-rw-r--r-- 1 nobody 4294967295 538 Feb 3 2006 dc.zip
-rwxr-xr-x 1 nobody 4294967295 12781 Mar 23 19:45 x
-rw-r--r-- 1 nobody 4294967295 6582 Feb 10 20:02 x.c
dc.pl의 경우 D모 Connect
dc.pl의 경우 D모 Connect Back Backdoor라는 백도어 소프트웨어 파일입니다.
./tmp/ .. /.tmp/ 에 있는 파일들은 EnergyMech라는 IRC 봇 소프트웨어 관련 파일입니다.
그외의 파일들도 보이는것 같긴 하지만 거의다 IRC 봇 관련으로 추측되어집니다.
4877, 8081의 경우 서버 역할을 하는 프로그램이 아닐까 추측되어집니다.
RET ;My life :P
답변이 늦었군요.
결국 OS재설치 하고 해킹당하기 전 파일로 복원하는 작업으로 일단락 지었습니다.
이번해킹의
첫번째 문제는 취약점이 발생한 커널을 업데이트 하지 않은것이었으며,
두번째 문제는 오픈소스 게시판의 패치를 게을리 한점이었으며
세번째 문제는 웹에 대한 보안모듈이 하나도 없었다라는 점이었습니다.
이번일로 인해 보안의 중요함과 보안강화하는 방법등을 배우게 됬네요.
답변해주신분께 감사드립니다.
웹 보안모듈
웹에 대한 보안모듈이 하나도 없었던 문제를 어떻게 해결하셨는지 궁금합니다.
새로 사용하기로 한 모듈이 있으신가요?
그리고 SELinux같은것들이 도움이 되었는지도 궁금하네요.
mod_security 모듈을 설치하였습니다.
mod_security 모듈을 설치하였습니다.
웹서버에서 주고 받는 GET 과 POST를 필터링 해주는 모듈입니다.
저도 이번에 처음 접해본거라 자세한 내용은 아래 링크를^^;
http://youngrap.egloos.com/1238850
ps.SELinux 가 이번 해킹에 대해 어떻게 동작했는지는 잘 모르겠습니다만
이번해킹방법을 통해 짐작해볼때 SELinxer 유무와는 상관이 없었을걸로 생각되어 집니다.
이번해킹루트 ::
제로보드 파일 업로드 취약점을 이용하여
AddType application/x-httpd-php .php .php3 .php4 .htm .html .txt
라는 내용의 .htaccess 파일을 업로드 한후, 공격자가 원하는 소스를 txt파일로 업로드를 하는 방법으로, 업로드시 파일확장자 인증을 우회하는 방법이었습니다.
위와같은 방법을 이용하여 커널 취약점을 공격하여 root를 획득한것으로 보입니다.
저도 보안쪽에
저도 보안쪽에 관심이 있는데
그냥 보는것 만으로도 님이 얼마나 위급했으며
지금은 그나름의 경험을 쌓은것처럼 보이는군요.
위 글들을 보고 많은 걸 배우고 갑니다.
laziness, impatience, hubris
不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
laziness, impatience, hubris
不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
댓글 달기