<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>

                    原文地址:http://drops.wooyun.org/%e8%bf%90%e7%bb%b4%e5%ae%89%e5%85%a8/5411

                    from:http://resources.infosecinstitute.com/log-analysis-web-attacks-beginners-guide/

                    0x00 前言


                    現實中可能會經常出現web日志當中出現一些被攻擊的跡象,比如針對你的一個站點的URL進行SQL注入測試等等,這時候需要你從日志當中分析到底是個什么情況,如果非常嚴重的話,可能需要調查取證誰來做的這個事情,攻擊流程是什么樣子的。

                    除此之外,還有其他場景。

                    作為一名管理員,理解如何從安全的角度來分析日志真的很重要。

                    這篇文章內容包括了日志分析的一些基礎知識,可以解決上述需求。

                    0x01 準備


                    出于演示目的,我進行以下設置。

                    Apache 服務器

                    預安裝在Kali Linux

                    可以用以下命令開啟:

                    service apache2 start
                    

                    enter image description here

                    MySQL

                    預安裝在Kali Linux

                    可以用以下命令開啟:

                    service mysql start
                    

                    enter image description here

                    使用PHP-MySQL創建一個有漏洞的web應用

                    我使用PHP開發了一個有漏洞的web應用并且把它放在上面提到的 Apache-MySQL里面。

                    上述設置完成后,我用了一些Kali Linux中的自動工具(ZAP、w3af)掃描這個有漏洞的應用的URL。

                    現在讓我們來看看分析日志中的不同情況。

                    0x02 Apache服務中的日志記錄


                    Debian系統上Apache服務器日志的默認位置為:/var/log/apache2/access.log

                    日志記錄只是在服務器上存儲日志。我還需要分析日志以得出正確結果。在接下來的一節里,我們將看到我們如何分析Apache服務器的訪問日志以找出web站點上是否有攻擊嘗試。

                    分析日志

                    手動檢查

                    在日志量較小的情況下,或者如果我們查找一個指定關鍵詞,可以使用像grep表達式這樣的工具觀察日志。

                    在下圖中,我們在URL中試圖搜尋所有關鍵詞為“union”的請求。

                    enter image description here

                    從上圖中,我們可以看到URL中的“union select 1,2,3,4,5”請求。很明顯,ip地址為 192.168.56.105的某人嘗試了SQL注入。 類似地,當我們有自己的關鍵詞時可以搜索特殊的關鍵詞。

                    enter image description here

                    在下圖中,我們正在搜索試圖讀取“/etc/passwd”的請求,很明顯是本地文件包含嘗試。

                    如上面的截圖所示,我們有許多本地文件包含的嘗試,且這些請求發送自ip地址 127.0.0.1。

                    很多時候,能輕易通過日志看出是否是自動化掃描器產生的。

                    舉例來說, IBM appscan在許多攻擊payload中使用“appscan”這個詞。所以,在日志中查看這樣的請求,我們基本就可以判斷有人在使用appscan掃描網站。

                    Microsoft Excel也是一個打開日志文件和分析日志的不錯的工具。我們可以通過指定“空格”為分隔符以用excel打開日志文件。

                    當我們手頭沒有日志分析工具時,這個也挺好用的。

                    除了這些關鍵詞,在分析期間要了解HTTP狀態代碼的基礎知識。以下是關于HTTP狀態代碼的高級信息的表格。

                    enter image description here

                    0x03 Web shells


                    webshell是網站/服務器的另一個問題。webshell可以已web server權限控制服務器。

                    在一些情況下,我們可以使用webshell來訪問所有放在相同服務器上的其他站點。

                    以下截圖顯示了Microsoft Excel 中開啟相同的access.log文件。

                    enter image description here

                    我們清楚地看到有一個叫“b374k.php”的文件被訪問了。“b374k”是一個流行的webshell,因此這個文件是很可疑的。

                    查看相應代碼“200”,本行表明有人上傳了一個webshell并訪問了它。

                    在許多情況下,攻擊者重命名webshell的名字以避免懷疑。我們必須變得聰明點,看看被訪問的文件是否是常規文件或者是否他們看起來不太一樣。我們可以更進一步,如果任何文件看起來可疑的話,還可以查看文件類型和時間戳。

                    One single quote for the win
                    

                    SQL注入是web應用中最常見的漏洞之一。大多數學習web應用安全的人是從學習SQL注入開始的。

                    識別一個傳統的SQL注入很容易,給URL參數添加一個單引號看看是否報錯。

                    任何我們傳遞給服務器的東西都會被記錄,并且可以朔源。

                    以下截圖顯示了日志當中記錄了有對參數user傳入單引號測試是否有SQL注入的行為。

                    %27是單引號的URL編碼。

                    enter image description here

                    出于管理目的,我們還可以運行查詢監視來查看數據庫中的哪個請求被執行了。

                    enter image description here

                    如果我們觀察以上圖片,傳遞一個單引號給參數“user”的SQL語句被執行了。

                    0x04 使用自動化工具分析


                    當存在大量日志時。手動檢查就會變得困難。在這種情景下,除了一些手動檢查之外我們可以使用自動化工具。

                    雖然有許多高效的商業工具,但是我要向你們介紹一款被稱為“Scalp”的免費工具。

                    據他們的官方鏈接所說,Scalp是用于Apache服務器,旨在查找安全問題的日志分析器。主要理念是瀏覽大量日志文件并通過從HTTP/GET中提取可能的攻擊。

                    Scalp可以從以下鏈接下載:

                    https://code.google.com/p/apache-scalp/

                    Scalp是python腳本,所以要求我們的機器中安裝python。

                    以下圖片顯示該工具的幫助。

                    enter image description here

                    如我們在上圖所見,我們需要使用標志-l來提供要分析的日志文件。

                    同時,我們需要提供使用標志-f提供一個過濾文件讓Scalp在access.log文件中識別可能的攻擊。

                    我們可以使用PHPIDS項目中的過濾器來檢測任何惡意的嘗試。

                    該文件名為“default_filter.xml ”,可以從以下鏈接中下載:

                    https://github.com/PHPIDS/PHPIDS/blob/master/lib/IDS/default_filter.xml

                    以下代碼塊是取自上面鏈接的一部分。

                    #!html
                    <filter>
                    ??????<id>12</id>
                    ??????<rule><![CDATA[(?:etc\/\W*passwd)]]></rule>
                    ??????<description>Detects etc/passwd inclusion attempts</description>
                    ??????<tags>
                    ??????????<tag>dt</tag>
                    ??????????<tag>id</tag>
                    ??????????<tag>lfi</tag>
                    ??????</tags>
                    ??????<impact>5</impact>
                    </filter>
                    

                    它是使用XML標簽定義的規則集來檢測不同的攻擊測試。以上代碼片段是檢測文件包含攻擊嘗試的一個示例。

                    下載此文件之后,把它放入Scalp的同一文件夾下。

                    運行以下命令來使用Scalp分析日志。

                    #!bash
                    python scalp-0.4.py –l /var/log/apache2/access.log –f filter.xml –o output –html
                    

                    enter image description here

                    “output”是報告保存的目錄。如果不存在的話,由Scalp自動創建。-html是用來生成HTML格式的報告。 如我們在上圖看到的那樣,Scalp結果表明它分析了4001行,超過4024并發現了296個攻擊模式。

                    運行上述命令后在輸出目錄內生成報告。我們可以在瀏覽器內打開它并查看結果。 下面截圖顯示的輸出顯示了目錄遍歷攻擊嘗試的一小部分。

                    enter image description here

                    MySQL中的日志記錄


                    本節論述了數據庫中的攻擊分析和監視它們的方法。

                    第一步是查看設置了什么變量。我們可以使用“show variables;”完成,如下所示。

                    enter image description here

                    接下來顯示了上述命令的輸出。

                    enter image description here

                    如我們在上圖中看到的,日志記錄已開啟。該值默認為OFF。

                    這里另一個重要的記錄是 “log_output”,這是說我們正在把結果寫入到文件中。另外,我們也可以用表。

                    我們可以看見“log_slow_queries”為ON。默認值為OFF。

                    所有這些選項都有詳細解釋且可以在下面提供的MySQL文檔鏈接里直接閱讀:

                    http://dev.mysql.com/doc/refman/5.0/en/server-logs.html

                    MySQL的查詢監控


                    請求日志記錄從客戶端處收到并執行的語句。默認記錄是不開啟的,因為比較損耗性能。

                    我們可以從MySQL終端中開啟它們或者可以編輯MySQL配置文件,如下圖所示。

                    我正在使用VIM編輯器打開位于/etc/mysql目錄內的“my.cnf”文件。

                    enter image description here

                    如果我們向下滾動,可以看見日志正被寫入一個稱為“mysql.log”的文件內。

                    enter image description here

                    我們還能看到記錄“log_slow_queries” ,是記錄SQL語句執行花了很長時間的日志。

                    enter image description here

                    現在一切就緒。如果有人用惡意查詢數據庫,我們可以在這些日志中觀察到。如下所示:

                    enter image description here

                    上圖顯示了查詢命中了名為“webservice”的數據庫并試圖使用SQL注入繞過認證。

                    0x05 更多日志記錄


                    默認地,Apache只記錄GET請求,要記錄POST數據的話,我們可以使用一個稱為“mod_dumpio”的Apache模塊。要了解更多關于實現部分的信息,請參考以下鏈接:

                    http://httpd.apache.org/docs/2.2/mod/mod_dumpio.html

                    另外,我們可以使用“ mod security”達到相同結果。

                    Reference http://httpd.apache.org/docs/2.2/logs.html

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频