
English: 
Everyone's passwords are terrible
and they should change their passwords right now.
Well, let's just get that right out in the open
Okay, you all have bad passwords
and you know you should feel bad.
Probably not necessarily people who watch Computerphile,
but the majority of the public don't have good passwords and it's a real problem.
It's a problem because
people like LinkedIn and TalkTalk get hacked and
a bunch of hashed passwords go out onto the internet
and then within—you know—hours
half of them have been cracked
and then people are going "Oh this username and this password's been cracked
Well let's just go on and log on over there and see if that
username and password combination gets me into their Amazon
Oh it does that's good news!" And so on.
Password cracking has massive implications for password security.
For what passwords you need to use, how to store your passwords and so on and so forth.
In a previous video Tom Scott talked about how to store passwords
Tom Scott:"Please please please look up a recent tutorial for the languge you're using"
As a company, right, these things are still true, right

English: 
Everyone's passwords are terrible and they should change their passwords right now.
Let's just get that right out in the open,
OK, you all have bad passwords and you know you should feel bad.
Probably not necessarily people who watch Computerphile, but the majority of the public
don't have good passwords, and it's a real problem.
It's a problem because–
People like LinkedIn and TalkTalk get hacked, and
a bunch of hashed passwords go out onto the Internet,
um.. and then within
..you know, hours
half of 'em have been cracked.
And then people are going:
"Oh well this user name and this password's been cracked.
Well let's just go and log on over there and see if
that username and password combination
gets me into their Amazon.
Oh it does? That's good news."
And, and so on.
Password cracking has massive implications for
password security.
Uh, for what passwords you need to use,
how you need to store your passwords,
and so on and so forth.
In a previous video,
Tom Scott talked about how to store passwords,
Tom Scott: "Please please please please please, look up a recent tutorial
for the language you're using."
As a company
right? That these
things are still true.

Thai: 
รหัสผ่านของทุกคนไม่ค่อยดี
และพวกเขาควรเปลี่ยนรหัสผ่านเดี๋ยวนี้
มาดูว่าทำไม
โอเค คุณทุกคนมีรหัสผ่านที่ไม่ดี 
และคุณรู้ว่า คุณควรจะรู้สึกไม่ดี
ไม่จำเป็นต้องเป็นคนที่รับชม Computerphile 
แต่ส่วนใหญ่ของประชาชน
ไม่มีรหัสผ่านที่ดี และมันเป็นปัญหาจริง
มันเป็นปัญหา เพราะ-
คนอย่าง LinkedIn และ TalkTalk โดนแฮ็ค และ
รหัสผ่านที่เข้ารหัสแฮช ออกไปสู่อินเทอร์เน็ตทั้งยวง
อืม .. แล้วภายใน
..รู้มั้ยว่า แค่หลักชั่วโมง
ครึ่งหนึ่งของมันไขออกได้ (crack) ออกได้แล้ว
แล้วคนก็จะ:
"โอ้ ชื่อผู้ใช้และรหัสผ่านนี้ตีความได้แล้ว
ขอเพียงแค่ไปเข้าสู่ระบบที่นั่นและดูว่า
ชื่อผู้ใช้และรหัสผ่านรวมกัน
ทำให้ผมเข้ามาในอเมซอนของพวกเขาได้
โอ้ มันเข้าได้? นั่นเป็นข่าวที่ดี. "
และและอื่น ๆ
การไขรหัสผ่านออกได้ (crack) มีความหมายมากสำหรับ
การรักษาความปลอดภัยรหัสผ่าน
เอ่อ, สำหรับรหัสผ่านอะไรก็ตามที่คุณจำเป็นในการใช้งาน
คุณต้องเก็บรหัสผ่านของคุณอย่างไร
และอื่น ๆ ตามมา
ในวิดีโอก่อนหน้านี้
ทอม สกอตต์ พูดคุยเกี่ยวกับวิธีการเก็บรหัสผ่าน
ทอม ก็อตต์: "ขอได้โปรด ได้โปรด ไปค้นหาการสอนสำหรับภาษาโปรแกรม
ที่คุณกำลังใช้ เมื่อไม่นานนี้ "
ในฐานะ เป็นบริษัทหนึ่ง
ใช่มั้ยล่ะ? สิ่งเหล่านี้
ยังคงเป็นจริงอยู่

Thai: 
เอาล่ะ อัลกอริทึมแฮชที่คุณต้องใช้กลายเป็นยาวขึ้นอีก
เพราะพวกมันไม่ดีพอ อันก่อนหน้าน่ะ
ซึ่งเราจะเห็นในอีกนาที
และ
อืม ...
ดังนั้นบางสิ่งบางอย่างมีการเปลี่ยนแปลง
แต่หลักการยังคงเหมือนเดิม
ใช่มั้ย? เราไม่เก็บรหัสผ่านที่ไม่ได้เข้ารหัสในฐานข้อมูล 
เพราะเห็นว่าเป็นไอเดียที่แย่มาก
สิ่งที่เราทำคือ เราส่งมันเข้าผ่านสิ่งที่เรียกว่า 
"ฟังก์ชั่น One Way pseudorandom"
ซึ่งเอารหัสผ่านข้อความธรรมดา 
เปลี่ยนมันเป็นภาษาต่างดาว(ดูไม่เป็นคำ)
และจากนั้น
เมื่อมีคนพยายามที่จะเข้าสู่ระบบ
เราทำดำเนินการฟังชั่นเดียวกันกับสิ่งที่พวกเขาพิมพ์ 
และถ้าภาษาต่างดาวนั้นตรงกัน
เรารู้ว่า พวกเขาใส่รหัสผ่านของตนได้อย่างถูกต้อง โดยไม่ต้อง
รู้ว่ารหัสผ่านของพวกเขาคืออะไร
แต่ถ้า hashes เหล่านี้ถูกทิ้งไว้บนอินเทอร์เน็ตแล้ว
 เราไม่สามารถย้อนกลับมันได้
เพราะ มันแค่เหมือนภาษาต่างดาวสุ่มมาไม่มีความหมาย แต่
เราสามารถทำการทดสอบได้ คือ การโหลดของคำที่แตกต่างกัน
โดยเข้ารหัสแฮชมัน และที่เข้าแฮชไปตรงกับ
หนึ่งในหลายพจนานุกรมแฮชมั้ย และถ้ามันตรงกัน
เรารู้ว่า เราได้ไขรหัสผ่านของพวกเขาและ
และนั่นก็เป็นเรื่องง่ายที่จะทำ

English: 
The hashing algorithms, that you have to use have become longer
because they don't hold up as well, the older ones, which we will see in a minute
And, uhm
so some things have changed but really the principal remains the same, right
We don't store passwords unencrypted in a database because that's a terrible terrible idea.
What we do is we pass them through something we call a one way pseudorandom function
Which basically takes some plain text password and turns it into gibberish
And then when somone tries to log in we do the same operation on what they've just typed
and if the gibberish matches up we know they've typed in their passwords correctly
without actually having to know what their password is.
But if these hashes get dumped on the internet
we can't reverse them because they're just random nonsense
but what we can do is test a load of different words
by hashing them and seeing if the hashes match any of the ones in the dictionary
and if they do we know we've cracked their password
and that's really really easy to do

English: 
Right, the hashing algorithms you have to use have become longer.
Because they don't hold up as well, the older ones.
Which we'll see in a minute,
and
um...
so, some things have changed, but really the principle remains the same.
Right? We don't store passwords unencrypted in a database because that's a terrible terrible idea.
What we do is we pass them through something called a "One Way Pseudorandom Function".
Which basically take some plain text password, and turns it into gibberish.
And then,
When someone tries to login,
We do the same operation on what they just typed, and if the gibberish matches up
we know they've taught in their password correctly, without actually having to know
what their password is.
But if these hashes get dumped on the
internet then we can't reverse them
because they're just random nonsense but
we can do is test the load of different
words by hashing them and seeing if the hatches matc--hashes match any of the
ones in the dictionary and if they do we
know we've cracked their password and
And that's really really easy to do

