Archive for the ‘Linux’ Category


A lot of intrigued reversers, new or skilled, are asking questions about Linux, don’t worry, you’re not alone
I felt like a topic resuming common questions, well known tools shall be (re)created. That would be wonderful to have such topic to become a reference we can suggest to people asking for it, don’t you think ?
Comments and suggestions are welcome as long as you keep it informative. No chit-chat here please, only links, tips ands tricks.

Through this thread I am not encouraging people to hack, destroy or steal anything, you must comply with laws and you shall take entire responsability if you use this knowledge for bad behaviour. With great power (and in our information system-controlled world, every reverser, hacker, vxer has powers) comes great responsabilities. Reverse engineering is not always legal, check EULA/laws in your country. (Some interesting essays have been written on the subject, can you find them ?) A lot of companies are hiring reversers, malware analysts, win/linternals specialists for their own goods, YOU have the right to benefit this knowledge too,but don’t fall into the trap of skiddies activity..

Q & A

Q: I am new to reversing, can you advise me wether to choose Windows or Linux ?
A: No, for the simple reason that we cannot push you to decide what you want to do. Windows and its internals are fascinating reversers since ages, a lot of people are writing tuts, experimenting things, sharing tricks and discussing issues, Linux as well as other UNIX-like platform is less mainstream, therefore you are on your own, looking for someone that did it before, or simply threw some ideas you could investigate. But this thread could help you a bit.

Q: Ok, but what distrib should I use ?
A: If you already know linux enough (use at home/work) you can choose every flavor you like ! From RPM-style to DEB-stuff, including i-compil-everything-on-my-own, source-based distribs. If this is not the case, or if you want to use a virtual machine, please download Damn Vulnerable Linux (refer to the tool list)

Q: I am new to reversing with Linux, where should I start ?
A: Be sure to have sufficient assembly knowledge, at least one programming language skills (C/C++ are preferable since Linux in written with it, but Perl/Python are advised. Those parts are not treated here). As for Windows with its PE file format, Linux ELF is a unconditional step for reversing. A next step could be to try some crackmes under Linux, or try some wargames to know more about this arch. |STILL UNDER CONSTRUCTION|

Q: What tool should I use to disassemble,debug my target ?
A: Nobody can force you to use this or that but Linux comes with some tools like GDB (debugger), objdump (retrieve assembly)/hexdump (retrieve hex), ltrace/ptrace/strace/utrace (investigate the program execution flow)… Please refer to the tool list and make your own opinion, manuals as well as tutorials/papers are available.

Q: I lack training with Linux and Linternals, could you help me ?
A: RTFM ! A lot of documentation about Linux inner workings are available on the net, use a search engine or check the link category. You could for example search for Linux Kernel internals.You could also train your skills with wargames or crackmes. If you need a certification for your professional activities, check this out

Q: This tool is broken/outdated/doesn’t work as I’d want, can you help me ?
A: If you think the tool is broken try to contact the author: we are not a support forum, if it’s outdated post in the Linux area and be as specific as you can, no crack requests ! We’re not providing 100% working solutions, only pointers for your own research. If you cannot use the tool correctly, if you read every documentation available about it, if you tried everything and even googled for it desperately, you can post in the Linux Area.

Q: I need something that is not on the list, I asked for help and someone told me to Google, is this is a forum or what ?
A: We (people helping) are not assisting brain-disabled people, this is a bit rude, okay, but we will only help those who showed some implications, some previous work to solve their issue, and that actually did everything possible before asking. If we found out that the answer is in the first page on Google and you still ask for a link, you’ll get in serious trouble. If you are advised so, you can request a tool/paper to be added in this list.

Q: I made a tool, would you like to include it on your list ? / My tool|paper is in this list, I don’t want it !
A: That would be a pleasure ! First, talk to the CRCETL guys over there so they can add your tool (and a local copy of it) in their great list, then notify your link to us, we will add it.
If you want some materials to be removed, contact me but remember: if it was previously, legally, accessible on the Web you can get lost..

About this

Q: This has been done before here and there (like 0xf001’s place), why reinventing the wheel ?
A: If your links contains materials we missed, please contact us, we would be delighted to add it in the list as long as it complies with our rules.As for external sites, well I have been confronted too many times to pages or links that disappeared because of domain expiration/hosting problem etc, no one is to blame, we all have a life and such activities ain’t free. To prevent this issue I highly recommend you to copy this thread to your own forum/disk/whatever.

