PDA

Επιστροφή στο Forum : Πιθανό "κενό ασφαλείας";



manospcistas
11-02-17, 10:49
Σήμερα έτυχε να βλέπω τον κώδικα της σελίδας login του Asus RT-N18U, και παρατήρησα ότι οποιοσδήποτε μπορεί να δει την σελίδα του login, είτε τοπικά στο LAN είτε σε όλο το Internet αν έχει ενεργοποιηθεί το Remote Management, μπορεί να δει και πληροφορίες για τα DHCP leases, με τις IP και τα hostname που έχουν αποδοθεί. Συγκεκριμένα, γραμμή 236:

var dhcpLeaseInfo = [['192.168.5.201', '*'],['192.168.5.200', 'xxxx'],['192.168.5.213', 'android-xxxx'],['192.168.5.203', '*'],['192.168.5.236', 'xxxx'],['192.168.5.212', 'HUAWEI-xxxx'],['192.168.5.210', 'android-xxxx'],['192.168.5.222', 'android-xxxx'],['192.168.5.220', 'Windows-Phone'],['', '']];
Όπου xxxx το hostname αυτής της IP.

Μπορεί να επιβεβαιώσει κάποιος το παραπάνω στο RT-N18U είτε σε οποιοδήποτε άλλο router της Asus με ASUSWRT; (Δεξί κλικ στην σελίδα login, "Προβολή κώδικα σελίδας")

babis3g
11-02-17, 12:25
Toν κωδικο απο οτι καταλαβα τον εβαλες μεσω telnet και ειναι για πληροφοριες του dhcp

Πως καταλαβες οτι οι συσκευες βλεπουν την σελιδα του του login? μπηκες στο 192.168.1.1 μεσω browser η μεσω telnet? μπηκες απο αυτες εσυ ή στο ειπαν? δεν τις εχεις εσυ αυτες τις συσκευες ή ειναι απο γνωστους σου? δεν εχεις τις συσκευες στο wifi guest?
H απλα βλεπουν συγκεκριμενες εντολες μεσω telnet? εδω δεν καταλαβα καλα τι προσβαση εχουν οταν ανοιχτει το remote control

Θα ρωτησω την ομαδα των modems, αν ειναι φυσιολογικο οταν ανοιχτει το remote server ,αλλα απο δευτερα

manospcistas
11-02-17, 12:39
Μιλάω για οποιονδήποτε browser, στην σελίδα http://192.168.1.1 στην περίπτωση μου, όπου με δεξί κλικ -> προβολή πηγαίου κώδικα, χωρίς να έχω κάνει login, βλέπω πληροφορίες για τις DHCP αποδόσεις.
179925
Οποιοσδήποτε λοιπόν μπορεί να δει την login screen, είτε βρίσκεται στο LAN και πληκτρολογεί 192.168.1.1, είτε βρίσκεται στο WAN και πληκτρολογεί την Public IP μου (έχω ενεργοποιήσει το remote management), μπορεί να δει και τις παραπάνω πληροφορίες.

babis3g
11-02-17, 12:45
θα το ρωτησω, εκει που μιλαω αν το θεωρουν θεμα ασφαλειας ή γενικα προβλημα, αυτο ειπες συμβαινει μονο οταν ανοιξεις το enable web access from wan? ευχαριστω
https://www.asus.com/support/faq/1000926/

manospcistas
11-02-17, 12:52
Εγώ ευχαριστώ. Υποθέτω ότι ισχύει γενικά στο ASUSWRT, οπότε αν έχεις κάποιο router της Asus με το δικό της firmware, μπορείς να το επιβεβαιώσεις εύκολα με δεξί κλικ στην login screen -> προβολή κώδικα.

Όχι, γενικότερα στην σελίδα του login εμφανίζονται αυτές οι πληροφορίες, απλώς με ενεργό το remote management, η σελίδα του login είναι διαθέσιμη και εκτός LAN, συνεπώς και ο κώδικας της με τις DHCP πληροφορίες.

babis3g
11-02-17, 13:22
Ναι εχω ενα επανω dsl ac88, θα το δοκιμασω μετα γιατι και αυτο εχει asuswrt, ο browser ειναι στα Αγγλικα σε εμενα αλλα ειναι το αναλογο view page source

- - - Updated - - -

