IT News/해킹,보안

현실적인 비밀번호 해킹 방법

090.js 2021. 7. 31. 20:16
728x90
반응형

안녕하세요 개발자 090.js 입니다.

이번 글에서는 현실적인 비밀번호 해킹 방법에 대한 글을 적어 보겠습니다. 

결론적으로 이방법은 사실 비밀번호 해킹이 되고 해킹을 했다는것조차 안걸릴 확률이 너무나 높습니다. 허나

이로인한 책임은 본인에게 있다는것을 꼭 알립니다.

 

단계적으로 해킹가능성이 높아지는 순서대로 기법들을 소개하겠습니다.

 

또한 목적은 페이스북 혹은 인스타그램 비밀번호 탈취라고 가정하며,

작업환경은 kali linux(해킹 프로그램들이 다수 깔려진 운영체제) 라고 가정하겠습니다.

 

1. 브루트포스 알고리즘 (완전탐색)

 

가장 간단한 방법인 완전탐색 알고리즘 입니다.

1부터 n까지 모든 경우의 수를 전부 대입해 보는것이죠.

만약 비밀번호가 123이라면 

1,2,3,4,5,6........122,123 결국 123번의 대입후에 비밀번호를 찾게됩니다.

이러한 작업을 수동으로 할려면 매우 오래시간이 걸리기에 도구를 이용하자면

https://portswigger.net/burp

 

Burp Suite - Application Security Testing Software

Get Burp Suite. The class-leading vulnerability scanning, penetration testing, and web app security platform. Try for free today.

portswigger.net

웹해킹에서 가장 유명한 도구인 버프수트를 이용하거나

 

https://tools.kali.org/password-attacks/hydra 

 

THC-Hydra

Hydra is a parallelized login cracker which supports numerous protocols to attack. It is very fast and flexible, and new modules are easy to add. This tool makes it possible for researchers and security consultants to show how easy it would be to gain unau

tools.kali.org

히드라 툴을 이용하는것입니다.

 

제가 실제로 이도구들로 제 아이디 비밀번호를 해킹 해볼려고 시도해봤는데 

아무리 컴퓨터가 1초에 32억번연산을 한다해도(현대 cpu 연산속도) 비밀번호가 12자리이고 각글자마다 30개이상의 경우가 있기에

30^12=531,441,000,000,000,000

1억 초가 지나도 비밀번호를 탈취할수없습니다.

 

2.와이파이 해킹

 

arpSpoofing 과 같은 네트워크 해킹과 wireshark 도구를 이용하여

패킷의 비밀번호를 추출

https://www.wireshark.org/download.html

 

Wireshark · Download

Download Wireshark The current stable release of Wireshark is 3.4.7. It supersedes all previous releases.

www.wireshark.org

 

실제로 arpSpoofing을 해본결과 패킷얻는것까지는 식은죽먹기로 정말 간단하게 이뤄낼수있습니다.

그후 제가 wireshark를 제대로 다룰주는 몰라서 비밀번호 해킹까지는 이뤄내지못했지만 요즘 웹사이트는 http가 아닌 https 라는 secure socket 을 이용한 보안적인 사이트위에서 화면이 나타나집니다.

 

이말이 무슨뜻이냐면 

http에서 이동하는 데이터 즉 패킷들은 http와 https 두가지에따라 다르게 해석됩니다.

첫째로 http는 보안이 약하기에 패킷들이 암호화되지않고 결국 데이터가 무엇인지 한눈에 보입니다.

고로 비밀번호도 보이게 된다는것이죠.

 

https 는 보안에 강하며 패킷들이 암호화되어있기에 단순히 패킷만 봤을때는 무엇을 뜻하는지 알기 어렵습니다.

그렇기에 여기서부터는 패킷해석에대한 공부를 하여 비밀번호를 해킹하면 되겠죠.

 

kali linux에서는 metasploit이라는 유용한 네트워크 해킹 도구가 있습니다.

https://www.metasploit.com/

 

Metasploit | Penetration Testing Software, Pen Testing Security | Metasploit

Find security issues, verify vulnerability mitigations & manage security assessments with Metasploit. Get the world's best penetration testing software now.

www.metasploit.com

혹은 xerosploit 툴은 정말 간단하게 네트워크 해킹을 실행할수있습니다.

https://github.com/LionSec/xerosploit

 

