Wednesday, December 28, 2011

Song Of Myself

1. From A Dusty Bookshelf

Instrumental

2. All That Great Heart Lying Still

The nightingale is still locked in the cage
The deep breath I took still poisons my lungs
An old oak sheltering me from the blue
Sun bathing on its dead frozen leaves

A catnap in the ghost town of my heart
She dreams of storytime and the river ghosts
Of mermaids, of Whitman's and the Ride
Raving harlequins, gigantic toys

A song of me a song in need
Of a courageous symphony
A verse of me a verse in need
Of a pure-heart singing me to peace

All that great heart lying still and slowly dying
All that great heart lying still on an angelwing

All that great heart lying still
In silent suffering
Smiling like a clown until the show has come to an end
What is left for encore
Is the same old Dead Boy's song
Sung in silence
All that great heart lying still and slowly dying
All that great heart lying still on an angelwing

A midnight flight into Covington Woods
A princess and a panther by my side
These are Territories I live for
I'd still give my everything to love you more

(repeat br.+ch.)

3. Piano Black

A silent symphony
A hollow opus #1,2,3

Sometimes the sky is piano black
Piano black over cleansing waters

Resting pipes, verse of bore
Rusting keys without a door

Sometimes the within is piano black
Piano black over cleansing waters

All that great heart lying still and slowly dying
All that great heart lying still on an angelwing


4. Love

I see a slow, simple youngster by a busy street, with a begging bowl in his shaking hand.
Trying to smile but hurting infinitely. Nobody notices.
I do, but walk by.

An old man gets naked and kisses a model-doll in his attic.
It's half-light and he's in tears.
When he finally comes his eyes are cascading.

I see a beaten dog in a pungent alley. He tries to bite me.
All pride has left his wild drooling eyes.
I wish I had my leg to spare.

A mother visits her son, smiles to him through the bars.
She's never loved him more.

An obese girl enters an elevator with me.
All dressed up fancy, a green butterfly on her neck.
Terribly sweet perfume deafens me.
She's going to dinner alone.
That makes her even more beautiful.

I see a model's face on a brick wall.
A statue of porcelain perfection beside a violent city kill.
A city that worships flesh.


The 1st thing I ever heard was a wandering man telling his story
It was you, the grass under my bare feet
The campfire in the dead of the night
The heavenly black of sky and sea

It was us
Roaming the rainy roads, combing the gilded beaches
Waking up to a new gallery of wonders every morn
Bathing in places no-one's seen before
Shipwrecked on some matt-painted island
Clad in nothing but the surf - beauty's finest robe

Beyond all mortality we are, swinging in the breath of nature
In early air of the dawn of life
A sight to silence the heavens

I want to travel where life travels, following its permanent lead
Where the air tastes like snow music
Where grass smells like fresh-born Eden
I would pass no man, no stranger, no tragedy or rapture
I would bathe in a world of sensation
Love, Goodness, and Simplicity
( While violated and imprisoned by technology )

The thought of my family's graves was the only moment I used to experience true love
That love remains infinite, as I'll never be the man my father is

How can you "just be yourself" when you don't know who you are?
Stop saying "I know how you feel"
How could anyone know how another feels?

Who am I to judge a priest, beggar, whore, politician, wrongdoer?
I am, you are, all of them already

Dear child, stop working, go play
Forget every rule
There's no fear in a dream

"Is there a village inside this snowflake?"
- a child asked me
"What's the color of our lullaby?"

I've never been so close to truth as then
I touched its silver lining

Death is the winner in any war
Nothing noble in dying for your religion
For your country
For ideology, for faith
For another man, yes

Paper is dead without words
Ink idle without a poem
All the world dead without stories
Without love and disarming beauty

Careless realism costs souls

Ever seen the Lord smile?
All the care for the world made Beautiful a sad man?
Why do we still carry a device of torture around our necks?
Oh, how rotten your pre-apocalypse is
All you bible-black fools living over nightmare ground

I see all those empty cradles and wonder
If man will ever change

I, too, wish to be a decent manboy but all I am
Is smoke and mirrors
Still given everything, may I be deserving

And there forever remains that change from G to Em



Thanks for Nightwish with this song :>

Monday, October 17, 2011

Nơi đảo xa



Nhạc: Thế Song


Nơi anh đến là biển xa, nơi anh tới ngoài đảo xa
Từ mảnh đất quê ta giữa đại dươ­ng mang tình thươ­ng quê nhà
Đây Trường Sa, kia Hoàng Sa
Ngàn bão tố phong ba đã vượt qua v­ượt qua

Lướt sóng con tầu mang tín hiệu trong đất liền
Mắt em nhìn theo con tầu đi xa mãi
Giữa nơi biển khơi đang nở rộ ngàn bông hoa san hô
Cánh hoa đỏ thắm bao hy vọng anh gửi về tặng em
Ơi ánh mắt em yêu như­ biển xanh như­ trời xanh trong nắng mới
Nhớ cả dáng hình em mùa gặt nặng đôi vai
Sóng ru mối tình đời thủy thủ càng thêm vui
Đây con tầu xa khơi, đây con tầu xa khơi

Vầng trăng sáng trên biển xa, vầng trăng sáng ngoài đảo xa
Vẳng nghe tiếng ngân nga ru lòng ta bao lời ca quê nhà
Đây Trường Sa, kia Hoàng Sa
Quần đảo đứng hiên ngang thiên hùng ca ngời sáng

Tháng năm con tầu quen sóng cả quen gió biển
Nước da màu nắng tươi giòn thêm ánh thép
Cánh chim hải âu bốn mùa về cùng anh vui ra khơi
Cánh hoa biển trắng là kỷ niệm anh gửi về tặng em
Đây súng khoác trên vai trăng đầu núi soi hình anh đang đứng đó
Nhắn về đất liền cánh buồm chở đầy tin yêu
Sóng ru mối tình đời thủy thủ càng thêm yêu
Đây con tầu xa khơi, đây con tầu xa khơi

Bài hát hay quá. Cám ơn nhạc sỹ, và ca sỹ

Sunday, October 16, 2011

Dance with my father




Back when I was a child, before life removed all the innocence
My father would lift me high and dance with my mother and me and then
Spin me around 'til I fell asleep
Then up the stairs he would carry me
And I knew for sure I was loved

If I could get another chance, another walk, another dance with him
I'd play a song that would never, ever end

How I'd love, love, love
To dance with my father again

When I and my mother would disagree
To get my way, I would run from her to him
He'd make me laugh just to comfort me
Then finally make me do just what my mama said
Later that night when I was asleep
He left a dollar under my sheet

Never dreamed that he would be gone from me

If I could steal one final glance, one final step, one final dance with him
I'd play a song that would never, ever end
'Cause I'd love, love, love
To dance with my father again
Sometimes I'd listen outside her door
And I'd hear how my mother cried for him
I pray for her even more than me

I pray for her even more than me

I know I'm praying for much too much
But could you send back the only man she loved
I know you don't do it usually
But dear Lord she's dying
To dance with my father again
Every night I fall asleep and this is all I ever dream


Khi con còn nhỏ, những tháng ngày ngây thơ tươi đẹp

Cha thường nhẹ nhàng nhấc bổng con lên
Cùng với mẹ, cả gia đình ta xoay tròn trong điệu nhạc
Cho đến khi con say sưa chìm vào giấc ngủ
Và cha sẽ bồng con lên lầu trên
Và con chắc rằng mình chẳng thể nào được yêu thương nhiều hơn thế...

Nếu như con có cơ hội để một lần nữa được cùng dạo bước, cùng khiêu vũ với cha
Con sẽ mở một điệu nhạc mà ko bao giờ, ko bao giờ kết thúc
Con mong mỏi biết bao, ước ao biết bao

Để lại được khiêu vũ cùng cha

