해킹 의심, 루트 권한으로 awk가 혼자 돌고 있었을때....

galien의 이미지

오랜만에 젠투머신을 로긴했는데 이상하게도
일반사용자(galien) 로긴이 안되더군요.
그래서 루트로 로긴해서 패스워드를 다시 바꾸었습니다.

그리고 다시 일반사용자로 로긴했습니다.

그런데 로긴하자마자 떠 있는 것은(xfce4위에) 터미널 두개 뿐인데

씨피유사용이 꽉 차 보이더군요. top을 해 보니 루트 권한으로
awk가 돌고 있었습니다.
다음은 ps -ef를 해 본 결과입니다.

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 14:35 ?        00:00:00 init [3]  
root         2     1  0 14:35 ?        00:00:00 [ksoftirqd/0]
root         3     1  0 14:35 ?        00:00:00 [events/0]
root         4     1  0 14:35 ?        00:00:00 [khelper]
root         9     1  0 14:35 ?        00:00:00 [kthread]
root        18     9  0 14:35 ?        00:00:00 [kacpid]
root        89     9  0 14:35 ?        00:00:00 [kblockd/0]
root       149     9  0 14:35 ?        00:00:00 [pdflush]
root       150     9  0 14:35 ?        00:00:00 [pdflush]
root       152     9  0 14:35 ?        00:00:00 [aio/0]
root       151     1  0 14:35 ?        00:00:00 [kswapd0]
root       739     1  0 14:35 ?        00:00:00 [kseriod]
root       781     9  0 14:35 ?        00:00:00 [ata/0]
root       783     1  0 14:35 ?        00:00:00 [scsi_eh_0]
root       784     1  0 14:35 ?        00:00:00 [scsi_eh_1]
root       797     9  0 14:35 ?        00:00:00 [reiserfs/0]
root       853     1  0 14:35 ?        00:00:00 udevd
root      4665     1  0 14:35 ?        00:00:00 [kjournald]
root      4703     1  0 14:35 ?        00:00:00 [khubd]
root      5635     1  0 14:35 ?        00:00:00 /usr/sbin/syslog-ng
root      6107     1  0 14:35 ?        00:00:00 /usr/sbin/cron
root      6173     1  0 14:35 tty1     00:00:00 /sbin/agetty 38400 tty1 linux
root      6182     1  0 14:35 tty2     00:00:00 /sbin/agetty 38400 tty2 linux
root      6183     1  0 14:35 tty3     00:00:00 /sbin/agetty 38400 tty3 linux
root      6184     1  0 14:35 tty4     00:00:00 /sbin/agetty 38400 tty4 linux
root      6185     1  0 14:35 tty5     00:00:00 /sbin/agetty 38400 tty5 linux
root      6186     1  0 14:35 tty6     00:00:00 /sbin/agetty 38400 tty6 linux
root      6242     1  0 14:35 ?        00:00:00 /usr/X11R6/bin/xdm
root      6245  6242  1 14:35 ?        00:00:03 /usr/bin/X -auth /etc/X11/xdm/au
root      6377  6242  0 14:39 ?        00:00:00 -:0               
galien    6387  6377  0 14:39 ?        00:00:00 /bin/bash /etc/X11/Sessions/xfce
galien    6427  6387  0 14:39 ?        00:00:00 /bin/sh /etc/xdg/xfce4/xinitrc
galien    6435     1  0 14:39 ?        00:00:00 /usr/bin/ssh-agent -s
galien    6438  6427  0 14:39 ?        00:00:00 nabi
galien    6442  6427  0 14:39 ?        00:00:00 /usr/bin/xfce4-session
galien    6444     1  0 14:39 ?        00:00:00 xfce-mcs-manager
galien    6447     1  0 14:39 ?        00:00:00 xfwm4 --sm-client-id 102d758fa30
galien    6449     1  0 14:39 ?        00:00:00 xftaskbar4 --sm-client-id 102d75
galien    6451     1  0 14:39 ?        00:00:00 xfdesktop --sm-client-id 102d758
galien    6453     1  0 14:39 ?        00:00:00 xfce4-panel --sm-client-id 117f0
galien    6455     1  0 14:39 ?        00:00:00 xterm -xtsessionID 117f000001000
galien    6457     1  0 14:39 ?        00:00:00 xterm -xtsessionID 117f000001000
galien    6461  6455  0 14:39 pts/0    00:00:00 -bash
galien    6467  6457  0 14:39 pts/1    00:00:00 -bash
root      6490  6107  0 14:40 ?        00:00:00 /usr/sbin/cron
root      6491  6490  0 14:40 ?        00:00:00 /bin/bash -c test -x /usr/sbin/r
root      6492  6491  0 14:40 ?        00:00:00 /bin/bash /usr/sbin/run-crons
root      6504  6492  0 14:40 ?        00:00:00 /bin/sh /etc/cron.weekly/makewha
root      6505  6504  0 14:40 ?        00:00:00 /bin/sh /usr/sbin/makewhatis
galien    8564  6461  0 14:40 pts/0    00:00:00 top
root     13688  6505  0 14:40 ?        00:00:00 find /usr/share/man/man9/. -name
root     13689  6505  0 14:40 ?        00:00:00 /bin/awk ???    function readlin
galien   13690  6467  0 14:40 pts/1    00:00:00 ps -ef