Thai: 
ผมจะแสดงให้คุณเห็นมัน และ
ครั้งแรก ผมกลัวมันเลย
มาดูกัน-- ผมได้ไปเปลี่ยน
รหัสผ่านเลย
เอาล่ะ ตอนนี้ เทอร์มินัล เป็นสิ่งที่มีความจำเป็น
แต่นี่เป็น Beast ตั้งชื่อได้เหมาะว่า Beast
หนึ่งในเครื่อง หนึ่งใน
บริการการเรียนรู้ลึก (deep leaning) ของเรา ตอนนี้
ผมไม่ได้ใช้ deep leaning ตอนนี้และ
คนอื่นด้วย
ฉันว่า ดังนั้นเพียงแค่ช่วงเวลาครู่หนึ่ง
ที่เราจะยืมมันมา
มันเป็นเรื่องของความใหญ่สองหรือสามเท่า
กว่าเดสก์ทอปปกติ แต่ก็ไม่ได้
เป็นขนาดไซส์ที่บริการ และตั้งอยู่
ที่ไหนสักแห่งระหว่าง
เบื้องหลังประตูล็อคพวกนั้น
ผมคิดว่าที่ชั้นนี้แหละ อยู่ที่ไหนสักแห่ง
ไม่ได้เห็นมัน-- อืม ผมเห็น
มันถูกสร้างแล้ว ผม-- แต่ มันหายไป
บางทีเราจะไปดูมันบางเวลาคราวหน้า 
ดังนั้นหากเราพิมพ์ เข้าไปที่นั่น nvidia
smi เราสามารถมองเห็นว่าอะไรคือสิ่งนี้มีอะไรมา
พร้อมด้วย สำหรับตอนนี้ ส่วนมากผม
ติดต่อกับมันด้วยเทอร์มินัลของผม และผมขอให้มันทำสิ่งต่างๆ และมันทำอย่างรวดเร็วมาก
โดยเฉพาะอย่างยิ่งเซิร์ฟเวอร์นี้ มีไททัน X 4 การ์ด
กราฟิกการ์ดในนั้น ไททัน X เป็นหนึ่งในกราฟิกการ์ดชั้นเยี่ยม

English: 
I'm going to show you it and it's got me
scared me the first time
So yeah let's see-- I've changed my
password simply put that way
Okay now this is what is necessary
terminal but this is Beast the aptly
named Beast which is our deep learning,
one of our deep learning service right
now. I'm not using a deep learning right now and
nor is anyone else
I don't think, so just for a moment we'll
borrow it.
It's about two or three times bigger
than a normal desktop but it's not
service size rack and it's sitting
somewhere between behind a bunch of
locks
I think on this floor somewhere I
haven't seen it-- well I saw getting
built and then I-- but it disappeared.
Maybe we'll go and look at it some time. So if we-- we type in there nvidia
SMI we can see what's what's this is
equipped with. For now, my most of my
contact with it is my terminal and I ask it to do things and it does them very very fast.
This particular server has four Titan X
graphics cards in it. A Titan X is one of the foremost graphics cards. There are

English: 
I'm gonna show you it, and it scared me the first time
So yeah, let's see I've changed all my passwords since then put it that way
Okay, now this is... well, is an SSH terminal
But this is "Beast", right, the app we named "Beast"
which is our Deep Learning, one of our Deep Learning services

English: 
new generation 10 nvidia graphics
cards coming out and some AMD cards but
a Titan X is still performing massively well. Certainly for deep learning it's
very good because it has 12 gigs of onboard ram.
Now in some games 12 gigs onboard ram might be necessary for really high
texture resolution.
So if I wanted to play... you know, the new Doom game and there was no one about then I could.
Apart from they've installed Ubuntu on it so that doesn't help me much. It might be Fedora.
Let's not go into that though. So if I say it's linux, right, and we've installed
Caffe and other deep learning libraries and lots of people are using it all the time
to do interesting deep learning problems. We've got a huge array of different
problems, but right now we will use it to do some password cracking. I downloaded
a program called cudaHashcat. Hashcat is one of the sort of foremost password
cracking tools.
It lets you do lots of different types of password cracking which I'll talk
about and it does it very very quickly because it makes use of the graphics
card or in this computer case it makes use of all four graphics cards in

Thai: 
มีรุ่นใหม่ กราฟิกการ์ด nvidia 10 การ์ด
ออกมา และการ์ด AMD บางการ์ด แต่
ไททันของ X จะยังคงทำงานได้ดีเยี่ยม
 แน่นอนสำหรับการเรียนรู้ลึก(deep leaning)
มันดีมาก เพราะมันมี  RAM 12 Gb onboard
ตอนนี้ในบางเกม RAM 12 Gb onboard อาจจะเป็นสิ่งที่จำเป็น
สำหรับพื้นผิวความละเอียดสูง;
ดังนั้นถ้าผมอยากจะเล่น ... คุณรู้ว่าเกม Doom ใหม่ 
และไม่มีใครทำได้ แต่ผมเล่นได้
นอกจากการที่ติดตั้ง Ubuntu 
เอาไว้ จึงไม่ได้ช่วยผมมาก มันอาจจะเป็น Fedora
อย่าไปเรื่องนั้นเลย ดังนั้น ถ้าผมบอกว่ามันเป็น Linux, 
ใช่มั้ย, และเราได้ติดตั้ง
Caffe และ librarie ของ deep leaning อื่น ๆ 
และผู้คนจำนวนมากกำลังใช้มันตลอดเวลา
ที่จะทำปัญหาการเรียนรู้ลึกที่น่าสนใจ 
เรามีอาร์เรย์ใหญ่ของปัญหาที่แตกต่างกันไป
แต่ตอนนี้เราจะใช้มันเพื่อ
ไขบางรหัสผ่านออกมา ผมได้ดาวน์โหลด
โปรแกรมที่เรียกว่า cudaHashcat ซึ่ง Hashcat เป็นหนึ่งใน
เครื่องมือการไขรหัสผ่านที่เยี่ยมยอด
ซึ่งช่วยให้คุณไขรหัสผ่านจำนวนมากมายหลายชนิด 
ซึ่งผมจะพูดถึง
และมันทำอย่างรวดเร็วมาก เพราะจะใช้งานของกราฟิกการ์ด
หรือในกรณีนี้ คอมพิวเตอร์เครื่องนี้ 
ก็จะทำการใช้งานทั้ง 4 กราฟิกการ์ด

English: 
parallel. Each of these graphics card is capable of somewhere around
I think it's ten thousand million so 10 billion hashes per second.
my standard graphics card at home which is pretty good is about four billion so
these about nearly two times faster each and there's four of them.
Okay, so this is over eight times faster, let's say about 10 times faster than my computer at home?
It takes 40 billion plaintext password hypotheses, hashes them using MD5, and compares
them to a list at a rate of 40 billion per second.
[Off Camera] And how many words are written just in English dictionary?
[Mike] More than you'd think. A lot more than you'd think,
which, is in some cases reassuring. In other cases if your password is not very long,
not reassuring at all. Okay, so we'll talk about the different-- I'll show it working and
I'll talk about the different kinds of
password cracking because they do have
implications, different implications for passwords.
Okay, so Hashcat is run off the command line...
What I've got here, if I just show it... This example file is just a list of hashes
that comes with Hashcat. There's about six or so thousand hashes in it