Khi con và mẹ bất đồng về chuyện gì đó
Con lại chạy đến bên cha mong tìm thêm "đồng minh" ()
Và cha sẽ làm cho con cười, cười mãi, quên hết mọi ấm ức
Rồi cuối cùng sẽ khiến con làm theo lời mẹ
Đêm hôm đó, khi con đã ngủ
Cha đến bên giường, và đặt một đồng tiền dưới gối con
Chẳng bao giờ con có thể nghĩ rằng

Một ngày nào đó cha sẽ đi xa, xa mãi

Nếu như con có thể giành lấy một phút giây nào đó
Để được nhìn thấy cái chớp mắt cuối cùng, bước nhảy cuối cùng, và điệu khiêu vũ cuối cùng
Với cha...
Con sẽ bật một bản nhạc ko hề có kết thúc
Bởi con rất yêu, yêu nhiều lắm
Những giây phút được khiêu vũ cùng với cha


Thỉnh thoảng con lắng nghe ngoài cửa phòng mẹ
Nghe tiếng mẹ khóc khi nhớ về cha
Thế là con cầu nguyện cho mẹ, cầu nguyện còn nhiều hơn cho chính mình nữa
Con biết mình đã cầu nguyện nhiều lắm, quá nhiều nữa là khác

Nhưng Chúa ơi, Ngài hãy giúp chúng tôi đi
Hãy đưa trở lại cuộc sống người mà mẹ yêu quí nhất
Đó ko phải là điều Ngài hay làm, con biết chứ
Nhưng Ngài có thấy ko?

Mẹ sẵn sàng đánh đổi tất cả
Chỉ để được khiêu vũ với cha một lần nữa
Và đó cũng chính là giấc mơ của con hàng đêm...
Khiêu vũ cùng cha...


Thân tặng 2 người bạn.

Tuesday, October 11, 2011

Error: update-initramfs: failed for /boot/initrd.img-2.6.38-11-generic















Fix:
$ sudo gedit /etc/initramfs-tools/update-initramfs.conf
where is said "update_initramfs=yes" I putted update_initramfs=no. Saved the file and ran "sudo dpkg --configure -a" once again.


source: http://ubuntuforums.org/showthread.php?t=1149445
many thanks

Đôi dòng tưởng nhớ thi sĩ Bùi Giáng


Tác giả: Nguyên Quang


Trong cái cõi phù du của Bùi thi sĩ thì 13 năm cũng có thể chỉ là một sát na chớp nhoáng, nhưng trong cõi đời này thì đó quả là một khoảng một thời gian khá dài từ ngày ông mất. Nó đủ dài để người ta quên đi một điều gì đó. Tuy nhiên, đối với những người yêu thơ Bùi Giáng, những gì thuộc về ông thì đã hằn trong tâm trí.

Bùi Giáng là một thiên tài không định nghĩa được; ông phiêu bồng trong một thế giới thơ với thể điệu ngôn ngữ vừa hồn nhiên vừa kỳ lạ dị thường rất độc đáo. Những chuyển tải trong thơ ông không giống bất cứ một nhà thơ nào trên thi đàn Việt Nam. Ông cũng có một phong cách làm thơ dị biệt, có thể làm thơ bất cứ ở đâu và trên bất cứ loại giấy mực nào, không cần cầu danh cầu lợi.

Trong thơ ông chan chứa nỗi niềm tha thiết yêu thương cõi người ta với một tình yêu phụng hiến và khai mở đường về cố quận; về cõi miền tâm tình thanh thoát mà ông gọi là cõi miền nguyên xuân:

Xin chào nhau giữa con đường

Mùa xuân phía trước miên trường phía sau

Người viết bài này được vinh dự đôi lần tiếp xúc và sống với nhà thơ mà thiên hạ gọi là điên. Xin ghi lại đây những vần thơ được ông đọc tặng và ngẫu hứng viết tặng. Vẫn hằn trong tôi hình ảnh một thi sĩ với thể điệu tót vời trong đời sống cũng như trong tác phẩm, mở ra cho hậu thế một cõi thơ kỳ lạ miên trường:

Trong sâu thẳm của mỗi tâm hồn chúng ta chắc cũng có một lần nào đó đã được hạnh ngộ với những vần thơ đầy huyền ảo nhưng rất bình dị của Tiên sinh. Và tôi vẫn xem sự vui đùa nhảy múa ca hát hồn nhiên của ông như một sự phụng hiến cao cả với đời sống này:

Ông điên vui vẻ thập thành

Các con tỉnh táo mà đành buồn thiu

Và nghiệm ra từ đó một điều chi, đã có một thời gian tôi về với núi rừng để nằm nghe lại lời thơ của Tiên sinh năm nào vẫn còn vang mãi:

Mang về Đà Nẵng đọc chơi

Bùi Giáng bê bối chốn nơi nở niềm

...

Mang đi khắp chốn khắp nơi

Hồng một giọt máu tơi bời tủy xương

Thi sĩ Bùi Giáng. Ảnh: khoavanhoc-ngonngu.edu.vn


Ngoài kia mặt trời đang lên, chiếu áng sáng rực vàng trên đỉnh núi. Tôi nhớ mình đang ngồi trong một căn lều giữa núi rừng hoang vu, tràn đầy những âm thanh kỳ bí và huyền nhiệm của thiên nhiên; con kiến đang bò, con bướm đang bay, chuồn chuồn đang lượn, trên muôn màu sắc rực rỡ của hoa ngàn. Tôi chợt thấy ra sống và chết là hình ảnh thu nhỏ của một hôn phối, bắt nguồn từ một tình yêu bất tuyệt. Và từ đó, sự sống và chết của con người và vạn vật muôn đời đã có mối giao thoa bất tận. Chúng ta sẽ không bao giờ sống trọn vẹn và đích thực nếu chúng ta chưa một lần chết như Bùi tiên sinh đã một lần chết:

Kể từ lạc bước chân ra

Chết từ sơ ngộ màu hoa trên ngàn

Nhưng trong chúng ta có mấy ai đã chết đi từ lúc vừa sinh ra như trong thơ và cuộc sống của chính Tiên sinh đã thể hiện:

Tôi từng vô tận tâm linh

Về đây uống rượu một mình em ơi

Những ngày tháng ở Sài Gòn, tôi và Miên Long (một đồng hữu xứ Quảng) đã hân hạnh được Tiên sinh nở niềm đón tiếp. Và từ những tao phùng kỳ lạ đó, chúng tôi đã được cùng nghe ra hương vị ngọt ngào của cố quận Quảng Nam yêu dấu:

Xênh xang phố thị Sài Gòn

Điu hiu ba cõi linh hồn gặp nhau

Nguồn mưa đổ xuống giang đầu

Hồi sinh xứ Quảng giữa màu nguyên xuân (Miên Long)

Vâng, một Quảng Nam yêu dấu đã hồi sinh lại trong đôi mắt sáng ngời của Bùi thi sĩ:

Đề huề tương ứng Quảng Nam

Duy Xuyên xứ cũ, hòa đàm tay ba

Long, Quang, Bùi Giáng và và

Ngẫu nhiên tao ngộ ruột rà Kim Cương

Tôi và Miên Long đọc thơ cho Tiên sinh nghe, và được ông mở lòng ra tặng thơ trong những quán cóc ven ngoại ô của Sài Gòn, dưới những gốc cây bên đường, trước sân chùa, trên chiếc võng đu đưa dưới những nhánh vú sữa trước hiên hiên nhà, hay trên chiếc xích lô bồng bềnh trên những con đường đầy khói bụi:

Nguyên Quang xứ Quảng xứ Quảng Đà Thành

Từ vô biên tế tam bành chịu chơi

Quảng Nam Đà Nẵng tuyệt vời

Ngẫu nhiên vô lượng đất trời ra xuân

Những hình bóng và thủ bút này, tôi vẫn còn giữ bên mình như một kỷ niệm thiêng liêng. Lần sau cùng ở Sài Gòn, Tiên sinh đã viết cho tôi:

