가설적인 낚시 공격 사례

17992 단어 webdevlearningsecurity
만약 우리가 오래된 대학 주소에서 온 이메일을 받았다고 가정하면 다음과 같이 보일 것이다.

보다👌정통극.👌
그것은 .edu 전자 우편 주소에서 온 것입니다!그것은 보기에 사람을 속이는 것 같지 않다.헤더와 주소가 일치합니다.
5년 전 졸업한 사람일지도 모르지만, 그는 정말 자신의 생일을 비밀번호로 쓰는 것을 좋아한다.우리는 탐색을 돕기 위해 a current senior, Maxwell Dulin 을 모집할 수도 있다.
예를 들어 순전히 이야기의 목적에서 우리는 이'즉각 검증'업무를 클릭하고 모든 사소한 일이 무엇에 관한 것인지 보았다.

암호plz


나는 그것이 이렇게 보일 수 있다는 것을 몰랐다.

아마도 그것은 몇몇 URL에서 왔을 것이다. 예를 들면:
https://bougurh.club/%20yaga/legit.edu/index.html

훔쳐보도록 하겠습니다.


우리는 이 https://bougurh.club 사이트의 뿌리가 누구인지 보아야 한다.
그들은 단지 너에게 그들의 구조를 보여줄 뿐이다.그들은 심지어 여러 대학을 동시에 습격했다.

그럼 저희가 뭘 찾을 수 있을까요?


이 사이트는 https를 사용합니다. 그러면 이 인증서는 어디에서 왔습니까?우리는 SSLHopper를 사용하여 그것이 어디에서 왔는지 볼 수 있다.우리 SSL은 며칠 전에 만들어진 것이기 때문에 이 녀석은 아마 오랫동안 이걸 해 본 적이 없을 것이다.
그러면 우리는 dig 를 사용하여 그의 DNS를 볼 수 있다.이 녀석은 www을 사용하지 않았다!그에게도 이런 IP가 있다.
184.95.x.x
만약 우리가 구글에서 IP를 검색한다면, 이것은 그가 Secured Servers LLC를 사용하고 있다는 것을 나타낸다. 이 회사는 남용 혐의를 처리하는 데 있어서 평판이 좋지 않다.

우리가 로그인할 때 무슨 일이 일어날까요?


만약 우리가 이 사이트에 우리의 상세한 정보를 입력하려고 한다면, 그들은 전자 우편과 비밀번호만 명문으로 기록하고 우리를 Microsoft Outlook으로 다시 정할 것이다.
대부분의 학생들이 이미 그들의 이메일에 로그인했기 때문에, 로그인에 성공한 것 같다.피해자는 심지어 눈치채지 못했을 수도 있다.
이게 바로...엉망일 수도 있어.

그럼 저희가 뭘 할 수 있을까요?


우리는 학교의 IT 부서에 연락할 수 있다.하지만 지금은 방학이어서 아무도 우리를 찾아오지 않을 것이다.
우리는 그들의 도메인 이름 공급 업체에 연락할 수 있다.다시 한 번 말하지만 방학이다.
호스트 공급업체?내가 너에게 설명해 줄게.
them.stuffFaceWithTurkey();

그럼 우리는 도대체 무엇을 할 수 있을까?