Thai: 
ในแบบคำนวณขนาน(parallel) 
กราฟิกการ์ดแต่ละอันเหล่านี้มีความสามารถราวๆ
ฉันคิดว่า ทำได้ 10 พันล้านแฮชต่อวินาที
กราฟิกการ์ดมาตรฐานของผมที่บ้าน
ซึ่งก็ใช้ดี 4 พันล้านแฮชต่อวินาที
อันนี้ เร็วเกือบสองเท่าแน่ะ แต่ละอันของมัน
โอเค นั่นคือเร็วมากกว่าแปดเท่า สมมติว่าประมาณเร็วกว่า 10 เท่าของคอมพิวเตอร์ของผมที่บ้านได้?
มันเอา 40 พันล้านสมมติฐานรหัสผ่านข้อธรรมดา แฮชมันโดยใช้ MD5 และเปรียบเทียบมัน
ไปยังลิสต์ที่มี ที่อัตรา 40 พันล้านครั้งต่อวินาที
[ตากล้อง] และคำที่เขียนในภาษาอังกฤษมีกี่คำกันในพจนานุกรม?
[Mike] มากกว่าที่คุณคิด มากกว่าที่คุณคิดไว้
ซึ่งอุ่นใจในบางกรณี ในกรณีอื่น ๆ
 ถ้ารหัสผ่านของคุณไม่ได้ยาวมาก
ไม่อุ่นใจทุกกรณี เอาล่ะดังนั้นเราจะพูดคุยเกี่ยวกับ
ความแตกต่างนี้-- ที่ผมจะแสดงการทำงานและ
ผมจะพูดเกี่ยวกับชนิดที่แตกต่างกันของการไข
รหัสผ่าน เพราะพวกมันมีความหมาย
ต่อความแตกต่างกันสำหรับรหัสผ่าน
เอาล่ะ เพื่อให้ Hashcat จะ run จากบรรทัดคำสั่ง ...
สิ่งที่ผมเพิ่งได้ ... ไฟล์ตัวอย่างนี้เป็นเพียงลิสต์ของแฮช
สิ่งที่ผมได้มาจาก Hashcat มีประมาณหกพันแฮช ในนี้

Thai: 
มีความยากง่ายต่างกันไป ดังนั้น
บางส่วนของพวกมันกำลังจะเป็น "password1" เพราะ
นั่นเป็นรหัสผ่านของคนบางคนเป็นและบางส่วนของมันจะยาวมาก  20 หรือ 30 ตัวอักษร
สุ่มเกือบหมดและมันจะเป็นเรื่อง
ยากมากที่จะตีแตกได้
ดังนั้นเราจะไม่ไขทั้งหมด ตอนนี้ แต่เราจะไขไม่กี่อัน ดังนั้นถ้าผมเพียงแค่แสดงให้คุณเห็นน้าตาของแฮช
MD5 สร้างแบบแฮช 128 บิต 
ตอนนี้ ไม่ควรนำมาใช้เลยนะทุกๆ คน
ปัญหาคือว่า ...  แฮชมาตรฐานต่ำ เช่น MD5 และ SHA-1 ยังคงใช้มากอยู่สำหรับการจัดเก็บเบื้องหลัง
บางทีนักพัฒนาที่มีความคิดว่า "โอ้ มันมีอยู่แล้วใน SHA-1 ใช่ป่ะ มันต้องความพยายามมากที่จะแปลงทั้งหมดป่ะ
บางที คนอาจจะไม่สามารถเข้าสู่ระบบสักระยะหนึ่ง ...
อืม ขอไม่เป็นแบบนั้น. "ใช่ ทำซะ. เปลี่ยนแฮชของคุณไปเป็นอย่าง SHA-512 อย่างด่วนเลย เพราะมันรับไม่ได้จริงๆ
ทำแฮชให้ยาวขึ้น ตรงๆ คือ --  GPU ใช้เวลาใน
การประมวลผลนานขึ้น(ไขรหัสออกยากขึ้น)
จากแฮช 40 พันล้าน รู้มั้ย ไปเป็นไม่กี่ล้านหรือไม่กี่
พัน สำหรับการแฮชชิ่งที่ดีจริงๆ ที่ถูกซ้ำหลายครั้ง

English: 
that range in difficulty. So some of them are going to be "password1" because
that's what some people's passwords are, and some of them are going to be much longer, so 20 or 30 characters,
almost random, and they're
going to be very difficult to crack.
So we won't crack all of them now but we will crack a fair few. So if I just show you this, these are what the hashes look like.
MD5 produces a hundred and twenty-eight bit hash. Now only five should not be used by anyone ever, ever again.
The problem is that... that lower... standard hashes like MD5 and SHA-1 still get used a lot for back end storage.
Maybe the developers are thinking, "Oh, it's already in SHA-1, you know, it's a lot of effort to convert them all over.
Maybe people won't be able to log in for a while...
Hmm, let's probably not." Yes, do. Change your hashes to something like SHA-512 really quickly, because this is not acceptable.
Hashing it takes longer literally just-- it takes longer for the GPU to process
and so you will go down from 40 billion to, you know, a few million or a few
thousand for really good hashing that's been iterated a lot of times.

English: 
And that makes the process insurmountably harder, you know... Much more difficult, you know,
and so that-- that would be what I would recommend as a developer.
As a user, it just means you have to have a password that sui-- that's acceptable but you have to, in a way, assume that
some of the websites that you use won't know what they're doing and will have it stored in MD5.
If it's still in plain text, then all bets are off, there's nothing we can do.
Okay, right, so let's just run this in brute force mode.
So the first type of password cracking,
which sees some use but not a lot, is brute force.
So this is simply a case of starting
with "AAAAAAA" and then "AAAAAAB"
and "AAAAC" and so on for different character sets. If we assume that it's going to be some subset of passwords
that use only lowercase letters we can brute force those very quickly, especially if they're not very long.
So what I'm going to do first is I'm going to run a hash-- I'm going to run an attack on these passwords
of, let's say, seven character passwords all with lower case letters.

Thai: 
และที่ทำให้กระบวนการไขรหัสนี้ยากขึ้น
 รู้มั้ย ... ยากมากขึ้น คุณจะรู้ว่า
และแล้ว ในปัจจุบัน จะเป็นสิ่งที่ผมอยากจะแนะนำสำหรับนักพัฒนา
ในฐานะผู้ใช้ ก็แค่หมายความว่าคุณจะต้องมีรหัสผ่าน
ที่่ดียอมรับได้ แต่คุณต้องไปในทางที่คิดว่า
บางส่วนของเว็บไซต์ที่คุณใช้ จะไม่ทราบว่าสิ่งที่พวกเขากำลังทำคืออะไร และจะมีรหัสเก็บไว้ในแบบ MD5
ถ้ามันยังคงอยู่ในข้อความธรรมดาแล้ว 
จบเห่ ไม่มีอะไรที่เราสามารถทำได้
เอาล่ะ เพื่อให้รันงานนี้ในโหมดถึก (brute force)
ดังนั้นการไขรหัสผ่านชนิดแรก
ซึ่งเห็นบางคนใช้งาน แต่ไม่มาก เป็น brute force
ดังนั้น นี่เป็นเพียงกรณีอย่างง่าย เริ่มต้นนี้
ด้วย "AAAAAAA" แล้ว "AAAAAAB"
และ "AAAAAAC" และต่อมา สำหรับชุดตัวอักษรที่แตกต่างกัน ถ้าเราสมมุติว่า กลุ่มย่อยบางส่วนของรหัสผ่าน
ที่ใช้อักษรตัวพิมพ์เล็กล้วนๆ เราสามารถไขแบบถึกๆ ได้อย่างรวดเร็วโดยเฉพาะอย่างยิ่งถ้าพวกมันไม่ได้ยาวมาก
ดังนั้นสิ่งที่ผมจะทำก่อนคือผมกำลังจะรันแฮช-- 
ผมกำลังจะไปรันโจมตีรหัสผ่านเหล่านี้
สมมติว่า รหัสผ่าน 7 ตัว เป็นอักษรตัวพิมพ์เล็กทั้งหมด