Em vui vô tận thiên thần

Anh buồn vô lượng bất thần trở cơn

Phải chăng cái cuộc "bất thần trở cơn" ấy chính là dự báo cho một sự ra đi, một sự chia tay vĩnh viễn giữa tôi và Tiên sinh ngày đó. Và tôi đã không còn dịp nào được tương phùng với Tiên sinh nữa. Nhưng những hình ảnh và lời thơ của Người vẫn huyền ảo, lung linh, sáng ngời trong thể điệu bất tuyệt tồn sinh trong tâm hồn tôi.

Để rồi hôm nay, kỷ niệm ngày Người về với cõi vĩnh hằng, những dòng này được viết lên từ một kẻ hậu thế lang thang và sẽ còn mãi lang thang trên dặm đường mà Người đã từng lang thang, từng đùa vui nhảy múa ca hát.

Tiễn người về cõi vĩnh hằng

Thiên thu còn mãi vầng trăng sáng ngời

Người về núi cũ ngàn khơi

Tôi còn ở lại hát lời phù vân (Nguyên Quang)

Những câu thơ xin như nén hương lòng, thắp lên giữa nỗi niềm hoài nhớ Bùi tiên sinh.

Theo: http://tuanvietnam.vietnamnet.vn/2011-10-10-doi-dong-tuong-nho-thi-si-bui-giang
xin cám ơn tác giả

Friday, October 7, 2011

Rest In Peace Steve




CREED - With Arms Wide Open


Well I just heard the news today
Seems my life is gonna change
I close my eyes, begin to pray
Then tears of joy stream down my face

With arms wide open
Under the sunlight
Welcome to this place
I'll show you everything
With arms wide open

With arms wide open

Well I don't know if I'm ready
To be the man I have to be
I take a breath, I take her by my side
We stand in awe, we've created life


With arms wide open
Under the sunlight
Welcome to this place
I'll show you everything
With arms wide open
Now everything has changed
I'll show you love
I'll show you everything
With arms wide open

With arms wide open
I'll show you everything oh yeah
With arms wide open

If I had just one wish only one demand
I hope he's not like me I hope he understands
That he can take this life and hold it by the hand
And he can greet the world with arms wide open

With arms wide open
Under the sunlight
Welcome to this place
I'll show you everything
With arms wide open
Now everything has changed
I'll show you love
I'll show you everything
Wth arms wide open

With arms wide open
I'll show you everything oh yeah
With arms wide open

Thanks!

Thursday, August 25, 2011

Đọc hay không đọc: ấy mới là vấn đề

Lý Lan





Tựa bài này hiển nhiên nhái theo câu văn trích trong vở kịch Hamlet của Shakespeare: “To be or not to be, that is the question.” Động từ to be của tiếng Anh giống như chữ “Đạo” của Lão Tử, giải nghĩa thì không còn nghĩa nữa. Chẳng hạn nói “to be rich” có thể dịch “để giàu”, nói “to be alone” có thể hiểu “một mình”, còn “to be myself” có nghĩa “là chính tôi”.

Nguyên câu trích trên nếu dịch “là hay không là, đó là câu hỏi” nghe nôm na cạn nghĩa, giống như câu do máy dịch tự động của Google: “được hay không được, đó là câu hỏi”. Có người dịch “tồn tại hay không tồn tại, đó mới là vấn đề”, nghe có vẻ cao siêu, bác học. Càng cao siêu hơn khi người ta thay vế trước với những từ “hiện hữu hay không hiện hữu”, “hữu hay vô”, “hiện sinh hay phi hiện sinh”, “đạo hay bất đạo”,… Trải mấy trăm năm, câu tiếng Anh được trích nhiều nhất thế giới ấy, cũng bị nhái nhiều vô kể. “Yêu hay không yêu, đó mới là câu hỏi.” “Sống hay chết, đó mới là vấn đề.” Đại khái vậy. Khi người ta phân vân lưỡng lự như Hamlet.

Đọc hay không đọc? Đó không phải là câu hỏi khi tôi còn trẻ. Trong ngôn ngữ của cha tôi, đọc sách đồng nghĩa với học, là hành động hay ho nhất của con người, đặc biệt cần thiết nếu muốn làm người tử tế tốt đẹp, vì “kẻ sĩ ba ngày không đọc sách, soi gương mặt mũi khó coi”. Vì vậy mỗi lần thấy tôi cầm sách nhìn vào thì cha tôi để tôi yên, dù ông định rầy rà hay muốn sai bảo tôi làm gì đó. Tôi biết tận dụng điều đó, lúc nào cũng kè kè cuốn sách để trốn việc, đôi khi trốn cả thực tế. Từ tuổi nhỏ tôi thấy cái lợi trước mắt của việc đọc sách, rồi đinh ninh đến lớn là đọc sách có lợi, không bổ bề ngang cũng bổ bề dọc, không học được điều hay thì cũng trốn được việc nặng. Công bằng mà nói, giả bộ đọc riết rồi cũng đọc hiểu được chút đỉnh, gặp sách hay đọc cũng thích thú, đọc say sưa rồi thành thói quen đọc thực.

Nhớ ông Sơn Nam. Khi gặp ông lần đầu tôi còn là một sinh viên, đầy lòng ngưỡng mộ các bậc văn nhân lão thành, và rất hăm hở bộc lộ mình như một tài năng trẻ có triển vọng. Nên khi trò chuyện với ông tôi nói mình đã đọc sách này báo nọ, và mong ông có lời khuyên về việc đọc. Ông bảo “Bây giờ không nên đọc gì nữa, để giữ vệ sinh tinh thần.” Tôi đã phân vân lúc đó và ngẫm đi nghĩ lại câu hỏi ấy nhiều năm, đọc hay không đọc. Khi quen biết ông Sơn Nam nhiều hơn, tôi khẳng định điều mình nghi ngờ: Ông nói vậy, nhưng ông đọc rất nhiều. Cho đến tận lúc trên tám mươi tuổi, nằm liệt trên giường bệnh, ông vẫn đọc mỗi ngày, có thể như một thói quen, hay một nhu cầu. Chẳng lẽ ông là người già mà xúi dại người trẻ? Hay ông biết tỏng mấy đứa trẻ và hãnh tiến có xu hướng làm ngược lại hay làm quá đi lời khuyên của người già, nên “nói vậy mà không phải vậy”?

Nhưng đến giờ thì tôi ngẫm ra: ông nói vậy và ngụ ý đúng như vậy. Có những thời mà thông tin bị nhiễu đến nỗi, đối với những người chưa nhiều kinh nghiệm đọc, chưa đủ bản lĩnh phê phán gạn lọc, đọc ít tốt hơn đọc nhiều, đừng đọc còn tốt hơn đọc. Và “kỷ nguyên thông tin” chúng ta đang sống là một thời như vậy. Thì còn phân vân lưỡng lự gì nữa? Đừng đọc quách cho lành. Những gã sáng say chiều xỉn tối đánh bạc nhan nhản từ nông thôn đến thành thị đã bắt con bỏ học đi bán vé số chẳng hóa ra là những người sáng suốt thức thời? Cái khó là thông tin ngày nay không chỉ được truyền bằng chữ, mà còn bằng hình ảnh âm thanh sống động hấp dẫn. Người ta dầu bưng tai bịt mắt mà sống giữa đời này cũng không thể gạt bỏ hoàn toàn ảnh hưởng của các loại truyền thông, nhất là những thứ tuyên truyền hay quảng cáo thương mại trá hình gọi là PR chẳng hạn. Đọc hay không đọc đều có thể bị ô nhiễm tinh thần.

