nobody에서 root따기
현재 웹서버가 nobody로 운영되고 있다고 할때 다음과 같은 취약점을 점검하여 본다.
1. file upload 취약점
2. sql injection
3. 기타 입력 검사 함수
위 3가지 취약점 중 하나라도 만족한다면 nobody를 획득할 수 있는 가능성이 크다.
취약한 곳을 찾았다면, nobody shell을 따기 위해 아래 방법중 하나를 선택할수 있다.
1. bindshell
2. webshell
3. xterm
4. reverse telnet
그다음 아래와 같이 취약한 파일/데몬을 찾는다.
1. suid root 프로그램
2. root로 돌고 있는 데몬
3. 기타 설정 파일
그리고, 그에 맞는 exploit을 작성 또는 가져온다.
이제 root를 따기 위한 사전작업은 완료되었다.
여기서는 다음 두가지 방법중 하나를 택할 수 있다.
1. remote exploit
2. local exploit
전자의 경우 바로 공격자의 머신에서 exploit을 실행시키고 후자의 경우 로컬 exploit를 가져와서 웹서버에 업로드 한다.
그리고 exploit을 실행시키면 root가 떨어지는 것을 볼수 있을 것이다.(굳이 대화형쉘이 필요하지 않으면 wrapper를 활용하라.)
----------------------------------------------------------------------------------------------------------------
대책
웹서버가 nobody로 동작하고 있다고 해서 안심해서는 안된다. nobody를 획득할 수 있는 수많은 방법이 있으며, 대부분이 웹어플리케이션의 취약점으로 인한 문제이다. 업로드 함수 구현시 허용가능한 파일 확장자를 명시함으로써 업로드를 제한하고, open(), fopen() 등과 같은 파일I/O 함수를 사용할때 filename을 regexp등으로 항상 체크하라. 그리고 sql-query 부분을 항상 체크하라.
이까지만 선행한다면, 공격자가 nobody를 이용하여 임의의 명령을 실행시키는 것을 방지할 수 잇을 것이다.
덧붙여, 공격자가 nobody권한을 획득하였을 경우에 대비하여 chroot를 설정하여 중요한 파일에 접근하지 못하게 하라.
그전에 취약한 데몬을 모두 패치하고, tcp wrapper 등으로 허용가능한 호스트만 접속할 수 있게 설정하라.
이정도만 한다면 웹서버는 공격자로부터 안전하게 운영될 수 있을것이다.
Written by scriptx (kangwoohyuk@naver.com)
그전에 취약한
그전에 취약한 데몬을 모두 패치하고, tcp wrapper 등으로 허용가능한 호스트만 접속할 수 있게 설정하라.
이부분 말인데... 요즘 tcp wrapper 를 쓰는 데몬이 있나요?
-------------------------------------------------------------------------------------------------------
Life ... http://iz4u.net/blog/
------------------------------------------------------------------------------------------------
Life is in 다즐링
아직도 IDC 가보면
아직도 IDC 가보면 상당수의 서버가 레드햇 7.0, 7.1, 7.2, 7.3 ... 에서 up2date 한번 안 돌리고 돌아가는 걸 볼 수 있습니다. ... 충분히 가능하죠.
심지어 모사 ... 네임서버는 레드햇 4.5 인가 4.3 에서 돌아갑니다. (저희회사라고 말 못하겠습니다...)
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
http://akpil.egloos.com
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
제말은.. telnet 은
제말은..
telnet 은 요즘 사용하지 않고 .. ssh 를 사용하며
보통 apache,mysql 을 사용하는데 기본적으론 tcp wrapper 가 적용되지 않는 다는 말이죠.
레드햇 기본값은 그렇죠.
-------------------------------------------------------------------------------------------------------
Life ... http://iz4u.net/blog/
------------------------------------------------------------------------------------------------
Life is in 다즐링
어떤 얘긴지는 잘 압니다.
그런데... 그렇지 않은 서버도 많다는 거죠 ... .. 쩝..
telnet 여전히 쓰는 곳 많고 .... tcp wrapper 쓰라는 구시대의 책을 족보 모시듯이 보면서 레드햇 7.3 으로 깔아주는 곳이 아직도 많습니다. 그것도 '정품'이라면서 .. 온갖 티는 다 내면서요...
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
http://akpil.egloos.com
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
물론 그래서
물론 그래서 알바비가 생기는것이죠 ( 씽긋 )
-------------------------------------------------------------------------------------------------------
Life ... http://iz4u.net/blog/
------------------------------------------------------------------------------------------------
Life is in 다즐링
역시 ...
알바 재벌 ... 다즐 ...
... 한턱 내욧 !
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
http://akpil.egloos.com
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
하긴 구 리눅스
하긴 구 리눅스 버전이 문제이긴 합니다.
업그레이드 하자니 설치된 어플 때문에 어렵고
그대로 두자니 공격대상이 되고... 골칫거리입니다.
서버세팅 만으로는 한계가 있는거 같아서, 저는 mod_security를 적용하고 있습니다.
일정시간 모니터링 해서 오탐부분만 줄여준다면 좋은 대안이 될 수 있습니다.
근데 모든 웹서버에 세팅할려니 번거롭고, 일괄 적용도 만만한 작업이 아닙니다.
그래서 앞단의 브리지 방화벽에서 Reverse Proxy로의 구현을 생각중입니다만..
구현 할 시간이 부족하다는게 ......문제입니다. =_=
__________________________________________________
모두 다 Feisty로 바꾸었습니다.
__________________________________________________
모두 다 Hardy로 업그레이드 하고 있습니다.
댓글 달기