Thai: 
เอาล่ะ เพื่อให้เป็นเช่นนี้ ... ดังนั้นจึงเป็น อ้า ... Hashcat โหมดการโจมตี 3 เป็น brute force แล้ว ไฟล์แฮช example0.hash
แล้ว mask ของผมที่บอกผมว่าชุดตัวอักษรที่จะใช้
ดังนั้น l แทนแบบตัวอักษรตัวพิมพ์เล็ก ดังนั้น 1, 2, 3, 4, 5, 6, 7 ตัวพิมพ์เล็ก (?l?l?l?l?l?l?l)
ประมวลผล ...
นั่นไง!
ดังนั้น จะทำมันได้ เอาล่ะถ้าผมเลื่อนขึ้น, พบผู้ที่มีรหัสผ่าน เอาล่ะ ไม่มาก เพราะ
มีไม่เยอะ โชคดีไปสำหรับผู้ใช้เหล่านี้ ผู้มีตัวพิมพ์เล็กเป็นรหัสผ่านเท่านั้น
[ตัดไป] ... เจ็ดอันของพวกมัน แต่มันไล่ดูผ่านการ
รวมกัน(combination) ของตัวอักษรตัวพิมพ์เล็กยาว 7 ตัวทั้งหมด
ในเวลา 1 วินาที? ซึ่งไม่ดีเลย
เอาล่ะ? ดังนั้นเราทำให้ยากขึ้น ตอนนี้เราพูดว่า 
"ไม่เป็นไรขอทำ 8 ตัวอักษร" ดังนั้นเราก็เพิ่มอีก ?l
และเรารันมัน ก็ ... 40 พันล้านครั้งของการลองต่อวินาที ...
นี่ไง และพวกมันไล่ออกมาเรื่อยๆ ใช่มั้ย
แต่ละบรรทัด คือ แฮชของรหัสผ่านที่เกี่ยวข้องที่ได้ไขออกแล้ว

English: 
Okay, so that's like this... So it's, ah... Hashcat attack mode 3, which is brute force, example0.hash--
the hash file-- and then my mask which tells me what character sets I'm going to use.
So L is a lowercase letter, so 1, 2, 3, 4, 5, 6, 7 lower case letters.
Thinking...
There we go!
So it's done it. Okay, if I scroll up, those are the passwords it found. Okay, not very many, because
there aren't very many, luckily for these users, lowercase only passwords.
[odd cut] ...Seven of them. But it went through the whole combination of lower case letters at seven length,
in, you know, a second? Which isn't great.
Alright? So we step it up a notch. Now we say, "Well okay let's do eight characters," so we just add another L
And we run it and... forty billion attempts per second...
Here they go and they just, they just keep coming, right.
Each of these lines is a hash and the associated password that has been cracked.

English: 
So what it means is, at some point it's tried "mycubana," the combination of letters that spell "mycubana"
It's hashed it and found, "Oh that does match one of the ones in our dictionary, in our hashfile, so we will put that in our output.
Alright? Okay, so let's just step it up a little bit further. Some passwords, for example, will have two digits at the end.
Okay? The vast majority part of that have numbers in have one or two digits at the end, maybe four, because
they're dates? So let's say we say six character passwords with two digits at the end.
Here we go.
Aw, there were only a few of those, but we found them.
There they are. This is a good start, right, it's very very quick.
it starts to slow down as you increase
the number of characters so
when you're doing a brute force, sort of naive brute force attack like this, then you're using the number of characters
in your character set to the power of the length of your password.

Thai: 
ดังนั้น อะไรคือความหมาย คือ ที่จุดหนึ่ง มันลอง "mycubana" การรวมกันของตัวอักษรที่สะกด "mycubana"
มันเข้าแฮช และตรวจพบ ว่า "โอ้ ตรงกับของหนึ่งอันที่อยู่ในของเราในไฟล์ hash  ดังนั้น จะใส่เป็น output ของเรา
เอาล่ะ? เอาล่ะเพื่อให้เพิ่มเติมขึ้นไปอีก รหัสผ่านบางอย่างเช่นจะมีตัวเลขสองหลักในตอนท้าย
เอาล่ะ? ส่วนที่ส่วนใหญ่ของที่มีตัวเลขหนึ่งหรือสองหลักในตอนท้าย อาจจะ สี่ เพราะ
มันคือวันที่? ดังนั้นสมมติว่าเราพูด รหัสผ่าน 6 ตัวอักษรที่มีตัวเลขสองหลักในตอนท้าย
นี่ไงล่ะ.
อ๊ะ มีเพียงไม่กี่อันของมัน แต่เราตรวจพบพวกมัน
พวกมันอยู่นั่น. นี่คือการเริ่มต้นที่ดี ว่ามั้ย 
มันรวดเร็วมากอย่างมาก
มันเริ่มที่จะชะลอตัวลงในขณะที่คุณเพิ่ม
จำนวนตัวอักษรมากขึ้น
เมื่อคุณกำลังทำ brute force แบบการโจมตีที่ซึ่อๆ เช่นนี้แล้ว คุณกำลังใช้จำนวนตัวอักษร
ในชุดตัวอักษรของคุณไปเป็นกำลังของความยาวของรหัสผ่านของคุณ

Thai: 
ในกรณีนี้ มี 26 ตัวพิมพ์เล็ก, 
26 ยกกำลัง 7, เมื่อเราลองรหัสผ่านยาว 7 ตัว
แล้ว สมมติว่า รหัสผ่านเป็น 6 ตัวอักษรและตัวเลขสอง
หลักท้าย มันก็เป็น 26 กำลัง 6 แล้ว คูณด้วย 10 กำลัง 2
นี่คือสถานะของการโจมตีครั้งสุดท้ายที่ผมทำ
และมันไขหลายรหัสผ่านนี้ออก
และนี่ที่มันทำทั้งหมด มันทำในอัตรา 38 พันล้านแฮชต่อวินาที
ซึ่งเป็นเหตุผลว่าทำไม MD5 ใช้งาน
ไม่ได้ ไม่ได้ อีกต่อไปอีกเลย
อย่าได้ใช้มันเลย โอเค เคลียร์มั้ย? 
เอาล่ะ ดังนั้นนี่คือการเริ่มต้น ใช่มั้ย? ตอนนี้ปัญหาคือว่า
อย่างแรกเลย ผมได้ไม่กี่แฮชเท่านั้นในแต่ละครั้ง เพราะรู้มั้ยว่า ... นี่เป็นเพียงรหัสผ่านราว 6000 อัน ถ้ามันเป็นของ LinkedIn
40 ล้านฐานข้อมูลรหัสผ่าน คุณต้องได้มาจำนวนมากแบบนี้เลย แต่มันต้องรันงานเยอะมากหน่อยสำหรับผมที่จะทำเช่นนี้
มันมีวิธีการในการสร้างทั้งหมดนี้โดยอัตโนมัติ และทำซ้ำๆ ลองทุกชุดที่แตกต่างกัน
อย่างอื่นคือว่า เมื่อเราเริ่มต้นไปยังรหัสผ่าน 9 หรือ 10 ตัว แม้สำหรับเครื่องนี้ มันเริ่มที่จะกลายเป็นทำไม่ได้