Phương tiện nghe nhìn ngày nay nhờ hỗ trợ của kỹ thuật tác động sâu và rộng hơn chữ nghĩa, mức độ gây ô nhiễm văn hóa đối với xã hội lớn hơn sách báo đơn thuần. Khổ một cái là “môi trường văn hóa” ở xứ phát triển và đang hăm hở phát triển hầu như được định dạng bằng các phương tiện truyền thông, chủ yếu bằng nghe nhìn. Một xã hội càng kém thông tin càng bị coi là tụt hậu, người thiếu thông tin dễ bị o ép, lợi dụng, bóc lột. Nên Nhà nước nào cũng phải dạy dân biết chữ để đọc và biết sử dụng các phương tiện truyền thông khác để gạn lọc thông tin, tích lũy tri thức, hình thành quan điểm, biết phê phán hay sử dụng cái mình đọc, nghe, nhìn. Thông tin ngày nay là hàng hóa, có thật có giả, và đủ loại chất lượng. Thông tin cũng là cơ hội, thậm chí là tư bản, và còn là vũ khí. Xông pha trong trận mạc thương trường, chính trị, khoa học, nghệ thuật, người không có vũ khí hay vũ khí kém, vũ khí dỏm, thì hậu quả chỉ có từ chết tới bị thương.

Vậy chẳng phải là cần đọc, nghe, nhìn càng nhiều càng tốt? Tôi vẫn còn đầy nghi vấn như Hamlet. Sản phẩm văn hóa cũng giống thực phẩm bây giờ, tiềm ẩn đủ thứ chất độc hại, thức ăn càng có vẻ ngon lành bổ dưỡng, quảng bá rầm rộ, càng chứa nhiều nguy cơ đối với sức khỏe. Nhưng chẳng lẽ không ăn? Mà không lẽ chỉ ăn gạo lức muối mè? Ăn cái gì, như thế nào, đến mức độ nào, là câu trả lời riêng của mỗi người. Chứ ăn hay không ăn, đó không phải là câu hỏi.

Đọc hay không đọc, ấy mới là câu hỏi. Trong xã hội nước ta ngày nay, chắc không khó cho mỗi người tìm thấy quanh mình tấm gương của kẻ “thành đạt” (nổi tiếng, giàu có) mà không đọc. Nhưng sao trong xã hội người ta (Nhật, Mỹ, Âu, Úc, Ấn, Hoa) những người có ảnh hưởng (không chỉ trong cộng đồng của họ, mà với cả thế giới, và có thể vượt ra ngoài Trái đất) đều làm sách?
 
Xin cám ơn!

Friday, August 12, 2011

Understanding Man-In-The-Middle Attacks - Part 4: SSL Hijacking

Introduction

So far we have discussed ARP cache poisoning, DNS spoofing, and session hijacking on our tour of common man-in-the-middle attacks. In this article we are going to examine SSL spoofing, which is inherently one of the most potent MITM attacks because it allows for exploitation of services that people assume to be secure. I will begin by discussing some theory behind SSL connections and what makes them secure, and then follow by showing how that can be exploited. As always, the last section of the article is reserved for detection and prevention tips.

SSL and HTTPS

Secure Socket Layers (SSL), or Transport Layer Security (TLS) in its more modern implementation, are protocols designed to provide security for network communication by means of encryption. This protocol is most commonly associated with other protocols to provide a secure implementation of the service that protocol provides. Examples of this include SMTPS, IMAPS, and most commonly HTTPS. The ultimate goal is to create secure channels over insecure networks.

In this article we will focus on attacking SSL over HTTP, known as HTTPS, because it is the most common use of SSL. You may not realize it but you probably use HTTPS daily. Most popular e-mail services and online banking applications rely on HTTPS to ensure that communications between your web browser and their servers in encrypted. If it weren’t for this technology then anybody with a packet sniffer on your network could intercept usernames, passwords, and anything else that would normally be hidden.

The process used by HTTPS to ensure data is secure centers around the distribution of certificates between the server, the client, and a trusted third party. As an example let’s say that a user is trying to connect to a Gmail e-mail account. This involves a few distinct steps, which are briefly simplified in Figure 1.
                                      Figure 1: The HTTPS Communication Process

The process outlined in Figure 1 is by no means detailed, but basically works out as follows:
    1. The client browser connects to http://mail.google.com on port 80 using HTTP.

    2. The server redirects the client HTTPS version of this site using an HTTP code 302 redirect.

    3. The client connects to https://mail.google.com on port 443.

    4. The server provides a certificate to the client containing its digital signature. This certificate is used to verify the identity of the site.

    5. The client takes this certificate and verifies it against its list of trusted certificate authorities.

    6. Encrypted communication ensues.

If the certificate validation process fails then that means the website has failed to verify its identity. At that point the user is typically presented with a certificate validation error and they can choose to proceed at their own risk, because they may or may not actually be communicating with the website they think they are talking to.

Defeating HTTPS

This process was considered highly secure up until several years ago when an attack was published that allowed for successful hijacking of the communication process. This process doesn’t involve defeating SSL itself, but rather, defeating the “bridge” between non-encrypted and encrypted communications.

Moxie Marlinspike, a well known security researcher hypothesized that in most cases, SSL is never encountered directly. That is, most of the time an SSL connection is initiated through HTTPS it is because someone was redirected to an HTTPS via an HTTP 302 response code or they click on a link that directs them to an HTTPS site, such as a login button. The idea is that if you attack the transition from an unsecured connection to a secure one, in this case from HTTP to HTTPS, you are attacking the bridge and can man-in-the-middle an SSL connection before it even occurs. In order to do this effectively, Moxie created the SSLstrip tool, which we will use here.

The process is fairly straightforward and is reminiscent of some of the attacks we’ve completed in previous articles. It is outlined in Figure 2.



                                     Figure 2: Hijacking HTTPS Communication

The process outlined in Figure 2 works like this:

1. Traffic between the client and web server is intercepted.

2. When an HTTPS URL is encountered sslstrip replaces it with an HTTP link and keeps a mapping of the changes.

3. The attacking machine supplies certificates to the web server and impersonates the client.

4. Traffic is received back from the secure website and provided back to the client.

The process works quite well and as far as the server is concerned it is still receiving the SSL traffic it wants to, it doesn’t know the difference. The only visible difference in the user experience is that the traffic will not be flagged as HTTPS in the browser, so a cognizant user will be able to notice that something is amiss.

Using SSLStrip

The program that makes all of this happen is called SSLstrip and is available from here. This program only runs on Linux so you can download and install it yourself, or if you don’t want to deal with the hassle of installing it yourself you can download and run Backtrack 4 which has it preinstalled.

Once you have access to SSLstrip there are a few perquisite tasks that must be done. First of all, the Linux distribution you are using must be configured for IP forwarding. To do this, enter the command echo "1" > /proc/sys/net/ipv4/ip_forward into a shell.
                              Figure 3: Enabling IP Forwarding

Once this has been done, we have to force all HTTP traffic that is intercepted to be routed to the port that SSLstrip will be listening on. This is done by modifying the iptables firewall configuration. This is done by using the command iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port .
                      Figure 4: Configuring IPTables to properly route HTTP traffic

Of course, you will replace with a random port of your choice. After these items have been configured we can run sslstrip and configure it to listen on the port specified with the command sslstrip -l .
                                              Figure 5: Using sslstrip

The last step in this process is to configure ARP spoofing to intercept the traffic of the target host. We did this using Cain and Abel in Windows previously, but in this case we will use the arpspoof utility, which is built into Backtrack 4. The command to do this is arpspoof -i -t .
                                           Figure 6: Configuring ARP Spoofing

Using this command you would substitute for the network interface you are performing these actions on (eth0, eth1, etc), for the IP address of the target client, and for the IP address of the gateway router the target is using.

Once completed you should be actively hijacking any SSL connections being established. From here you can fire up a packet sniffer and collect passwords, personally identifiable information, credit card numbers, etc from the traffic.


Defending Against SSL Hijacking