라우터를 쓰고 있는 터라 해킹 염려를 해 본적이 없는데
1) 해킹여부를 확신하려면 어떤 것들을 확인해 봐야 하는지.
2) 해킹되었다면 다시 젠투를 처음부터 까는 방법외에 =_= 무엇이 있는지 조언 부탁드립니다.

물론 1), 2)의 대답은 다른 게시물들을 읽어봄으로써 조금 알겠지만,
awk가 혼자 돌고 있는 상황이 라우터 뒤에 숨어있는 컴을
해킹당한 것으로 확신시킬 수 없어서 조언을 부탁드립니다.

멀티부팅으로 동 머신 내에서 윈도우를 쓸 때(존알람 파이어월 사용)
잠시 라우터를 삐고 직접 연결한 적은 있었습니다만...

잘 부탁드립니다.

추신 : awk 프로세스는 ps로 확인하고 2~3초 있다가 사라졌습니다. CPU사용도 정상화 되었구요.

익명 사용자의 이미지

crond 이 돌고 있네요...
awk는 여러 텍스트 기반 통계 프로그램에게 호출되는 경우가 많죠...
가장 의문이 드는 것은 바로 위에 있는 find문이네요.

익명 사용자의 이미지

slocate나 makewhatis, 혹은 cp명령과 같이
하드디스크 억세스가 심하게 발생하는 명령과 같은 경우
시스템 부하로, 경우에 따라서
잠시 로그온 실행 안돼는 경우가 있습니다.

이럴 경우, 콘솔창을 열어도,
프롬프트가 안뜨지요...

Mins의 이미지

김상욱 wrote:

root 6490 6107 0 14:40 ? 00:00:00 /usr/sbin/cron
root 6491 6490 0 14:40 ? 00:00:00 /bin/bash -c test -x /usr/sbin/r
root 6492 6491 0 14:40 ? 00:00:00 /bin/bash /usr/sbin/run-crons
root 6504 6492 0 14:40 ? 00:00:00 /bin/sh /etc/cron.weekly/makewha
root 6505 6504 0 14:40 ? 00:00:00 /bin/sh /usr/sbin/makewhatis
galien 8564 6461 0 14:40 pts/0 00:00:00 top
root 13688 6505 0 14:40 ? 00:00:00 find /usr/share/man/man9/. -name
root 13689 6505 0 14:40 ? 00:00:00 /bin/awk ??? function readlin
galien 13690 6467 0 14:40 pts/1 00:00:00 ps -ef
[/code]

PPID 를 통해 awk 가 불린곳을 집어보면, /etc/cron.weekly/makewhatis (뒤가 잘렸지만, 대충 생각해보면..) 에서 실행이 된거 같습니다.

해킹이 의심된다면, chkrootkit 과 같은것을 이용하여, 백도어가 설치되어있는지 살펴보세요.

codebank의 이미지

Quote:
/etc/cron.weekly

일주일에 한번 실행되는 cron때문에 발생한일 같습니다.
보통 해킹을 의심된다면 chkrootkit도 좋은 대안이죠.
또한 전통적인 방법으로는 root의 history를 점검하거나 /var/log/message를
점검해보거나 lastlog로 사용자가 언제 login을 했는지를 점검하는방법 그리고
/etc/passwd 파일에 보지 못했던 사용자나 숨겨진 디렉토리를 기본으로하는
사용자(숨겨진 디렉토리는 /home/.user 형태...)가 있는지를 찾아보는 방법
등이 있겠습니다.
그리고 ftp의 log가 있다면 어떤 파일이 송수신 되었는지도 찾아보는게 좋겠죠.

중간에 라우터가 있었다면 아마 cron.weekly가 가장 의심되는 프로세서중의
하나네요. :)

------------------------------
좋은 하루 되세요.

galien의 이미지

답변 감사합니다.

안 그래도 저 증상 이후에 chkrootkit을 이머지 해서 돌려봤는데 이상 없다고
나와서 안심하고 있습니다.

그런데 미리 이머지 해 놓지 않고 해킹(당했다고 가정했을 경우)당한 후에
체크해도 잡아내는 건가요?

chkrootkit은 의심되는 프로그램들을 그 즉시 다시 소스부터 다운받아서 컴파일 한 후에 로컬에 저장되어 있는 프로그램과 비교하나요?

음 맨 페이지를 봐야 겠군요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.