레이블이 주요정보통신기반시설인 게시물을 표시합니다. 모든 게시물 표시
레이블이 주요정보통신기반시설인 게시물을 표시합니다. 모든 게시물 표시

2017. 5. 18.

[WEB] 세션 고정 취약점

취약점 개요
: 사용자 로그인 시 항상 일정하게 고정된 세션 ID 값을 사용하는 취약점으로 로그인 시 세션마다 새로운 세션ID가 발행되지 않는다면 세션 ID를 도용한 비인가자의 접근 및 권한 우회가 가능하므로 세션 ID의 타임아웃 기능을 설정하고 세션 ID의 고정 사용을 방지하도록 설정함.


판단기준
: 양호 - 로그인별 세션 ID가 발행되는 경우
: 취약 - 로그인 세션 ID가 고정 사용되는 경우

보안설정방법
: 인증 기능에서 사용자가 인증을 받은 후에 새로운 세션 ID를 할당 받도록 발행함

모의해킹 시나리오 (부정확함, 수정 필요)
1. 해커는 웹(Target)서버에 접근하여 정상 세션을 발급받는다.
2. 해커는 희생자(admin)에게 해커가 받은 정상 세션을 강제로 Set-Cookie하고 웹으로 리다이렉트 하는 스크립트를 메일로 전송한다.
3. 희생자(admin)는 해커가 보낸 메일을 확인하고 스크립트를 실행한다.
4. 희생자(admin)는 웹(target)에 접근할때 해커와 같은 세션으로 접근하게 된다.
5. 희생자(admin)는 정상적으로 관리자 페이지에 로그인한다.
6. 관리자 페이지에 로그인(인증절차)을 하여도 세션이 로그인 전후로 변하지 않는다.
7. 해커와 희생자는 동일한 세션을 사용하기 때문에 해커는 새로고침(F5)을 할때 관리자 권한을 가져온다.

조치 방안
- 로그인 전후로 세션을 재 발급한다.

[PHP]

<?php
session_start();
$old_sessionid = session_id();
session_regenerate_id();
$new_sessionid = session_id();

echo "Old Session : $old_sessionid <br/>";
echo "New Session : $new_sessionid <br/>";

print_r($_SESSION);

?>

- IP를 체크하여 멀티세션을 막는다.

참고 URL
- http://reiphiel.tistory.com/entry/session-fixation-vulnerability




Continue reading

2017. 2. 12.

[UNIX 서버] 1.3 - 계정 잠금 임계값 설정

가이드와 상이한 점 : 가이드에서는 HP-UX 경우, /tcb/files/auth/system/default 파일에서 u_maxtries#5 로 설정하라고 되어 있다.

그러나,
실제 경로는 /usr/newconfig/tcb/files/auth/system/default 이다.

게다가 기억해야 할 것은, HP-UX 서버에 계정 잠금 정책 설정을 위해서는 서버가 trusted mode로 동작하고 있어야 한다.

trusted mode 여부를 확인하는 방법은 다음과 같다.

/usr/lbin 디렉토리로 이동 -> #./getprdef -r -> (trust 모드가 아니라면) System is not trusted 으로 출력됨

그러면 trusted mode로 적용하면 어떤 장점이 있는가?
해당 모드를 적용하면 다음과 같은 system security policies 가 적용된다.

  • passwd format/aging, general user account, terminal security security event, system call, user 에 대한 audit

Continue reading

2016. 12. 29.

2.9. SUID, SGID, Sticky bit 설정파일 점검

*SUID(Set User-ID)와 *SGID(Set Group-ID)가 설정된 파일은(특히, root 소유의 파일인
경우) 특정 명령어를 실행하여 root 권한 획득 및 정상서비스 장애를 발생시킬 수
있으며, 로컬 공격에 많이 이용되므로 보안상 철저한 관리가 필요함.
root 소유의 SUID 파일의 경우에는 꼭 필요한 파일을 제외하고는 SUID, SGID 속성을
제거해주고, 잘못 설정되어 보안 위협이 되고 있는지 주기적인 진단 및 관리가 요구됨.
*SUID(Set User-ID): 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자의
권한을 얻게 됨.
*SGID(Set Group-ID): 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유 그룹의 권한을 얻게 됨.