As discussed previously, SSL hijacking in this manner is virtually undetectable from there server side of the equation because as far as the server is concerned this is just normal communication with a client. It has no idea that it is communicating to a client by proxy. Luckily, there are a few things that can be done from the client’s perspective to detect and prevent these types of attacks.

* Ensure Secure Connections Use HTTPS - When you perform the attack described here it strips the secure aspect of the connection away, which is visible in the browser. This means that if you log into your online banking and notice that it is just a standard HTTP connection there is a good chance something is wrong. Whatever browser you choose to use, you should ensure you know how to distinguish secure connections from insecure ones.

* Save Online Banking for Home - The chance of somebody intercepting your traffic on your home network is much less than on your work network. This isn’t because your home computer is more secure (let’s face it, its probably less secure), but the simple matter of fact is that if you only have one or two computers at home, the most you have to worry about in terms of session hijacking is if your 14 year old son starts watching hacking videos on YouTube. On a corporate network you don’t know what is going on down the hall or in the branch office 200 miles away, so the potential attack sources multiply. One of the biggest targets for session hijacking is online banking, but this principal applies to anything.

* Secure your internal machines - Not to beat a dead horse, but once again, attacks like these are most commonly executed from inside the network. If your network devices are secure then there is less of a chance of those compromised hosts being used to launch a session hijacking attack.


 Source: http://www.windowsecurity.com/articles/Understanding-Man-in-the-Middle-Attacks-ARP-Part4.html
thanks!!




Understanding Man-In-The-Middle Attacks - Part 3: Session Hijacking

Introduction

In the first two articles of this series on man-in-the-middle attacks we examined ARP cache poisoning and DNS spoofing. As we have demonstrated with those examples, MITM attacks are incredibly effective and increasingly hard to detect. In the third part of this article we will examine session hijacking, which is no different. As with the previous two articles I will describe the theory behind session hijacking, demonstrate the technique in practice, and discuss detection and prevention tips.

Session Hijacking

The term session hijacking is thrown around frequently and encompasses a variety of different attacks. In general, any attack that involves the exploitation of a session between devices is session hijacking. When we refer to a session, we are talking about a connection between devices in which there is state. That is, there is an established dialogue in which a connection has been formally set up, the connection is maintained, and a defined process must be used to terminate the connection. When we talk about sessions theoretically it’s a bit confusing, so it may help to think of a session in a more practical sense.

In this article we will be talking about session hijacking through cookie stealing, which involves HTTP sessions. If you think about some of the common websites you visit that require login credentials, those are great examples of session-oriented connections. You must be authenticated by the website with your username and password to formally set up the session, the website maintains some form of session tracking to ensure you are still logged in and are allowed to access resources (often done with a cookie), and when the session is ending the credentials are cleared and the session ends. This is a very specific example of a session and even though we do not always realize it, sessions are occurring constantly and most communications rely on some form of session or state-based activity.
                                              Figure 1: A normal session

As we have seen in previous attacks, nothing that goes across the network is safe and session data is no different. The principle behind most forms of session hijacking is that if you can intercept certain portions of the session establishment, you can use that data to impersonate one of the parties involved in the communication so that you may access session information. In the case of our earlier example, this means that if we were to capture the cookie that is used to maintain the session state between your browser and the website you are logging into, we could present that cookie to the web server and impersonate your connection. If that sounds too good to be true from an attackers standpoint, well….it is.
                                  Figure 2: Session Hijacking

Now that we have a little bit of theory in the books, let us delve into a practical example.

Stealing Cookies with Hamster and Ferret

In our practical scenario we will be performing a session hijacking attack by intercepting the communication of a user logging into his Gmail account. Using this intercepted communication we will impersonate that user and access the account from our attacking machine.

In order to perform this attack we will be using two tools straight out of the pet store, named Hamster and Ferret. Both tools can be downloaded from here. These are both command-line tools so the hamster folder can be extracted to an easy to get to location.

Alternatively, you can download and use Backtrack 4. BT4 is a Linux live-CD distribution designed specifically for hacking and penetration testing that comes with a myriad of preinstalled and precompiled tools, with Hamster/Ferret being two of them. You can download BT4 from here. You will then find Hamster in the /pentest/sniffers/hamster folder. The screenshot examples used in the rest of this tutorial are taken from BT4.

The first step involved in this form of session hijacking is to capture the traffic of the victim user as he browses Facebook. This traffic can actually be captured using any packet sniffing application such as TCPDump or Wireshark, but in order to capture the right packets you will need to employ a technique such as ARP cache poisoning (discussed in the first article in this series).
               Figure 3: Capturing traffic of the user browsing to Gmail

Once you have captured the traffic of the victim user browsing to Gmail you will need to save the captured file into the Hamster directory. For the purposes of this example, we have named our file victim_gmail.pcap. When that file is in place, we will use Ferret to process the file. This is done by browsing to the Hamster folder and running the command, ferret –r victim_gmail.pcap. Ferret will process the file and create a hamster.txt file that may be used by Hamster for the actual hijacking of the session.
                               Figure 4: Processing the capture file with Ferret

With our HTTP data intercepted and prepared for use, we can use Hamster to actually execute the attack. Hamster itself actually runs as a proxy that provides an interface for browsing and using stolen session cookies. In order to start the Hamster proxy you can simply execute Hamster with no command line options.

                                  Figure 5: Starting Hamster

Once executed, you will need to open your browser and configure its proxy settings to match those provided to you by the Hamster output. By default, this means that you would configure your proxy settings to use the local loopback address 127.0.0.1 on port 1234. You can access these settings in Internet Explorer by selecting Tools, Internet Options, Connections, LAN Settings, and placing a checkbox in the Use a proxy server for your LAN box.

                Figure 6: Configuring proxy settings for use with Hamster

Now that the proxy settings have been applied you can access the Hamster console in your browser by browsing to http://hamster. Hamster will use the file created by Ferret to produce a list of IP addresses for whom session information has be intercepted and display those IP address in the right pane of the browser. Our file we’ve created only contains a single IP address of the victim, so if we click that the left pane will be populated with the sessions available for hijacking.

                                          Figure 7: The Hamster GUI

We see that facebook.com is listed, and if you click that link you will be pleased to be presented with a new window that has you logged in to the victims Facebook account!

                   Figure 8: Successfully hijacked Gmail account!

Defending Against Session Hijacking

There are many different forms of session hijacking so the defenses for them can vary. Just like the other MITM attacks we’ve evaluated, session hijacking is difficult to detect and even more difficult to defend against because it’s a mostly passive attack. Unless the malicious user performs some type of obvious action when he accesses the session being hijacked, you may never know that they were there. Here are a few things you can do to better defend against session hijacking:
    *  Save Online Banking for Home - The chance of somebody intercepting your traffic on your home network is much less than on your work network. This isn’t because your home computer is more secure (let’s face it, its probably less secure), but the simple matter of fact is that if you only have one or two computers at home, the most you have to worry about in terms of session hijacking is if your 14 year old son starts watching hacking videos on YouTube. On a corporate network you don’t know what is going on down the hall or in the branch office 200 miles away, so the potential attack sources multiply. One of the biggest targets for session hijacking is online banking, but this principal applies to anything.
   *  Be Cognizant - Smart attackers will not leave any evidence that they have been in one of your secure accounts but even the most seasoned hackers make mistakes. Being aware when you are logged into session-based services can help you determine if somebody else is walking in your shadow. Keep an eye out for things that seem out of place, and pay attention to “Last Logon Time” fields to ensure everything matches up.
   *  Secure your internal machines - Once again, attacks like these are most commonly executed from inside the network. If your network devices are secure then there is less of a chance of those compromised hosts being used to launch a session hijacking attack.

Source: http://www.windowsecurity.com/articles/Understanding-Man-in-the-Middle-Attacks-ARP-Part3.html
thanks!!



Monday, July 25, 2011

Chúng ta là thế hệ lười biếng nhất?

Tác giả: DEAN OBEIDALLAH



