'2010/04'에 해당되는 글 15건

  1. 2010/04/21 시스템 사용 암호 도구--winlogonhack
  2. 2010/04/20 Windows 대화형 로그온 (Interactive Logon) 작동 과정
  3. 2010/04/19 국내 공개 웹 게시판(제로보드XE) 보안 업데이트 권고
2010/04/21 09:30

시스템 사용 암호 도구--winlogonhack


一、远程终端密码泄露分析

1.最新远程终端技术APP
对于大型企业来说,一般都部署有远程终端,微软最新的服务器操作系统Windows 2008 Server中更是重点打造远程终端。终端服务器远程APP是Windows Server 2008中新的远程应用演示方法。在远程连接的一些参数上进行了调整,增加了一些新的功能,据说性能也有较大提高!

2.远程终端密码泄露分析
在大型网络中,由于网络环境复杂,因此服务器之间往往通过远程终端来维护和管理,这种管理在方向不太固定,多是发散。有的可能是通过一台主机登录多台主机,也有的可能是通过多台主机来登录同一台主机,也可能是混乱交叉登录,黑客在入侵网络某一台主机后,肯定会想办法收集网络内部或者跟外部独立主机之间的远程终端登录用户名称和密码。收集方法不外乎三种:

(1)使用GetHashes、Pwdump等工具获取系统的Hash密码值,然后通过LC5以及彩虹表来进行破解,破解成功后得到系统密码,这些密码极有可能是远程终端的密码。

(2)在被控制计算机上安装键盘记录,通过键盘记录来获取用户在登录3389远程终端过程所输入的用户名和密码。这种方法有一定的限制,键盘记录在远程终端窗口最大化时有可能无法记录远程终端登录密码。

(3)使用WinlogonHacK工具软件截取远程登录时所输入的正确密码。这也是本文要重点介绍的部分。当然除了以上三种外,还有一些其它的泄露途径。


二、WinlogonHack工具软件截取密码原理

1.Gina.dll与Msgina.dll
Gina.dll在NT/2000中交互式的登陆支持是由WinLogon调用Gina.dll实现的,Gina.dll提供了一个交互式的界面为用户登陆提供认证请求。WinLogon会和Gina.dll进行交互,缺省是msgina.DLL(在System32目录下)。微软同时也为我们提供了接口,我们可以自己编写Gina.dll来代替Msgina.dll。

不知道什么原因,微软的Gina.dll在Windows XP以及后续版本中都不再出现,原来的Gina.dll改为Msgina.dll(加了ms表示是微软的,嘿嘿!)。Msgina.dll在WindowsXP系统中默认大小为967,680 字节(945K),在Windows 2003中其大小为1,180,672 字节(1153K),如果不是这个大小,估计就有问题了。