English: 
In this case, there are 26 lowercase digits, 26, to the power of 7, for when we were trying 7 passwords
And then for, let's say, six character passwords with two digits on the end it's going to be 26 to the power of 6
multiplied by 10 to the power of 2. This is the status of the last attack I did, and it had this many passwords
to crack and it's done them all and it was doing at 38 billion hashes per second. Which is why MD5 is not usable
in any sense anymore, ever.
Don't use it. Okay, is that clear yet? Okay, so this is a start, right? Now the problem is that first of all,
I only get a few hashes each time because it, you know... this is only 6000 passwords. If it were LinkedIn's
40 million password database, you'd get a lot like this, but it's a bit of work for me to do this.
There are ways of generating this mass automatically and iterating through them to try all the different combinations.
The other thing is that once we start getting to 9 or 10 character passwords, even for this machine it starts to become impractical.

Thai: 
โดยเฉพาะอย่างยิ่งถ้าคนใช้ชุดตัวอักษรตัวพิมพ์ใหญ่ด้วย ดังนั้น พิจารณาว่า รหัสผ่านนี้ความยาว 7  เป็น 26 ^ 7 ถ้าคุณกำลังใช้
ตัวพิมพ์เล็กเท่านั้น และเมื่อเพิ่มตัวพิมพ์ใหญ่ด้วยจะเป็น
 (26 * 2) ^ 7 เอาล่ะ ซึ่งเป็น 52 ^ 7 แล้ว ใช่มั้ย
ถ้าคุณเพิ่มสัญลักษณ์มากขึ้นอีก และ เช่นถ้าคุณกำลังมีสัญลักษณ์และตัวเลขได้ด้วย
มันกลายเป็นประมาณ 90 ^ 7 ขึ้นอยู่กับแต่ละชุดตัวละครของคุณ
ดังนั้น ... นั่นมากเกิน แม้ที่ความยาว 7 ตัวก็อาจจะเป็นไปได้อยู่  ที่ความยาว 8 ก็จะเริ่มที่จะยากละ
หากคุณกำลังใช้สัญลักษณ์ด้วย และที่ความยาว 9 เก้า ยังทำไม่ได้ได้ แม้เป็น MD5 โอเค เพราะพื้นที่ที่ต้องค้นหา มันใหญ่มาก
แต่การไขรหัสผ่านส่วนมากทุกวันนี้ ไม่ได้ทำงานด้วยวิธีนี้
เอาล่ะ นี่คือจุดเริ่มต้นและคุณสามารถหยิบรหัสผ่านขยะมา หากรหัสผ่านของคุณ 6 ตัวอักษร ไขออกละ ตอนนี้
และจะมีการไขออกได้อย่างรวดเร็ว เพราะเราสามารถค้นหา 6 ตัวอักษร
ได้ทั้งหมดทุกแบบในส่วนเสี้ยวของวินาที

English: 
Particularly if people are using larger character sets so consider that this 7 length password is 26^7.
Well, if you're using lower and uppercase, it's going to be (26*2)^7. Okay, which is 52. 52^7... put me on the spot!
52^7, and then if you add symbols it's more, and it's something like, if you're having symbols and numbers
as well, it's going to be somewhere around 90^7, each depending on your character set.
So... that's too much, even for this. At 7 length, it might be feasible. At 8 length, it starts to get pretty difficult,
if you're using symbols, and at nine still currently not really doable, even for MD5, okay, because that's how big the search space is.
But, most password cracking these days doesn't work this way.
Okay, this is a start and you can pick up the really rubbish passwords. So if your password is six characters
long, it's being cracked right now, and it's being cracked quickly because we can go through all the 6 character
passwords in a fraction of a second.

English: 
For longer passwords, we have to  make some assumptions about the way that people choose passwords.
So, obviously the password "password" or in the "password1" is actually nine characters, you know,
in which brute force is pretty good, but it's not good because it's just the sort of number one password to be used
And so on the top of your list of hypothetical passwords, it should be right at the top and the first one you try.
Okay, so this is what a dictionary attack does. We have a dictionary of a list of commonly used words or
commonly used passwords, and then we try those. And then we manipulate them slightly, with rules, and we try them again
and we append them to other words and try them again and we do lots of different combinations of things and
try them again. And it's pretty scary. It's much more effective than brute force, and so it's the current way that things are done.
The hashing rate goes down a bit because you're loading dictionaries and doing word manipulations
but it's still pretty quick. So let's show you an example dictionary. So this dictionary has common passwords

Thai: 
สำหรับรหัสผ่านยาวขึ้น เราจะต้องทำให้สมมติฐานบางอย่างเกี่ยวกับวิธีการที่คนเลือกรหัสผ่าน
ดังนั้น เห็นได้ชัดว่ารหัสผ่าน "password" หรือใน "password1" ที่แท้อยู่ใน 9 ตัวอักษร
ซึ่งวิธีทำถึกๆ ก็ได้  แต่มันไม่ได้เป็นสิ่งที่ดี เพราะมันเป็นเพียงแค่แบบหนึ่งของรหัสผ่านที่จะนำมาใช้
และอื่น ๆ ที่ด้านบนของรายการสมมุติฐานของรหัสผ่านของคุณ มันควเอาไว้ที่ด้านบนเลยที่คุณจะลองแรกๆ
เอาล่ะ ดังนั้นนี่คือสิ่งที่การโจมตีแบบพจนานุกรมทำ เรามีในพจนานุกรมของรายการของคำที่ใช้กันทั่วไปหรือเป็น
รหัสผ่านที่นิยมใช้ และจากนั้นเราลองพวกมันเหล่านั้น จากนั้นเราจัดการกับพวกมันนิดหน่อยด้วยกฎ และเราลองพวกมันอีก
และเราผนวกพวกมันไปยังคำอื่น ๆ และลองพวกมันอีก และเราจะทำหลายแบบแตกต่างกันของสิ่งต่าง ๆ (combination) และ
ลองพวกมันอีก และมันน่ากลัวทีเดียว มันมีประสิทธิภาพมากกว่าแบบถึกๆ  และดังนั้นจึงเป็นวิธีปัจจุบันที่ทำกัน
อัตราแฮชชิ่ง ลดลงไปนิด เพราะคุณโหลดพจนานุกรมและทำการจัดการคำ
แต่ก็ยังทำอย่างรวดเร็ว ดังนั้นขอแสดงพจนานุกรมตัวอย่างเช่น พจนานุกรมนี้มีรหัสผ่านที่พบบ่อย

Thai: 
ที่ได้รับการไขออกจากแหล่งอื่น ๆ
มีรายการรหัสผ่านอื่น ๆ เช่น รายการ RockYou และเร็ว ๆ นี้ รายการ LinkedIn, ผมแน่ใจว่าจะมีผลกระทบมาก
เพราะพวกมันเป็นรหัสผ่านที่แท้จริงของคนที่เป็นจริงที่ใช้อยู่ 
ถ้าคุณทำรายการคำออกมาได้จากรหัสผ่านเหล่านั้น
เป็นไปได้ว่า กลายเป็นมีประสิทธิภาพมากจริงๆ
ลองเรียกใช้พจนานุกรมตัวอย่างนี้ต่อรหัสผ่านของเรา แต่ตอนนี้ ขอจัดการกับมันนิดหนึ่ง
ให้มันน่ากลัวขึ้นอีก  เอาล่ะ Hashcat แต่เวลานี้ เรากำลังจะไปรันในโหมดการโจมตี 0,
ซึ่งเป็นพจนานุกรมโจมตีตรง เอาล่ะ ถ้าผมทำอย่างนั้นกับพจนานุกรมตัวอย่างของผมที่เราได้,
ก็อาจจะพบสองสามสิ่ง  มันรวดเร็วมาก
เพราะมันไม่ได้มากแล้ว เสร็จละ
และพบหนึ่งอัน:  "13lexon" ดังนั้น 
สิ่งที่บอกผมมาคือ จะมีเพียงหนึ่งคนที่
ที่มีรหัสผ่านเดียวกันที่อยู่ในรายคำนี้ 
ตอนนี้ ค่อนข้างทั่วไป เพราะผมหมายถึง
ในฐานข้อมูลที่ใหญ่จริงๆ คุณกำลังจะมีผู้คนจำนวนมากที่มี "password" และ "password1234" และ
"12341234" และ อื่นๆ -- ทุกคนจะต้องถูกไขออกด้วยวิธีนี้ แต่สิ่งที่เราอยากจะทำคือ ผสมมันให้ยากขึ้นอีกนิด