Con người chúng ta đang là thế hệ của show truyền hình thực tế. Thay vì hành động, chúng ta chỉ ngồi xem: xem người ta hát, nhảy cùng các ngôi sao, chọn vợ/chồng, trang trí cho ngôi nhà và khuôn mặt của họ một cách thái quá, tăng cân, giảm cân, vào trại cai nghiện, bị phóng hỏa, hoặc sống sót.
Và bản tính tò mò cố hữu đang tràn lan vào cuộc sống mỗi ngày. Nhờ có Facebook, Twitter, Google +, Youtube và hàng loạt phương tiện truyền thông xã hội khác, cả thế giới giờ đây thật sự giống như một sân khấu lớn, và mỗi người chúng ta là một diễn viên trong show truyền hình thực tế của cuộc sống, đóng cả vai "ngôi sao" hay học giả tự phong.
Quan sát các sự kiện và bình luận chúng trên phương tiện truyền thông xã hội đã trở thành tín ngưỡng mới của nước Mỹ. Người ta khắc khoải chờ thông tin mới về một người nổi tiếng rơi vào thảm cảnh, một chính trị gia khác vướng vào bê bối tình dục, các phán quyết về bản án tử hình cao hơn hoặc đơn giản chỉ là một người bạn làm gì đó ngốc nghếch khiến chúng ta có thể nhanh chóng bắt đầu "vái lạy" các "ban thờ" đặt trên phương tiện truyền thông xã hội, để đưa ra quan điểm, lời đùa cợt, nhạo báng và đôi khi cũng bắt gặp những suy nghĩ sâu sắc.
Trong quá khứ, người ta thuật lại việc họ đang ở đâu khi một sự kiện lịch sử xảy ra, ví dụ như ngày tổng thống Kennedy bị ám sát, về vụ nổ tàu con thoi trong không gian hay vụ tấn công khủng bố ngày 11/9. Trong tương lai, chúng ta sẽ gợi lại lịch sử khi chúng ta tweet, đăng bài hoặc đọc về tin lịch sử đó trên các phương tiện thông tin xã hội.
Vâng, điều đó thật hài hước, nhưng có một vấn đề khiến tôi ngày càng trăn trở: Có phải chúng ta đang trở thành thế hệ lười biếng nhất?
Có phải truyền thông xã hội đang trở thành thứ thuốc phiện của quần chúng, quyến rũ chúng ta trở thành những con người trì trệ, khiến chúng ta tin một cách đơn giản rằng bởi vì chúng ta đã bình luận trên không gian mạng, nên theo cách nào đó chúng ta cũng thực sự tác động đến thế giới? Liệu thế hệ của chúng ta có để lại một di sản lâu dài hay chỉ là hàng triệu những dòng tweet đầy châm biếm?
Hãy nhìn vào những thế hệ đi trước: vào những năm 1940 và 1950, có một "Thế hệ vĩ đại", một thế hệ của những người thực hiện, không phải là những người-quan-sát. Bằng sự cống hiến, đạo đức nghề nghiệp và hi sinh cao cả của họ mà nước Mỹ đã trở thành một cường quốc kinh tế.
Theo sau họ là những người thuộc thế hệ của những năm 1960 và 1970, một thế hệ đã xuống đường để phản đối cuộc chiến tranh Việt Nam, và sử dụng báo chí để đấu tranh cho dân quyền, khiến chính sách đối nội đối ngoại của nước Mỹ phải thay đổi.
Đối lập với sự dấn thân của họ, nhiều người thời chúng ta chỉ tham gia đấu tranh trong chủ nghĩa trì trệ: nhấn nút "Like" (thích) trên Facebook, ký một bản kiến nghị trực tuyến, hoặc đăng lại suy nghĩ của người khác trên Twitter của mình.
Đó là một khởi đầu tốt, nhưng cần nhiều hơn thế để mang đến sự thay đổi có ý nghĩa. Hãy thử nhìn xa hơn vào cuộc cách mạng dân chủ gần đây trong các nước Ả-rập. Những người đấu tranh đã tận dụng phương tiện truyền thông, nhưng họ không chỉ đăng bình luận trên Facebook của mọi người và ngồi yên đó; mà sau đó họ còn xuống đường và mạo hiểm mạng sống để đấu tranh cho sự thay đổi. Tất cả những dòng tweet trên thế giới sẽ không thể tác động đến Tổng thống Ai Cập hoặc Tunisia đang ngồi trong phòng làm việc của mình.
Điều gì khả dĩ hơn khiến thế hệ của chúng ta sẽ xuống đường để biểu tình phản đối: một vấn đề chính trị nóng hổi hay là việc Facebook sẽ áp đặt một khoản phí sử dụng?
Tôi biết rằng trong thế giới đang ngày một phức tạp và đầy thách thức hiện nay, dường như một cá nhân không thể gây tác động đến những vấn đề đang đe dọa đất nước hoặc hành tinh, nhưng bạn có thể, và nếu bạn chọn lựa, bạn sẽ làm được.
Như tổng thống Robert F. Kennedy từng nói: "Rất ít người có đủ sự vĩ đại để thay đổi lịch sử; nhưng mỗi người chúng ta có thể hành động để thay đổi những phần nhỏ của các sự kiện; và toàn bộ những hành động đó sẽ được ghi lại trong lịch sử của thế hệ".
Tôi không cổ xúy việc ngừng sử dụng các phương tiện truyền thông xã hội, thực tế, hãy "follow" (theo dõi) tôi trên Twitter, hoặc thêm tôi vào danh sách bạn bè trên Facebook và Google+. Nhưng nếu có một vấn đề nào đó mà bạn thực sự muốn tạo nên sự khác biệt, thì cần phải làm nhiều hơn là một dòng tweet 140 ký tự  hoặc cập nhật trạng thái trên Facebook.
  • Như Nguyệt (theo CNN)


Theo: http://tuanvietnam.vietnamnet.vn/2011-07-20-chung-ta-la-the-he-luoi-bieng-nhat-
thanks!

Monday, July 11, 2011

Install LOIC for ubuntu

sudo apt-get install git-core monodevelop

mkdir ~loic
Download script http://www.4shared.com/file/rly7YCfe/loic.html
mv loic.sh /home/bhior/~loic
cd ~loic
chmod a+x loic.sh

Install LOIC
./loic.sh install

Update LOIC
./loic.sh update

Run LOIC
./loic.sh run


Source: http://remote-execution.blogspot.com/2011/04/instalacao-e-uso-do-loic-no-linux.html

Or: Install from
http://sourceforge.net/projects/loic/
https://github.com/NewEraCracker/LOIC/downloads
thanks!

Tuesday, June 21, 2011

[PDF] for Metasploit Unleashed

I had already written on this blog articles containing guides on Metasploit .

Metasploit Unleashed online course that covers all aspects of the framework, using penetration testing in the development of new exploits showing how to use individual modules.

This manual like many other divides the use of Metasploit for:


Information Gathering
Vulnerability Scanning

Writing a Simple Fuzzer
Development exploits
Client Side Exploits
MSF Post Exploitation
Meterpreter Scripting
Maintaining Access

Metasploit Unleashed is available online or is available via pdf: D

Google translate from Italy to English
Source: http://www.clshack.it/pdf-download-metasploit-unleashed.html
Download
http://www.clshack.it/wp-content/uploads/2011/06/Metsploit-Unleashed.pdf

Thanks for share! 

Friday, May 6, 2011

Understanding Man-In-The-Middle Attacks – Part2: DNS Spoofing

Continuing our look at man-in-the-middle attacks, focusing this time on another type of MITM attack called DNS spoofing.

Introduction

In the first installment of this series we reviewed normal ARP communication and how the ARP cache of a device can be poisoned in order to redirect machines network traffic through a another machine with possible malicious intent. This seemingly advanced man-in-the-middle (MITM) attack known as ARP Cache Poisoning is done easily with the right software. In this article we will discuss a similar type of MITM attack called DNS Spoofing. If you have not read the previous article on ARP Cache Poisoning then I would recommend doing so now, as this article builds upon techniques learned in that article.