οχι σε εμενα δεν λεει τιποτα για dhcp ενω εχω ενεργοποιησει το enable web access from wan (remote server)
δες spoiler
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html xmlns:v>
<head>
<meta http-equiv="X-UA-Compatible"content="IE=Edge"/>
<meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
<meta HTTP-EQUIV="Pragma"CONTENT="no-cache">
<meta HTTP-EQUIV="Expires"CONTENT="-1">
<script type="text/javascript"src="js/jquery-1.8.3.min.js"></script>
<script language="javascript"src="js/global.js"></script>
<script type="text/JavaScript"src="js/state.js"></script>
<link rel="shortcut icon"href="images/favicon.png">
<link rel="icon"href="images/favicon.png">
<title>ASUS Login</title>
<style>
body{
font-family:Arial;}.wrapper{
background:url(images/login_bg.png)#283437 no-repeat;
background-size:1280px 1076px;
background-position:center 0%;
margin:0px;}.title_name{
font-size:40pt;
color:#93d2d9;}.prod_madelName{
font-size:26pt;
color:#fff;
margin-left:78px;
margin-top:10px;}.login_img{
width:43px;
height:43px;
background-image:url('images/icon_titleName.png');
background-repeat:no-repeat;}.p1{
font-size:16pt;
color:#fff;
width:480px;}.button{
background-color:#007AFF;/*background:rgba(255,255,255,0.1);
border:solid 1px#6e8385;*/
border-radius:4px;
transition:visibility 0s linear 0.218s,opacity 0.218s,background-color 0.218s;
height:68px;
width:300px;
font-size:28pt;
color:#fff;
color:#000\9;/*IE6 IE7 IE8*/
text-align:center;
float:right;
margin:50px 0px 0px 78px;
line-height:68px;}.form_input{
background-color:rgba(255,255,255,0.2);
border-radius:4px;
padding:26px 22px;
width:480px;
border:0;
height:25px;
color:#fff;
color:#000\9;/*IE6 IE7 IE8*/
font-size:28px}.nologin{
margin:10px 0px 0px 78px;
background-color:rgba(255,255,255,0.2);
padding:20px;
line-height:36px;
border-radius:5px;
width:480px;
border:0;
color:#fff;
color:#000\9;/*IE6 IE7 IE8*/
font-size:28px;}.div_table{
display:table;}.div_tr{
display:table-row;}.div_td{
display:table-cell;}.title_gap{
margin:20px 0px 0px 78px;}.img_gap{
padding-right:30px;
vertical-align:middle;}.password_gap{
margin:30px 0px 0px 78px;}.error_hint{
color:rgb(255, 204, 0);
margin:10px 0px 10px 78px;
font-size:18px;}.error_hint1{
margin:40px 0px 10px 78px;
font-size:24px;
line-height:32px;
width:580px;}.main_field_gap{
margin:100px auto 0;}.warming_desc{
font-family:Arial;
font-size:16pt;
color:#fff;}/*for mobile device*/@media screen and (max-width:1000px){.title_name{
font-size:20pt;
color:#93d2d9;
margin-left:15px;}.prod_madelName{
font-size:13pt;
margin-left:15px;}.p1{
font-size:12pt;
width:100%;}.login_img{
background-size:75%;}.form_input{
padding:13px 11px;
width:100%;
height:25px;
font-size:16px}.button{
height:50px;
width:100%;
font-size:14pt;
text-align:center;
float:right;
margin:25px-22px 40px 15px;
line-height:50px;
padding-left:7px;}.nologin{
margin-left:10px;
padding:10px;
line-height:18px;
width:100%;
font-size:14px;}.main_field_gap{
width:80%;
margin:30px 0 0 15px;/*margin:30px auto 0;*/}.title_gap{
margin-left:15px;}.password_gap{
margin-left:15px;}.img_gap{
padding-right:0;
vertical-align:middle;}.warming_desc{
margin:10px 15px;
width:100%;}}
</style>
<script>
var product_name="DSL-AC88U";
var login_state="0";
var loginUserIp="0.0.0.0";
function set_login_reload_time(){
setTimeout(function(){
window_location_replace(top,"login.htm");},10*60*1000);}
var lock_time='0';
var remaining_time;
remaining_time=60-lock_time;
var countdownid,rtime_obj;
var redirect_page='index.htm';
function getLoginUser(){
if(loginUserIp==""||loginUserIp=="0.0.0.0")return"";
$("logined_ip_str").innerHTML="<div style='margin-top:15px;word-wrap:break-word;word-break:break-all'>* "+getLangM(940030)+" "+loginUserIp+"</div>";}
function initial(){
document.getElementById("signin").innerHTML=getLangM("940003").toUpperCase();
if(login_state=="1")
window_location_replace(document,"index.htm");
set_login_reload_time();
document.getElementsByName('login_username')[0].placeholder=getLangM("940005");
document.getElementsByName('login_passwd')[0].placeholder=getLangM("940006");
var flag=getIntQueryValue("err",0);
if(flag!=""){
document.getElementById("error_status_field").style.display="";
if(flag==1)
document.getElementById("error_status_field").innerHTML=getLangM("940008");
else if(flag==3)
document.getElementById("error_status_field").innerHTML=getLangM("940010");
else if(flag==7){
document.getElementById("error_status_field").innerHTML="You have entered an incorrect username or password 5 times. Please try again after "+"<span id='rtime'></span>"+" seconds.";
document.getElementById("error_status_field").className="error_hint error_hint1";
disable_input(1);
disable_button(1);
rtime_obj=document.getElementById("rtime");
rtime_obj.innerHTML=remaining_time;
countdownid=window.setInterval(countdownfunc,1000);}else if(flag==8){
document.getElementById("login_filed").style.display="none";
document.getElementById("logout_field").style.display="";}else if(flag==2){
getLoginUser();
document.getElementById("login_filed").style.display="none";
document.getElementById("nologin_field").style.display="";}else
document.getElementById("error_status_field").style.display="none";}
document.form.login_username.focus();
document.form.login_username.onkeyup=function(e){
e=e||event;
if(e.keyCode==13){
document.form.login_passwd.focus();
return false;}};
document.form.login_username.onkeypress=function(e){
e=e||event;
if(e.keyCode==13){
return false;}};
document.form.login_passwd.onkeyup=function(e){
e=e||event;
if(e.keyCode==13){
login();
return false;}};
document.form.login_passwd.onkeypress=function(e){
e=e||event;
if(e.keyCode==13){
return false;}};
if(history.pushState!=undefined)history.pushState("",document.title,window.location.pathname);
setTimeout("detect_dect_firmware_upgrade_state()",1000);
show_content();}
var gnDectFirmwareUpgradeCounter=10;
var gszLastDectFirmwareUpgradeState="NO";
function detect_dect_firmware_upgrade_state()
{
var szTmp;
do_jload([["cgi/cgi_tel_dect_firmware_upgrade_state.js"]],function(err){
if(!err){
switch(gszDectFirmwareUpgradeState){
case"FW_UPD_ONGOING":
case"FW_UPD_SYNC_SETTINGS":
if(gszLastDectFirmwareUpgradeState!=gszDectFirmwareUpgradeState){
szTmp=getLangM("291005")+"<br>"+getLangM("291050");
$("id_dect_firmware_upgrade_desc").innerHTML=szTmp;
$("id_dect_firmware_upgrade_desc").style.color="#FF0000";
$("id_dect_firmware_upgrade_desc").style.display="";
gszLastDectFirmwareUpgradeState=gszDectFirmwareUpgradeState;}
setTimeout("detect_dect_firmware_upgrade_state()",1000);
break;
case"FW_UPD_FAIL":
if(gszLastDectFirmwareUpgradeState!=gszDectFirmwareUpgradeState){
$("id_dect_firmware_upgrade_desc").innerHTML=getLangM("291004");
$("id_dect_firmware_upgrade_desc").style.color="#FF0000";
$("id_dect_firmware_upgrade_desc").style.display="";
gszLastDectFirmwareUpgradeState=gszDectFirmwareUpgradeState;}
break;
case"NO":
case"FINISH":
default:
if(gszLastDectFirmwareUpgradeState!="NO"){
$("id_dect_firmware_upgrade_desc").innerHTML=getLangM("291006");
$("id_dect_firmware_upgrade_desc").style.color="#fff";
$("id_dect_firmware_upgrade_desc").style.display="";
gszLastDectFirmwareUpgradeState=gszDectFirmwareUpgradeState;}
else{
$("id_dect_firmware_upgrade_desc").style.display="none";}}}
else if(gnDectFirmwareUpgradeCounter>0){
setTimeout("detect_dect_firmware_upgrade_state()",1000);
gnDectFirmwareUpgradeCounter--;}})}
function countdownfunc(){
document.getElementById("rtime").innerHTML=remaining_time;
if(remaining_time==0){
clearInterval(countdownid);
setTimeout("window_location_replace(top, 'login.htm')",2000);}
remaining_time--;}
function login(){
document.form.usr.value=ArcMD5(document.form.login_username.value);
document.form.pws.value=ArcMD5(document.form.login_passwd.value);
document.form.login_username.disabled=true;
document.form.login_passwd.disabled=true;
document.form.foilautofill.disabled=true;
document.form.set_lang.value=GetLang(1).toLowerCase();
addToken(document.form);
document.form.submit();}
function disable_input(val){
var disable_input_x=document.getElementsByClassName('form_input');
for(i=0;i<disable_input_x.length;i++){
if(val==0)
disable_input_x[i].disabled=true;
else
disable_input_x[i].style.display="none";}}
function disable_button(val){
if(val==0)
document.getElementsByClassName('button')[0].disabled=true;
else
document.getElementsByClassName('button')[0].style.display="none";}
</script>
</head>
<body class="wrapper"onload="initial();">
<iframe name="hidden_frame"id="hidden_frame"width="0"height="0"frameborder="0"></iframe>
<form method="post"name="form"action="login.cgi">
<input type="hidden"name="name"value="">
<input type="hidden"name="usr"value="">
<input type="hidden"name="pws"value="">
<input type="hidden"name="set_lang"value="">
<input name="foilautofill"style="display:none;"type="password">
<div class="div_table main_field_gap">
<div class="div_tr">
<div id="id_dect_firmware_upgrade_desc"style="margin-left:75px; display:none"class="warming_desc"></div>
<div class="title_name">
<div class="div_td img_gap">
<div class="login_img"></div>
</div>
<div class="div_td"id="signin"></div>
</div>
<div class="prod_madelName"><font id="100037"></font></div>
<div id="login_filed">
<div class="p1 title_gap"><font id="940004"></font></div>
<div class="title_gap">
<input type="text"id="login_username"name="login_username"tabindex="1"class="form_input"maxlength="20"autocapitalization="off"autocomplete="off"placeholder="Username">
</div>
<div class="password_gap">
<input type="password"name="login_passwd"tabindex="2"class="form_input"maxlength="16"placeholder="Password"autocapitalization="off"autocomplete="off">
</div>
<div class="error_hint"style="display:none;"id="error_status_field"></div>
<div class="button"onclick="login();"><font id="940003"></font></div>
</div>
<div id="nologin_field"style="display:none;">
<div class="p1 title_gap"></div>
<div class="nologin">
<font id="940009"></font>
<div id="logined_ip_str"></div>
</div>
</div>
<div id="logout_field"style="display:none;">
<div class="p1 title_gap"></div>
<div class="nologin"><font id="940028"></font></div>
</div>
</div>
</div>
</form>
<img title=spacer src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7NzA1NzM2NDM4" border=0>
</body>
</html>
Nα ρωτησω επειδη κοιταξα το μοντελο σου
Εχεις ναβαθμηση με την σωστη σειρα πρωτα? για καλη λειτουργiκοτητα?
https://www.asus.com/gr/Networking/RTN18U/HelpDesk_Download/