English: 
that have been cracked from other sources.
There are other password lists, like the RockYou list and soon the LinkedIn list, I'm sure, which will have a big impact
because they are real passwords of people are actually using, so if you make a word list out of those passwords
that's going to be really effective.
Let's run this example dictionary over our passwords, but now let's just manipulate it a bit to make it a little more
well, scary is one way of looking at it. Right so, Hashcat, but this time we're going to run in attack mode 0,
which is straight dictionary attack. Okay, if I did that against my example dictionary that we've got,
then it would probably find, you know, a couple. It's very quick, because it's not that many, so it's already finished
and it found one: this chat with "13lexon". So what that's telling me is there's only one guy who happened to have
who happened to have the same password that's in the word list. Now that's quite common because I mean,
In a really big database, you're going to have a lot of people who have "password" and "password1234" and
"12341234" and so on-- All those people are going to be found this way but what we really want to do is mix up

English: 
the dictionary little bit, swap a few letters around. So what these rules do, they do obvious things like they
replace "I" with the number 1. Or they replace "E" with a 3. Or put an "@" in instead of an "&" or something.
You know, mix it up a bit, common password substitutions: leet speak, weird things like this that people think are very secure,
and in fact they're just got rules to just completely defeat them. Toggling case up and down, you know, if a password's
viable, then the same password with the first letter as uppercase also probably viable.
Alright, so you do all these things. And there are rules to do this. Now, if one of my, one of the-- If someone does
a lot of password cracking, because maybe it's their job... which is kind of a weird job but people do do it,
security experts and stuff, if you're really into this then you have your own dictionaries and your own rules
I'm not using it today, I don't have my own dictionaries, my own rules, because fun as this is, mostly I have no more
work to do. Now what I'm going to do here is I'm going to put in a ruleset called dive.rule. Now I don't know who
dive is, I expect it's an alias of some hacker somewhere. He's got quite a good rule set that works quite nicely with this hash file.

Thai: 
พจนานุกรมสลับตัวอักษรไม่กี่รอบไปมา ดังนั้น
สิ่งที่กฎเหล่านี้ทำ พวกมันทำสิ่งที่เห็นได้ชัด เช่น
แทนที่ "I" ด้วยหมายเลข 1 หรือแทนที่ "E" กับ 3 
หรือใส่ "@" ในการแทน "&" หรือบางสิ่ง
คุณจะรู้ว่าผสมขึ้นเล็กน้อยแทนที่รหัสผ่านทั่วไป: 
คำแปลกเหล่านี้ ที่คนคิดว่ามีความปลอดภัยมาก
และในความเป็นจริง แค่มีกฎที่เอาชนะมันได้สิ้นเชิง 
สลับกรณีที่ขึ้นและลง รู้มั้ยว่า ถ้ารหัสผ่าน
ที่ทำงานได้แล้ว รหัสผ่านเดียวกันแค่ตัวอักษรตัวแรกเป็นตัวพิมพ์ใหญ่ ยังอาจจะทำงานได้
เอาล่ะเพื่อให้คุณทำสิ่งเหล่านี้ และมีกฎที่จะทำเช่นนี้ 
ตอนนี้ถ้ามีคนทำการไขรหัสผ่านออกจำนวนมาก
เพราะบางทีมันอาจจะเป็นงานของเขา ...
 ซึ่งเป็นงานที่แปลก แต่คนก็จะทำมัน
ผู้เชี่ยวชาญด้านความปลอดภัยเหล่านี้ ถ้าคุณเป็นแบบนี้จริงๆ แล้วคุณมีพจนานุกรมของคุณเอง และกฎของคุณเอง
ฉันไม่ได้ใช้มัน ในวันนี้ ผมไม่ได้มีพจนานุกรมของตัวเอง กฎของตัวเอง เพราะความสนุกสนานเช่นนี้ ส่วนใหญ่ ผมมีไม่มากนัก
งานที่ต้องทำ ตอนนี้สิ่งที่ผมจะทำนี่ คือผมจะใส่ในเซตของกฏ เรียก dive.rule ตอนนี้ผมไม่ทราบว่า ใครดำ(dive) อยู่
ผมคาดว่ามันเป็นนามแฝงของแฮ็กเกอร์ที่ไหนสักแห่ง เขาก็ค่อนข้างมีชุดกฎที่ทำงานได้ดีอย่างมากกับไฟล์แฮชนี้

English: 
Okay so let's run it, and what it is going to do is go through all of the rules in turn and for each rule
it's gonna through the whole dictionary and try all those different combinations against these hashes.
And here they come. So that was about a thousand hashes we just got, which is a little bit worrying
Some of them are rude,  right, I've scrolled past those, okay, because some people have rude passwords.
Those passwords are bad passwords because rude words are also in these dictionaries. Alright, so if you
you're being clever by putting swear words in your password file you actually are just making it weaker.
Okay, these are some not absolutely terrible passwords in some sense, most of them are lowercase with
a few numbers. "leanadrien", which might be a name, is ok but probably a similar word's in the dictionary
and it got manipulated in some ways and some letters got swapped around and suddenly it was cracked.
So we've had some luck, we've done a bit of brute force, we've done a basic dictionary attack, we have a few rules

Thai: 
เอาล่ะ รันมัน และสิ่งที่มันทำต่อคือ
ไปทำผ่านกฎทั้งหมดในแต่ละรอบและแต่ละกฎ
มันจะดูผ่านพจนานุกรมทั้งหมด 
และลองทุกชุดที่แตกต่างเหล่านั้นกับแฮชเหล่านี้
และมันได้มาละ แฮชเกือบพัน 
เราเพิ่งไขได้มา ซึ่งผมเป็นกังวลนิดหน่อย
บางอันคำหยาบ ผมได้เลื่อนที่ผ่านมา ไม่เป็นไร เพราะบางคนมีรหัสผ่านที่หยาบคาย
รหัสผ่านที่ไม่ดีเพราะคำหยาบคาย นอกจากนี้
ยังมีในพจนานุกรมเหล่านี้ เอาล่ะ ดังนั้นถ้าคุณ
คุณคิดว่าฉลาด โดยการใส่คำสบถในรหัสผ่าน 
คุณแค่ทำให้มันไขง่ายมากในความเป็นจริง
เอาล่ะ เหล่านี้คือบางรหัสผ่านที่ไม่น่ากลัวอย่างยิ่ง ส่วนใหญ่ของพวกมันเป็นตัวพิมพ์เล็กด้วย
ตัวเลขนิดหน่อย "leanadrien" ซึ่งอาจจะเป็นชื่อ ok แต่อาจจะเป็นคำที่คล้ายกันในพจนานุกรม
และจะมีการจัดการทางใดทางหนึ่ง และตัวอักษร
บางตัวได้สับเปลี่ยนไปรอบ ๆ และก็จะไขออก
ดังนั้น เรามีโชคบ้าง เราได้ทำแบบถึก(brute force) นิดหน่อย ได้ทำพจนานุกรมโจมตีขั้นพื้นฐานที่