DNS Spoofing

DNS spoofing is a MITM technique used to supply false DNS information to a host so that when they attempt to browse, for example, www.bankofamerica.com at the IP address XXX.XX.XX.XX they are actually sent to a fake www.bankofamerica.com residing at IP address YYY.YY.YY.YY which an attacker has created in order to steal online banking credentials and account information from unsuspecting users. This is actually done quite easily and here we will see how it works, how it is done, and how to defend against it.

Normal DNS Communication

The Domain Naming System (DNS) protocol as defined in RFC 1034/1035 is what some consider one of the most important protocols in use by the Internet. This is because DNS is the proverbial molasses that holds the bread together. In a nutshell, whenever you type in a web address such as http://www.google.com into your browser, a DNS request is made to a DNS server in order to find out what IP address that name resolves to. This is because routers and the devices that interconnect the Internet do not understand google.com, they only understand addresses such as 74.125.95.103.

A DNS server itself works by storing a database of entries (called resource records) of IP address to DNS name mappings, communicating those resource records to clients, and communicating those resource records to other DNS servers. The architecture of DNS servers throughout enterprises and the Internet is something that can be a bit complicated. As a matter of fact, there are whole books dedicated to DNS architecture. We will not cover architectural aspects or even all of the different types of DNS traffic (you can review the various DNS related RFC’s here), but we will look at a basic DNS transaction, seen in Figure 1.

                                                              Figure 1: A DNS Query and Response

DNS functions in a query/response type format. A client wishing to resolve a DNS name to an IP address sends a query to a DNS server, and the server sends the requested information in its response. From the clients’ perspective, the only two packets that are seen are this query and response.

                                               Figure 2: DNS Query and Response Packets

This scenario gets a slight bit more complex when you consider DNS recursion. Due to the hierarchical nature of the DNS structure of the Internet, DNS servers need the ability to communicate with each other in order to locate answers for the queries submitted by clients. After all, it might be fair to expect our internal DNS server to know the name to IP address mapping of our local intranet server, but we can’t expect it to know the IP address correlated with Google or Dell. This is where recursion comes into play. Recursion is when one DNS server queries another DNS server on behalf of a client who has made a request. Basically, this turns a DNS server into a client itself, seen in Figure 3.

Figure 3: A DNS Query and Response Using Recursion

Spoofing DNS

There is more than one way to skin a cat and there is definitely more than one method available for performing DNS spoofing. We will be using a technique called DNS ID spoofing.

Every DNS query that is sent out over the network contains a uniquely generated identification number that’s purpose is to identify queries and responses and tie them together. This means that if our attacking computer can intercept a DNS query sent out from a target device, all we have to do is create a fake packet that contains that identification number in order for that packet to be accepted by that target.

We will complete this process doing two steps with a single tool. First, we will ARP cache poison the target device to reroute its traffic through our attacking host so that we can intercept the DNS request, and then we will actually send the spoofed packet. The goal of this scenario is to get users on the target network to visit our malicious website rather than the website they are attempting to access. A depiction of this attack is seen in Figure 4.

                                                 Figure 4: The DNS Spoofing Attack Using the DNS ID Spoofing Method

There are a few different tools available that can be used to perform DNS spoofing. We will be using Ettercap, which has both Windows and Linux versions. You can download Ettercap from here. If you do a bit of research on this website you will find that Ettercap has a great deal of functionality beyond DNS spoofing and is commonly used in many types of MITM attacks.

If you are installing Ettercap on a Windows machine you will notice it has a GUI which works great, but for this example we will be using the command-line interface.

Prior to executing Ettercap, a bit of configuration is required. Ettercap at its core is a packet sniffer which utilizes various plug-in to do the various attacks it can perform. The dns_spoof plug-in is what will be doing the attack in this example, so we have to modify the configuration file associated with that plug-in. On a windows system, this file can be located at C:\Program Files (x86)\EttercapNG\share\etter.dns, and at /usr/share/ettercap/etter.dns. This file is fairly simple and contains the DNS records you wish to spoof. For our purposes, we would like any user attempting to go to yahoo.com to be directed to a host on the local network, so we will add the entry highlighted in Figure 5.

                                                       Figure 5: Adding a spoofed DNS record to etter.dns

These entries basically tell the dns_spoof plug-in that when it sees a DNS query for yahoo.com or www.yahoo.com (for an A type resource record) it should supply the IP address 172.16.16.100 in response. In a realistic scenario the device at 172.16.16.100 would be running some form of web server software that would present the user with the fake website.

Once the file is configured and saved we are free to execute the command string that will launch the attack. The command string uses the following options:
-T – Specifies the use of the text-based interface
-q – Runs commands in quiet mode so that captured packets are not output to the screen
-P dns_spoof – Specifies the use of the dns_spoof plug-in
-M arp – Initiates a MITM Arp poisoning attack to intercept packets between hosts
// // - Specifies the entire network as the targets of the attack

The final command string for our purposes would be:

Ettercap.exe –T –q –P dns_spoof –M arp // //

Running the command would begin the two phased attack, first poisoning the ARP cache of the devices on the network and then transmitting the fake DNS query responses.

                                               Figure 6: Ettercap actively listening for DNS queries

Once initiated, anybody attempting to access www.yahoo.com is redirected to our malicious site.

                                   Figure 7: The result of the DNS spoofing attempt from the users perspective

Defending Against DNS Spoofing

DNS spoofing is difficult to defend against due to the attacks being mostly passive by nature. Typically, you will never know your DNS is being spoofed until it has happened. What you get is a webpage that is different than what you are expecting. In very targeted attacks it is very possible that you may never know that you have been tricked into enter your credentials into a false site until you receive a call from you bank wondering why you have just purchased a new boat off the shore of Greece. That being said, there are still a few things that can be done to defend against these types of attacks:
Secure your internal machines: Attacks like these are most commonly executed from inside the network. If your network devices are secure then there is less of a chance of those compromised hosts being used to launch a spoofing attack.
Don’t rely on DNS for secure systems: On highly sensitive and secure systems that you typically won’t be browsing the Internet on its often a best practice to not use DNS. If you have software that relies on hostnames to function then those can be specified manually in the devices hosts file.
Use IDS: An intrusion detection system, when placed and deployed correctly, can typically pick up on most forms of ARP cache poisoning and DNS spoofing.
Use DNSSEC: DNSSEC is a newer alternative to DNS that uses digitally signed DNS records to ensure the validity of a query response. DNSSEC is not yet in wide deployment but has been widely accepted as “the future of DNS”. This is so much so that the United States DOD has mandated that all MIL and GOV domains begin using DNSSEC within the next year. You can read more about DNSSEC here.


Source: http://www.windowsecurity.com/articles/Understanding-Man-in-the-Middle-Attacks-ARP-Part2.html
thanks !!

Monday, April 25, 2011

Understanding Man-in-the-Middle Attacks – ARP Cache Poisoning (Part 1)

Author: Chris Sanders
Company: SPAWAR


The first part of an article series on some of the most widely used forms of MITM attacks, including ARP Cache Poisoning, DNS Spoofing, HTTP session hijacking, passing the hash and more.

Introduction

One of the most prevalent network attacks used against individuals and large organizations alike are man-in-the-middle (MITM) attacks. Considered an active eavesdropping attack, MITM works by establishing connections to victim machines and relaying messages between them. In cases like these, one victim believes it is communicating directly with another victim, when in reality the communication flows through the host performing the attack. The end result is that the attacking host can not only intercept sensitive data, but can also inject and manipulate a data stream to gain further control of its victims.
In this series of articles we will examine some of the most widely used forms of MITM attacks including ARP cache poisoning, DNS spoofing, HTTP session hijacking, passing the hash, and more. As you will mostly find in the real world, most victim machines are Windows-based hosts. That being the case, this series of articles will focus entirely on MITM exploitation of hosts running versions of Windows. When possible, attacks will also be performed from Windows based hosts. In cases when there are no tools available for the attack being presented we will be utilizing Backtrack Linux 4, downloadable as a live-CD or a virtual machine from here.