2.Msgina.dll文件被损坏和修改将导致严重错误
在DLL知识库(http://www.dofile.com/dlllibrary/msgina/)中是这样描述的:msgina.dll是Windows登陆认证策略相关模块,该模块用于完成所有用户登陆和验证功能,如果系统中的这个文件被修改或者破坏,将导致系统无法使用3389进行登录,如图1所示,这个系统的Msgina.dll文件就被破坏了,从而导致用户无法远程登录3389终端服务器。

图1 Msgina.dll被损坏或者被修改导致无法远程登录远程终端

3.WinlogonHack截取密码原理
WinlogonHack通过挂钩系统中的msgina.dll的WlxLoggedOutSAS函数,记录登录账户密码!WinLogon初始化时会创建3个桌面:

(1)Winlogon桌面:主要显示Windows 安全等界面,如你按下“CTRL+ALT+DEL”快捷看所出现的登陆的界面等。
(2)应用程序桌面:我们平时见到的那个有我的电脑的界面。
(3)屏幕保护桌面:屏幕保护显示界面。

在默认情况下,Gina.dll或者Msgina.dll显示登陆对话框,用户输入用户名及密码。所以要获得用户名和密码,则可以写一个新的Gina.DLL或者Msgina.dll,其中提供接口调用msgina.dll的函数是WlxLoggedOutSAS。启动就用winlogon通知包,当有3389,连上服务器时。新创建的 winlogon.exe会在登录前加载,注册了 “Startup”的dll,Hook了函数,登录成功后,记录密码到 boot.dat 文件,并取消Hook。退出3389后,dll文件即可删除。在实现上只要msgina.dll中WlxLoggedOutSAS函数的前五个字节:
mov edi,edi
push ebp
mov ebp,esp
关于WinlogonHack工具如何具体实现3389远程终端密码的截取,请查看Winlogonhack的源代码以及程序(http://www.antian365.com/bbs/forumdisplay.php?fid=180)。


三、使用WinlogonHack获取密码实例

在WinlogonHack之前有一个Gina木马主要用来截取Windows 2000下的密码,WinlogonHack主要用于截取Windows XP以及Windows 2003 Server。

1.执行install.bat安装脚本
一种方法是将WinlogonHack的安装程序文件Hookmsgina.dll、install.bat、On.reg以及ReadLog.bat复制到一个相同文件夹下面,然后在Dos提示符或者GUI界面写直接运行install.bat即可。执行完毕后不需要重启,当有3389登上时,自动加载DLL,并且记录登录密码!保存在系统system32目录的boot.dat文件中,另外一种方法是将所有文件都放在同一个文件夹中,然后执行install命令即可,如图2所示,表示安装正确的一些提示。

图2 远程安装WinlogonHack软件截取3389登录密码

2.查看密码记录
可以直接打开boot.dat文件查看,也可以运行“ReadLog.bat”脚本移动密码文件到当前目录查中查看。在本例中的操作系统是Windows 2003 Server,直接通过Radmin的telnet,然后先执行“dir boot.dat /a”命令,查看是否有人远程进行登录,如图3所示,boot.dat大小为5762字节,有货!使用“type boot.dat”可以看到记录的登录时间、用户、域名、密码以及旧密码。出现两个密码主要是用于记录用户更改了密码的情况下。

图3 查看密码记录boot.dat文件

3.卸载WinlogonHack
执行“Uninstall.bat”即可自动卸载该程序,如果“%systemroot%\system32\wminotify.dll”文件未能删除,可以重启后删除!


四、攻击与防范方法探讨

1.攻击方法探讨
(1)定制化开发
WinlogonHack代码是开源的,因此入侵者可以定制它,即在“lstrcat( LogPath , "\\boot.dat");”代码中将boot.dat换成其它一个文件,执行Winlogonhack后,一般人员很难发觉。入侵者还可以在此基础上增加一个邮件发送功能,将记录下来的3389远程终端用户名和密码发送到指定的邮箱,笔者在安全加固过程中就曾经碰到过具有这种功能的3389密码截取木马软件。

(2)对WinlogonHack软件做免杀处理
由于WinlogonHack工具软件在网络入侵中扮演了一个重要的辅助角色,因此一些厉害的杀毒软件会自动查杀wminotify.dll文件,如图4所示,我在做试验时,我的avast!杀毒软件就能查出来,作为病毒处理。因此可以通过加花指令、修改特征码等方法修改wminotify.dll文件,使其能够绕过杀毒软件。

图4 杀毒软件会自动查杀wminotify.dll文件

(3)WinlogonHack在攻击中应用
WinlogonHack工具软件主要用于截取3389登录密码,因此在被入侵计算机上运行mstsc后,如果发现在mstsc的计算机地址栏目中出现有多个登录IP地址列表,如图5所示,那么在该计算机上就有安装WinlogonHack软件的必要,通过它来记录在服务器上管理员所登录的3389用户名和密码。

图5 获取3389登录地址列表

2.防范方法探讨
(1)在系统目录查找“wminotify.dll”文件,如果发现有这个文件,则说明系统中一定安装了Winlogonhack工具,可以通过登录一个3389终端来测试,系统目录下是否存在boot.dat文件,如果存在,则可以尝试使用“Uninstall.bat”批处理来卸载它,如果还不能卸载,可以重启后再次卸载。

(2)直接到注册表的键值“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\wminotify”下进行查看,如果存在,则删除即可。

(3)对于定制的WinlogonHack比较难于根除,一个好的办法就是在系统安全状态下做一次文件名称列表备份,以后每次检测系统是通过比较系统目前状态下的文件列表的异同来查看。

(4)如果使用3389远程终端登录多台服务器进行管理,最好在管理完毕后,及时清除3389登录地址列表。

(5)定期杀毒,杀毒软件在一定程度上面能够防范一些已知的病毒,因此勤杀毒,勤看日志,在确认系统被入侵后,一定要仔细彻底的做一边系统的安全检测。


출처 : http://www.sai52.com

저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License

Trackback 0 Comment 0
2010/04/20 19:35

Windows 대화형 로그온 (Interactive Logon) 작동 과정


Windows 에 로그인하는 경우 13개의 로그온 유형에 따라서 각 인증패키지를 통해서 로그온을 하게 되는데요., 이것은 보안 이벤트로그에 남게 됩니다. 


그럼 어떤 종류가 있는지 살펴 볼까요?...

0 : 시스템 계정만이 사용
2 - Interactive : 로컬로그온이나 터미널, 원격쉘 과 같은 로그온 형식
3 - Network : 기본인증
4 - Batch : 예약작업같은 배치실행시 사용되는 계정의 로그온
5 - Service : 서비스 실행 계정
6 - Proxy : 프록시 타입
7 - Unlock : GINA DLLs 로그온을 대시하는 형식
8 - NetworkCleartext : FTP나, IIS 기본인증과 같은 형식, Windows 2000 이후 부터 지원
9 - NewCredentials :Windows 2000 이후 부터 지원
10 - RemoteInteractive : 터미널 서버 또는 그와 같은 형식
11 - CachedInteractive : 네트워크 연결이 아닌 캐시된 자격증명
12 - CachedRemoteInteractive : RemoteInteractive 와 같음
13 - CachedUnlock : 워크스테이션 로그온

이를테면,. FTP 로 로그인 한 경우에는 보안 이벤트로그에 로그온 유형이 8 로 기록됩니다.

다음 vbscript 는 현재 로그온 되어 있는 로그온 ID 를 출력해 줍니다. 다만, 로그온 ID 형식으로 출력해 주므로, 해당 ID에 매칭되는 계정명을 알아 낼려면 win32_LoggedOnUser 와 조인을 해야 합니다.

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

arrComputers = Array("SERVERINFO")
For Each strComputer In arrComputers
   WScript.Echo
   WScript.Echo "=========================================="
   WScript.Echo "Computer: " & strComputer
   WScript.Echo "=========================================="

   Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogonSession", "WQL", _
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)

   For Each objItem In colItems
      WScript.Echo "AuthenticationPackage: " & objItem.AuthenticationPackage
      WScript.Echo "Caption: " & objItem.Caption
      WScript.Echo "Description: " & objItem.Description
      WScript.Echo "InstallDate: " & WMIDateStringToDate(objItem.InstallDate)
      WScript.Echo "LogonId: " & objItem.LogonId
      WScript.Echo "LogonType: " & objItem.LogonType
      WScript.Echo "Name: " & objItem.Name
      WScript.Echo "StartTime: " & WMIDateStringToDate(objItem.StartTime)
      WScript.Echo "Status: " & objItem.Status
      WScript.Echo
   Next
Next

Function WMIDateStringToDate(dtmDate)
WScript.Echo dtm:
 WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
 Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
 & " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function


Windows 에 로그온하는 형식은 여러가지가 있습니다.
그중에 일반적으로 CTRL+ALT+DEL 로그온하는 방식을 대화형 로그온 이라고 하는데요.

TechNet 문서중에 로컬 로그온과 도메인 로그온 형식에 대해서 잘 설명해 놓은 문서가 있네요.^^

How Interactive Logon Works
http://technet.microsoft.com/en-us/library/cc780332.aspx


<로컬 로그온>



<도메인 로그온>



출처 : www.wssplex.net
저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License

Trackback 0 Comment 0
2010/04/19 23:37

국내 공개 웹 게시판(제로보드XE) 보안 업데이트 권고


□ 개요
  o 최근 국내 PHP 기반의 공개 웹 게시판 제로보드 XE에 대한 XSS 및 CSRF 관련 보안 취약점이
     발견됨[1].
  o 해당 취약점을 이용한 홈페이지 변조 및 원격 실행 위협이 발생함에 따라, 사용자의 주의 및
     조속한 패치가 필요함

□ 영향
  o 원격의 사용자가 제로보드 XE 관리자 권한 획득가능
  o 획득한 관리자 권한을 이용하여 시스템 내의 임의의 파일 읽기, PHP 명령실행 등이 가능하며,
     이를 이용한 웹 변조, 원격 실행 등이 발생할 수 있음

□ 해당시스템
  o 제로보드 XE 1.4.0.10 이하 버전

□ 해결방안
  o 업데이트된 파일만 적용하는 경우,
    - 공식사이트(www.xpressengine.com)에 취약점이 패치된 xe.1.4.0.11.changed.tgz 를 다운로드
       받아 압축을 해제하여 config.inc.php 파일과 func.inc.php 파일을 운영중인 XE의
      “./config” 디렉토리에 설치
    - communication.controller.php 파일은 운영 중인 XE의 “./modules/communication”
       디렉토리에 설치

  o 업데이트가 적용된 상위 버젼으로 업그레이드하는 경우,
    - 공식사이트(www.xpressengine.com)에 취약점이 패치된 xe.1.4.0.11.zip 파일을 다운로드
       받아 기존에 XE를 운영중인 디렉토리에 설치
     ※ 처음 사용하는 사용자일 경우, “Xpress Engine 사용자 안내서”[3]를 참고하여 설치할
         것을 권고

□ 사용자 주의사항
   o 사용자들은 제로보드 XE의 공식 공지사항[2]을 주기적으로 확인하여 신규 취약점에 대한
      정보를 숙지하고 이에 따른 조치를 취해야함

□ 용어 정리
   o 제로보드(ZeroBoard) XE: PHP 언어로 작성된 홈페이지용 게시판 소프트웨어 또는 프레임워크
   o XSS(Cross Site Scripting) 취약점 : 웹사이트 관리자가 아닌 이가 웹 페이지에 클라이언트
      사이드 스크립트를 삽입하여 다른 사용자가 이를 실행하게끔 허용하는 취약점
   o CSRF(Cross-Site Request Forgery) 취약점 : 취약한 웹페이지를 이용하여 권한을 도용하는
      가짜 요청문을 클라이언트의 웹브라우저상에서 실행되도록 유도하는 취약점
   o PHP: 동적인 웹사이트를 위한 서버 측 스크립트 언어

□ 기타 문의사항
   o 한국인터넷진흥원 인터넷침해대응센터: 국번없이 118

[참고사이트]
      [1] http://www.xpressengine.com/18838863
      [2] http://www.xpressengine.com/notice
      [3] http://xe.xpressengine.net/wiki/18241550

저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License

Trackback 0 Comment 0