위 명령어로 검색된 파일 중에 설정이 필요없는 파일은 위와 같다. 

/usr/bin/newgrp (guid)
- 새로운 그룹으로 로그인하는 명령어, 잘 사용하지 않음

/usr/bin/at (suid)
- at은 cron과 같이 반복적인 작업을 하고자 할때 사용, at 자체가 cron에 비해 보안 결함이 있고 잘 사용하지 않음

/usr/sbin/traceroute (suid)
- traceroute 는 네트워크 경로를 추적하는 명령어, 일반유저에게 telnet 이나 ssh 를 open 하지 않으면 권한을 줄 필요가 없다.

/sbin/unix_chkpwd (suid)
- 로컬 공격자는 다른 로컬 사용자들의 유효한 패스워드들을 얻기 위한 브루트 포스 공격들을 위행하기 위해 사용할 수 있다.

Continue reading

2016. 12. 5.

[47] NFS 접근통제

취약점 개요
: NFS 사용 시 허가된 사용자만 접속할 수 있도록 접근제한 설정을 하여야 함. 접근제한 설정이 적절하게 이루어지지 않을 경우 비인가자의 root권한 획득이 가능하며, 해당 공유 시스템에 원격으로 마운트하여 중요 파일을 변조하거나 유출할 위험이 있음.

** 공유폴더의 사용권한 관리
폴더나 볼륨과 같은 공유 리소스에 대한 사용 권한은 해당 리소스의 로컬 NTFS 권한 및 공유 리소스에 액세스하는 데 사용하는 프로토콜에 의해 결정된다.

    • SMB(서버 메시지 블록) 프로토콜 : SMB 기반 액세스 제어(Windows 기반 파일 시스템용)는 개별 사용자 및 그룹에 사용 권한을 부여하여 구현된다.
    • NFS(네트워크 파일 시스템) 프로토콜 : NFS 기반 액세스 제어(UNIX 기반 파일 시스템용)는 네트워크 이름을 사용해서 특정 클라이언트 컴퓨터 및 그룹에 사용 권한을 부여하여 구현된다.


판단 기준 :
양호 - NFS 서비스를 사용하지 않거나, 사용 시 everyone 공유를 제한한 경우
취약 - NFS 서비스를 사용하고 있고, everyone 공유를 제한하지 않는 경우

조치 방법
사용하지 않는다면 NFS 서비스 중지, 사용할 경우 everyone 공유 제한



NFS 데몬 구동 여부 확인 및 NFS 데몬 중지

[유닉스의 경우]
   ps -ef | grep nfsd
   kill -9 pid

[솔라리스 5.10 이상]
   svcs -a | grep -i nfs
   svcadm disable svc:/network/nfs/server:default


NFS 서비스가 사용되고 있을때, everyone 공유가 제한되어 있는지 확인

[유닉스의 경우]
1) everyone 으로 시스템이 마운트 되어 있는지 확인
# showmount -e hostname

2) /etc/export 파일에서 접근 통제 설정 여부 확인

#cat /etc/exports
- 취약한 설정 예 : var/www/img *(ro,all_squash)
- 양호한 설정 예 : /data 172.27.0.0/16(rw,no_root_squash)

3) everyone 마운트 제거
# umount [파일시스템명]

[솔라리스의 경우]

#cat /etc/dfs/dfstab
취약한 설정 예 : share -F nfs -o rw /export/home/test
양호한 설정 예 : share -F nfs -o rw=client1:client2 /export/home/test



Continue reading

2016. 11. 30.

[63] SAM 파일 접근 통제 설정

[63] SAM 파일 접근 통제 설정

명령어 : cacls C:\Windows\system32\config\SAM

결과 : C:\Windows\system32\config\SAM NT AUTHORITY\SYSTEM:F
                               BUILTIN\Administrators:F

해석 :     N    없음/ R   읽기/ W  쓰기 / C  바꾸기(쓰기) / F  모든 권한
-> SAM 파일의 권한은 SYSTEM 과 Administroator  계정이 연결되어 있는데 모든 권한(F)가 부여되어 있다.

Continue reading

Popular Posts

Recent Posts

Powered by Blogger.