ARP Cache Poisoning

n the first article of this series we will take a look at ARP cache poisoning. One of the oldest forms of modern MITM attack, ARP cache poisoning (sometimes also known as ARP Poison Routing) allows an attacker on the same subnet as its victims to eavesdrop on all network traffic between the victims. I’ve deliberately chosen this as the first attack to examine because it is one of the simplest to execute but is considered one of the most effective once implemented by attackers.

Normal ARP Communication

The ARP protocol was designed out of necessity to facilitate the translation of addresses between the second and third layers of the OSI model. The second layer, or data-link layer, uses MAC addresses so that hardware devices can communicate to each other directly on a small scale. The third layer, or network layer, uses IP addresses (most commonly) to create large scalable networks that can communicate across the globe. The data link layer deals directly with devices connected together where as the network layer deals with devices that are directly connected AND indirectly connected. Each layer has its own addressing scheme, and they must work together in order to make network communication happen. For this very reason, ARP was created with RFC 826, “An Ethernet Address Resolution Protocol”.
                                       Figure 1: The ARP Communication Proces

The nitty gritty of ARP operation is centered around two packets, an ARP request and an ARP reply. The purpose of the request and reply are to locate the hardware MAC address associated with a given IP address so that traffic can reach its destination on a network. The request packet is sent to every device on the network segment and says “Hey, my IP address is XX.XX.XX.XX, and my MAC address is XX:XX:XX:XX:XX:XX. I need to send something to whoever has the IP address XX.XX.XX.XX, but I don’t know what their hardware address is. Will whoever has this IP address please respond back with their MAC address?” The response would come in the ARP reply packet and effectively provide this answer, “Hey transmitting device. I am who you are looking for with the IP address of XX.XX.XX.XX. My MAC address is XX:XX:XX:XX:XX:XX.” Once this is completed the transmitting device will update its ARP cache table and the devices are able to communicate with one another.

Poisoning the Cache

ARP cache poisoning takes advantage of the insecure nature of the ARP protocol. Unlike protocols such as DNS that can be configured to only accept secured dynamic updates, devices using ARP will accept updates at any time. This means that any device can send an ARP reply packet to another host and force that host to update its ARP cache with the new value. Sending an ARP reply when no request has been generated is called sending a gratuitous ARP. When malicious intent is present the result of a few well placed gratuitous ARP packets used in this manner can result in hosts who think they are communicating with one host, but in reality are communicating with a listening attacker.
                           Figure 2: Intercepting Communication with ARP Cache Poisoning

Using Cain & Abel

Let us take the given scenario and take it from theory to reality. There are a few different tools that will perform the necessary steps to poison the ARP cache of victim machines. We will use the popular security tool Cain & Abel from Oxid.it. Cain & Abel does quite a few things beyond ARP cache poisoning and is a very useful tool to have in your arsenal. The installation of the tool is pretty clear cut so I won’t go through that here.

Before beginning you need to collect some additional information. This includes the network interface you wish you to use for the attack, and the two IP addresses of your communicating victims.

When you first open Cain & Abel, you will notice a series of tabs near the top of the window. For our purposes, we’ll be working in the Sniffer tab. When you click this tab, you will see an empty table. In order to fill this table you will need to activate the program’s built-in sniffer and scan your network for hosts.
                                        Figure 3: Cain and Abel’s Sniffer Tab

Click the second icon on the toolbar, which resembles a network card. The first time you do this you will be asked to select the interface you wish to sniff. This interface should be the one that is connected to the network you will be performing your ARP cache poisoning on. Once you’ve selected this interface, click OK to activate Cain & Abel’s built-in sniffer. At this point the toolbar icon resembling a network card should be depressed. If it isn’t, do so now. To build a list of available hosts on your network, click the icon that resembles a plus (+) symbol on the main toolbar, and click OK.

                                                   Figure 4: Scanning for Hosts

The once-empty grid should now be filled with a list of all the hosts on your attached network, along with their MAC addresses, IP addresses, and vendor identifying information. This is the list you will work from when setting up your ARP cache poisoning.

At the bottom of the program window, you will see a set of tabs that will take you to other windows under the Sniffer heading. Now that you have built your host list, you will be working from the APR tab. Switch to the APR window by clicking the tab.

Once in the APR window, you are presented with two empty tables: an upper and a lower one. Once you set them up, the upper table will show the devices involved in your ARP cache poisoning, and the lower table will show all communication between your poisoned machines.

Continue setting up your ARP poisoning by clicking the icon resembling the plus (+) symbol on the program’s standard toolbar. The window that appears has two selection columns side by side. On the left side, you will see a list of all available hosts on your network. Click the IP address of one of your victims. This will result in the right window showing a list of all hosts in the network, omitting the IP address you just selected. In the right window, click the IP address of the other victim, and click OK.
                                      Figure 5: Selecting Victim Hosts for Poisoning

The IP addresses of both devices should now be listed in the upper table in the main application window. To complete the process, click the yellow-and-black radiation symbol on the standard toolbar. This will activate Cain & Abel’s ARP cache poisoning features and allow your analyzing system to be the middleman for all communications between the two victims. If you are curious to see what is happening behind the scenes try installing Wireshark and listen to the interface when you enable poisoning. You will see a flurry of ARP traffic to both hosts and immediately begin seeing the communication between them.
                                    Figure 6: ARP Traffic Injection

When you are finished, simply click the yellow-and-black radiation symbol again to stop ARP cache poisoning.

Defending Against ARP Cache Poisoning

Looking at ARP cache poisoning from the defenders standpoint we are at a bit of a disadvantage. The ARP process happens in the background with very little ability to be controlled directly by us. There is no catch all solution, but proactive and reactive stances can be taken if you are concerned about ARP cache poisoning on your network.


Securing the LAN

ARP Cache Poisoning is only a viable attack technique when attempting to intercept traffic between two hosts on the same local area network. The only reason you would have to fear this is if a local device on your network has been compromised, a trusted user has malicious intent, or someone has managed to plug an un-trusted device into the network. Although we too often focus the entirety of our security efforts on the network perimeter, defending against internal threats and having a good internal security posture can help eliminate the fear of the attack mentioned here.

Hard Coding the ARP Cache

One way to protect against the unsecured dynamic nature of ARP requests and replies is to make the process a little less…dynamic. This is an option because Windows-based hosts allow for the addition of static entries into the ARP cache. You can view the ARP cache of a Windows host by opening a command prompt and type the command arp –a.

                                        Figure 7: Viewing the ARP Cache

You can add entries to this list by using the command, arp –s .

In cases where your network configuration does not change often, it is entirely feasible to make a listing of static ARP entries and deploy them to clients via an automated script. This will ensure that devices will always rely on their local ARP cache rather than relying on ARP requests and replies.


Monitoring ARP Traffic with a Third Party Program

The last option for defending against ARP cache poisoning is a reactive approach that involves monitoring the network traffic of hosts. This can be done with a few different intrusion detection systems (such as Snort) or through downloadable utilities designed specifically for this purpose (such as xARP). This may be feasible when you are only concerned about a single host, but can be a bit cumbersome to deal with when concerned with entire network segments.

ARP Cache Poisoning is a great introduction into the world of passive man-in-the-middle attacks because it’s very simple to execute, is a very real threat on modern networks, and is difficult to detect and defend against. In the next article in this series we will focus on name resolution and the concept of DNS spoofing.


Source: http://www.windowsecurity.com/articles/Understanding-Man-in-the-Middle-Attacks-ARP-Part1.html
thanks!