[Important]
If your firmware is older than 3.0.0.4.378.9216, please upgrade to 3.0.0.4.378.8041 first. Only 3.0.0.4.378.8041 can upgrade to the firmware after 3.0.0.4.378.9216
και μετα στην τελευταια beta που βλεπω security fixes?

ASUS RT-N18U Firmware version 9.0.0.4.380.2695
[Beta release]
Security fixes:
- Fixed CSRF and XSS vulnerability when router is in default status (user does not set the router yet)
- Modified the access rights of account mode and share mode to asusware.platform path when lighttpd server is enabled.
ισως να εχουν κατι φτιαξει (αν ειναι θεμα ασφαλειας) γιατι το ενα changelog λεει οτι χρηστης μπορουσε να δει το router πριν το log in αν καταλαβα καλα, μαλλον εκει ειναι το προβλημα σου
και εννοειτε reset σε καθε αναβαθμηση και στο τελος με το λογισμικο που θα κρατησεις ολες οι ρυθμισεις απο την αρχη χειροκινητα

Ποιο λογισμικο εχεις?

manospcistas
11-02-17, 13:29
Έχω την έκδοση 3.0.0.4.380.2717, που είναι και η πιο πρόσφατη, την οποία έβαλα μέσα από το firmware restore utility της Asus.
Ίσως στο δικό σου, επειδή είναι από τα τελευταία μοντέλα έχει διορθωθεί, με μια γρήγορη αναζήτηση στο Google το έχουν ανακαλύψει και άλλοι (https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20160624-0_ASUS_DSL-N55U_XSS_vulnerability_v10.txt), και η Asus στο DSL-N55U το διόρθωσε με firmware update, ενώ υπάρχει και το RT-N56U που αναφέρεται σε άλλο link.

babis3g
11-02-17, 13:37
Ισως να μην αναβαθμησες σωστα οπως λενε, ισως να μην εκανες reset (ολα αυτα για καλη λειτουργηκοτητα) δεν ειμαι σιγουρος ... παντως αφου εχεις την xxxx2717 θα το αναφερω στo modem team για να περασουν το μηνυμα σε αυτους ... εν τω μεταξυ αφου εχεις την τελευταια beta που υποτιθεται φτιαχνει καποια security fixes, ανοιξε και εσυ ενα ticket εδω, να δουμε τι θα πουν
https://vip.asus.com/VIP2/Services/QuestionForm/TechQuery?lang=en-us

babis3g
13-02-17, 11:27
Οι πληροφοριες που εχω απο το modem team που μιλησα μαζι τους, ειναι οτι περασαν το προβλημα στην αρμιδια ομαδα, θα το κοιταξουν και θα φτιαχτει, ευχαριστω

@ ADSLgr.com All rights reserved.