GitHub - LionSec/xerosploit: Efficient and advanced man in the middle framework

Efficient and advanced man in the middle framework - GitHub - LionSec/xerosploit: Efficient and advanced man in the middle framework

github.com

 

(xerosploit 은 재밌는게 정말 간단하게 네트워크 해킹을 할수있는 도구 입니다. 저는 이도구로 같은 연구실 사람에게 의도되지않은 패킷을 보내어 제가 보낸 웹사이트에 방문하도록 만들었습니다.)

 

3. 키로거

자이제 마지막 3번째 키로거 방식입니다.

솔직히 이방법을 사용하면 웬만한 컴퓨터에대한 지식이 없는 사람은 무조건 당할수밖에없고, 실제로 컴퓨터 보안을 아는사람도 당할 위험이 있는 비밀번호 탈취 방법입니다.

 

사회공학적 해킹이라는 말이 있습니다.

요즘 기술이 너무도 발달하여 웬만한 해킹 기술로는 비밀번호를 탈취하기 어렵습니다.

그렇기에 사회적인 (인간스러운?) 방법으로 해킹을 한다는 방법으로 사회공학적 해킹 기법이 출몰하고있습니다.

 

 

키로거를 설명하기위해

1. 예를들어 사용자 1이 페이스북에 로그인하기위해 www.facebook.com  에 방문합니다.

2. 비밀번호를 입력하고 로그인합니다.

 

이 과정을 이렇게 바꿉니다.

->

 

1. 사용자 1에게 페이스북과 똑같이 생긴 로그인 페이지를 보냅니다.

(

-1이것은 xerosploit 과 같은 네트워크 해킹과 같이쓰면 성공률이 높아지며 대신 네트워크해킹과 같이쓸때는 걸릴 위험이 높아집니다.

-2 카톡으로 링크를 보내거나 의도적으로 링크를 누르도록 요구합니다.

)

2. 비밀번호를 입력하고 로그인합니다.

3. 비밀번호를 탈취후, 진짜 페이스북에 로그인한 화면을 보내줍니다.)

 

실습해보겠습니다.

 

 

1.웹페이지 만들기

 

f12를 눌러 개발자 도구를 누른뒤 보이는 소스코드중에서 프론트엔드에 해당하는 코드를 전부 가져옵니다.

그러면 페이스북과 똑같은 화면을 복사하는게 되겠죠.

 

2. 서버를 통해 리다이렉트와 비밀번호 탈취 설정하기.

 

웹서버 node.js 를이용하여 로직만 적어보겠습니다.

 

1. 비밀번호를 얻은후

 

casper.js 를 이용하여 facebook에 로그인 시도를 합니다.

 

const casper=require('casper').create();
const utils=require('utils');

const url="https://090k.tistory.com/admin/center";

const id="";
const password="";

casper.start();
casper.viewport(1024,768);
casper.open(url);


casper.then(function(){
	if(this.exists('a.btn_login.link_kakao_id')){
		this.echo('btn exists!');
		this.click('a.btn_login.link_kakao_id');

	}
});

casper.then(function(){
	casper.sendKeys('input#id_email_2.tf_g.tf_email',id);
	casper.sendKeys('input#id_password_3.tf_g',password);
})


casper.run();

 

뭐 대충 이런식의 코드가 나오겠죠.

 

- 비밀번호가 맞는경우

 

비밀번호를 기록후 facebook에 로그인한 화면으로 redirect 시켜줍니다.

 

- 비밀번호가 틀린경우

 새로고침을 하여 다시 비밀번호 입력칸으로 이동시킵니다.

 

 

router.get(
	'/auth/naver/facebook',
	passport.authenticate('facebook', {
		failureRedirect: '/',
	}),
	async (req, res) => {
		// 추가 로그인 화면 으로 리다이렉트
		res.redirect('/board');
	}
);

 

뭐 대충 이런식의 코드가 나오겠죠.

 

 

결국 정말 페이스북 처럼 똑같아보이는 도메인, 화면 등을 만들고 그곳에 로그인하도록 유도하면 

비밀번호 해킹은 가능합니다. 이것이 바로 키로거 방식입니다.

 

 

한번더 말씀드리지만 이러한 방법을 통해서 해킹은 불법이며... 이를 통한 피해는 본인에게 있다는것을 알립니다.

반응형