Thai: 
เรามีกฎไม่กี่อันเพียงเพื่อผสมขึ้นและเราได้ไขบางรหัสผ่านออก ทั้งหมดนี่ ผมคิดว่าไขออกราว 1700 รหัสผ่าน
จากราว 6500 รหัส บางส่วนเหล่านี้ไขไม่ได้ 
ในความรู้สึกว่า คุณอาจจะต้องอยู่ที่นี่หลายวันไขมัน
และยังคงมีเหลือบางส่วน แต่ผมคิดว่า 
ผมเคยไขได้มาก่อนหน้านี้ ประมาณ 60-70% ได้อย่างง่ายดาย
ดังนั้น วิธีที่ทำให้ไขได้ดียิ่งขึ้น? อืมม เราใช้พจนานุกรมที่ดีกว่านี้ ที่สำคัญ พจนานุกรมเช่นนี้เป็นเรื่องปกติ
มันไม่ได้นานมาก คุณรู้มั้ย รหัสผ่านของบางคน
กำลังจะไปอยู่ในนั้นด้วย แต่เท่าที่จำได้ เรารันมันและ
มันไม่ได้หารหัสผ่านจำนวนมาก มันพบบางอัน 
เมื่อเรารันด้วยกฎบางอย่าง แต่ก็ไม่พบว่ามีจำนวนมาก
ดังนั้น สิ่งที่เราอยากจะทำ คือการหารายการของรหัสผ่าน
ที่เกิดขึ้นจริงที่คนใช้ในชีวิตจริง
ตอนนี้โชคดีที่การรั่วไหลเหล่านี้เกิดขึ้นตลอดเวลา แล้ว รหัสผ่านเป็นเพียงแค่ถูกทิ้งออกสู่อินเทอร์เน็ตตลอดเวลา
ดังนั้น มีรายการรหัสผ่านนี้เรียกว่า RockYou ซึ่งเป็นตัวเปลี่ยนเกมในการไขรหัสผ่าน ถ้านั่นเป็นบางอย่าง
และ โดยทั่วไป คือ รหัสผ่าน14 ล้าน ที่ผมคิดว่ารั่วไหล
ออกมาจริงจากฐานข้อมูลที่ถูกต้องของรหัสผ่านจริง

English: 
just to mix it up, and we've got some passwords. So far I've cracked I think about 1700 passwords out of about
6 and a half thousand. Some of these passwords aren't crackable, in the sense that you could be here for days
and still have some left, but I think I've previously gotten about sixty or seventy percent fairly easily.
So how can we get even better? Well, we use a better dictionary. That's the key. This example dictionary is fine,
it's not very long, you know some passwords are going to be in it, but as you remember we ran it and
it didn't find many passwords. It found some when we ran it through some rules, but it didn't find a lot.
So what we really want to do is find a list of actual passwords that people are using in real life and use that.
Now luckily, these leaks happen all the time and so passwords are just being dumped out onto the internet all the time.
So there's this password list called RockYou, which is a bit of a game changer in password cracking, if that's a thing
and basically it's 14 million or so passwords I think, actually leaked from a proper database of real passwords

Thai: 
ที่มีคนที่ใช้ ผมคิดว่ามันเป็นบริการการเล่นเกม 
หรืออะไรเช่นนี้ แล้วมันก็รั่วไหลออกมา
และประเด็นก็คือว่าถ้าคุณรันใช้ฐานข้อมูล RockYou 
กับแฮชเหล่านี้ คุณเริ่มที่จะได้รับผลจริงๆ เพราะ
มีรหัสผ่านที่น่าสนใจอื่น ๆ อีกมากมายในฐานข้อมูล
 RockYou มันแค่มีพวกมันอีกมากมาย
ถ้าผมรันในสิ่งเดียวกับที่ผมทำมาก่อนหน้านี้ 
แต่ผมทำมันผ่านด้วยพจนานุกรม RockYou ...
ดังนั้น ผมทำสิ่งเดียวกัน: กฎเดียวกัน ใช้พจนานุกรม RockYou,
เราควรจะได้รับรหัสผ่านอื่น ๆ อีกมากมาย ดูมั้ย? โอเค
มันเป็นเพียงแค่การคอมไพล์ cuda แล้ว
ปิด มันไปละ
ผลมาละ และพวกมัน
มาเพิ่มมากขึ้น ใช่มั้ย
มีมากขึ้นเพราะเราได้มีกฎจำนวนวนมาก
 และเราได้มีมากถึง ... 40 ล้านรหัสผ่าน
ในรายการนี้ มันจะใช้เวลาค่อนข้างนานมากขึ้นที่จะทำ
เอาล่ะ แต่ก็ทำได้อย่างรวดเร็ว! ถ้าผมหยุดมันและถ้าเรามองไปที่สถานะ ... ดังนั้นเรากำลังคำนวณอยู่ในขณะนี้รวม
8-10 พันแฮชต่อวินาที ดังนั้นช้าลงประมาณสี่เท่า
 เพราะการจัดการพจนานุกรมที่เราต้องทำ

English: 
that people were using. It was I think it was a gaming service or something like this and then it got leaked.
And the point is that if you run the RockYou database over these hashes you start to really get results, because
there's just much more interesting passwords in the RockYou database, there's just many more of them.
If I run the same thing I did before, but I parse it over the RockYou dictionary...
So I'm doing the exact same thing as before: same rule manipulations parsing over the RockYou dictionary,
we should get many more passwords. Should we see? Okay.
it's just compiling the cuda and then
off it goes.
And here they come and they're just
going to keep coming, right,
there's a lot more because we've got lots and we've got many rules and we've got many... 40 million passwords
in this list. It's going to take quite a lot longer to do.
Okay, so but it's pretty fast! If I pause it and if we look at the status... so we're calculating now in total 8 to 10 thousand
hashes per second. So, about four times slower because of all the dictionary manipulations we have to do.

Thai: 
แต่ก็ยังคงทำได้อย่างรวดเร็ว 
[ตากล้อง] ดังนั้นคุณพูดว่า การคอมไพล์ cuda ที่ผมเคยได้ยิน
cuda ถูกกล่าวถึงในแง่ของกราฟิกการ์ด
มาก่อน สิ่งนี้หมายถึงอะไร?
[Mike] cuda เป็นการ์ด nvidia-- ผมหมายถึงที่จริง Hashcat สามารถทำงานบนการ์ด AMD ได้ด้วย แต่สิ่งที่มันทำพื้นฐานคือ
มันคอมไพล์ ตัวกลางที่คล้ายภาษา C เหมือนบอกกราฟิกการ์ดว่าให้ทำอะไร โดยปกติ-- ดังนั้น cuda ในรายละเอียด
มีไว้สำหรับ videoที่แตกต่างกัน แต่ตามปกติ แต่สิ่งที่กราฟิกการ์ดทำคือเอาจุดมากมายในโลกของคุณ
เปลี่ยนพวกมันจากด้านหน้าของกล้องของคุณ
และทำให้พวกมันไปแสดงที่หน้าจอได้อย่างรวดเร็วมาก
และเป็นเหตุผลที่มันทำได้อย่างรวดเร็ว เพราะมันอาจจะเป็น 2800, 3000 ขั้นตอน ทุกอย่างการทำสิ่งพื้นฐานที่เหมือนกัน
มันเอา รายการ RockYou จัดการพวกมันโดยใช้กฎ 
และทดสอบคำเหล่านี้สำหรับไขรหัสผ่าน
ในอัตรา 8-10,000 ล้านครั้งต่อวินาที
[ตากล้องพึมพำ]
ใช่ 10 พันล้านต่อวินาที ใช่มั้ย?
ผมเพิ่ง -- มันเป็นวิธีที่มันถูกเขียนที่นี่ 
ดังนั้นผมพูดว่า 8,000 ล้าน, 8 พันล้านต่อวินาที

