捐血一袋救人一命

江蘇拙政園

江蘇 拙政園

全家福

日本 和歌山城

賞楓之旅

千燈 夕照

水鄉千燈

蘆洲 微風運河

破曉時分

2011年6月27日 星期一

將 Exchange 2003 Server SMTP Log 存入資料庫

在Exchange 2003 Server 的 C:\WINDOWS\system32\inetsrv\ 目錄下,有個 logtemp.sql

在SQL Server 上執行此 SQL Script,就可以建立 ODBC Log Table

然後在 Exchange 主機上設定 ODBC,指定資料庫

再來執行Exchange 系統管理員,指定資料庫伺服器、資料庫、資料表

就可以把 Log 存到資料庫去…

 

use EXCHANGE
select
    rtrim(ClientHost) as SenderIP,
    rtrim(username) as SenderPC,
    LogTime,
    rtrim(operation) as CMD,
    rtrim(parameters) as Parameter
from SMTPLOG
where
    username <> 'OutboundConnectionCommand'        -- Exchange 連接目的郵件伺服器指令
    and username <> 'OutboundConnectionResponse'        -- Exchange 連接目的郵件伺服器狀態
--group by ClientHost, username, disabled
order by ClientHost

存到資料庫之後,要查詢就非常方便了…

將 Exchange POP3 驗證失敗事件記錄存成 .csv 檔案

因為Windows 2003 Server的事件檢事器,內建的匯出清單功能,就是真的只能匯出清單,沒有詳細的 Log Message,不足以判斷是否為 POP3 Auth Attack

所以自己寫一支 Script ,方便將 Exchange 2003 Server 的 POP3 Log 從 Windows 事件檢視器中 Dump 成 .csv 檔案

strComputer = "MAIL"
LogDate = "20110628"
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Security)}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery ("Select * FROM Win32_NTLogEvent WHERE Logfile = 'Application' " & "AND EventCode = '1011'")

Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLogFile = objFSO.CreateTextFile("POP3 Auth Attack Log_" & LogDate & ".csv", ForWriting, True)
    objLogFile.Write "Record Number#"
    objLogFile.Write "Date Time#"
    objLogFile.Write "Message"
    objLogFile.WriteLine
For Each objEvent in colLoggedEvents
    if mid(objEvent.Message,3,10) <> "192.168.1." and left(objEvent.TimeGenerated,8) = Logdate then
        objLogFile.Write objEvent.RecordNumber & "#"
        objLogFile.Write objEvent.TimeGenerated & "#"
        objEvent.Message = replace(objEvent.Message,vbCRLF,"")   
        objLogFile.Write objEvent.Message
        objLogFile.WriteLine
    end if
Next
objLogFile.Close
msgbox("Finish !")

其中

if mid(objEvent.Message,3,10) <> "192.168.1." then

只是為了濾掉在內網的驗證錯誤記錄,只查網際網路上發生的驗證錯誤記錄。

另外

EventCode = ‘1011’

是 POP3 驗證錯誤代碼

此外

objEvent.Message = replace(objEvent.Message,vbCRLF,"")

因為 objEvent.Message 當中包含不必要的跳行,匯入資料庫或 Excel 時,會造成困擾,所以先用 Replace 函數將 Carriage Return & Line Feed 取代掉

left(objEvent.TimeGenerated,8) = LogDate

因為 Event 很多,所以只選擇匯出某一天的 Event,也避免 Excel 一次只能匯入 65535 行資料

最後,再顯示一個 Message Box ,提醒使用者程式已結束。

PS.匯入 Excel 時,在做資料剖析時,請選擇其他字元 #,因為 Message 裡可能會有逗號,所以故意將欄位分隔符號改為 #

2011年6月24日 星期五

Check SMTP Authentication

相信很多公司的郵件伺服器都會開放 SMTP 25 Port ,供差旅同仁方便寄信。

但這也給予Cracker / SPAMER SMTP Auth Relay Attack 的機會。

這會造成公司的郵件主機被列入黑名單之中…(網路上還是有不少公司堅持使用這種落伍的黑名單技術來阻擋廣告信)

到時同仁就會一直反應會被退信…

因為從外部透過公司郵件主機 Relay ,需要進行 SMTP 驗證

所以我寫了一支程式去監控事件檢視器,搭配 Exchange 的 SMTP 驗證記錄;如果有 SMTP 驗證成功的訊息,就會在我的電腦 Pop Up 一個提醒視窗。

首先把 Exchange 的 SMTP 驗證事件開啟

2011-06-24_113509

2011-06-24_113629

接著在本機執行以下程式(請存成 .vbs 檔案,然後執行它)

strComputer = "MAIL"

Set objWMIService = GetObject("winmgmts:{(Security)}\\" & strComputer & "\root\cimv2")

Set colMonitoredEvents = objWMIService.ExecNotificationQuery ("Select * from __InstanceCreationEvent Where " & "TargetInstance ISA 'Win32_NTLogEvent' " & "and TargetInstance.EventCode = '1708'")
Do
    Set objLatestEvent = colMonitoredEvents.NextEvent
    Wscript.Echo "User:" & objLatestEvent.TargetInstance.User & chr(13) & "DateTime:" & objLatestEvent.TargetInstance.TimeWritten & chr(13) & "Log:" & objLatestEvent.TargetInstance.Message

