Archive for March, 2009

Ollydbg v2.0 March 28, 2009

Posted: March 30, 2009 in RE Tools

The second beta. I’ve planned that it will come with the more or less complete help file. Unfortunately, I had no time to write it. Therefore there will be also the third beta release… soon.
There are many – over 20 – bugfixes in the beta 2, some of them are really critical. As promised, there are no significant changes, with two exceptions. The recognition of UNICODE strings is vastly improved, they are no longer limited to ASCII subset (option “Use IsTextUnicode()”. Also I recognize strings in the UTF-8 format. By the way, if you have some small sample program with the free source that uses UTF-8 strings, please send it to me (together with the screenshot of displayed strings) so that I will be able to test OllyDbg.
The second new feature is in the run trace. New option “Pause when EIP points to modified command” helps, for example, to find the real entry point of the SFX-ed code. Just don’t forget to create backup first (or use another new option, Auto backup user code)!

Download here:
http://ollydbg.de/odbg200j.zip

Regards


dup

Diablo2oo2’s Universal Patcher V2.19 Final

[Features]
-multiple file patcher
-create Offset and Search&Replace patch/loader
-compare files (RawOffset and VirtualAddress) with different filesize
-text patcher
-registry patcher, also for loaders
-attach files to patcher
-get filepaths from registry
-usage of CRC32 and filesize checks
-patching packed files
-compress patcher with your favorite packer
-saving projects
-use custom skin in your patcher
-add music (Tracker Modules: xm,mod,it,s3m,mtm,umx,v2m,ahx,sid) to patcher
-and many more…

[Version History]
[2.19]
-new “Text-Patch” module !
-bugfix in s&r compare module
-other bugfixes from v2.18
-added linkcursor in patcherwindow
-registry editor now can import v5 reg files
-faster scrolltext engine
-better scrolltext font management
-new function: import long hexpatterns in offset-patch-dialog
-fixed loader_installer bug
-added support for relative paths (subfolders) for the targetfiles
-search & replace comments bugfix
-loader: registrypatcher bugfix
-added new internal environment variable: %dup2_last_path%
-skincontrols now can have transparent backgroundcolor (FFFFFFFF)
-now you can execute multiple search&replace loaders from same directory

Download here:
http://free.pages.at/d2k2//downloads/dup2.rar


Hi everybody, it’s a great pleasure to announce the release of the new issue of our eZine. It was a real hard work to assemble all these contributions, but the final result in my opinion is really good.

A 160 pages issue with releases, hopefully all of quality. Coming to this issue, it is focused on non-windows reversing, or better on non-win32 reversing. There are insights into the Linux world (Externalist, Gunther) and the Palm (wast3d_bytes has released independently another Palm issue, which has been extended exclusively for this eZine, I also added an interesting video tutorial from Suntzu). There are also two interesting contributions into .NET advanced concepts and one about classical reversing from Gyver75, which I added for the passion for reversing it clearly shows, besides quality of the work.

This walkthrough is completed by a series of video tutorials prepared by argv about live debugging Symbian systems, not only using IDA. The non-win32 tutorials are just a completion of the activity we had already started a long time ago, investigating new reversing worlds like the already known Symbian, iPhone, .NET and Mac.

Very soon our new web site will finally open, meanwhile you can find this issue on our mirror: http://xchg.info/ARTeam/Tutorials/index.php?dir=ARTeam_eZine/&file=ARTeam_eZine_Number4.rar (it’s a 44Mb pack. sorry, but the supplements are several)

Have phun.

BR,

Shub



Hướng dẫn : Sử dụng chương trình Scuba để rà soát security cho Oracle Database

Nội dung chính

Giới thiệu

Cài đặt Scuba

Cấu hình để kết nối tới Database cần test

Test Configuration

Output Options Configuration

Thực hiện rà soát Cơ sở dữ liệu đã chọn

Xuất kết quả ra báo cáo


Giới thiệu

Scuba là một công cụ nhỏ gọn dùng để đánh giá cơ sở dữ liệu, nó được sử dụng để thu thập các thông tin cấu hình liên quan tới security của một database. Bằng việc sử dụng Scuba có thể giúp chúng ta tìm ra hàng trăm thiếu sót như unpatched sofware (phần mềm chưa cập nhật bản vá), unsafe processes (các tiến trình không an toàn), weak passwords (các mật khấu “yếu”) , qua đó giúp ta đánh giá được những lỗi có độ rủi ro cao mà từ đó khiến cho cơ sở dữ liệu của chúng ta có khả năng bị tấn công bất cứ lúc nào.

Điều đặc biệt là Scuba hoàn toàn free, được viết bằng Java, nó hỗ trợ scan các db phổ biến như : Oracle, DB2, MS-SQL  để tìm ra các lỗi cũng như những thiếu sót trong việc cấu hình.Dựa trên kết quả mà chương trình đánh giá được, Scuba sẽ ghi lại kết quả vào một file XML và kèm theo các mẫu báo cáo có sẵn của nó để xuất ra các báo cáo chi tiết dựa trên kết quả mà nó đã thu thập được.

Theo đánh giá của Pete Finnigan, một chuyên gia hàng đầu trong lĩnh vực Oracle Security thì Scuba thường được sử dụng để tìm ra những lỗi “simple”, và vì nó là một công cụ free cho nên việc đánh giá của nó sẽ không toàn diện được như những công cụ thương mại. Tuy nhiên, cá nhân ông vẫn xem Scuba là một công cụ hữu ích cho những nhà quản trị cơ sở dữ liệu.

Cài đặt Scuba

Để cài đặt Scuba trước tiên chúng ta phải download công cụ tại: http://www.imperva.com/products/scuba.html . Điền đầy đủ các thông tin yêu cầu bạn sẽ nhận được email cung cấp đường dẫn để download chương trình. Scuba là một file thực thi độc lập, chúng ta không cần phải cài đặt. Chương trình yêu cầu tối hiểu hệ thống phải cài đặt JRE phiên bản từ 1.4 trở lên để chạy được chương trình. Scuba bao gồm một file cấu hình test cơ bản và một số báo cáo mẫu dùng cho việc xuất kết quả. Khi ta chạy chương trình lần đầu tiên, nó yêu cầu chúng ta điền một số các thông tin để hoàn tất quá trình đăng kí sử dụng cũng như chấp nhận các điều khoản của chương trình.

Để chạy được Scuba ta cần thực hiện theo ba bước:

  1. Cấu hình Database connection.
  2. Lựa chọn file test và cấu hình các thống số test.

Thiết lập Output location để lưu file kết quả và lựa chọn mẫu báo cáo.

Cấu hình để kết nối tới Database cần test

Sau khi cài đặt xong chương trình, mặc định màn hình DB Config của Scuba hiện lên như sau :

scuba1

Màn hình này yêu cầu chúng ta cung cấp các thông tin cần thiết để kết nối tới Database Server :

  1. DB Type :

Lựa chọn kiểu DB, các db mà chương trình hỗ trợ :

  • Oracle (versions 8i through 10gR2)
  • MS SQL (versions 6 through 2005)
  • Sybase (versions 11.x – 15.x)
  • DB2 (8.x and all versions with support for DRDA communications)

2. Host :
Nhập host name hoặc ip của máy chủ database.

3. Port :

Nhập cổng mà DB server đang lắng nghe, nếu là Oracle thì mặc định là 1521. Nếu bạn cấu hình để listener lắng nghe trên một cổng khác thì nhập lại vào phần Port. Bảng ánh xạ các port :

scuba24. DB Name :

Trường này là cần thiết khi bạn lựa chọn loại cơ sở dữ liệu là Oracle hoặc DB2. Các trường hợp khác thì để trống. Đối với cơ sở dữ liệu Oracle thì trường DB Name này ta cần nhập SID (Service ID).

5. Windows Authentication :

Trường này được sử dụng trong trường hợp lựa chọn Db Type là MS SQL Server.

6.User :

Account của người sử dụng hợp lệ dùng để đăng nhập vào DB. Nên chọn account có đủ quyền trong việc truy cập dữ liệu đặc biệt là các Data Dictionary trên Db server.

7.Password :

Mật khẩu để xác thực.

Sau khi cung cấp đầy đủ toàn bộ thông tin liên quan, nhấn nút “Test Connectivity” để kiểm tra việc kết nối tới DB có thành công hay không? Nếu thành công ta sẽ nhận được thông báo sau :

scuba3

Test Configuration

Chọn phần Test Config, màn hình test config xuất hiện như sau :

scuba4

Trước khi chạy chương trình để đánh giá DB được chọn ta cần cấu hình các mục tại phần Test Config. Bao gồm :

  1. File :

Đường dẫn đến file testconfig.xml, đây là một file xml bao gồm các mô tả về việc test mà sẽ được áp dụng cho DB mà chúng ta cần rà soát. Scuba đã cung cấp cho chúng ta một file mặc định, đi kèm với nó là thông tin về Date mô tả thời gian về lần cập nhật cuối cùng cho file này. Để cập nhật các thông tin mới nhất ta chọn phần Check For Updates.

  1. Max Info :

Giá trị trong trường này có thể được sử dụng để hạn chế về lượng thông tin kiểm tra bị thất bại mà ta thu thập từ cơ sơ dữ liệu

  1. Parameters :

Trong thực tế nhiều DB được cấu hình với một số các policy chẳng hạn Password Policy, thông tin trong trường parameters cho phép ta rà soát liên quan tới Policy đã được cấu hình bởi các nhà quản trị. Lấy ví dụ: độ dài tối thiểu cho một password mới là bao nhiêu, thời gian hết hiệu lực của password v..v.. Bạn có thể thay đổi các giá trị Parameter cho phù hợp với mục đích kiểm tra của mình.

PS: Trong bài viết này của tôi, mọi thông tin trong phần Test Config đều được để nguyên theo mặc định của chương trình.


Output Options Configuration

Tiếp theo ta chuyển qua phần Output Config, màn hình cấu hình như sau :

scuba5

Trước khi thực hiện việc rà soát cơ sở dữ liệu ta cần cấu hình để Scuba lưu thông tin kết quả của quá trình kiểm tra ra một file. Trong trường hợp của tôi, mọi thông tin thu được sẽ được xuất ra file results.xml.

Sau khi thực hiện xong việc rà xoát, dựa trên file kết quả này chúng ta có thể tạo ra các báo cáo dựa trên template là các file XSL có sẵn của Scuba. Chương trình bao gồm các mẫu báo cáo sau :

  • Scuba_Assessment_Report.xsl for reporting on all executed tests
  • Scuba_Summary_Report.xsl for a graphical summary of the assessment run
  • Scuba_Assessment_Report(No Details).xsl
  • ScubaOutputTransformOnlyFailedTests.xsl for reporting all tests that failed
  • ScubaOutputTransformOnlyInfo.xsl for reporting information only tests

Tùy chọn Use External Browser cho phép chúng ta sử dụng IE browser để hiện thị các báo cáo. Nếu như ta không chọn tùy chọn này thì kết quả sẽ hiện thị trong một Java text pane.

Thực hiện rà soát Cơ sở dữ liệu đã chọn

Sau khi toàn bộ các thông tin liên quan về việc cấu hình đã hoàn tất, giờ là lúc ta tiến hành rà soát cơ sở dữ liệu của mình. Đơn giản chỉ bằng việc nhấn nút Go, chương trình sẽ thực hiện tự động và lưu kết quả vào file results.xml đồng thời hiện thị thông báo sau khi hoàn tất quá trình thực hiện.

Môi trường thử nghiệm của tôi như sau :

OS: Enterprise Linux Enterprise Linux AS release 4 (October Update 5)

Oracle DB Version: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Prod

Oracle SID: VD11

Host Name: test

scuba6

Xuất kết quả ra báo cáo

Sau khi quá trình rà soát hoàn tất, bước cuối cùng là xuất kết quả kiểm tra ra các file báo cáo để theo dõi, qua đó tổng kết các thông tin liên quan tới security của DB. Dựa vào các thông tin này, ta có thể điều chỉnh để “Hardening Our Database” 🙂 !

scuba7

scuba8

scuba9

Tài liệu tham khảo: Scuba_Users_Guide.pdf

Best Regards

m4n0w4r

PS : Vui lòng chỉ rõ tác giả và nguồn khi các bạn sử dụng lại tài liệu này 🙂


Author: RCA (The member of REA-cRaCkErTeAm 🙂 )
Today he show off his research, hope all of you find some interesting information!!

Yahoo Messenger is a popular chat client around the world with many interesting features. One of these features is achieving our chat and the chat log can be viewed in future. The chat log can be viewed after logging into Yahoo Messenger. But there are some programs which can view the archive without logging. Therefore there must be a way to decrypt this log without password. So I write a small documentation to describe how we can reverse the encrypted message to clear one.

Download his paper :
http://rongchaua.net/Web/Tut/Reverse/Crypto/Yahoo Archive Decode.zip

Best Regards
m4n0w4r


Đang tìm hiểu cách liệt kê các patch đã được apply vào hệ thống như thế nào. Đọc một số tài liệu công thêm google, tôi thu thập được một số phương pháp dưới đây.

1. Sử dụng công cụ OPatch của Oracle:

Đây là một công cụ khá hay dùng để apply các patch hoặc dùng để liệt kê các patch đã được appy bằng OPatch. Mục đích chủ yếu của nó dùng để quản lý các “interim patch”. Sau khi cài đặt vào hệ thống, công cụ này sẽ được đặt theo đường dẫn dưới đây : $ORACLE_HOME/OPatch. Ta có thể đưa đường dẫn này luôn vào Path environment của hệ thống đề sau này chỉ cần gõ opatch là xong :D.

Chạy thử opatch ta có được thông tin như sau :

[applmgr@test ~]$ opatch
Invoking OPatch 10.2.0.3.0

Oracle interim Patch Installer version 10.2.0.3.0
Copyright (c) 2005, Oracle Corporation. All rights reserved..

Usage: opatch [ -help ] [ -r[eport] ] [ command ]

command := apply
lsinventory
query
rollback
version
prereq
util

:= -help Displays the help message for the command.
-report Print the actions without executing.

example:
‘opatch -help’
‘opatch apply -help’
‘opatch lsinventory -help’
‘opatch rollback -help’
‘opatch prereq -help’
‘opatch util -help’

OPatch succeeded.

Để liệt kê patches sử dụng câu lệnh :

opatch lsinventory
Invoking OPatch 10.2.0.3.0

Oracle interim Patch Installer version 10.2.0.3.0
Copyright (c) 2005, Oracle Corporation. All rights reserved..

Oracle Home : /oracle/vd11db/10.2
Central Inventory : /etc/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.3.0
OUI version : 10.2.0.3.0
OUI location : /oracle/vd11db/10.2/oui
Log file location : /oracle/vd11db/10.2/cfgtoollogs/opatch/opatch2009-03-11_15-56-39PM.log

Lsinventory Output file location : /oracle/vd11db/10.2/cfgtoollogs/opatch/lsinv/lsinventory2009-03-11_15-56-39PM.txt

——————————————————————————–
Installed Top-level Products (3):

Oracle Database 10g 10.2.0.1.0
Oracle Database 10g Products 10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 2 10.2.0.3.0
There are 3 products installed in this Oracle Home.

Interim patches (3) :

Patch 5257698 : applied on Mon May 26 18:07:48 ICT 2008
Created on 29 Jun 2006, 07:12:38 hrs US/Pacific
Bugs fixed:
5257698

Patch 5556081 : applied on Mon May 26 17:29:07 ICT 2008
Created on 9 Nov 2006, 22:20:50 hrs PST8PDT
Bugs fixed:
5556081

Patch 5557962 : applied on Mon May 26 17:28:56 ICT 2008
Created on 9 Nov 2006, 23:23:06 hrs PST8PDT
Bugs fixed:
4269423, 5557962, 5528974

Nếu muốn liệt kê các thông tin chi tiết, ta dùng câu lệnh :

opatch lsinventory -detail
Interim patches (3) :

Patch 5257698 : applied on Mon May 26 18:07:48 ICT 2008
Created on 29 Jun 2006, 07:12:38 hrs US/Pacific
Bugs fixed:
5257698
Files Touched:
lx40003.nlb –> ORACLE_HOME/nls/data/old/lx40003.nlb
lx40030.nlb –> ORACLE_HOME/nls/data/old/lx40030.nlb
Patch Location in Inventory:
/oracle/vd11db/10.2/inventory/oneoffs/5257698
Patch Location in Storage area:
/oracle/vd11db/10.2/.patch_storage/5257698_Jun_29_2006_07_12_38

Patch 5556081 : applied on Mon May 26 17:29:07 ICT 2008
Created on 9 Nov 2006, 22:20:50 hrs PST8PDT
Bugs fixed:
5556081
Files Touched:
SecureGenKeystore.pm –> ORACLE_HOME/sysman/admin/scripts/SecureGenKeystore.pm
Patch Location in Inventory:
/oracle/vd11db/10.2/inventory/oneoffs/5556081
Patch Location in Storage area:
/oracle/vd11db/10.2/.patch_storage/5556081_Nov_9_2006_22_20_50

Patch 5557962 : applied on Mon May 26 17:28:56 ICT 2008
Created on 9 Nov 2006, 23:23:06 hrs PST8PDT
Bugs fixed:
4269423, 5557962, 5528974
Files Touched:
/oracle/sysman/eml/app/ContextInitFilter.class –> ORACLE_HOME/sysman/jlib/emCORE.jar
/oracle/sysman/eml/jobs/JobsListBean.class –> ORACLE_HOME/sysman/jlib/emCORE.jar
/oracle/sysman/eml/jobs/JobSql.class –> ORACLE_HOME/sysman/jlib/emCORE.jar
/_jobs/_jobsList.class –> ORACLE_HOME/sysman/jlib/emjsp.jar
/_jobs/_jobsList$__jsp_StaticText.class –> ORACLE_HOME/sysman/jlib/emjsp.jar
jobs_ui_pkgbody.sql –> ORACLE_HOME/sysman/admin/emdrep/sql/core/latest/jobs/jobs_ui_pkgbody.sql
jobs_ui_pkgdef.sql –> ORACLE_HOME/sysman/admin/emdrep/sql/core/latest/jobs/jobs_ui_pkgdef.sql
jobs_types.sql –> ORACLE_HOME/sysman/admin/emdrep/sql/core/latest/jobs/jobs_types.sql

2. Sử dụng registry$history dictionary table :

col action_time for a28
col action for a6
col namespace for a9
col version for a10
col id for 99999999
col comments for a10
select * from registry$history;

Một số kết quả

SQL> select * from registry$history;

ACTION_TIME ACTION NAMESPACE VERSION ID COMMENTS
—————————- —— ——— ———- ——— ———-
06-FEB-09 01.23.16.294350 PM UPGRAD SERVER 10.2.0.3.0 Upgraded f
E rom 9.2.0.
6.0

Or

select * from registry$history;

ACTION_TIME ACTION NAMESPACE VERSION ID COMMENTS
—————————- —— ——— ———- ——— ———-
30-JAN-06 12.31.23.139000 PM CPU SERVER 10.2.0.1.0 4751539 CPUJan2006

3. Tìm kiếm thông tin trong $ORACLE_HOME/.patch_storage/patch_logfile

Ví dụ trên hệ thống của tôi, tôi truy cập đến thư mục : /oracle/vd11db/10.2/.patch_storage. Liệt kê nội dung của thư mục này tôi có được :

[applmgr@test .patch_storage]$ ls -la
total 44
drwxr-x--- 5 applmgr oracle 4096 May 26 2008 .
drwxr-xr-x 66 applmgr oracle 4096 May 27 2008 ..
drwxr-xr-x 6 applmgr oracle 4096 May 26 2008 5257698_Jun_29_2006_07_12_38
drwxr-x--- 6 applmgr oracle 4096 May 26 2008 5556081_Nov_9_2006_22_20_50
drwxr-x--- 7 applmgr oracle 4096 May 26 2008 5557962_Nov_9_2006_23_23_06
-rw-r--r-- 1 applmgr oracle 0 May 26 2008 patch_free

Best Regards
m4n0w4r


CodeWalker: Another AntiRootkit Tool
Author : Thug4lif3 (aka Sơn “bird”, my brother :D)


He has developed an antirootkit tool called CodeWalker which can:

+ Detect hidden processes
+ Detect hidden drivers
+ Detect hidden files (support NTFS only)
+ Detect hooks in both kernel mode and usermode.
+ Works on Windows English 2000/XP/2003/Vista/2008.

The tool is currently in beta stage and im looking for people for testing it. I’ve already tested it with all rootkits samples I have and its detection rate seems optimistic. I think it’s very great if you guys test it against your rootkit zoo and provide the result you got with the tool. If there’s BSOD (of cos, you can never write a bug free proggie, rite? :P), it would be very appreciated of you to upload minidumps to help me correct the tool. Thanks in advance.

I will update this tool frequently for new detection methods, bug fixs etc. Welcome for your all suggestions, bugs and minidumps

In this beta version, the main improves to other ark is heavily put in hidden driver object (System Modules tab) and code hooking detection.

For hidden driver detection, you can test it with some pretty well hidden driver PoC such as phide_ex and many builds of Rustock.B variants. Although you have to use the “Hardcore Scan” method to detect them.

For code hooking detection, the engine walks all the branches of scanned module i.e any execution path of it to detect modification (btw, that’s why i call it CodeWalker). IMHO, It can detect code hooking very well especially with rootkits that place abnormal hooks, although there’re false-positive detections.

Here’s the tool:

http://cmcinfosec.com/download/cmcark.zip
or
https://www.rootkit.com/vault/thug4lif3/cmcark_cw.0.2.2.9.12.rar

Thanx Thug4lif3 for sharing his Tool.