좋습니다. 우리는 그들에게 ascii 예술 개의 사진을 보낼 수 있습니다.
                                              _.-.._         _._
                                     _,/^^,y./  ^^^^"""^^\= \
                                     \y###XX;/  /     \    ^\^\
                                       '\Y^   /   .-==||==-.)^^
                   ,.-=""""=-.__       /^ (  (   -/<0>++<0>(
                 .^      .: . . :^===(^ \ (  (  /'''^^^^^^^)
                /      .: .,GGGGp,_ .(   \   /    /-(o'~'o))
              .^      : . gGG"""YGG}. \   )   / /  _/-====-\
             /       (. .gGP  __ ~~ . .\  \  (    (  _.---._)
            /        (. (GGb,,)GGp. . . \_-^-.__(_ /______./
           (          \ . '"!GGP^ . . . . ^=-._--_--^^^^^~)
           (        /^^^\_. . . . . . . . . . . . . . . . )
           )       /     /._. . . . . . . . . . . . . ._.=)
           \      /      |  ^"=.. . . . . . . ._++""\"^    \
            \    |       |       )^|^^~'---'~^^      \     )
            )   /        )      /   \                 \    \
            |'  |        \     /\    \                (    /
            |   |         (   (  \ . .\               |   (
            )   |         )   )   ^^^^^^              |   |
           /. . \         |  '|                       )   (
           ^^^^^^         )    \                      /. . \
                          / . . \                     ^^^^^^
                          ^^^^^^^

                     s'ko go dem zig zags
                        zippity zooms
봐라, 만약 내가 POST 해커라면, 나는 내 피해자의 가장 친한 친구가 나에게 ascii 예술 사진을 보낸 개/post.php와 무작위 아첨과 재미있는 사실을 기꺼이 보게 될 것이다.
const passwords = [
    'hello mr hackerman we love you very much',
    'mr hackerman come join our club, we need new members',
    'do it dude we wana be your friends',
    'did you know bunnies actually die if they eat too many carrots',
    'https://i.ytimg.com/vi/Lv4SQy_9VLI/maxresdefault.jpg',
    'https://b0bcbb6c170cbb78f6d6-94268459969555eabeaba635a28d70e3.ssl.cf2.rackcdn.com/landing/april2015/bunny5.jpg',
    'http://3.bp.blogspot.com/-xfI3IZT7-8E/UgQb6czrRpI/AAAAAAAAEvA/FOICuW1x_YY/s1600/36+forgot+to+stop+being+a+fetus.jpg',
    'https://readjack.files.wordpress.com/2012/02/cute_bunny.jpg',
    'mr hackerman dont feed bunnies too much lettuce; its like candy for them and theyll get fat',
    'mr hackerman feed your bunnies a lot of lettuce so theyll get fat its adorable',
    'mr hackerman you should rate our bunnies 0-10 how good of a bunny is it (this is a test the answer is 11)',
    'if our ascii art doesnt show up correctly blame cpanel not us',
    'mr hackerman did you red pandas use their tails as blankets',
    'mr hackerman did you know sheep can recognize facial expression and they like smiles',
    'mr hackerman did you know polarbears touch noses when they meet each other',
    'mr hackerman did you know baby elephants suck on their trunk for comfort',
    'mr hackerman did you know that monkeys make snowballs and throw them at each other',
    'mr hackerman did you know that a cat has been the mayor of a town in alaska for 17 years',
    'mr hackerman did you know that dogs exist',
    'mr hackerman did you know that cats exist',
    'mr hackerman did you know that you can save 15% or more when you switch to geico'
]
나의 일지가 잠기는 것을 보는 것만큼 나를 충실하게 하는 것은 없다. 그래서 어떤 합법적인 요구도 읽기 어렵다.

그래, 그래, 우리가 그들에게 인사하고 개를 보낼 수 있겠니?그럼 어때요?설마 그들은 그것을 거르지 않겠는가?


응, 그래.근데 우리가 더 교활한 짓을 했다면?
반대로 우리가 그들에게 진정한 요청을 보내면?우리는 이런 작은 것을 만들 수 있다l33t:
const curl = (username, password, userAgent) => {

  const cmd = `curl '${kiddysite}' 
    -H 'User-Agent: ${userAgent}' 
    -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' 
    -H 'Accept-Language: en-US,en;q=0.5' --compressed 
    -H 'Referer: https://bougurh.club/%20yaga/someuni.edu/Sign-In.html' 
    -H 'Content-Type: application/x-www-form-urlencoded' 
    -H 'Connection: keep-alive' 
    -H 'Upgrade-Insecure-Requests: 1' 
    --data
    'UserName=${username}&Password=${password}&AuthMethod=FormsAuthentication'`

  exec(cmd, (err, stdout, stderr) => {
    console.log(`stdout: ${stdout}`);
    console.log(`stderr: ${stderr}`);
    if (err !== null) {
        console.log(`exec error: ${err}`);
    }
  })
}
그리고 우리는 faker.js 같은 것을 사용하여 듣기에 진실한 전자 우편 주소로 만들 수 있다. 예를 들어
[email protected]
[email protected]
그리고 다음 기능을 통해 "진실하게 들린다"는 암호를 생성할 수 있습니다.
function randomFakePassword() {
    switch (Math.floor(Math.random() * 10)) {
        case 0:
            return randomFakeEmail()
        case 1:
            return faker.date.past() + faker.commerce.color()
        case 2:
            return faker.hacker.abbreviation + Math.floor(Math.random() * 10)
        case 3:
            return faker.address.streetAddress()
        case 4:
            return faker.address.country() + Math.floor(Math.random() * 10) + faker.address.state()
        case 5:
            return "passw" +  Math.floor(Math.random() * 10) + "rd" + faker.commerce.color()
        case 6:
            return faker.company.companyName()
        case 7: 
            return faker.finance.bitcoinAddress()
        case 8:
            return faker.address.streetName() + Math.floor(Math.random() * 10) + "pass"
        default:
            return faker.finance.accountName()
    }
}
즐거움을 높이기 위해, 우리는 심지어 다시 username 를 사용하여 서로 다른 사용자 에이전트를 만들 수 있다.
그리고 무작위 시간 초과를 만들고 시간의 추이에 따라 요청을 입력할 수 있습니다.이렇게 하면 우리의 해커는 ascii 예술에 의해 잡히지만 좋은 데이터를 쉽게 필터할 수 없다.

이것은 정말 무슨 작용이 있습니까?


많은 l33t 해커들이 모두 초보이다.그들은 코드를 복사하거나 붙여넣는데, 설정이 상당히 엉망이었다.그들은 전문가가 아니다.
이것은 그들이 통상적으로 매우 긴장한다는 것을 의미한다.이런 상황에서 그들은 약 100개의 요청만 있으면 사이트를 닫을 수 있다.
그러나 그들은 한바탕의 공황으로 모두 폐쇄하지는 않았다고 할 수 있다.이것이 무엇을 실현할 수 있습니까?
이것은 그들의 속도를 늦출 수 있다.
그들은 CPanel 로그에서 이메일과 비밀번호를 읽고 있습니다.그들은 국가 안전국이 아니다.그들의 많은 일은 모두 수공이다.
만약 우리가 그들에게 가짜 비밀번호와 이메일을 한 무더기 불러올 수 있다면, 우리는 IT 부서가 이 도메인 이름을 봉쇄하고 학생들에게 경고할 기회를 줄 수 있을 것이다.
우리도 그들의 호스트 공급자와 접촉하고 학대 행위를 신고할 시간을 준다.

이것은 이런 상황을 처리하는 정확한 방법입니까?


아니오. 당국에 보고해서 처리하라고 하세요.이것은 결국 가설일 뿐이다.
이 글은 창작, 내용과 조우 방면에서 Maxwell Dulin의 큰 도움을 받았다. 그는 믿을 수 없는 안전 애호가이자 엔지니어로 일을 찾고 있다!문자 좀 보내주세요. 연락처 드릴게요.

좋은 웹페이지 즐겨찾기