English: 
but it's still pretty quick. [Off Camera] So you said compiling the cuda, I've heard of mentioned cuda in terms of
graphics card before, what does that mean?
So cuda is an nvidia-- I mean actually Hashcat can work on AMD cards as well-- but what it basically does is
it compiles a C-like intermediate language that tells the graphics card what to do. Normally-- so cuda in detail
is for a different video-- but normally, what a graphics card does is basically take a bunch of vertices in your world,
transform them in front of your camera and render them to the screen very very quickly.
And the reason it does it quickly, because it maybe as 2800, 3000 processes all doing the same basic stuff.
It's essentially taking the RockYou list manipulating it using the rules and testing these words for passwords
At a rate of 8 to 10 thousand million per second.
[off camera mumbling]
Yeah, 10 billion per second right?
I just-- it's the way it's written here, so I keep saying 8 thousand million, 8 billion. 8 billion per second.

English: 
[Off Camera] So that's 8 billion attempts?
[Mike] Yeah. So, you know, it'll try "password1" then it will try "password2", then it'll try "password3" with a captial P
and so on and so forth, for much more complicated passwords and we've already I mean, I paused it and we've already got
3000 now. We had 1700 so we've got 1300 in--I ran it for about 10 seconds? And if I keep running it, so I keep resuming,
and theyre gonna keep coimng. Alright, and some of these passwords are really, really hard to crack
By brute force or by normal dictionary, and this RockYou has changed everything.
in the sense that it's just so varied that you just get password that you just get passwords that you think
are really good. If I pause it and we look at the passwords... I mean this one, "nik21061989"
You could guess that that-- because it's the guy's date, but it's been found in the dictionary
"spacelightning" is quite a long one, but it's two words put together, so that's not secure. Alright, so it's been found.

Thai: 
[ปิดกล้อง] ดังนั้นที่ 8 พันล้านความพยายาม?
[Mike] ใช่ รู้มั้ย มันจะลอง "password1" แล้วมันจะลอง "password2" แล้วมันจะลอง "password3" ด้วยตัว P ใหญ่
และอื่น ๆ และอื่น ๆ สำหรับรหัสผ่านที่ซับซ้อนมากขึ้น และเราได้ ผมหมายความว่า ผมหยุดชั่วคราว และ เรามีมันแล้ว
3000 อันตอนนี้ เรามี 1700 ดังนั้นเราจึงได้อีก 1300 - ราว 10 วินาที? และถ้าผมยังคงรันมัน ดังนั้นให้กลับมารันต่อ
และพวกมันกำลังให้มาเรื่อยๆ เอาล่ะ 
และบางส่วนของรหัสผ่านเหล่านี้จริงๆ ยากจริงๆ ที่จะไขออกได้
โดย brute force หรือพจนานุกรมปกติ 
และ RockYouนี้ ได้ทำให้มีการเปลี่ยนแปลงทุกอย่าง
ในความรู้สึกว่า มันเป็นแค่ความหลากหลายมากขึ้น เพื่อให้คุณเพียงแค่ไขรหัสผ่านที่คุณเพิ่งคิดได้
เป็นสิ่งที่ดีจริงๆ ถ้าผมหยุดมันและเรามองไปที่รหัสผ่าน ... ผมหมายถึงคนนี้ "nik21061989"
คุณสามารถคาดเดาได้ เพราะมันเป็นวันที่ของผู้ชาย 
แต่มันถูกพบในพจนานุกรม
"spacelightning" ค่อนข้างยาวหนึ่ง แต่มันเป็นคำสองคำใส่กันเพื่อที่ว่าไม่ปลอดภัย เอาล่ะ ดังนั้นมันถูกพบ

English: 
And so on and so forth. "laurence0901", even if 0901 is completely random, you're going to get caught. Alright,
because you've used your name. Alright, so we can just keep going, we can keep going with this.
And they'll just keep coming. If I look at the... how long we've got left, we've done 18%. And we've cracked another
200 since I've been talking. So it's just going to keep going. And finish off the database.
So if like MD5 you are doing fairly basic things, you can plow through jobs and in this case, I'm doing it with
however many calls per GPU with 4 GPUs. Which is a little bit, a little bit worrying.
I mean, it's still going. My current-- my current count is... I'm 47% through this particular attack. I could use different
rules, there are other rules, like toggling case rules and things. I've got 3 and 1/2 thousand now, nearly.
Of these-- so, nearly half of the passwords, right? And some of these passwords are good. So I guess, for the
people watching you got to think how good are your passwords? Are your passwords better than half the people

Thai: 
และอื่น ๆ และอื่น ๆ. "laurence0901" แม้ว่า 0901 
เป็นแบบสุ่มสิ้นเชิง คุณกำลังจะถูกจับได้ เอาล่ะ
เพราะคุณได้ใช้ชื่อของคุณ เอาล่ะ 
ดังนั้นเราก็สามารถไขได้ต่อไป ด้วยสิ่งนี้
และพวกมันออกมาเรื่อยๆ ถ้าผมมองไปที่ ...
 เราเหลืออยู่เท่าไหร่ นานมั้ย เราได้ทำ 18% และเราได้ไขอีก
200 ตั้งแต่ผมพูดมา ดังนั้นต่อไปเรื่อยๆ
 และเสร็จสิ้น ปิดฐานข้อมูล
ดังนั้น ถ้าเช่น MD5 คุณกำลังทำสิ่งที่เป็นขั้นพื้นฐาน 
คุณสามารถรันงานนี้ได้ และในกรณีนี้ ผมทำมันได้
ด้วย อย่างไรก็ตาม มีกี่คอร์ต่อ GPU 
ทั้งหมด 4 GPUs ซึ่งเป็นกังวลเล็กน้อย
ผมหมายความว่า ตัวนับปัจจุบันของผมคือ ...  47% 
ผ่านการโจมตีครั้งนี้  ฉันสามารถใช้กฏที่แตกต่างกัน
มีกฎระเบียบอื่น ๆ เช่น การสลับกฎ
 กรณีและสิ่งต่างๆ ผมไขออกมี 3500 ตอนนี้
เกือบครึ่ง-- ดังนั้นเกือบครึ่งหนึ่งของรหัสผ่านใช่ไหม? และบางส่วนของรหัสผ่านเหล่านี้ยังดีอยู่ ดังนั้นผมคิดว่า
สำหรับคนดู คุณคิดว่า คุณตั้งรหัสผ่านได้ดี หรือไม่?  
รหัสผ่านของคุณดีขึ้นกว่าครึ่งหนึ่งของผู้คนในรายการนี้ ใช่มั้ย?

Thai: 
และถ้าพวกมันแย่ สิ่งต่อไปที่คุณควรทำ 
คือการเปลี่ยนพวกมัน คุณว่ามั้ย?
บรรยายไทยโดย ytuaeb sciencemath

English: 
in this list, right? And if they aren't, you-- that's probably the next thing you should do, is change them, you know?
I mean xkcd alluded to this and we'll talk about that in a minute, you know it didn't necessarily answer every question
but it did get a good message across and then there's other aspects, you know, should you reuse passwords and so on.