Loop

其中 1708 是 SMTP 驗證成功的事件代碼

當程式監控到 Event 時,就會跳出如下的視窗。

image

 

有人說:DNS MX 記錄指向 AntiSPAM 設備就不會受到 SMTP Auth Attack ,這是一個嚴重的錯誤觀念!

駭客要攻擊都會直接掃瞄 25 Port ,有誰開 25 Port ,就會被 Try…

2011年6月22日 星期三

Huawei Hi Suite

使用它來管理手機挺方便的,也不用為了管理手機,在手機裡安裝一堆程式,不是廣告就是佔記憶體。

當然,它只支援華為的行動裝置…

  • 安裝/卸載應用程式
  • 管理音樂 Play List
  • 播放設備中的音樂檔案
  • 用電腦發簡訊(可群發)
  • 管理簡訊
  • 管理通訊錄(可同步電腦的 MS Outlook、Outlook Express的聯絡人)
  • 同步MS Outlook行事曆
  • 抓取螢幕畫面(不需要安裝JDK、Android SDK,也不用 root,但是必須使用 USB 線連接才行)
  • 備份系統設定、聯絡人、簡訊、行事曆
  • 可透過 WiFi 或 USB 連接手機

image

免費下載網址

http://www.huaweidevice.com/resource/mini/201103307969/hi_suite_cn/index.html

2011年6月21日 星期二

Mobile Device 連接 Exchange 2003 Server

當使用行動裝置存取 Exchange Server 2003 時,發生驗證錯誤時,通常是因為

  • Exchange 後端伺服器上的 /Exchange 虛擬目錄設定為需要 SSL。

  • 啟用表單驗證

請依照下列連結的方法二處理(只有一台 Exchange Server,就不能改成前端伺服器,就不能用方法一處理)

http://support.microsoft.com/?kbid=817379

 

接下來如果還是發生錯誤,看看事件檢視器的錯誤訊息,以下列方法處理 IIS 設定即可。

http://support.microsoft.com/kb/937635/zh-tw

2011年6月13日 星期一

在遠端電腦上執行命令 2

原理與 在遠端電腦上執行命令 一樣,差別只是改成手動輸入命令

image

<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=big5" />
<title>Execute Command on Remote Computer</title>

<HTA:APPLICATION
     ID="objHTAHelpomatic"
     APPLICATIONNAME="HTAManagementAccount"
     SCROLL="No"
     SINGLEINSTANCE="yes"
     BORDER="thick"
     BORDERSTYLE="raised"
     MAXIMIZEBUTTON="no"
     SHOWINTASKBAR="yes"
     WINDOWSTATE="normal"
>

</head>

<SCRIPT Language="VBScript">
' Setup Window Size
Sub Window_onLoad
    Const Width = 500
    Const Height = 250
    self.ResizeTo width,height
    Self.moveTo (screen.AvailWidth-width)/2,(screen.AvailHeight-height)/2
End Sub

' Defrag Server by Shell
Sub ExecuteCmd
    strComputer = HostName.Value
    strCmd = Typing.Value
    strArg = "cmd.exe /c " + strCmd
    Set objWMIService = GetObject ("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
    errReturn = objWMIService.Create (strArg , Null, Null, intProcessID)
    msgbox("Finish ! " & strComputer )
    set objWMIService = Nothing
End Sub
</SCRIPT>

<body>
請輸入您的指令<br>
<input type="text" name="Typing">
<br>
<br>
您要在哪台電腦上執行指令?<br>
Host Name:<input type="text" name="HostName" size="30"><br>
<input id=runbutton  class="button" type="button" value="Execute" name="run_button"  onClick="ExecuteCmd"><br>
<br>
<ul>
<li>如果您輸入的電腦無法接受管理(例如:防火牆阻擋),將會發生錯誤訊息</li>
</ul>
</body>
</html>

試用 Google App Inventor 來建立手機應用程式

1.下載安裝 JDK (Java SE Development Kit)

2.點選右方的超連結,以測試 JDK 是否已成功安裝(Java test page)。

3.點選右方的超連結,以測試您的電腦可以執行Java Web Start(this link),請下載 Notepad.jnlp 並執行它。

4.下載安裝 App Inventor Setup Software

5.設定您的手機

請操作手機,進入「設定」→「應用程式」

2011-06-22-17-48-08-067 2011-06-22-17-48-16-489

a.勾選未知的來源

接著進入「開發」

2011-06-22-17-48-25-161

b.勾選「USB偵錯」以及「保持清醒」

2011-06-22-17-48-34-973

 

此時請以USB線連接手機與電腦,電腦會要求安裝 手機驅動程式,安裝完成後,會看到電腦的USB裝置多一個Android Composite ADB Interface

image

6.看一下App Inventor 的操作介紹(範例 Pet Meow)

7.進入App Inventor Website,開始動手試玩