Q: Why such strict rules about legality ? This is reversing after all, and some of your links leads to place where illegal things are discussed (hacking/vxing)
A: Reversing is not always authorized, check the EULA of your target if any available. By posting here you automatically comply with the rules and the law this board is subject to (ie. what is legal in YOUR country doesn’t mean it is everywhere on the INTERNET). This is a scientific, technical-oriented board that doesn’t focus on warez despite some subject might be borderline. This is only made to avoid getting Zero into troubles.
As for Hacking/VXing, well I am not encouraging this at all, but it is your right to get information, I am not the one to tell you what to do about it. I hope you choose to stay clean though, getting in troubles ain’t fun. And trust me you’ll get to it sooner or later.

Q: This is cool but I would prefer a step-by-step tutorial to learn what button to press and where to look, for my specific needs?
A: Then you failed at the first and the most important step: working on your own; use your brain, use Google, use the forum search function, try things, read about everything you can before asking a question on a forum. This is for your own sake, please don’t be another “I need a tutorial to pee” guy. If you lack direction or ideas, please read about +Fravia (may he rest in peace) and +HCU. They could change your view of reversing from “I press buttons on my debugger but I don’t really know what I’m doing” to the all-mighty “I can express my reversing skills in the real world, in almost every possible situation”. If you get to this state of mind, I have nothing to `teach` you.

Q: Is a similar list for Windows|MacOS X is going to see the light some day ..?
A: I have a file in preparation, however it will not be hosted here: I’d like it to be as exhaustive as possible so it won’t comply with the rules.

Q: Hey some links are in a strange language I don’t understand, can’t you add articles in my mothertongue too ?
A: Unfortunately, my lack of knowledge is deepless, I only speak two or three languages. If you have materials in spanish, german etc I don’t see any problem to add them here. If you are speaking languages like chinese, arab or hindi (most spoken languages on earth) a translation would be warmly welcome, if you are opposed to this idea, make your own list pal.

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: . Đ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 :


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 :


Test Configuration

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


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 :


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 – Prod

Oracle SID: VD11

Host Name: test


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” 🙂 !




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

Best Regards


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 🙂

Đ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

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

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

command := apply

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

‘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

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

Oracle Home : /oracle/vd11db/10.2
Central Inventory : /etc/oraInventory
from : /etc/oraInst.loc
OPatch version :
OUI version :
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
Oracle Database 10g Products
Oracle Database 10g Release 2 Patch Set 2
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:

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

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:
Files Touched:
lx40003.nlb –> ORACLE_HOME/nls/data/old/lx40003.nlb
lx40030.nlb –> ORACLE_HOME/nls/data/old/lx40030.nlb
Patch Location in Inventory:
Patch Location in Storage area:

Patch 5556081 : applied on Mon May 26 17:29:07 ICT 2008
Created on 9 Nov 2006, 22:20:50 hrs PST8PDT
Bugs fixed:
Files Touched: –> ORACLE_HOME/sysman/admin/scripts/
Patch Location in Inventory:
Patch Location in Storage area:

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;

—————————- —— ——— ———- ——— ———-
06-FEB-09 PM UPGRAD SERVER Upgraded f
E rom 9.2.0.


select * from registry$history;

—————————- —— ——— ———- ——— ———-
30-JAN-06 PM CPU SERVER 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

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 😀


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

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

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


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 :


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


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


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


_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ó :


_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 😀

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 :

echo "exec fluxbox" > ~/.xinitrc
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
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=;;
# Phan sau giu nguyen

Hình minh họa :

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 :

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 😀


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


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


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 ( 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.
# unclutter -idle 2 &
# wmnd &
# wmsmixer -w &
# idesk &

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


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 :

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 :


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 Sau khi đẩy menu lên tôi load lại fluxbox và có được menu như sau :


Thêm Style cho FluxBox

Tôi load thử một style tại đây : 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 :


Style sau khi apply :


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

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.


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!


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 :

Unicornscan FE :

W3af :

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 :

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 :


· 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.


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 . 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






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











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:

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

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

3. #cd /usr/lib
#ln -s

· 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 CreationLogin 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






if [ $USER = “oracle” ]; then

if [ $SHELL = “/bin/ksh” ]; then

ulimit -p 16384

ulimit -n 65536


ulimit -u 16384 -n 65536



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

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 ( 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


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


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

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

$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.